
test_inspect.py still failing under -O; probably all platforms. New failure in test___all__.py, *possibly* specific to Windows, but I don't see any "termios.py" anywhere so hard to believe it could be working anywhere else either: C:\Code\python\dist\src\PCbuild>python ../lib/test/test___all__.py Traceback (most recent call last): File "../lib/test/test___all__.py", line 78, in ? check_all("getpass") File "../lib/test/test___all__.py", line 10, in check_all exec "import %s" % modname in names File "<string>", line 1, in ? File "c:\code\python\dist\src\lib\getpass.py", line 106, in ? import termios NameError: Case mismatch for module name termios (filename c:\code\python\dist\src\lib\TERMIOS.py) C:\Code\python\dist\src\PCbuild>

Easy. There used to be a built-in termios on Unix only, and 12 different platform-specific copies of TERMIOS.py, on Unix only. We're phasing TERMIOS.py out, mocing all the symbols into termios, and as part of that we chose to remove all the platform-dependent TERMIOS.py files with a single one, in Lib, that imports the symbols from termios, for b/w compatibility. But the code that tries to see if termios exists only catches ImportError, not NameError. You can add NameError to the except clause in getpass.py, or you can proceed with your fix to the case-sensitive imports. :-) --Guido van Rossum (home page: http://www.python.org/~guido/)

Tim> test_inspect.py still failing under -O; probably all platforms. Tim> New failure in test___all__.py, *possibly* specific to Windows, but Tim> I don't see any "termios.py" anywhere so hard to believe it could Tim> be working anywhere else either: ... NameError: Case mismatch for module name termios (filename c:\code\python\dist\src\lib\TERMIOS.py) Try cvs update. Lib/getpass.py shouldn't be trying to import TERMIOS anymore. The case mismatch you're seeing is because it can find the now defunct TERMIOS.py module but you obviously don't have the termios module. Skip

Try cvs update.
Already had.
Lib/getpass.py shouldn't be trying to import TERMIOS anymore.
It isn't. It's trying to import (lowercase) termios.
The case mismatch you're seeing is because it can find the now defunct TERMIOS.py module but you obviously don't have the termios module.
Indeed I do not. Ah. But it *used* to import (uppercase) TERMIOS. That makes this a Windows thing: when it tries to import termios, it still *finds* TERMIOS.py, and on Windows that raises a NameError (instead of the ImportError you'd hope to get, if you *had* to get any error at all out of mismatching case). So this should go away, and get replaced by an ImportError, when I check in the "case-sensitive import" patch for Windows. Thanks for the nudge!

Easy. There used to be a built-in termios on Unix only, and 12 different platform-specific copies of TERMIOS.py, on Unix only. We're phasing TERMIOS.py out, mocing all the symbols into termios, and as part of that we chose to remove all the platform-dependent TERMIOS.py files with a single one, in Lib, that imports the symbols from termios, for b/w compatibility. But the code that tries to see if termios exists only catches ImportError, not NameError. You can add NameError to the except clause in getpass.py, or you can proceed with your fix to the case-sensitive imports. :-) --Guido van Rossum (home page: http://www.python.org/~guido/)

Tim> test_inspect.py still failing under -O; probably all platforms. Tim> New failure in test___all__.py, *possibly* specific to Windows, but Tim> I don't see any "termios.py" anywhere so hard to believe it could Tim> be working anywhere else either: ... NameError: Case mismatch for module name termios (filename c:\code\python\dist\src\lib\TERMIOS.py) Try cvs update. Lib/getpass.py shouldn't be trying to import TERMIOS anymore. The case mismatch you're seeing is because it can find the now defunct TERMIOS.py module but you obviously don't have the termios module. Skip

Try cvs update.
Already had.
Lib/getpass.py shouldn't be trying to import TERMIOS anymore.
It isn't. It's trying to import (lowercase) termios.
The case mismatch you're seeing is because it can find the now defunct TERMIOS.py module but you obviously don't have the termios module.
Indeed I do not. Ah. But it *used* to import (uppercase) TERMIOS. That makes this a Windows thing: when it tries to import termios, it still *finds* TERMIOS.py, and on Windows that raises a NameError (instead of the ImportError you'd hope to get, if you *had* to get any error at all out of mismatching case). So this should go away, and get replaced by an ImportError, when I check in the "case-sensitive import" patch for Windows. Thanks for the nudge!
participants (3)
-
Guido van Rossum
-
Skip Montanaro
-
Tim Peters