Add option to trace to run modules (GH-5134)
Adds a new option in trace that allows tracing runnable modules. It is
exposed as `--module module_name` as `-m` is already in use for another
argument.
diff --git a/Lib/test/test_trace.py b/Lib/test/test_trace.py
index afe7902..4bc21ea 100644
--- a/Lib/test/test_trace.py
+++ b/Lib/test/test_trace.py
@@ -474,7 +474,7 @@
def test_failures(self):
_errors = (
- (b'filename is missing: required with the main options', '-l', '-T'),
+ (b'progname is missing: required with the main options', '-l', '-T'),
(b'cannot specify both --listfuncs and (--trace or --count)', '-lc'),
(b'argument -R/--no-report: not allowed with argument -r/--report', '-rR'),
(b'must specify one of --trace, --count, --report, --listfuncs, or --trackcalls', '-g'),
@@ -524,5 +524,10 @@
self.assertIn('lines cov% module (path)', stdout)
self.assertIn(f'6 100% {TESTFN} ({filename})', stdout)
+ def test_run_as_module(self):
+ assert_python_ok('-m', 'trace', '-l', '--module', 'timeit', '-n', '1')
+ assert_python_failure('-m', 'trace', '-l', '--module', 'not_a_module_zzz')
+
+
if __name__ == '__main__':
unittest.main()