diff options
| author | Serhiy Storchaka <storchaka@gmail.com> | 2015-01-26 09:54:32 (GMT) |
|---|---|---|
| committer | Serhiy Storchaka <storchaka@gmail.com> | 2015-01-26 09:54:32 (GMT) |
| commit | 001320720090976b8a44b2aaf7c5a10ce66f40b9 (patch) | |
| tree | 7a98893fa245c9893eb480ad8d66aa21e3e38d2a /Lib/timeit.py | |
| parent | 5f1909a4ca98ce0d5bcb18df27890629ced02689 (diff) | |
| download | cpython-001320720090976b8a44b2aaf7c5a10ce66f40b9.zip cpython-001320720090976b8a44b2aaf7c5a10ce66f40b9.tar.gz cpython-001320720090976b8a44b2aaf7c5a10ce66f40b9.tar.bz2 | |
Issue #11578: Backported test for the timeit module.
Diffstat (limited to 'Lib/timeit.py')
| -rwxr-xr-x | Lib/timeit.py | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/Lib/timeit.py b/Lib/timeit.py index da9e819..ef246ce 100755 --- a/Lib/timeit.py +++ b/Lib/timeit.py @@ -234,10 +234,10 @@ def repeat(stmt="pass", setup="pass", timer=default_timer, """Convenience function to create Timer object and call repeat method.""" return Timer(stmt, setup, timer).repeat(repeat, number) -def main(args=None): +def main(args=None, _wrap_timer=None): """Main program, used when run as a script. - The optional argument specifies the command line to be parsed, + The optional 'args' argument specifies the command line to be parsed, defaulting to sys.argv[1:]. The return value is an exit code to be passed to sys.exit(); it @@ -246,6 +246,10 @@ def main(args=None): When an exception happens during timing, a traceback is printed to stderr and the return value is 1. Exceptions at other times (including the template compilation) are not caught. + + '_wrap_timer' is an internal interface used for unit testing. If it + is not None, it must be a callable that accepts a timer function + and returns another timer function (used for unit testing). """ if args is None: args = sys.argv[1:] @@ -291,6 +295,8 @@ def main(args=None): # directory) import os sys.path.insert(0, os.curdir) + if _wrap_timer is not None: + timer = _wrap_timer(timer) t = Timer(stmt, setup, timer) if number == 0: # determine number so that 0.2 <= total time < 2.0 |
