summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_profile.py
diff options
context:
space:
mode:
authorMario Corchero <mariocj89@gmail.com>2018-11-05 12:03:46 (GMT)
committerNick Coghlan <ncoghlan@gmail.com>2018-11-05 12:03:46 (GMT)
commitad1a25f499362eaf9cbfcafa0b8e2454eb43dcf1 (patch)
tree2d5abe6b5b1f3bf01254dce0d1504930072a3d9b /Lib/test/test_profile.py
parent2810dd7be9876236f74ac80716d113572c9098dd (diff)
downloadcpython-ad1a25f499362eaf9cbfcafa0b8e2454eb43dcf1.zip
cpython-ad1a25f499362eaf9cbfcafa0b8e2454eb43dcf1.tar.gz
cpython-ad1a25f499362eaf9cbfcafa0b8e2454eb43dcf1.tar.bz2
bpo-32512: Add -m option to profile for profiling modules (#5132)
The new option in the CLI of the profile module allow to profile executable modules. This change follows the same implementation as the one already present in `cProfile`. As the argument is now present on both modules, move the tests to the common test case to be run with profile as well.
Diffstat (limited to 'Lib/test/test_profile.py')
-rw-r--r--Lib/test/test_profile.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/Lib/test/test_profile.py b/Lib/test/test_profile.py
index a998266..01a8a6e 100644
--- a/Lib/test/test_profile.py
+++ b/Lib/test/test_profile.py
@@ -11,6 +11,7 @@ from contextlib import contextmanager
import profile
from test.profilee import testfunc, timer
+from test.support.script_helper import assert_python_failure, assert_python_ok
class ProfileTest(unittest.TestCase):
@@ -98,6 +99,18 @@ class ProfileTest(unittest.TestCase):
filename=TESTFN)
self.assertTrue(os.path.exists(TESTFN))
+ def test_run_profile_as_module(self):
+ # Test that -m switch needs an argument
+ assert_python_failure('-m', self.profilermodule.__name__, '-m')
+
+ # Test failure for not-existent module
+ assert_python_failure('-m', self.profilermodule.__name__,
+ '-m', 'random_module_xyz')
+
+ # Test successful run
+ assert_python_ok('-m', self.profilermodule.__name__,
+ '-m', 'timeit', '-n', '1')
+
def regenerate_expected_output(filename, cls):
filename = filename.rstrip('co')