[RFC] Changes to 'selftest --starting-with'
John Arbash Meinel
john at arbash-meinel.com
Wed Aug 20 20:03:22 BST 2008
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Russ Brown wrote:
> John Arbash Meinel wrote:
...
>
> Hopefully I'm not barking up the wrong tree here, but can't you just do
> something like this instead:
>
> bzr selftest test_command
>
> which will run all tests that contain the string 'test_command'.
>
> When I was writing tests for the diffstat plugin I just had to run bzr
> selftest diffstat and it Just Worked.
>
>> John
>> =:->
That works, but it has to load the whole test suite, and then filter using
your regex. And when you have 11+k tests like bzr does, the time to figure out
the full test suite is actually rather long.
If you use -s/--starting-with it *only* loads the tests that start with the
string. This can make a very large difference in the time it takes to run the
subset you want.
For example "time bzr selftest --no-plugins --list"
takes 4.9 seconds. So it is 5s just to load all possible tests. It is much
worse on win32 and my old Mac laptop. 30+s was not unusual.
Considering that:
time bzr selftest --no-plugins -s bzrlib.tests.test_status
Finishes in 0.8s means that I spend about 5x the length of time just waiting
for the test suite to *start* than it actually spends running tests.
And if you are trying to do Test *Driven* Development, you want to run the
test suite all the time. Waiting 5s is far to long (when it gets close to 10s
my attention wanders, which really hurts productivity.)
John
=:->
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFIrGp6JdeBCYSNAAMRAkTUAKDWqdUUzP7Cssymczs8DmnwHV6wLwCgsQpG
rW1RfSuHmta3xRwhHpo28dk=
=W2s5
-----END PGP SIGNATURE-----
More information about the bazaar
mailing list