Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions Lib/test/test_pty.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import_module('termios')

import errno
import pathlib
import pty
import os
import sys
Expand Down Expand Up @@ -75,6 +76,14 @@ def _readline(fd):

def expectedFailureIfStdinIsTTY(fun):
# avoid isatty() for now
PLATFORM = platform.system()
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't understand the rationale for skipping the test only on Gentoo. Would you mind to write a comment to explaining the rationale? Why not skipping the test on Ubuntu? Is it a temporary workaround until someone can investigate the root issue? Please add a reference to bpo-41818 in the command.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, it is the reverse: Gentoo passes the test, all other tested Linux distributions fail.
That's why expectedFailure() is applied for each platform where stdin is a TTY except Gentoo.

I'll add a comment.

if PLATFORM == "Linux":
os_release = pathlib.Path("/etc/os-release")
if os_release.exists():
# Actually the file has complex multi-line structure,
# these is no need to parse it for Gentoo check
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@vstinner @tiran I happy to use freedesktop_os_release() when it lands but want to merge this PR ASAP to fix the broken buildbot.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@vstinner @tiran I happy to use freedesktop_os_release() when it lands but want to merge this PR ASAP to fix the broken buildbot.

Sure.

if 'gentoo' in os_release.read_text().lower():
return fun
try:
tty.tcgetattr(pty.STDIN_FILENO)
return unittest.expectedFailure(fun)
Expand Down