Commit Graph

492 Commits

Author SHA1 Message Date
R David Murray 78fc25c77f #14533: if a test has no test_main, use loadTestsFromModule.
This moves us further in the direction of using normal unittest facilities
instead of specialized regrtest ones.  Any test module that can be correctly
run currently using 'python unittest -m test.test_xxx' can now be converted to
use normal unittest test loading by simply deleting its test_main, thus no
longer requiring manual maintenance of the list of tests to run.  (Not all
tests can be converted that easily, since test_main sometimes does some
additional things (such as reap_children or reap_threads).  In those cases the
extra code may be moved to setUpModule/tearDownModule methods, or perhaps the
same ends can be achieved in a different way, such as moving the decorators to
the test classes that need them, etc.)

I don't advocate going through and making this change wholesale, but any time
a list of tests in test_main would otherwise need to be updated, consideration
should instead be given to deleting test_main.
2012-04-09 08:55:42 -04:00
Vinay Sajip 2f24d98df0 Closes #14158: merged test file resilience fix from 3.2. 2012-03-02 01:24:13 +00:00
Vinay Sajip f959618142 Closes #14158: improved resilience to test files left behind. 2012-03-02 01:01:13 +00:00
Georg Brandl 61470246d0 Remove setting hash seed to regrtest's random seed and re-execv()ing: this doesn't preserve Python flags and fails from a temp directory. 2012-02-20 22:06:02 +01:00
Georg Brandl 09a7c72cad Merge from 3.1: Issue #13703: add a way to randomize the hash values of basic types (str, bytes, datetime)
in order to make algorithmic complexity attacks on (e.g.) web apps much more complicated.

The environment variable PYTHONHASHSEED and the new command line flag -R control this
behavior.
2012-02-20 21:31:46 +01:00
Georg Brandl 2daf6ae249 Issue #13703: add a way to randomize the hash values of basic types (str, bytes, datetime)
in order to make algorithmic complexity attacks on (e.g.) web apps much more complicated.

The environment variable PYTHONHASHSEED and the new command line flag -R control this
behavior.
2012-02-20 19:54:16 +01:00
Meador Inge 94d5a7174a Issue #13786: Remove unimplemented 'trace' long option from regrtest.py. 2012-01-14 11:54:43 -06:00
Meador Inge b0ae0ac668 Issue #13786: Remove unimplemented 'trace' long option from regrtest.py. 2012-01-14 11:50:33 -06:00
Meador Inge 124598caf7 Issue #13725: regrtest does not recognize -d flag.
Patch by Erno Tukia.
2012-01-14 09:17:10 -06:00
Meador Inge 3f55e59282 Issue #13725: regrtest does not recognize -d flag.
Patch by Erno Tukia.
2012-01-14 09:12:55 -06:00
Senthil Kumaran 91f252b179 merge from 3.2 - Fix issue13726: -S accepts an argument just as --start. 2012-01-14 21:08:15 +08:00
Senthil Kumaran 3ffd7ca041 Fix issue13726: -S accepts an argument just as --start. 2012-01-14 21:07:31 +08:00
Senthil Kumaran 6c3dd7ea42 merge from 3.2 2012-01-14 18:39:23 +08:00
Senthil Kumaran 0e0772d859 merge from 3.2 2012-01-14 18:39:06 +08:00
Senthil Kumaran 9bbcb254db Adding the -o option for Issue13726 2012-01-14 18:38:28 +08:00
Senthil Kumaran bcfe56d77c Issue13726 - Fix the ambiguous -S flag in regrtest. It is -o/--slow for printing the 10 slowest test. 2012-01-14 18:26:27 +08:00
Éric Araujo c8e032006a Merge 3.2 2011-11-29 17:14:27 +01:00
Éric Araujo ff91306127 Add a regrtest cleanup check for shutil registries 2011-11-29 16:45:07 +01:00
Meador Inge 4bc45b7a9f Issue #13380: add an internal function for resetting the ctypes caches 2011-11-25 22:37:44 -06:00
Meador Inge 11e381310b Issue #13380: add an internal function for resetting the ctypes caches 2011-11-25 22:33:32 -06:00
Éric Araujo 3f2ba3bd86 Branch merge 2011-11-15 16:12:22 +01:00
Antoine Pitrou 13f8b682a7 Mark test_devpoll as unexpected on most platforms 2011-11-15 15:25:59 +01:00
Éric Araujo bfc972974b Fix a few typos 2011-11-14 18:18:15 +01:00
Éric Araujo 4e377f215d Make sure packaging tests that register custom commands also clear them 2011-11-06 07:01:18 +01:00
Florent Xicluna 68f71a34f4 Simplify and remove few dependencies on 'errno', thanks to PEP 3151. 2011-10-28 16:06:23 +02:00
Éric Araujo 76558e12ad Add regrtest check for caches in packaging.database (see #12167) 2011-10-06 02:44:19 +02:00
Éric Araujo 28df8de6af Make regrtest look at internal dicts in sysconfig.
This reveals problems in the packaging test suite, which I’ll look
into after the regrtest checks are made more usable (see #12314).
2011-09-19 05:10:45 +02:00
Nadeem Vawda a89c32ccd9 Merge: Make regrtest complain when -M and -j are used together.
-j doesn't pass the memlimit on to child processes, so this doesn't work at
present, and even if it did, running multiple bigmem tests at once would
usually not be desirable (since you generally want to devote as much of the
available RAM as possible to each test).
2011-08-27 15:24:23 +02:00
Nadeem Vawda c1fba3ea0c Make regrtest complain when -M and -j are used together.
-j doesn't pass the memlimit on to child processes, so this doesn't work at
present, and even if it did, running multiple bigmem tests at once would
usually not be desirable (since you generally want to devote as much of the
available RAM as possible to each test).
2011-08-27 15:22:05 +02:00
Antoine Pitrou 162fee109b Issue #11657: Fix sending file descriptors over 255 over a multiprocessing Pipe.
Also added some tests.
2011-08-23 19:48:34 +02:00
Antoine Pitrou 5bd8b8d80f A warning doesn't equate a failed test
(this broken -F with e.g. test_multiprocessing)
2011-08-23 19:32:26 +02:00
Victor Stinner 9c3de4a883 Issue #12326: don't test the major version of sys.platform
Use startswith, instead of ==, when testing sys.platform to support
new platforms like Linux 3 or OpenBSD 5.
2011-08-17 20:49:41 +02:00
Nadeem Vawda 3c01d16ed9 Issue #11651: Move options for running tests into a Python script.
This will be particularly useful to Windows users.

run_tests.py originally written by Brett Cannon.
2011-08-01 23:48:26 +02:00
Antoine Pitrou f83e4acbae Issue #12626: In regrtest, allow to filter tests using a glob filter
with the `-m` (or `--match`) option.  This works with all test cases
using the unittest module.  This is useful with long test suites
such as test_io or test_subprocess.
2011-07-29 23:57:10 +02:00
Antoine Pitrou b9c73e8cf0 Issue #12626: In regrtest, allow to filter tests using a glob filter
with the `-m` (or `--match`) option.  This works with all test cases
using the unittest module.  This is useful with long test suites
such as test_io or test_subprocess.
2011-07-29 23:53:38 +02:00
Eli Bendersky d18a047d58 Issue #11049: added test_support to regrtest.STDTESTS list 2011-07-27 20:21:45 +03:00
Antoine Pitrou 8dbd8573e5 Issue #12624: It is now possible to fail after the first failure when
running in verbose mode (`-v` or `-W`), by using the `--failfast`
(or `-G`) option to regrtest.  This is useful with long test suites
such as test_io or test_subprocess.
2011-07-23 22:37:52 +02:00
Antoine Pitrou 216a3bc36d Issue #12624: It is now possible to fail after the first failure when
running in verbose mode (`-v` or `-W`), by using the `--failfast`
(or `-G`) option to regrtest.  This is useful with long test suites
such as test_io or test_subprocess.
2011-07-23 22:33:39 +02:00
Antoine Pitrou 428bc6c48f Issue #12573: Add resource checks for dangling Thread and Process objects. 2011-07-15 22:15:38 +02:00
Antoine Pitrou c081c0c6a0 Issue #12573: Add resource checks for dangling Thread and Process objects. 2011-07-15 22:12:24 +02:00
Victor Stinner cb41cda8e3 Issue #12550: regrtest displays the Python traceback on SIGALRM or SIGUSR1 2011-07-13 23:47:21 +02:00
Victor Stinner e15bfeb8ce (merge 3.2) Issue #12400: regrtest.runtest() uses stream.seek(0) before .truncate()
.truncate(0) doesn't rewind.
2011-06-29 20:03:13 +02:00
Victor Stinner fcc2a21fae Issue #12400: regrtest.runtest() uses stream.seek(0) before .truncate()
.truncate(0) doesn't rewind.
2011-06-29 20:01:29 +02:00
Victor Stinner fa832dea2a (merge 3.2) Issue #12400: runtest() truncates the StringIO stream before a new
test
2011-06-29 17:29:22 +02:00
Victor Stinner 85b3a492d6 Issue #12400: runtest() truncates the StringIO stream before a new test 2011-06-29 17:26:38 +02:00
Victor Stinner ba08905062 (merge 3.2) Issue #12400: regrtest, force verbose mode to True with option -W
If verbose is False, the output is empty. Fix also a typo in a variable name.
2011-06-29 15:38:18 +02:00
Victor Stinner ea95de75dd Issue #12400: regrtest, force verbose mode to True with option -W
If verbose is False, the output is empty. Fix also a typo in a variable name.
2011-06-29 15:34:48 +02:00
Victor Stinner d71bd9a9a4 (merge 3.2) Issue #12400: runtest() reuses the same io.StringIO instance for
all calls

 * Don't force verbose to True with option -W
 * Rename rerun_failed variable to output_on_failure
2011-06-29 15:25:40 +02:00
Victor Stinner 8313d6aef8 Issue #12400: runtest() reuses the same io.StringIO instance for all calls
* Don't force verbose to True with option -W
 * Rename rerun_failed variable to output_on_failure
2011-06-29 15:22:26 +02:00
Victor Stinner 0b8f0c2766 (merge 3.2) Issue #12400: remove unused import 2011-06-29 13:24:58 +02:00
Victor Stinner bd98f9367c Issue #12400: remove unused variable 2011-06-29 13:24:28 +02:00
Victor Stinner e2185d714b (merge 3.2) Issue #12400: regrtest -W doesn't rerun the tests twice anymore,
but captures the output and displays it on failure instead. regrtest -v doesn't
print the error twice anymore if there is only one error.
2011-06-29 13:04:35 +02:00
Victor Stinner a7c33e5168 Issue #12400: regrtest -W doesn't rerun the tests twice anymore, but captures
the output and displays it on failure instead. regrtest -v doesn't print the
error twice anymore if there is only one error.
2011-06-29 13:00:54 +02:00
Victor Stinner 883456833c Issue #12250: regrtest --timeout displays a warning instead of failing with an
error if faulthandler.dump_tracebacks_later() is missing (e.g. if Python is
compiled without threads).
2011-06-06 12:14:23 +02:00
Victor Stinner 9e586c2b35 Issue #12250: modify "make buildbottest" command line instead of TESTOPTS
Add TESTTIMEOUT variable (default: 3600 seconds). Use TESTTIMEOUT=0 to disable
the timeout.
***
fix
2011-06-06 12:04:36 +02:00
Victor Stinner 301968874b Close #12250: Disable the regrtest timeout by default
Keep a timeout of 1 hour for buildbots.
2011-06-03 12:53:26 +02:00
Victor Stinner d976098e3b Close #12089: Remove outdated and unused code from regrtest. 2011-05-30 22:58:13 +02:00
Victor Stinner be6210363e Issue #8533: regrtest replaces also sys.stdout on Windows
Replace sys.stdout to use backslashreplace. Use '\n' newline on all operating
systems.
2011-05-25 02:01:55 +02:00
Ezio Melotti 64af7c0d36 #12074: merge with 3.2. 2011-05-24 01:01:08 +03:00
Ezio Melotti 84f75c680c #12074: remove the /0 when there are no failures. 2011-05-24 01:00:10 +03:00
Victor Stinner 08c719eb95 (Merge 3.2) Issue #12074: regrtest displays also the current number of failures 2011-05-23 23:16:09 +02:00
Victor Stinner a2a895c46c Issue #12074: regrtest displays also the current number of failures 2011-05-23 23:14:05 +02:00
Victor Stinner 3c18f259ee regrtest: enable faulthandler in main() instead of if __name__ == '__main__':
So it's also enabled when using "./python -m test".
2011-05-22 15:27:14 +02:00
Victor Stinner 55b5fa76a7 regrtest: dump all threads on a crash, not only the current thread 2011-05-04 11:02:12 +02:00
Victor Stinner 571e8fda9b regrtest: add the name of the failing test on a child error (-j option) 2011-05-01 22:57:43 +02:00
Brian Curtin f664345981 Implement #11832. Add an option to start regrtest and wait for input
before continuing.

This is useful for starting up the test suite to attach a debugger such
as Visual Studio or others.
2011-04-28 17:45:17 -05:00
Antoine Pitrou a4eb194ea6 Merge from 3.2 2011-04-16 18:55:16 +02:00
Antoine Pitrou ee4293400c Fix possible "file already exists" error when running the tests in parallel.
This is a perfect example of LBYL going wrong: that code could be executed
by several workers in parallel, and os.mkdir() attempted on the same
path by multiple processes.
2011-04-16 18:53:59 +02:00
Victor Stinner 9bf133ca31 Fix #11825: disable regrtest timeout if Python doesn't support threads 2011-04-13 01:06:27 +02:00
Ross Lagerwall b2a290c329 Merge with 3.2 2011-04-09 20:12:43 +02:00
Ross Lagerwall 226580e6dc Merge with 3.1 2011-04-09 20:05:04 +02:00
Ross Lagerwall e620d10701 Issue #11719: Fix message about unexpected test_msilib skip.
Patch by Nadeem Vawda.
2011-04-09 19:30:03 +02:00
Antoine Pitrou b1eb660270 Fix faulthandler timeout to avoid breaking buildbots 2011-04-07 23:22:28 +02:00
Victor Stinner f7ec1698a2 Reenable regrtest.py timeout (30 min): #11738 and #11753 looks to be fixed 2011-04-04 12:54:33 +02:00
Victor Stinner d7edf3b82d Issue #11727, issue #11753, issue #11755: disable regrtest timeout
Disable regrtest timeout until #11753 and #11755 are fixed
2011-04-03 23:46:42 +02:00
Victor Stinner d91a5caf0d Issue #11727: set regrtest default timeout to 30 minutes 2011-04-01 18:16:36 +02:00
Victor Stinner 305bff1ef5 Issue #11727: set regrtest default timeout to 15 minutes 2011-04-01 15:59:59 +02:00
Victor Stinner 7d648a0cec Issue #11727: Antoine and Arfrever don't like "0 < timeout" style (regrtest.py) 2011-03-31 18:27:50 +02:00
Victor Stinner 0cc8d59069 Issue #11727: add --timeout option to regrtest (disabled by default). 2011-03-31 18:10:13 +02:00
Victor Stinner 4b73988122 regrtest.py checks that child process exit code is zero 2011-03-31 18:02:36 +02:00
Victor Stinner bb14b37044 Issue #11393: reenable all tests in regrtest.py (wooops, sorry Antoine) 2011-03-31 01:34:22 +02:00
Victor Stinner 024e37adcc Issue #11393: Add the new faulthandler module 2011-03-31 01:31:06 +02:00
R David Murray 576483085c #11093: make NOTTESTS empty by renaming confusingly named files in test dir.
Patch by Sandro Tosi.
2011-03-24 14:57:05 -04:00
R David Murray b588f8dd9f #11031: Add --testdir to specify where to find tests
Patch by Sandro Tosi.  The main purpose of this option is to allow
an alternate set of tests files to be used when running tests
of the regrtest tool itself.
2011-03-24 14:42:58 -04:00
R David Murray 03504fc2fb #11030: make --coverdir work for relative directories again. 2011-03-24 14:35:30 -04:00
Antoine Pitrou f3c524d535 Issue #11653: fix -W with -j in regrtest. 2011-03-23 23:05:07 +01:00
Antoine Pitrou 293954dd76 Issue #11653: fix -W with -j in regrtest 2011-03-23 23:01:49 +01:00
Antoine Pitrou 6ab79d9d5b Allow "-j0" as an argument to regrtest, to automatically select an
appropriate number of parallel workers.
2011-03-23 20:17:45 +01:00
R David Murray 661720e7f7 Make regrtest recognize test packages as well as test modules. 2011-03-21 15:14:34 -04:00
Antoine Pitrou c107fb1b59 Always print out the traceback when a test "crashed" 2011-03-21 19:55:58 +01:00
Antoine Pitrou 779a5b0b3a Always print out the traceback when a test "crashed" 2011-03-21 19:55:16 +01:00
Ezio Melotti 45763d0d12 Merge with 3.2. 2011-03-20 15:34:28 +02:00
Ezio Melotti 0123e055fa Add a check for sys.warnoptions in regrtest. 2011-03-20 15:09:26 +02:00
Raymond Hettinger 158c9c26fc Issue #11085: Moved collections abstract base classes into a separate module
called collections.abc, following the pattern used by importlib.abc.  For
backwards compatibility, the names continue to also be imported into the
collections module.
2011-02-22 00:41:50 +00:00
Brett Cannon 31f5929c1e Issue #10990: Prevent tests from clobbering a set trace function.
Many tests simply didn't care if they unset a pre-existing trace function. This
made test coverage impossible. This patch fixes various tests to put back any
pre-existing trace function. It also introduces test.support.no_tracing as a
decorator which will temporarily unset the trace function for tests which
simply fail otherwise.

Thanks to Kristian Vlaardingerbroek for helping to find the cause of various
trace function unsets.
2011-02-21 19:29:56 +00:00
Brett Cannon 63eef1e0dd Get --coverage to be an acceptable flag for test.regrtest again. 2011-01-06 22:32:41 +00:00
Georg Brandl be41a48fb8 On Py3k, -tt and -3 are no-op and unsupported respectively. 2011-01-05 21:47:47 +00:00
Victor Stinner 4b2b43d988 regrtest: close the new stdout and restore the original stdout at exit
Fix a ResourceWarning(unclosed file).
2011-01-05 03:54:26 +00:00
Antoine Pitrou 41d5866e56 Merged revisions 87704-87705 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r87704 | antoine.pitrou | 2011-01-03 21:38:52 +0100 (lun., 03 janv. 2011) | 5 lines

  Issue #6293: Have regrtest.py echo back sys.flags.  This is done by default
  in whole runs and enabled selectively using `--header` when running an
  explicit list of tests.  Original patch by Collin Winter.
........
  r87705 | antoine.pitrou | 2011-01-03 21:40:07 +0100 (lun., 03 janv. 2011) | 3 lines

  Mention --randseed in option list
........
2011-01-03 20:47:02 +00:00
Antoine Pitrou 68530ac3c0 Mention --randseed in option list 2011-01-03 20:40:07 +00:00