Commit Graph

61 Commits

Author SHA1 Message Date
Victor Stinner d1f9481b7a
bpo-33873: Backport regrtest from master to 3.7 (GH-7935)
* bpo-33718: regrtest: use format_duration() to display failed tests (GH-7686)

* Enhance also format_duration(): work on integers and rounds towards
  +infinity (math.ceil).
* Write unit tests on format_duration()

(cherry picked from commit 4ffe9c2b25)

* bpo-33873: regrtest: Add warning on -R 1:3 (GH-7736)

regrtest: Add warning when using less than 3 warmup runs like -R 1:3.
(cherry picked from commit cac4fef886)

* bpo-33873: Fix bug in `runtest.py` and add checks for invalid `-R` parameters (GH-7735)

Fix bug in `Lib/test/libregrtest/runtest.py` that makes running tests an extra time than the specified number of runs.

Add check for invalid --huntrleaks/-R parameters.

(cherry picked from commit 58ed7307ea)
2018-06-26 23:47:35 +02:00
Miss Islington (bot) 463d1890bb
bpo-33718: regrtest: use "xxx then yyy" result if re-run (GH-7521)
If tests are re-run, use "xxx then yyy" result format (ex: "FAILURE
then SUCCESS") to show that some failing tests have been re-run.

Add also test_regrtest.test_rerun_fail() test.
(cherry picked from commit c45fc7673e)

Co-authored-by: Victor Stinner <vstinner@redhat.com>
2018-06-09 09:33:24 -07:00
Miss Islington (bot) 8075868f19 bpo-33352: Skip test_regrtest test if rt.bat does not exist (GH-6654) (#6656)
(cherry picked from commit c3b7a6dfb9)

Co-authored-by: Andrés Delfino <adelfino@gmail.com>
2018-04-30 22:36:49 +02:00
Antoine Pitrou a6a4dc816d bpo-31370: Remove support for threads-less builds (#3385)
* Remove Setup.config
* Always define WITH_THREAD for compatibility.
2017-09-07 18:56:24 +02:00
Victor Stinner 302bbbe9ba bpo-31009: Fix support.fd_count() on Windows (#2862)
* bpo-31009: Fix support.fd_count() on Windows

On Windows, test.support.fd_count() now calls
msvcrt.CrtSetReportMode() to not kill the process nor log any error
on stderr on os.dup(fd) if the file descriptor is invalid.

* Fix for release mode
2017-07-25 17:45:53 +02:00
Victor Stinner 5b392bbaeb bpo-30822: Exclude tzdata from regrtest --all (#2775)
When running the test suite using --use=all / -u all, exclude tzdata
since it makes test_datetime too slow (15-20 min on some buildbots)
which then times out on some buildbots.

-u tzdata must now be enabled explicitly, -u tzdata or -u all,tzdata,
to run all test_datetime tests.

Fix also regrtest command line parser to allow passing -u
extralargefile to run test_zipfile64.

Travis CI: remove -tzdata. Replace -u all,-tzdata,-cpu with -u all,-cpu since tzdata is now excluded from -u all.
2017-07-20 15:46:32 +02:00
Victor Stinner 48b5c422ff bpo-30776: reduce regrtest -R false positives (#2422)
* Change the regrtest --huntrleaks checker to decide if a test file
  leaks or not. Require that each run leaks at least 1 reference.
* Warmup runs are now completely ignored: ignored in the checker test
  and not used anymore to compute the sum.
* Add an unit test for a reference leak.

Example of reference differences previously considered a failure
(leak) and now considered as success (success, no leak):

    [3, 0, 0]
    [0, 1, 0]
    [8, -8, 1]
2017-06-27 02:02:04 +02:00
Victor Stinner 63f54c6893 bpo-30764: regrtest: add --fail-env-changed option (#2402)
* bpo-30764: regrtest: change exit code on failure

* Exit code 2 if failed tests ("bad")
* Exit code 3 if interrupted

* bpo-30764: regrtest: add --fail-env-changed option

If the option is set, mark a test as failed if it alters the
environment, for example if it creates a file without removing it.
2017-06-26 18:33:19 +02:00
Victor Stinner ace56d5836 bpo-30523: regrtest --list-cases --match (#2401)
* regrtest --list-cases now supports --match and --match-file options.
  Example: ./python -m test --list-cases -m FileTests test_os
* --list-cases now also sets support.verbose to False to prevent
  messages to stdout when loading test modules.
* Add support._match_test() private function.
2017-06-26 14:18:51 +02:00
Louie Lu b0c58d3c56 bpo-30523: Add --list-cases unittest (#2243)
* bpo-30523: Add --list-cases unittest

* Addressed haypo's request

* Addressed haypo's request
2017-06-16 13:15:28 +02:00
Victor Stinner ef8320cf6f bpo-30540: regrtest: add --matchfile option (#1909)
* Add a new option taking a filename to get a list of test names to
  filter tests.
* support.match_tests becomes a list.
* Modify run_unittest() to accept to match the whole test identifier,
  not just a part of a test identifier.

For example, the following command only runs test_default_timeout()
of the BarrierTests class of test_threading:

$ ./python -m test -v test_threading -m test.test_threading.BarrierTests.test_default_timeout

Remove also some empty lines from test_regrtest.py to make flake8
tool happy.
2017-06-09 10:18:48 +02:00
Victor Stinner 3d0056842c bpo-30263: regrtest: log system load (#1452)
* bpo-30263: regrtest: log system load

* regrtest: log the number of CPUs

Log the number of CPUs in the header. --verbose now imply --header.
2017-05-04 15:21:12 +02:00
Victor Stinner 5bad70def6 regrtest: don't fail immediately if a child does crash
Issue #29362: Catch a crash of a worker process as a normal failure and
continue to run next tests. It allows to get the usual test summary: single
line result (OK/FAIL), total duration, etc.
2017-02-06 12:42:00 +01:00
Victor Stinner e8cfec5abc Issue #29035: Simplify a regex in libregrtest
regrtest: simplify the regex used to match test names for the --fromfile
command line option.
2017-01-03 01:38:58 +01:00
Xiang Zhang 772bf2ed83 Issue #28950: Disallow -j0 combined with -T/-l in regrtest. 2016-12-19 22:00:22 +08:00
Xiang Zhang 270a21fda0 Issue #28950: Disallow -j0 combined with -T/-l/-M in regrtest. 2016-12-19 21:01:33 +08:00
Martin Panter 56b2cf5e85 Issue #28484: Skip tests if GIL is not used or multithreading is disabled 2016-10-20 21:45:49 +00:00
Victor Stinner a506a93b0b Merge 3.6: Issue #28409: regrtest: fix the parser of command line arguments. 2016-10-17 18:13:46 +02:00
Victor Stinner 1f6b69b749 Issue #28409: regrtest: fix the parser of command line arguments. 2016-10-17 18:11:03 +02:00
Victor Stinner 254ad58c07 Fix test_huntrleaks_fd_leak() of test_regrtest
Issue #28195: Don't expect the fd leak message to be on a specific line number,
just make sure that the line is present in the output.
2016-09-19 00:11:30 +02:00
R David Murray 44b548dda8 #27364: fix "incorrect" uses of escape character in the stdlib.
And most of the tools.

Patch by Emanual Barry, reviewed by me, Serhiy Storchaka, and
Martin Panter.
2016-09-08 13:59:53 -04:00
Victor Stinner f2abf5c11a regrtest: replace "Result:" with "Tests result:" 2016-08-19 17:54:25 +02:00
Victor Stinner 636860354e regrtest: add a summary of the summary, "Result: xxx"
It's sometimes hard to check quickly if tests succeeded, failed or something
bad happened. I added a final "Result: xxx" line which summarizes all outputs
into a single line, written at the end (it should always be the last line of
the output).
2016-08-17 16:12:16 +02:00
Victor Stinner 435eaf4422 regrtest: nicer output for durations
Use milliseconds and minutes units, not only seconds.
2016-08-17 12:22:52 +02:00
Victor Stinner 6c44619ece regrtest: rename --slow option to --slowest
Thanks to optparse, --slow syntax still works ;-)
2016-08-17 11:25:43 +02:00
Serhiy Storchaka bae75cf3fe Issue #19527: Fixed tests with defined COUNT_ALLOCS. 2016-07-03 22:30:49 +03:00
Serhiy Storchaka e437a10d15 Issue #23277: Remove unused imports in tests. 2016-04-24 21:41:02 +03:00
Victor Stinner 8a34d416ba Issue #26295: Enhanc test_regrtest.test_tools_script_run_tests()
Pass all regrtest options, not only --testdir.
2016-03-30 08:51:15 +02:00
Victor Stinner 732599f793 Issue #26295: Fix test_regrtest.test_tools_buildbot_test()
Pass also --testdir option.
2016-03-30 08:38:05 +02:00
Victor Stinner d6e2502624 Issue #26295: test_regrtest now uses a temporary directory
test_forever() stores its state into the builtins module since the test module
is reloaded at each run.

Remove also warning to detect leaked tests of a previous run.
2016-03-30 02:33:52 +02:00
Victor Stinner 5de16e80c1 regrtest: fix --fromfile feature
* Update code for the name regrtest output format.
* Enhance also test_regrtest test on --fromfile
2016-03-24 09:43:00 +01:00
Victor Stinner 69649f21f0 regrtest: display test duration in sequential mode
Only display duration if a test takes more than 30 seconds.
2016-03-23 12:14:10 +01:00
Victor Stinner 24f949e10c regrtest: add time to output
Timestamps should help to debug slow buildbots, and timeout and hang on
buildbots.
2016-03-22 15:14:09 +01:00
Victor Stinner da43ee4316 Issue #25694: Fix test_regrtest for installed Python 2015-11-22 15:18:54 +01:00
Victor Stinner 3909e58994 Close #25373: Fix regrtest --slow with interrupted test
* Fix accumulate_result(): don't use time on interrupted and failed test
* Add unit test for interrupted test
* Add unit test on --slow with interrupted test, with and without
  multiprocessing
2015-10-11 10:37:25 +02:00
Victor Stinner 14b4662e18 test_regrtest: catch stderr in test_nowindows()
Check also that the deprecation warning is emited.
2015-10-11 10:04:26 +02:00
Victor Stinner 4967146c8d Close #25369: Fix test_regrtest without thread support 2015-10-11 10:03:28 +02:00
Victor Stinner 20d2118248 Issue #25306: Try to fix test_huntrleaks_fd_leak() on Windows
Issue #25306: Disable popup and logs to stderr on assertion failures in MSCRT.
2015-10-03 21:40:21 +02:00
Victor Stinner 33c30131db Issue #25306: Skip test_huntrleaks_fd_leak() of test_regrtest until the bug is
fixed.
2015-10-03 21:20:41 +02:00
Victor Stinner 46d75353c5 Issue #18174: Fix test_regrtest when Python is compiled in release mode 2015-10-03 02:21:35 +02:00
Victor Stinner 5f9d3acc5e Issue #22806: Add ``python -m test --list-tests`` command to list tests. 2015-10-03 00:21:12 +02:00
Victor Stinner 076fc872bc Issue #18174: "python -m test --huntrleaks ..." now also checks for leak of
file descriptors. Patch written by Richard Oudkerk.
2015-10-03 00:20:56 +02:00
Victor Stinner a53a818c3c Fix regrtest --coverage on Windows
Issue #25260: Fix ``python -m test --coverage`` on Windows. Remove the list of
ignored directories.
2015-10-01 00:53:09 +02:00
Victor Stinner 9a14214aee Issue #25220: Fix "-m test --forever"
* Fix "-m test --forever": replace _test_forever() with self._test_forever()
* Add unit test for --forever
* Add unit test for a failing test
* Fix also some pyflakes warnings in libregrtest
2015-09-30 13:51:17 +02:00
Victor Stinner ecef622fec Issue #25220, libregrtest: Call setup_python(ns) in the slaves
Slaves (child processes running tests for regrtest -jN) now inherit
--memlimit/-M, --threshold/-t and --nowindows/-n options.

* -M, -t and -n are now supported with -jN
* Factorize code to run tests.
* run_test_in_subprocess() now pass the whole "ns" namespace to the child
  process.
2015-09-30 01:39:28 +02:00
Victor Stinner 4277134035 Issue #25220: Add test for --wait in test_regrtest
Replace script_helper.assert_python_ok() with subprocess.run().
2015-09-29 14:17:09 +02:00
Victor Stinner feabaed054 Oops, revert unwanted change, sorry 2015-09-29 14:02:35 +02:00
Victor Stinner 3f7468507a test 2015-09-29 13:47:15 +02:00
Victor Stinner e143c1f94f Fix test_regrtest.test_tools_buildbot_test()
Issue #25220: Fix test_regrtest.test_tools_buildbot_test() on release build (on
Windows), pass "+d" option to test.bat.
2015-09-29 01:02:37 +02:00
Victor Stinner 6b415101a2 Issue #25220: Add functional tests to test_regrtest
* test all available ways to run the Python test suite
* test many regrtest options: --slow, --coverage, -r, -u,  etc.

Note: python -m test --coverage doesn't work on Windows.
2015-09-28 23:16:17 +02:00