Commit Graph

511 Commits

Author SHA1 Message Date
Antoine Pitrou f9d0b1256f Issue #13390: New function :func:`sys.getallocatedblocks()` returns the number of memory blocks currently allocated.
Also, the ``-R`` option to regrtest uses this function to guard against memory allocation leaks.
2012-12-09 14:28:26 +01:00
Brett Cannon d187726504 Issue #10966: Remove the concept of unexpected skipped tests.
The concept of what was unexpected was typically defined as "some
depencendy wasn't installed", which isn't unexpected at all as it's
totally optional. Since it confuses new contributors as they think
something is wrong with their installation it seems sensible to get
rid of the concept.

This change also adds the concept of optional tests that are required
to work on a specific platform(s) (e.g. test_winreg on Windows). This
should help catch compile issues instead of a test being blindly
skipped even when it should have run.

The skipped test list in the future can also print out the reason for
being skipped to make it more obvious as to why the skipping occurred.
2012-11-17 20:46:26 -05:00
Brett Cannon 613cf25d2a Use importlib instead of calling __import__ directly. 2012-11-14 13:42:51 -05:00
R David Murray 7041b995cd merge #15889: make regrtest --start succeed in more cases.
Patch by Chris Jerdonek.
2012-10-27 17:09:37 -04:00
R David Murray 4d9f31846a merge #15889: make regrtest --start succeed in more cases.
Patch by Chris Jerdonek.
2012-10-27 17:08:37 -04:00
R David Murray c3bf78a212 #15889: make regrtest --start succeed in more cases.
Patch by Chris Jerdonek.
2012-10-27 17:07:05 -04:00
Jesus Cea f01d695ccd Closes #16135: Removal of OS/2 support 2012-10-05 03:36:11 +02:00
Stefan Krah 5c3ddc8066 Closes #15632: regrtest.py: fix spurious refleaks due to various caches
filling up with random data.
2012-08-17 23:09:48 +02:00
Victor Stinner 2965011668 regrtest: give more information when a child process fails with an error
different than KeyboardInterrupt
2012-08-08 22:37:26 +02:00
Antoine Pitrou 0b9e7b9ea9 Issue #15320: Make iterating the list of tests thread-safe when running tests in multiprocess mode.
Patch by Chris Jerdonek.
2012-07-26 00:47:15 +02:00
Antoine Pitrou 09f2e6f902 Issue #15320: Make iterating the list of tests thread-safe when running tests in multiprocess mode.
Patch by Chris Jerdonek.
2012-07-26 00:45:19 +02:00
Nick Coghlan be7e49fd82 Close #15386: There was a loophole that meant importlib.machinery and imp would sometimes reference an uninitialised copy of importlib._bootstrap 2012-07-20 23:40:09 +10:00
Antoine Pitrou 282083d5f4 Issue #15300: Ensure the temporary test working directories are in the same parent folder when running tests in multiprocess mode from a Python build.
Patch by Chris Jerdonek.
2012-07-11 19:19:14 +02:00
Antoine Pitrou 673eb6a0bb Issue #15300: Ensure the temporary test working directories are in the same parent folder when running tests in multiprocess mode from a Python build.
Patch by Chris Jerdonek.
2012-07-11 19:21:31 +02:00
Antoine Pitrou 67a7b06008 Flush stdout and stderr when running tests in parallel
(helps getting results in real-time when stdio is transmitted over a pipe or socket)
2012-06-27 17:41:33 +02:00
Antoine Pitrou 8237258e09 Flush stdout and stderr when running tests in parallel
(helps getting results in real-time when stdio is transmitted over a pipe or socket)
2012-06-27 17:41:07 +02:00
Éric Araujo ec177c14d3 Packaging removal: also revert introduction of sysconfig.cfg.
We need a discussion to define what should be customized how; this new
config file is premature.  It was added to serve the needs of the
resources system in install_data / packaging.database, so it can be
removed alongside packaging for 3.3.
2012-06-24 03:27:43 -04:00
Éric Araujo 859aad6a36 Remove packaging from the standard library.
Distutils2 will live on on PyPI and be included in the stdlib when it
is ready.  See discussion starting at
http://mail.python.org/pipermail/python-dev/2012-June/120430.html
2012-06-24 00:07:41 -04:00
Vinay Sajip 7ded1f0f69 Implemented PEP 405 (Python virtual environments). 2012-05-26 03:45:29 +01:00
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