[issue137] test_get_script_header_jython_workaround expects output on stdout, but it is on stderr instead

New submission from Zooko O'Whielacronx zooko@zooko.com:
This unit test fails on CPython 2.7.1 and pypy 1.7:
FAIL: test_get_script_header_jython_workaround (setuptools.tests.test_resources.ScriptHeaderTests) ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/zooko/playground/setuptools/setuptools/tests/test_resources.py", line 524, in test_get_script_header_jython_workaround self.assert_('Unable to adapt shebang line' in sys.stdout.getvalue()) AssertionError: False is not true
The following patch makes it pass on those two pythons:
Index: setuptools/tests/test_resources.py =================================================================== --- setuptools/tests/test_resources.py (revision 88925) +++ setuptools/tests/test_resources.py (working copy) @@ -507,7 +507,7 @@ def test_get_script_header_jython_workaround(self): platform = sys.platform sys.platform = 'java1.5.0_13' - stdout = sys.stdout + stderr = sys.stderr try: # A mock sys.executable that uses a shebang line (this file) exe = os.path.normpath(os.path.splitext(__file__)[0] + '.py') @@ -517,17 +517,17 @@
# Ensure we generate what is basically a broken shebang line # when there's options, with a warning emitted - sys.stdout = StringIO.StringIO() + sys.stderr = StringIO.StringIO() self.assertEqual(get_script_header('#!/usr/bin/python -x', executable=exe), '#!%s -x\n' % exe) - self.assert_('Unable to adapt shebang line' in sys.stdout.getvalue()) - sys.stdout = StringIO.StringIO() + self.assert_('Unable to adapt shebang line' in sys.stderr.getvalue()) + sys.stderr = StringIO.StringIO() self.assertEqual(get_script_header('#!/usr/bin/python', executable=self.non_ascii_exe), '#!%s -x\n' % self.non_ascii_exe) - self.assert_('Unable to adapt shebang line' in sys.stdout.getvalue()) + self.assert_('Unable to adapt shebang line' in sys.stderr.getvalue()) finally: sys.platform = platform - sys.stdout = stdout + sys.stderr = stderr
---------- messages: 653 nosy: zooko priority: bug status: unread title: test_get_script_header_jython_workaround expects output on stdout, but it is on stderr instead
_______________________________________________ Setuptools tracker setuptools@bugs.python.org http://bugs.python.org/setuptools/issue137 _______________________________________________
participants (1)
-
Zooko O'Whielacronx