diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/data/DISABLED | 2 | ||||
-rw-r--r-- | tests/data/Makefile.am | 2 | ||||
-rw-r--r-- | tests/data/test1099 | 45 | ||||
-rw-r--r-- | tests/server/tftpd.c | 17 |
4 files changed, 57 insertions, 9 deletions
diff --git a/tests/data/DISABLED b/tests/data/DISABLED index df4fd1a1c..16af58335 100644 --- a/tests/data/DISABLED +++ b/tests/data/DISABLED @@ -3,4 +3,4 @@ # test cases are run by runtests.pl. Just add the plain test case numbers, one # per line. # Lines starting with '#' letters are treated as comments. -1097 +1099 diff --git a/tests/data/Makefile.am b/tests/data/Makefile.am index d7068871e..ec27cff36 100644 --- a/tests/data/Makefile.am +++ b/tests/data/Makefile.am @@ -61,7 +61,7 @@ EXTRA_DIST = test1 test108 test117 test127 test20 test27 test34 test46 \ test1080 test1081 test1082 test1083 test1084 test1085 test633 test634 \ test635 test636 test637 test558 test559 test1086 test1087 test1088 \ test1089 test1090 test1091 test1092 test1093 test1094 test1095 test1096 \ - test1097 test560 test561 test1098 + test1097 test560 test561 test1098 test1099 filecheck: @mkdir test-place; \ diff --git a/tests/data/test1099 b/tests/data/test1099 new file mode 100644 index 000000000..5c80ac5d0 --- /dev/null +++ b/tests/data/test1099 @@ -0,0 +1,45 @@ +<testcase> +<info> +<keywords> +TFTP +TFTP RRQ +FAILURE +</keywords> +</info> + +<reply> +<data> +data for 1099 +</data> +</reply> + +# +# Client-side +<client> +<server> +tftp +</server> + <name> +TFTP get first a non-existing file then an existing + </name> + <command> +tftp://%HOSTIP:%TFTPPORT/an/invalid-file tftp://%HOSTIP:%TFTPPORT//1099 --trace-ascii log/traceit +</command> +</client> + +# +# Verify pseudo protocol after the test has been "shot" +<verify> +<errorcode> +69 +</errorcode> +<protocol> +opcode: 1 +filename: an/invalid-file +mode: octet +opcode: 1 +filename: /1099 +mode: octet +</protocol> +</verify> +</testcase> diff --git a/tests/server/tftpd.c b/tests/server/tftpd.c index f64f5daf4..fce365758 100644 --- a/tests/server/tftpd.c +++ b/tests/server/tftpd.c @@ -193,7 +193,7 @@ rw_init(int x) /* init for either read-ahead or write-behind */ Free it and return next buffer filled with data. */ static int readit(struct testcase *test, struct tftphdr **dpp, - int convert /* if true, convert to ascii */) + int convert /* if true, convert to ascii */) { struct bf *b; @@ -202,7 +202,7 @@ static int readit(struct testcase *test, struct tftphdr **dpp, b = &bfs[current]; /* look at new buffer */ if (b->counter == BF_FREE) /* if it's empty */ - read_ahead(test, convert); /* fill it */ + read_ahead(test, convert); /* fill it */ *dpp = (struct tftphdr *)b->buf; /* set caller's ptr */ return b->counter; @@ -530,7 +530,7 @@ int main(int argc, char **argv) n = (ssize_t)recvfrom(sock, buf, sizeof(buf), 0, (struct sockaddr *)&from, &fromlen); if (n < 0) { - logmsg("recvfrom:\n"); + logmsg("recvfrom"); result = 3; break; } @@ -541,13 +541,13 @@ int main(int argc, char **argv) peer = socket(AF_INET, SOCK_DGRAM, 0); if (peer < 0) { - logmsg("socket:\n"); + logmsg("socket"); result = 2; break; } if (connect(peer, (struct sockaddr *)&from, sizeof(from)) < 0) { - logmsg("connect: fail\n"); + logmsg("connect: fail"); result = 1; break; } @@ -566,6 +566,8 @@ int main(int argc, char **argv) clear_advisor_read_lock(SERVERLOGS_LOCK); + logmsg("end of one transfer"); + } while(1); clear_advisor_read_lock(SERVERLOGS_LOCK); @@ -734,6 +736,7 @@ static int validate_access(struct testcase *test, return EACCESS; /* failure */ } + logmsg("file opened and all is good"); return 0; } @@ -797,7 +800,7 @@ static void sendtftp(struct testcase *test, struct formats *pf) #endif send_data: if (swrite(peer, sdp, size + 4) != size + 4) { - logmsg("write\n"); + logmsg("write"); return; } read_ahead(test, pf->f_convert); @@ -810,7 +813,7 @@ static void sendtftp(struct testcase *test, struct formats *pf) alarm(0); #endif if (n < 0) { - logmsg("read: fail\n"); + logmsg("read: fail"); return; } sap->th_opcode = ntohs((u_short)sap->th_opcode); |