On Sat, 20 Feb 2016, Dmitry V. Levin wrote: >>>>> Есть отличия в сборке >>>>> git.alt:/people/glebfm/packages/python3.git=3.5.1-alt1 у себя в >>>>> hasher-е и в сборочнице. >>>>> >>>>> (Сначала думал, что что-то не понимаю про >>>>> hsh --mountpoints , потому что смотрел >>>>> невнимательно на логи, а тесты >>>>> проваливались те же самые, что без >>>>> --mountpoints=/dev/pts . И даже попробовал добавить >>>>> явные BuildPreReq в -alt2, но это не важно.) >>>>> >>>>> На самом на сборочнице вот такое -- >>>>> http://git.altlinux.org/tasks/159698/build/300/x86_64/log : >>>>> >>>>> ====================================================================== >>>>> ERROR: test_read_pty_output >>>>> (test.test_asyncio.test_events.PollEventLoopTests) >>>>> ---------------------------------------------------------------------- >>>>> Traceback (most recent call last): >>>>> File "/usr/src/RPM/BUILD/python3-3.5.1/Lib/test/support/__init__.py", >>>>> line 564, in wrapper >>>>> return func(*args, **kw) >>>>> File "/usr/src/RPM/BUILD/python3-3.5.1/Lib/test/support/__init__.py", >>>>> line 519, in wrapper >>>>> return func(*args, **kw) >>>>> File >>>>> "/usr/src/RPM/BUILD/python3-3.5.1/Lib/test/test_asyncio/test_events.py", >>>>> line 1376, in test_read_pty_output >>>>> master, slave = os.openpty() >>>>> OSError: [Errno 30] Read-only file system >>>>> >>>>> Это специально на сборочнице /dev/pts/ read-only? >>>> >>>> Нет, это был эксперимент. Вернул обратно. >>> >>> Теперь, видно, новый эксперимент (с >>> правами в /dev/pts/) -- >>> http://git.altlinux.org/tasks/159698/build/400/x86_64/log : >>> >>> ====================================================================== >>> ERROR: test_read_pty_output >>> (test.test_asyncio.test_events.EPollEventLoopTests) >>> ---------------------------------------------------------------------- >>> Traceback (most recent call last): >>> File "/usr/src/RPM/BUILD/python3-3.5.1/Lib/test/support/__init__.py", >>> line 564, in wrapper >>> return func(*args, **kw) >>> File "/usr/src/RPM/BUILD/python3-3.5.1/Lib/test/support/__init__.py", >>> line 519, in wrapper >>> return func(*args, **kw) >>> File >>> "/usr/src/RPM/BUILD/python3-3.5.1/Lib/test/test_asyncio/test_events.py", >>> line 1376, in test_read_pty_output >>> master, slave = os.openpty() >>> PermissionError: [Errno 1] Operation not permitted >>> >>> Да? >> >> Это когда-то раньше работало? На basalt и altair работает в hasher-е. Больше каких-то особых идей нет. (Ну кроме неособых: версия ядра, какие-то особенности контейнера, настройки.) > Проверил, обычный openpty на C работает: > > open("/dev/ptmx", O_RDWR) = 3 > statfs("/dev/pts", {f_type="DEVPTS_SUPER_MAGIC", f_bsize=4096, f_blocks=0, f_bfree=0, f_bavail=0, f_files=0, f_ffree=0, f_fsid={0, 0}, f_namelen=255, f_frsize=4096, f_flags=4139}) = 0 > ioctl(3, TCGETS, {B38400 opost isig icanon echo ...}) = 0 > ioctl(3, TIOCGPTN, [4]) = 0 > stat("/dev/pts/4", {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 4), ...}) = 0 -- Best regards, Ivan