diff options
author | Jeremy Harris <jgh146exb@wizmail.org> | 2016-07-30 16:29:22 +0100 |
---|---|---|
committer | Jeremy Harris <jgh146exb@wizmail.org> | 2016-08-02 16:46:31 +0100 |
commit | e027f545443fd6a5ec74c48c27dcd8b6634d5bba (patch) | |
tree | df7ce99785f7a1ba69cc684b282c5e5c3ba2b020 /test/src | |
parent | 6d5c916cc5720591335fea53242dd6b97ea56fe3 (diff) |
basic & pipelined transmit testcases
Diffstat (limited to 'test/src')
-rw-r--r-- | test/src/server.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/test/src/server.c b/test/src/server.c index 4f2172376..1abd3f49a 100644 --- a/test/src/server.c +++ b/test/src/server.c @@ -640,6 +640,38 @@ for (count = 0; count < connection_count; count++) sleep(sleepfor); } + /* If the script line starts with "*data " we expect a numeric argument, + and we expect to read (and discard) that many data bytes from the input. */ + + else if (strncmp(ss, "*data ", 6) == 0) + { + int dlen = atoi(ss+6); + int n; + + alarm(timeout); + + if (!linebuf) + while (dlen > 0) + { + n = dlen < sizeof(buffer) ? dlen : sizeof(buffer); + if ((n = read(dup_accept_socket, CS buffer, n)) == 0) + { + printf("Unxpected EOF read from client\n"); + s = s->next; + goto END_OFF; + } + dlen -= n; + } + else + while (dlen-- > 0) + if (fgetc(in) == EOF) + { + printf("Unxpected EOF read from client\n"); + s = s->next; + goto END_OFF; + } + } + /* Otherwise the script line is the start of an input line we are expecting from the client, or "*eof" indicating we expect the client to close the connection. Read command line or data lines; the latter are indicated |