On 07/08/11 01:33, Brock Pytlik wrote:
Webrev:
https://cr.opensolaris.org/action/browse/pkg/bpytlik/parallel-test-v1
Bugs:
18636 a single test suite run should be parallelizable
18571 test suite uses obsolete unittest function makeSuite
18616 fakeroot_repo should die
src/setup.py:
line 708: maybe 'jobs' instead?
lines 772, 811: docstring so we know the purpose?
lines 1230-1256: some comments would be helpful
line 1416: s/not/no/
line 1429: s/esimate/estimate/
lines 1479-1485: space after ':' in strings please
-------
So after applying the patch to gate tip, there are some regressions /
things I noticed:
* output from a simple 'sudo python run.py -v' is no longer updated
as each test runs, instead it appears to be updated only after
each unit test (e.g. api.t_version) runs; this leaves the user
sitting a long time without seeing any progress output
* when I interrupted the test run above, I got this traceback:
^C
# Ran 158 tests in 178.591s - skipped 0 tests.
Traceback (most recent call last):
File "/usr/lib/python2.6/multiprocessing/queues.py", line 242, in _feed
send(obj)
IOError: [Errno 4] Interrupted system call
All spawned processes should be terminated, now cleaning up directories.
Directories successfully removed.
* i also noticed that after the above, I was left with a zero-length
test log file named /tmp/tmpHQRcRv.pkg-test.log
* if I run just a single unit test successfully, I still see a
zero-length log flie on exist such as /tmp/tmpVclAYf.pkg-test.log;
I realise the earlier log message said it was logging there, but
it never seems to contain anything?
* I then did another test run with -j 16 and interrupted it after a
while and saw a mammoth traceback that basically repeated this:
...
Process Process-27:
File "/usr/lib/python2.6/multiprocessing/queues.py", line 89, in get
Traceback (most recent call last):
self._rlock.acquire()
KeyboardInterrupt
File "/usr/lib/python2.6/multiprocessing/queues.py", line 89, in get
test_suite = inq.get()
File "/usr/lib/python2.6/multiprocessing/queues.py", line 89, in get
self._rlock.acquire()
KeyboardInterrupt
self._rlock.acquire()
KeyboardInterrupt
Process Process-32:
Traceback (most recent call last):
File "/usr/lib/python2.6/multiprocessing/process.py", line 232, in
_bootstrap
self.run()
File "/usr/lib/python2.6/multiprocessing/process.py", line 88, in run
self._target(*self._args, **self._kwargs)
File "./pkg5unittest.py", line 1235, in q_run
test_suite = inq.get()
File "/usr/lib/python2.6/multiprocessing/queues.py", line 89, in get
self._rlock.acquire()
KeyboardInterrupt
Process Process-23:
test_suite = inq.get()
self._target(*self._args, **self._kwargs)
File "./pkg5unittest.py", line 1235, in q_run
test_suite = inq.get()
File "/usr/lib/python2.6/multiprocessing/queues.py", line 89, in get
self._rlock.acquire()
KeyboardInterrupt
test_suite = inq.get()
File "/usr/lib/python2.6/multiprocessing/queues.py", line 89, in get
self._rlock.acquire()
KeyboardInterrupt
File "/usr/lib/python2.6/multiprocessing/queues.py", line 89, in get
Traceback (most recent call last):
* when i cancelled the above test run, I also noticed some empty
directories hung around (three to be precise, in my case named
/tmp/tmpFyGS6Z, /tmp/tmpJG0SnH, /tmp/tmpjFImyq. If it helps,
all three had an owner group of noaccess:noaccess, so I suspect
a bug with cleanup when dealing with tests that use su_wrap.
* I then ran the tests again with -j4 and ^C'd them after a few
minutes, and got a message about a traceback, but no actual
traceback:
# logging to /tmp/tmpklqfAK.pkg-test.log
^CAll spawned processes should be terminated, now cleaning up directories.
Directories successfully removed.
Traceback (most recent call last):
-Shawn
_______________________________________________
pkg-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss