[PATCH 2/5] wait until all data from earlier test has been written in test_waittxempty

Wolfgang Walter wine at stwm.de
Thu Sep 5 10:01:39 CDT 2013


Am Donnerstag, 5. September 2013, 23:32:00 schrieben Sie:
> Wolfgang Walter <wine at stwm.de> wrote:
> > > > > > With my patches 1/2 and 2/2 I get:
> > > > > > 
> > > > > > fixme:iphlpapi:NotifyAddrChange (Handle 0x10ee8e0, overlapped
> > > > > > 0x10ee8ec):
> > > > > > stub wine: configuration in '/home/walterw/.wine' has been
> > > > > > updated.
> > > > > > fixme:comm:set_queue_size insize 1024 outsize 1024 unimplemented
> > > > > > stub
> > > > > > comm.c:857: Test succeeded inside todo block: WaitCommEvent failed
> > > > > > with a
> > > > > > timeout comm.c:881: Test succeeded inside todo block:
> > > > > > WaitCommEvent
> > > > > > error
> > > > > > 997 comm.c:883: Test succeeded inside todo block: WaitCommEvent:
> > > > > > expected
> > > > > > EV_TXEMPTY, got 0x4 comm.c:889: Test succeeded inside todo block:
> > > > > > WaitCommEvent used 1141 ms for waiting err:comm:set_line_control
> > > > > > ByteSize
> > > > > > fixme:ntdll:server_ioctl_file Unsupported ioctl 1b000c (device=1b
> > > > > > access=0
> > > > > > func=3 method=0) comm.c:2036: Tests skipped: interactive tests
> > > > > > (set
> > > > > > WINETEST_INTERACTIVE=1)
> > > > > 
> > > > > Successes inside of todo_wine blocks are treated as failres.
> > > > 
> > > > So you think I should remove the wine_todos already here?
> > > 
> > > No, the source of the failures is still there.
> > 
> > What do you mean with that? The tests indeed do succeed now and there is a
> > reason they do: when you call WaitCommEvent() while the tx buffer is not
> > empty
> > yet the wine code will detect that EV_TXEMPTY correctly:
> The tests must pass under Wine without any additional "fixes" as they do
> currently under Windows. If you add some code to the tests which suddenly
> makes them pass under Wine - that's not a fix, Wine implementation should
> be fixed instead.

You basically say that one may not fix a bug before fixing another one which 
is not related only because they are tested for in a special order and these 
tests influence each other though they are not really related.

Again:

In this case not wine behaves incorrectly but the test is simply wrong. It 
first tests if WaitCommEvent() returns  ERROR_INVALID_PARAMETER if called with 
NULL without without ovl structure. Then it tests the EV_TXEMPTY handling. The 
latter test will always fail even if it works perfectly as long as wine does 
not return ERROR_INVALID_PARAMETER but instead does the write in the first 
test. This is because the second tests does not wait long enough for both 
writes to complete.


Regards,
-- 
Wolfgang Walter
Studentenwerk München
Anstalt des öffentlichen Rechts
Abteilungsleiter IT
Leopoldstraße 15
80802 München



More information about the wine-devel mailing list