[proxy] web.archive.org← back | site home | direct (HTTPS) ↗ | proxy home | ◑ dark◐ light

Issue 41731: test_cmd_line_script fails with verbosity level more than 1

Created on 2020-09-06 04:57 by xtreak, last changed 2020-09-12 09:10 by xtreak. This issue is now closed.

Messages (6) msg376457 - (view) Author: Karthikeyan Singaravelan (xtreak) * Date: 2020-09-06 04:57
When verbosity level is more than 1 the test tries to print the script_exec_args passed to script. It fails when the tuple has more than 1 elements and is used in formatting with %r. The two tests fail as below : 

./python -m test test_cmd_line_script -vv

======================================================================
ERROR: test_package_error (test.test_cmd_line_script.CmdLineTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/root/cpython/Lib/test/test_cmd_line_script.py", line 368, in test_package_error
    self._check_import_error(["-m", "test_pkg"], msg, cwd=script_dir)
  File "/root/cpython/Lib/test/test_cmd_line_script.py", line 148, in _check_import_error
    print('Output from test script %r:' % script_exec_args)
TypeError: not all arguments converted during string formatting

======================================================================
ERROR: test_package_recursion (test.test_cmd_line_script.CmdLineTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/root/cpython/Lib/test/test_cmd_line_script.py", line 379, in test_package_recursion
    self._check_import_error(["-m", "test_pkg"], msg, cwd=script_dir)
  File "/root/cpython/Lib/test/test_cmd_line_script.py", line 148, in _check_import_error
    print('Output from test script %r:' % script_exec_args)
TypeError: not all arguments converted during string formatting

----------------------------------------------------------------------

Ran 44 tests in 4.936s

FAILED (errors=2)
test test_cmd_line_script failed
test_cmd_line_script failed

== Tests result: FAILURE ==

1 test failed:
    test_cmd_line_script

Total duration: 5.0 sec
Tests result: FAILURE
msg376746 - (view) Author: Terry J. Reedy (terry.reedy) * Date: 2020-09-11 23:05
I verified with master on Win10 debug 32 build. The relevant lines, 147-151, are

        if verbose > 1:
            print('Output from test script %r:' % script_exec_args)
            print(repr(err))
            print('Expected output: %r' % expected_msg)
        self.assertIn(expected_msg.encode('utf-8'), err)

Normally, 'script_exec_args' is singular, the absolute file name to be executed.  In the two failing cases, file 'name' is an import name, preceded by -m.  Line 148 prints an informational header, when very verbose is requested, that only serves to identify the following lines. It is *not* tested.  Therefore, we need not worry about the exact format, just avoiding a spurious error.  The following is equivalent except when the value is a list (which should have been a tuple), when is prints without error:

            print(f'Output from test script {script_exec_args!r:}')

"Output from test script ['-m', 'test_pkg']:" seems clear enough for any human reader.    I ran entire suite with -vv and did not find any other new, unexpected errors.  PR to follow shortly.
msg376780 - (view) Author: Terry J. Reedy (terry.reedy) * Date: 2020-09-12 06:25
New changeset 7e711ead26fea6465e0ef2e3b8880b57ba8fc129 by Terry Jan Reedy in branch 'master':
bpo-41731: Make test_cmd_line_script pass with -vv (GH-22206)
https://github.com/python/cpython/commit/7e711ead26fea6465e0ef2e3b8880b57ba8fc129
msg376781 - (view) Author: miss-islington (miss-islington) Date: 2020-09-12 06:43
New changeset 77901dc6c3d06dd31f6c84b2d3cb21dc26b1e351 by Miss Islington (bot) in branch '3.8':
bpo-41731: Make test_cmd_line_script pass with -vv (GH-22206)
https://github.com/python/cpython/commit/77901dc6c3d06dd31f6c84b2d3cb21dc26b1e351
msg376782 - (view) Author: miss-islington (miss-islington) Date: 2020-09-12 06:45
New changeset 34e3c7592be70f652c293eb179593bf2928adeb4 by Miss Islington (bot) in branch '3.9':
bpo-41731: Make test_cmd_line_script pass with -vv (GH-22206)
https://github.com/python/cpython/commit/34e3c7592be70f652c293eb179593bf2928adeb4
msg376797 - (view) Author: Karthikeyan Singaravelan (xtreak) * Date: 2020-09-12 09:10
Thanks Terry.
History Date User Action Args 2020-09-12 09:10:39xtreaksetmessages: + msg376797 2020-09-12 08:34:37terry.reedysetstatus: open -> closed
resolution: fixed
stage: patch review -> resolved 2020-09-12 06:45:41miss-islingtonsetmessages: + msg376782 2020-09-12 06:43:37miss-islingtonsetmessages: + msg376781 2020-09-12 06:25:59miss-islingtonsetpull_requests: + pull_request21269 2020-09-12 06:25:52miss-islingtonsetnosy: + miss-islington
pull_requests: + pull_request21268
2020-09-12 06:25:43terry.reedysetmessages: + msg376780 2020-09-11 23:15:32terry.reedysetkeywords: + patch
stage: patch review
pull_requests: + pull_request21260 2020-09-11 23:05:18terry.reedysetnosy: + terry.reedy
messages: + msg376746
2020-09-06 04:57:49xtreakcreate