Added test cases 1045 through 1049 as simple tests of --interface using the

localhost interface.
This commit is contained in:
Dan Fandrich 2008-07-28 18:39:32 +00:00
parent bc0ebfcdeb
commit f042a7419d
7 changed files with 301 additions and 1 deletions

View File

@ -6,6 +6,13 @@
Changelog
Daniel Fandrich (28 Jul 2008)
- Fixed display of the interface bind address in the trace output when it's
an IPv6 address.
- Added test cases 1045 through 1049 as simple tests of --interface using the
localhost interface.
Daniel Stenberg (26 Jul 2008)
- David Bau filed bug report #2026240 "CURL_READFUNC_PAUSE leads to buffer
overrun" (http://curl.haxx.se/bug/view.cgi?id=2026240) identifying two

View File

@ -53,7 +53,8 @@ EXTRA_DIST = test1 test108 test117 test127 test20 test27 test34 test46 \
test1024 test1025 test555 test1026 test1027 test1028 test1029 test1030 \
test556 test1031 test628 test629 test630 test631 test632 test1032 \
test1033 test539 test1034 test1035 test1036 test1037 test1038 test1039 \
test1040 test1041 test1042 test1043 test1044
test1040 test1041 test1042 test1043 test1044 test1045 test1046 test1047 \
test1048 test1049
filecheck:
@mkdir test-place; \

56
tests/data/test1045 Normal file
View File

@ -0,0 +1,56 @@
<testcase>
<info>
<keywords>
HTTP
HTTP GET
--interface
</keywords>
</info>
#
# Server-side
<reply>
<data>
HTTP/1.1 200 OK
Date: Mon, 28 Jul 2008 14:49:00 GMT
Server: test-server/fake
Content-Length: 6
Connection: close
Content-Type: text/plain
-foo-
</data>
</reply>
#
# Client-side
<client>
<server>
http
</server>
<name>
HTTP GET with localhost --interface
</name>
<command>
http://%HOSTIP:%HTTPPORT/1045 --interface 127.0.0.1
</command>
# When bound to localhost, one may connect only to a local test server
<precheck>
perl -e "print 'Test requires default test server host address' if ( '%HOSTIP' ne '127.0.0.1' );"
</precheck>
</client>
#
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
GET /1045 HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
</protocol>
</verify>
</testcase>

60
tests/data/test1046 Normal file
View File

@ -0,0 +1,60 @@
<testcase>
<info>
<keywords>
HTTP
HTTP GET
--interface
IPv6
</keywords>
</info>
#
# Server-side
<reply>
<data>
HTTP/1.1 200 OK
Date: Mon, 28 Jul 2008 14:49:00 GMT
Server: test-server/fake
Content-Length: 6
Connection: close
Content-Type: text/plain
-foo-
</data>
</reply>
#
# Client-side
<client>
<features>
ipv6
</features>
<server>
http-ipv6
</server>
<name>
HTTP-IPv6 GET with localhost --interface
</name>
<command>
-g "http://%HOST6IP:%HTTP6PORT/1046" --interface ::1
</command>
# When bound to ip6-localhost, one may connect only to a local test server
<precheck>
perl -e "print 'Test requires default test server host address' if ( '%HOST6IP' ne '[::1]' );"
</precheck>
</client>
#
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
GET /1046 HTTP/1.1
Host: %HOST6IP:%HTTP6PORT
Accept: */*
</protocol>
</verify>
</testcase>

62
tests/data/test1047 Normal file
View File

@ -0,0 +1,62 @@
<testcase>
<info>
<keywords>
FTP
PASV
LIST
--interface
</keywords>
</info>
#
# Server-side
<reply>
# When doing LIST, we get the default list output hard-coded in the test
# FTP server
<datacheck>
total 20
drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
-r--r--r-- 1 0 1 35 Jul 16 1996 README
lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
</datacheck>
</reply>
#
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP dir list PASV with localhost --interface
</name>
<command>
ftp://%HOSTIP:%FTPPORT/ --interface 127.0.0.1
</command>
# When bound to localhost, one may connect only to a local test server
<precheck>
perl -e "print 'Test requires default test server host address' if ( '%HOSTIP' ne '127.0.0.1' );"
</precheck>
</client>
#
# Verify data after the test has been "shot"
<verify>
<protocol>
USER anonymous
PASS ftp@example.com
PWD
EPSV
TYPE A
LIST
QUIT
</protocol>
</verify>
</testcase>

66
tests/data/test1048 Normal file
View File

@ -0,0 +1,66 @@
<testcase>
<info>
<keywords>
FTP
PASV
LIST
--interface
IPv6
</keywords>
</info>
#
# Server-side
<reply>
# When doing LIST, we get the default list output hard-coded in the test
# FTP server
<datacheck>
total 20
drwxr-xr-x 8 98 98 512 Oct 22 13:06 .
drwxr-xr-x 8 98 98 512 Oct 22 13:06 ..
drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT
-r--r--r-- 1 0 1 35 Jul 16 1996 README
lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin
dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev
drwxrwxrwx 2 98 98 512 May 29 16:04 download.html
dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc
drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub
dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr
</datacheck>
</reply>
#
# Client-side
<client>
<features>
ipv6
</features>
<server>
ftp-ipv6
</server>
<name>
FTP-IPv6 dir list PASV with localhost --interface
</name>
<command>
-g "ftp://%HOST6IP:%FTP6PORT/" --interface ::1
</command>
# When bound to localhost, one may connect only to a local test server
<precheck>
perl -e "print 'Test requires default test server host address' if ( '%HOST6IP' ne '[::1]' );"
</precheck>
</client>
#
# Verify data after the test has been "shot"
<verify>
<protocol>
USER anonymous
PASS ftp@example.com
PWD
EPSV
TYPE A
LIST
QUIT
</protocol>
</verify>
</testcase>

48
tests/data/test1049 Normal file
View File

@ -0,0 +1,48 @@
<testcase>
<info>
<keywords>
TFTP
TFTP RRQ
--interface
</keywords>
</info>
#
# Server-side
<reply>
<data>
a chunk of
data
returned
to client
</data>
</reply>
#
# Client-side
<client>
<server>
tftp
</server>
<name>
TFTP retrieve with localhost --interface
</name>
<command>
tftp://%HOSTIP:%TFTPPORT//1049 --trace-ascii log/traceit --interface 127.0.0.1
</command>
# When bound to localhost, one may connect only to a local test server
<precheck>
perl -e "print 'Test requires default test server host address' if ( '%HOSTIP' ne '127.0.0.1' );"
</precheck>
</client>
#
# Verify pseudo protocol after the test has been "shot"
<verify>
<protocol>
opcode: 1
filename: /1049
mode: octet
</protocol>
</verify>
</testcase>