[Python-Dev] New work-in-progress bisection tool for the Python test suite (in regrtest)
Terry Reedy
tjreedy at udel.edu
Wed Jun 28 00:52:55 EDT 2017
On 6/27/2017 8:39 PM, Victor Stinner wrote:
> 2017-06-27 7:33 GMT+02:00 Serhiy Storchaka <storchaka at gmail.com>:
>> You could make it just a submodule in the test package.
>>
>> ./python -m test.bisect -R 3:3 test_os
>
> I like the idea :-) I proposed a PR which was approved by Yury
> Selivanov, and so I just merged it! It means that you can now play
> with "./python -m test.bisect" in the master branch. Enjoy ;-)
> Example:
>
> ./python -m test.bisect -R 3:3 test_multiprocessing_forkserver
>
> This command should give you the name of the two failing test methods
> which are the last known reference leaks!
> => http://bugs.python.org/issue30775
>
> This specific bisection is very slow since running the 286 tests of
> test_multiprocessing_forkserver using -R 3:3 takes longer than 3
> minutes on my laptop! And the answer is already know, see the bpo ;-)
>
> FYI, apart of the bpo-30775, all other reference leaks now seem to be
> fixed on 2.7, 3.5, 3.6 and master branches! Tested on Windows and
> Linux.
Are you testing for refleaks with gui enabled? A few weeks ago I
discovered that some had crept in IDLE, but the gui-less leak tests
never saw them. I fixed the ones that existed then, but as I add tests,
it will be easy enough to add more leaks.
Can test.bisect run a test module in idlelib.idle_test? Unittest.main
will, but as far as I know, it does not run leak tests. Test.regrtest
has a leak test, but will not modules in other directories, at least not
that one. I wrote a custom script to narrow a leak in test.test_idle to
one or more files in idlelib.idle_test, but from then on it was manual
work, commenting out parts of the file until I identified the test
function or functions.
One of the things I had to do is test setUpClass and tearDownClass by
themselves by commenting out all test_xyz functions and inserting
test_dummy(self): pass.
--
Terry Jan Reedy
More information about the Python-Dev
mailing list