http://bugs.winehq.org/show_bug.cgi?id=17195
--- Comment #16 from Luke Kenneth Casson Leighton lkcl@lkcl.net 2009-02-07 08:39:25 --- tests TODO:
1) thread multiwrite, thread multiread.
this test will show whether it's possible to have multiple concurrent readers and writers at the _same_ time. i.e.:
wth-1 : write starts (e.g. 2mb of data) wth-2 : write starts (e.g. 2mb of data) rth-1 : read starts whilst wth-1 and wth-2 are still writing. rth-2 : read starts of SECOND message whilst wth-1 and wth-2 are still writing, and rth-1 is still reading message number 1.
2) start off in non-message-mode and switch to message-mode with data still unread
this test will be interesting. basically, the SetNamedPipeHandleState is to be delayed until a few messages have been exchanged, and some data left in the pipe. a special focus will be on determining whether the data already in the pipe is:
a) thrown away b) "turned into" a message-mode message c) prepended to the next message that's written.
3) start off in message-mode and switch to non-message-mode with data outstanding and not outstanding, as two separate tests.
4) do a CreateNamedPipe in message-mode on server-end and don't set message-mode on the client, and see what happens
5) do a CreateNamedPipe _not_ in message-mode on server-end, and set message-mode on the server, and see what happens.
6) more - yet to be thought of.