[py-dev] py.test --looponfailing started failing on Windows...

Baptiste Lepilleur blep at users.sourceforge.net
Sat Jul 5 10:03:03 CEST 2008


I'm stuck with this weird issue. py.test -f has worked perfectly for more than one month, but yesterday I got my first failure as shown below. The weird thing is that it restarted worked fine after failing a few times, but this morning it is impossible to get it working...

Environment: Python 2.5.2 on Windows XP SP3 32 bits and py-0.9.1 install via setup.py.

Below are the failure output when I start py.test -f, and the debug ouput of the gateway trace that I enabled. Anyone know how to get useful information about the remote exception (like source code... to help understand where this ValueError come from ?)

I tried to run the gateway unit test, but they always get stuck. The strange thing is that it seems to be depend on how they are started with py.test: 
If I starts the test with disabled stdout capture (py.test -v -s) , then the test remain stuck on:
 test_gateway.py:91   TestPopenGateway().test_correct_setup_no_py,
If I starts the test normally (py.test -v), then test run go farther but get stuck on:
test_gateway.py:405  TestPopenGateway().test_chdir_separation
Gateway debug trace for unit test do not show any ValueError exception...
Unit tests output is at the end of the mail.

Any help to understand where I should add traces in the code to understand what is going on would be greatly appreciated.

Thanks,
Baptiste.

* The failure:
E:\prg\py\App\sbuilder\build\src\sbuilder\testing>py.test.py  -f
* opening PopenGateway:  C:\Python25\python.exe
MASTER: initiated slave terminal session ->
MASTER: send start info, topdir=E:\prg\py\App\sbuilder\build\src
Traceback (most recent call last):
  File "E:\prg\py\App\sbuilder\build\src\sbuilder\testing\py.test.py", line 4, in <module>
    py.test.cmdline.main()
  File "c:\Python25\lib\site-packages\py\test\cmdline.py", line 15, in main
    failures = session.main()
  File "C:\Python25\lib\site-packages\py\test\terminal\remote.py", line 82, in main
    failures = self.run_remote_session(failures)
  File "C:\Python25\lib\site-packages\py\test\terminal\remote.py", line 111, in run_remote_session
    return channel.receive()
  File "C:\Python25\lib\site-packages\py\execnet\channel.py", line 175, in receive
    raise self._getremoteerror() or EOFError()
EOFError

I enabled the gateway trace I found:
**** execnet-debug-3420:
sending gateway bootstrap code
Channel(3).__del__
sent -> <Message.CHANNEL_LAST_MESSAGE channelid=3 ''>
Channel(5).__del__
sent -> <Message.CHANNEL_LAST_MESSAGE channelid=5 ''>
sent -> <Message.CHANNEL_OPEN channelid=1 len=111>
sent -> <Message.CHANNEL_DATA channelid=1 len=456>
leaving <Thread(receiver, started daemon)>
====================cleaning up====================
Channel(1).__del__


*** execnet-debug-2308 
Traceback (most recent call last):
  File "<string>", line 359, in _thread_receiver
  File "<string>", line 626, in readfrom
ValueError: bad data format

leaving <Thread(receiver, started daemon)>
_servemain finished
====================cleaning up====================


*** Results of running the unit tests for exec_net module
C:\Python25\Lib\site-packages\py\execnet\testing>python c:\Python25\Lib\site-packages\py\bin\py.test -v
inserting into sys.path: C:\Python25\Lib\site-packages
============================= test process starts =============================
executable:   c:\Python25\python.exe  (2.5.2-final-0)
using py lib: C:\Python25\Lib\site-packages\py <rev unknown>
test target:  C:\Python25\Lib\site-packages\py\execnet\testing
initial conf 0: C:\Python25\Lib\site-packages\py\test\defaultconftest.pyc
initial conf 1: C:\Python25\Lib\site-packages\py\conftest.pyc


+ testmodule: C:\Python25\Lib\site-packages\py\execnet\testing\test_gateway.py
register.py:20       test_getsource_import_modules[0] ok (0.00)
register.py:20       test_getsource_import_modules[1] ok (0.00)
register.py:20       test_getsource_import_modules[2] ok (0.00)
register.py:20       test_getsource_import_modules[3] ok (0.00)
register.py:20       test_getsource_import_modules[4] ok (0.00)
test_gateway.py:17   test_getsource_no_colision ok (0.00)
test_gateway.py:30   test_stdouterrin_setnull ok (0.02)
test_gateway.py:45   TestMessage().test_wire_protocol ok (0.00)
test_gateway.py:61   TestPureChannel().test_factory_create ok (0.00)
test_gateway.py:67   TestPureChannel().test_factory_getitem ok (0.00)
test_gateway.py:73   TestPureChannel().test_channel_timeouterror ok (0.02)
test_gateway.py:85   TestPopenGateway().test_correct_setup ok (0.08)
test_gateway.py:88   TestPopenGateway().test_repr_doesnt_crash ok (0.00)
test_gateway.py:91   TestPopenGateway().test_correct_setup_no_py ok (0.02)
test_gateway.py:100  TestPopenGateway().test_remote_exec_waitclose ok (0.00)
test_gateway.py:104  TestPopenGateway().test_remote_exec_waitclose_2 ok (0.00)
test_gateway.py:108  TestPopenGateway().test_remote_exec_waitclose_noarg ok (0.00)
test_gateway.py:112  TestPopenGateway().test_remote_exec_error_after_close ok (0.00)
test_gateway.py:117  TestPopenGateway().test_remote_exec_channel_anonymous ok (0.00)
test_gateway.py:126  TestPopenGateway().test_channel_close_and_then_receive_error ok (0.00)
test_gateway.py:130  TestPopenGateway().test_channel_finish_and_then_EOFError ok (0.00)
test_gateway.py:138  TestPopenGateway().test_channel_close_and_then_receive_error_multiple ok (0.00)

test_gateway.py:144  TestPopenGateway().test_channel__local_close ok (0.00)
test_gateway.py:149  TestPopenGateway().test_channel__local_close_error ok (0.00)
test_gateway.py:155  TestPopenGateway().test_channel_error_reporting ok (0.00)
test_gateway.py:166  TestPopenGateway().test_channel_syntax_error ok (0.00)
test_gateway.py:175  TestPopenGateway().test_channel_iter ok (0.00)
test_gateway.py:183  TestPopenGateway().test_channel_passing_over_channel ok (0.00)
test_gateway.py:202  TestPopenGateway().test_channel_receiver_callback ok (0.00)
test_gateway.py:217  TestPopenGateway().test_channel_callback_after_receive ok (0.02)
test_gateway.py:233  TestPopenGateway().test_waiting_for_callbacks ok (0.22)
test_gateway.py:245  TestPopenGateway().test_channel_callback_stays_active ok (0.75)
test_gateway.py:275  TestPopenGateway().test_channel_callback_remote_freed ok (0.75)
test_gateway.py:279  TestPopenGateway().test_channel_endmarker_callback ok (0.00)
test_gateway.py:294  TestPopenGateway().test_remote_redirect_stdout ok (0.00)
test_gateway.py:303  TestPopenGateway().test_remote_exec_redirect_multi ok (0.00)
test_gateway.py:318  TestPopenGateway().test_channel_file ok (0.00)
test_gateway.py:330  TestPopenGateway().test_channel_file_write_error ok (0.00)
test_gateway.py:336  TestPopenGateway().test_channel_file_proxyclose ok (0.02)
test_gateway.py:347  TestPopenGateway().test_confusion_from_os_write_stdout ok (0.00)
test_gateway.py:361  TestPopenGateway().test_confusion_from_os_write_stderr ok (0.00)
test_gateway.py:375  TestPopenGateway().test_non_reverse_execution ok (0.03)
test_gateway.py:405  TestPopenGateway().test_chdir_separation ^C
C:\Python25\Lib\site-packages\py\execnet\testing>

---
Baptiste Lepilleur <blep at users.sourceforge.net>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/pytest-dev/attachments/20080705/e56f5b2a/attachment.html>


More information about the Pytest-dev mailing list