hello world

This commit is contained in:
Timothee 'TTimo' Besset
2011-11-22 15:28:15 -06:00
commit fb1609f554
2155 changed files with 1017022 additions and 0 deletions

View File

@@ -0,0 +1,30 @@
iall:
install:
test:
EXTRA_DIST = \
test1 test108 test117 test127 test20 test27 test34 test46 \
test10 test109 test118 test13 test200 test28 test36 test47 \
test100 test11 test119 test14 test201 test29 test37 test5 \
test101 test110 test12 test15 test202 test3 test4 test6 \
test102 test111 test120 test16 test21 test30 test7 \
test103 test112 test121 test17 test22 test300 test8 \
test104 test113 test122 test18 test23 test301 test9 \
test105 test114 test123 test19 test24 test302 test43 test31 \
test106 test115 test124 test190 test25 test303 test44 test38 \
test107 test116 test125 test2 test26 test33 test45 test126 \
test304 test39 test32 test128 test48 test306 \
test130 test131 test132 test133 test134 test135 test305 \
test49 test50 test51 test52 test53 test54 test55 test56 \
test500 test501 test502 test503 test504 test136 test57 test137 test138 \
test58 test139 test140 test141 test59 test60 test61 test142 test143 \
test62 test63 test64 test65 test66 test144 test145 test67 test68 test41 \
test40 test42 test69 test70 test71 test72 test73 test146 test505 \
test74 test75 test76 test77 test78 test147 test148 test506 test79 test80 \
test81 test82 test83 test84 test85 test86 test87 test507 test149 test88 \
test89 test90 test508 test91 test92 test203 test93 test94 test95 test509 \
test510 test97 test98 test99
# The following tests have been removed from the dist since they no longer
# work. We need to fix the test suite's FTPS server first, then bring them
# back: test400 test401 test402 test403

View File

@@ -0,0 +1,380 @@
# Makefile.in generated by automake 1.8.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ../..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
host_triplet = @host@
subdir = tests/data
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/lib/config.h \
$(top_builddir)/src/config.h
CONFIG_CLEAN_FILES =
SOURCES =
DIST_SOURCES =
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CABUNDLE_FALSE = @CABUNDLE_FALSE@
CABUNDLE_TRUE = @CABUNDLE_TRUE@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CURL_CA_BUNDLE = @CURL_CA_BUNDLE@
CURL_DISABLE_DICT = @CURL_DISABLE_DICT@
CURL_DISABLE_FILE = @CURL_DISABLE_FILE@
CURL_DISABLE_FTP = @CURL_DISABLE_FTP@
CURL_DISABLE_GOPHER = @CURL_DISABLE_GOPHER@
CURL_DISABLE_HTTP = @CURL_DISABLE_HTTP@
CURL_DISABLE_LDAP = @CURL_DISABLE_LDAP@
CURL_DISABLE_TELNET = @CURL_DISABLE_TELNET@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
HAVE_ARES = @HAVE_ARES@
HAVE_LIBZ = @HAVE_LIBZ@
HAVE_LIBZ_FALSE = @HAVE_LIBZ_FALSE@
HAVE_LIBZ_TRUE = @HAVE_LIBZ_TRUE@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
IPV6_ENABLED = @IPV6_ENABLED@
KRB4_ENABLED = @KRB4_ENABLED@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
MAKEINFO = @MAKEINFO@
MANOPT = @MANOPT@
MIMPURE_FALSE = @MIMPURE_FALSE@
MIMPURE_TRUE = @MIMPURE_TRUE@
NO_UNDEFINED_FALSE = @NO_UNDEFINED_FALSE@
NO_UNDEFINED_TRUE = @NO_UNDEFINED_TRUE@
NROFF = @NROFF@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OPENSSL_ENABLED = @OPENSSL_ENABLED@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKGADD_NAME = @PKGADD_NAME@
PKGADD_PKG = @PKGADD_PKG@
PKGADD_VENDOR = @PKGADD_VENDOR@
PKGCONFIG = @PKGCONFIG@
RANDOM_FILE = @RANDOM_FILE@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
USE_MANUAL_FALSE = @USE_MANUAL_FALSE@
USE_MANUAL_TRUE = @USE_MANUAL_TRUE@
VERSION = @VERSION@
VERSIONNUM = @VERSIONNUM@
YACC = @YACC@
ac_ct_AR = @ac_ct_AR@
ac_ct_AS = @ac_ct_AS@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DLLTOOL = @ac_ct_DLLTOOL@
ac_ct_F77 = @ac_ct_F77@
ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
prefix = @prefix@
program_transform_name = @program_transform_name@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
subdirs = @subdirs@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
EXTRA_DIST = \
test1 test108 test117 test127 test20 test27 test34 test46 \
test10 test109 test118 test13 test200 test28 test36 test47 \
test100 test11 test119 test14 test201 test29 test37 test5 \
test101 test110 test12 test15 test202 test3 test4 test6 \
test102 test111 test120 test16 test21 test30 test7 \
test103 test112 test121 test17 test22 test300 test8 \
test104 test113 test122 test18 test23 test301 test9 \
test105 test114 test123 test19 test24 test302 test43 test31 \
test106 test115 test124 test190 test25 test303 test44 test38 \
test107 test116 test125 test2 test26 test33 test45 test126 \
test304 test39 test32 test128 test48 test306 \
test130 test131 test132 test133 test134 test135 test305 \
test49 test50 test51 test52 test53 test54 test55 test56 \
test500 test501 test502 test503 test504 test136 test57 test137 test138 \
test58 test139 test140 test141 test59 test60 test61 test142 test143 \
test62 test63 test64 test65 test66 test144 test145 test67 test68 test41 \
test40 test42 test69 test70 test71 test72 test73 test146 test505 \
test74 test75 test76 test77 test78 test147 test148 test506 test79 test80 \
test81 test82 test83 test84 test85 test86 test87 test507 test149 test88 \
test89 test90 test508 test91 test92 test203 test93 test94 test95 test509 \
test510 test97 test98 test99
all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tests/data/Makefile'; \
cd $(top_srcdir) && \
$(AUTOMAKE) --foreign tests/data/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
distclean-libtool:
-rm -f libtool
uninstall-info-am:
tags: TAGS
TAGS:
ctags: CTAGS
CTAGS:
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
case $$file in \
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
esac; \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkdir_p) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile
installdirs:
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-generic distclean-libtool
dvi: dvi-am
dvi-am:
html: html-am
info: info-am
info-am:
install-data-am:
install-exec-am:
install-info: install-info-am
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-info-am
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
distclean distclean-generic distclean-libtool distdir dvi \
dvi-am html html-am info info-am install install-am \
install-data install-data-am install-exec install-exec-am \
install-info install-info-am install-man install-strip \
installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic \
mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
uninstall-info-am
iall:
install:
test:
# The following tests have been removed from the dist since they no longer
# work. We need to fix the test suite's FTPS server first, then bring them
# back: test400 test401 test402 test403
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

47
neo/curl/tests/data/test1 Normal file
View File

@@ -0,0 +1,47 @@
#
# Server-side
<reply name="1">
<data>
HTTP/1.1 200 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
ETag: "21025-dc7-39462498"
Accept-Ranges: bytes
Content-Length: 6
Connection: close
Content-Type: text/html
Funny-head: yesyes
<foo>
</data>
</reply>
#
# Client-side
<client>
<server>
http
</server>
<name>
simple HTTP GET
</name>
<command>
http://%HOSTIP:%HOSTPORT/1
</command>
</client>
#
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
GET /1 HTTP/1.1
Host: 127.0.0.1:8999
Pragma: no-cache
Accept: */*
</protocol>
</verify>

View File

@@ -0,0 +1,60 @@
# Server-side
<reply>
<data>
HTTP/1.0 200 OK swsclose
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
blablabla
</data>
</reply>
# Client-side
<client>
<server>
http
</server>
<name>
simple HTTP PUT from file
</name>
<command>
http://%HOSTIP:%HOSTPORT/we/want/10 -T log/test10.txt
</command>
<file name="log/test10.txt">
Weird
file
to
upload
for
testing
the
PUT
feature
</file>
</test>
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
PUT /we/want/10 HTTP/1.1
Host: 127.0.0.1:8999
Pragma: no-cache
Accept: */*
Content-Length: 78
Expect: 100-continue
Weird
file
to
upload
for
testing
the
PUT
feature
</protocol>
</verify>

View File

@@ -0,0 +1,48 @@
#
# Server-side
<reply name="1">
<data>
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
</data>
</reply>
#
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP dir list PASV
</name>
<command>
ftp://%HOSTIP:%FTPPORT/
</command>
</test>
#
# Verify data after the test has been "shot"
<verify>
<strip>
filter off really nothing
</strip>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
EPSV
TYPE A
LIST
QUIT
</protocol>
</verify>

View File

@@ -0,0 +1,48 @@
# Server-side
<reply>
<data>
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
</data>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP dir list, PORT with specified IP
</name>
<command>
ftp://%HOSTIP:%FTPPORT/ -P %HOSTIP
</command>
</test>
# Verify data after the test has been "shot"
<verify>
# strip all kinds of PORT, EPRT and LPRT curl can do
<strip>
^PORT 127,0,0,1,.*
^EPRT.*
^LPRT.*
</strip>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
PORT 127,0,0,1,243,212
TYPE A
LIST
QUIT
</protocol>
</verify>

View File

@@ -0,0 +1,43 @@
# Server-side
<reply>
<data>
data
to
see
that FTP
works
so does it?
</data>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP RETR PASV
</name>
<command>
ftp://%HOSTIP:%FTPPORT/102
</command>
</test>
<file name="log/ftpserver.cmd">
REPLY EPSV 500 no such command
</file>
# Verify data after the test has been "shot"
<verify>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
EPSV
PASV
TYPE I
SIZE 102
RETR 102
QUIT
</protocol>
</verify>

View File

@@ -0,0 +1,45 @@
# Server-side
<reply>
<data>
data
to
see
that FTP
works
so does it?
</data>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP RETR PORT with CWD
</name>
<command>
ftp://%HOSTIP:%FTPPORT/a/path/103 -P -
</command>
</test>
# Verify data after the test has been "shot"
<verify>
<strip>
^PORT .*
^EPRT.*
^LPRT.*
</strip>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
CWD a
CWD path
PORT 127,0,0,1,246,33
TYPE I
SIZE 103
RETR 103
QUIT
</protocol>
</verify>

View File

@@ -0,0 +1,35 @@
# Server-side
<reply>
<size>
51
</size>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP --head to get file size only
</name>
<command>
ftp://%HOSTIP:%FTPPORT/a/path/103 --head
</command>
</test>
# Verify data after the test has been "shot"
<verify>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
CWD a
CWD path
MDTM 103
TYPE I
SIZE 103
REST 0
QUIT
</protocol>
</verify>

View File

@@ -0,0 +1,43 @@
# Server-side
<reply>
<data>
data
to
see
that FTP
works
so does it?
</data>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP user+password in URL and ASCII transfer
</name>
<command>
ftp://userdude:passfellow@%HOSTIP:%FTPPORT/103 --use-ascii
</command>
<file name="log/ftpserver.cmd">
REPLY EPSV 500 no such command
REPLY SIZE 500 no such command
</file>
</test>
# Verify data after the test has been "shot"
<verify>
<protocol>
USER userdude
PASS passfellow
PWD
EPSV
PASV
TYPE A
SIZE 103
RETR 103
QUIT
</protocol>
</verify>

View File

@@ -0,0 +1,40 @@
# Server-side
<reply>
<data>
data
to
see
that FTP
works
so does it?
</data>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP GET with type=A style ASCII URL using %20 codes
</name>
<command>
"ftp://%HOSTIP:%FTPPORT//path%20with%20%20spaces//and%20things2/106;type=A"
</command>
</test>
# Verify data after the test has been "shot"
<verify>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
CWD /path with spaces
CWD and things2
EPSV
TYPE A
SIZE 106
RETR 106
QUIT
</protocol>
</verify>

View File

@@ -0,0 +1,42 @@
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP PASV upload file
</name>
<file name="log/test107.txt">
data
to
see
that FTP
works
so does it?
</file>
<command>
ftp://%HOSTIP:%FTPPORT/107 -T log/test107.txt
</command>
</test>
# Verify data after the test has been "shot"
<verify>
<upload>
data
to
see
that FTP
works
so does it?
</upload>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
EPSV
TYPE I
STOR 107
QUIT
</protocol>
</verify>

View File

@@ -0,0 +1,47 @@
# Server-side
<reply>
<data>
</data>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP PORT upload with CWD
</name>
<command>
ftp://%HOSTIP:%FTPPORT/CWD/STOR/RETR/108 -T log/upload108 -P -
</command>
<file name="log/upload108">
Moooooooooooo
upload this
</file>
</test>
# Verify data after the test has been "shot"
<verify>
<strip>
^PORT .*
^EPRT .*
^LPRT .*
</strip>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
CWD CWD
CWD STOR
CWD RETR
PORT 127,0,0,1,5,109
TYPE I
STOR 108
QUIT
</protocol>
<upload>
Moooooooooooo
upload this
</upload>
</verify>

View File

@@ -0,0 +1,41 @@
# Server-side
<reply>
<data>
</data>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP PASV upload append
</name>
<command>
ftp://%HOSTIP:%FTPPORT/109 -T log/upload109 --append
</command>
<file name="log/upload109">
Moooooooooooo
upload this
</file>
</test>
# Verify data after the test has been "shot"
<verify>
<strip>
</strip>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
EPSV
TYPE I
APPE 109
QUIT
</protocol>
<upload>
Moooooooooooo
upload this
</upload>
</verify>

View File

@@ -0,0 +1,67 @@
# Server-side
<reply>
<data>
HTTP/1.1 301 This is a weirdo text message swsclose
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
Location: data/110002.txt?coolsite=yes
Connection: close
This server reply is for testing a simple Location: following
</data>
<data2>
HTTP/1.1 200 Followed here fine swsclose
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
If this is received, the location following worked
</data2>
<datacheck>
HTTP/1.1 301 This is a weirdo text message swsclose
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
Location: data/110002.txt?coolsite=yes
Connection: close
HTTP/1.1 200 Followed here fine swsclose
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
If this is received, the location following worked
</datacheck>
</reply>
# Client-side
<client>
<server>
http
</server>
<name>
simple HTTP Location: following
</name>
<command>
http://%HOSTIP:%HOSTPORT/want/11 -L
</command>
</test>
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
GET /want/11 HTTP/1.1
Host: 127.0.0.1:8999
Pragma: no-cache
Accept: */*
GET /want/data/110002.txt?coolsite=yes HTTP/1.1
Host: 127.0.0.1:8999
Pragma: no-cache
Accept: */*
</protocol>
</verify>

View File

@@ -0,0 +1,44 @@
# Server-side
<reply>
<data>
expected to be a file without the first part
but we emulate that
</data>
<size>
85
</size>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP download resume with set limit
</name>
<command>
ftp://%HOSTIP:%FTPPORT/110 -C 20
</command>
<file name="log/ftpserver.cmd">
REPLY EPSV 500 no such command
</file>
</test>
# Verify data after the test has been "shot"
<verify>
<strip>
</strip>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
EPSV
PASV
TYPE I
SIZE 110
REST 20
RETR 110
QUIT
</protocol>
</verify>

View File

@@ -0,0 +1,37 @@
# Server-side
<reply>
<size>
85
</size>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP download resume beyond file size
</name>
<command>
ftp://%HOSTIP:%FTPPORT/111 -C 2000
</command>
</test>
# Verify data after the test has been "shot"
<verify>
<errorcode>
36
</errorcode>
<strip>
</strip>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
EPSV
TYPE I
SIZE 111
QUIT
</protocol>
</verify>

View File

@@ -0,0 +1,41 @@
# Server-side
<reply>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP PASV upload resume
</name>
<command>
ftp://%HOSTIP:%FTPPORT/112 -T log/upload112 -C 40
</command>
<file name="log/upload112">
this is the *****crap******** that we're gonna upload
worx?
</file>
</test>
# Verify data after the test has been "shot"
<verify>
<strip>
</strip>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
EPSV
TYPE I
APPE 112
QUIT
</protocol>
<upload>
gonna upload
worx?
</upload>
</verify>

View File

@@ -0,0 +1,29 @@
# Server-side
<reply>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP download, failed login: USER not valid
</name>
<command>
ftp://%HOSTIP:%FTPPORT/113
</command>
<file name="log/ftpserver.cmd">
REPLY USER 314 bluah you fewl!
</file>
</test>
# Verify data after the test has been "shot"
<verify>
<errorcode>
12
</errorcode>
<protocol>
USER anonymous
</protocol>
</verify>

View File

@@ -0,0 +1,30 @@
# Server-side
<reply>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP download, failed login: PASS not valid
</name>
<command>
ftp://%HOSTIP:%FTPPORT/114
</command>
<file name="log/ftpserver.cmd">
REPLY PASS 314 bluah you f00l!
</file>
</test>
# Verify data after the test has been "shot"
<verify>
<errorcode>
11
</errorcode>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
</protocol>
</verify>

View File

@@ -0,0 +1,35 @@
# Server-side
<reply>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP download, failed PASV
</name>
<command>
ftp://%HOSTIP:%FTPPORT/115
</command>
<file name="log/ftpserver.cmd">
REPLY PASV 314 bluah you f00l!
REPLY EPSV 314 bluah you f00l!
</file>
</test>
# Verify data after the test has been "shot"
<verify>
<errorcode>
13
</errorcode>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
EPSV
PASV
QUIT
</protocol>
</verify>

View File

@@ -0,0 +1,37 @@
# Server-side
<reply>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP download, failed PORT
</name>
<command>
ftp://%HOSTIP:%FTPPORT/116 -P 127.0.0.1
</command>
<file name="log/ftpserver.cmd">
REPLY PORT 314 bluah you f00l!
</file>
</test>
# Verify data after the test has been "shot"
<verify>
<errorcode>
30
</errorcode>
<strip>
^PORT 127,0,0,1,.*
^EPRT .*
^LPRT .*
</strip>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
QUIT
</protocol>
</verify>

View File

@@ -0,0 +1,36 @@
# Server-side
<reply>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP download, failed TYPE
</name>
<command>
ftp://%HOSTIP:%FTPPORT/117
</command>
<file name="log/ftpserver.cmd">
REPLY EPSV 314 bluah you f00l!
REPLY TYPE 314 bluah you f00l!
</file>
</test>
# Verify data after the test has been "shot"
<verify>
<errorcode>
17
</errorcode>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
EPSV
PASV
TYPE I
QUIT
</protocol>
</verify>

View File

@@ -0,0 +1,38 @@
# Server-side
<reply>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP download, failed RETR
</name>
<command>
ftp://%HOSTIP:%FTPPORT/118
</command>
<file name="log/ftpserver.cmd">
REPLY RETR 314 bluah you f00l!
REPLY EPSV 314 bluah you f00l!
</file>
</test>
# Verify data after the test has been "shot"
<verify>
<errorcode>
19
</errorcode>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
EPSV
PASV
TYPE I
SIZE 118
RETR 118
QUIT
</protocol>
</verify>

View File

@@ -0,0 +1,40 @@
# Server-side
<reply>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP download, failed RETR with PORT
</name>
<command>
ftp://%HOSTIP:%FTPPORT/119 -P -
</command>
<file name="log/ftpserver.cmd">
REPLY RETR 314 bluah you f00l!
</file>
</test>
# Verify data after the test has been "shot"
<verify>
<errorcode>
19
</errorcode>
<strip>
^PORT.*
^EPRT .*
^LPRT .*
</strip>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
TYPE I
SIZE 119
RETR 119
QUIT
</protocol>
</verify>

View File

@@ -0,0 +1,47 @@
# Server-side
<reply>
<data>
HTTP/1.1 206 Partial Content
Date: Mon, 13 Nov 2000 13:41:09 GMT
Server: Apache/1.3.11 (Unix) PHP/3.0.14
Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
ETag: "21025-dc7-39462498"
Accept-Ranges: bytes
Content-Length: 101
Content-Range: bytes 100-200/3527
Connection: close
Content-Type: text/html
ink="#ffffff" vlink="#cccccc">
<table width=100% cellspacing=0 cellpadding=0 border=0>
<tr> 0123456
</data>
</reply>
# Client-side
<client>
<server>
http
</server>
<name>
HTTP range support
</name>
<command>
http://%HOSTIP:%HOSTPORT/want/12 -r 100-200
</command>
</test>
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
GET /want/12 HTTP/1.1
Range: bytes=100-200
Host: 127.0.0.1:8999
Pragma: no-cache
Accept: */*
</protocol>
</verify>

View File

@@ -0,0 +1,43 @@
# Server-side
<reply>
<data>
data
to
see
that FTP
works
so does it?
</data>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
ftp download with post-quote delete operation
</name>
<command>
ftp://%HOSTIP:%FTPPORT/120 -Q "-DELE file"
</command>
<file name="log/ftpserver.cmd">
REPLY EPSV 314 bluah you f00l!
</file>
</test>
# Verify data after the test has been "shot"
<verify>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
EPSV
PASV
TYPE I
SIZE 120
RETR 120
DELE file
QUIT
</protocol>
</verify>

View File

@@ -0,0 +1,40 @@
# Server-side
<reply>
<data>
data
to
see
that FTP
works
so does it?
</data>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
ftp download with post- and pre-transfer delete operations
</name>
<command>
ftp://%HOSTIP:%FTPPORT/121 -Q "-DELE after_transfer" -Q "DELE before_transfer"
</command>
</test>
# Verify data after the test has been "shot"
<verify>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
DELE before_transfer
EPSV
TYPE I
SIZE 121
RETR 121
DELE after_transfer
QUIT
</protocol>
</verify>

View File

@@ -0,0 +1,36 @@
# Server-side
<reply>
<size>
5
</size>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP download resume with whole file already downloaded
</name>
<command>
ftp://%HOSTIP:%FTPPORT/122 -C 5
</command>
<file name="log/ftpserver.cmd">
REPLY EPSV 500 no such command
</file>
</test>
# Verify data after the test has been "shot"
<verify>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
EPSV
PASV
TYPE I
SIZE 122
QUIT
</protocol>
</verify>

View File

@@ -0,0 +1,31 @@
# Server-side
<reply>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP upload resume with whole file already downloaded
</name>
<command>
ftp://%HOSTIP:%FTPPORT/123 -T log/upload123 -C 51
</command>
<file name="log/upload123">
--------------------------------------------------
</file>
</test>
# Verify data after the test has been "shot"
<verify>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
EPSV
TYPE I
QUIT
</protocol>
</verify>

View File

@@ -0,0 +1,38 @@
# Server-side
<reply>
<data>
we can still send data even if pwd fails!
</data>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP download, failed PWD
</name>
<command>
ftp://%HOSTIP:%FTPPORT/124
</command>
<file name="log/ftpserver.cmd">
REPLY PWD 314 bluah you f00l!
REPLY EPSV 314 bluah you f00l!
</file>
</test>
# Verify data after the test has been "shot"
<verify>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
EPSV
PASV
TYPE I
SIZE 124
RETR 124
QUIT
</protocol>
</verify>

View File

@@ -0,0 +1,33 @@
# Server-side
<reply>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP download, failed CWD
</name>
<command>
ftp://%HOSTIP:%FTPPORT/path/to/file/125
</command>
<file name="log/ftpserver.cmd">
REPLY CWD 314 bluah you f00l!
</file>
</test>
# Verify data after the test has been "shot"
<verify>
<errorcode>
9
</errorcode>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
CWD path
QUIT
</protocol>
</verify>

View File

@@ -0,0 +1,38 @@
# Server-side
<reply>
<data>
this is file contents
</data>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP download with multiple replies at once in RETR
</name>
<command>
ftp://%HOSTIP:%FTPPORT/blalbla/lululul/126
</command>
<file name="log/ftpserver.cmd">
RETRWEIRDO
</file>
</test>
# Verify data after the test has been "shot"
<verify>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
CWD blalbla
CWD lululul
EPSV
TYPE I
SIZE 126
RETR 126
QUIT
</protocol>
</verify>

View File

@@ -0,0 +1,36 @@
# Server-side
<reply>
<data>
moooooooo
</data>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP --disable-epsv
</name>
<command>
ftp://%HOSTIP:%FTPPORT/path/to/file/127 --disable-epsv
</command>
</test>
# Verify data after the test has been "shot"
<verify>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
CWD path
CWD to
CWD file
PASV
TYPE I
SIZE 127
RETR 127
QUIT
</protocol>
</verify>

View File

@@ -0,0 +1,47 @@
# Server-side
<reply>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP upload with --crlf
</name>
<command>
ftp://%HOSTIP:%FTPPORT/128 -T log/upload128 --crlf
</command>
<file name="log/upload128">
file
with unix newlines
meant to be
converted
with
the
--crlf option
</file>
</test>
# Verify data after the test has been "shot"
<verify>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
EPSV
TYPE I
STOR 128
QUIT
</protocol>
<upload>
file
with unix newlines
meant to be
converted
with
the
--crlf option
</upload>
</verify>

View File

@@ -0,0 +1,37 @@
# Server-side
<reply>
<data>
HTTP/1.1 200 Read you
Content-Length: 29
Deleted: suppose we got a header like this! ;-)
blabla custom request result
</data>
</reply>
# Client-side
<client>
<server>
http
</server>
<name>
HTTP custom request 'DELETE'
</name>
<command>
http://%HOSTIP:%HOSTPORT/want/13 -X DELETE
</command>
</test>
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
DELETE /want/13 HTTP/1.1
Host: 127.0.0.1:8999
Pragma: no-cache
Accept: */*
</protocol>
</verify>

View File

@@ -0,0 +1,56 @@
#
# Server-side
<reply name="1">
<data>
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
</data>
</reply>
#
# Client-side
<client>
<features>
netrc_debug
</features>
<server>
ftp
</server>
<name>
FTP (optional .netrc; no user/pass) dir list PASV
</name>
<command>
--netrc-optional ftp://%HOSTIP:%FTPPORT/
</command>
<file name="log/netrc" >
# the following two lines were created while testing curl
machine %HOSTIP login user1 password passwd1
machine %HOSTIP login user2 password passwd2
</file>
</test>
#
# Verify data after the test has been "shot"
<verify>
<strip>
filter off really nothing
</strip>
<protocol>
USER user1
PASS passwd1
PWD
EPSV
TYPE A
LIST
QUIT
</protocol>
</verify>

View File

@@ -0,0 +1,56 @@
#
# Server-side
<reply name="1">
<data>
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
</data>
</reply>
#
# Client-side
<client>
<features>
netrc_debug
</features>
<server>
ftp
</server>
<name>
FTP (optional .netrc; user/no pass) dir list PASV
</name>
<command>
--netrc-optional ftp://user2@%HOSTIP:%FTPPORT/
</command>
<file name="log/netrc" >
# the following two lines were created while testing curl
machine %HOSTIP login user1 password passwd1
machine %HOSTIP login user2 password passwd2
</file>
</test>
#
# Verify data after the test has been "shot"
<verify>
<strip>
filter off really nothing
</strip>
<protocol>
USER user2
PASS passwd2
PWD
EPSV
TYPE A
LIST
QUIT
</protocol>
</verify>

View File

@@ -0,0 +1,56 @@
#
# Server-side
<reply name="1">
<data>
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
</data>
</reply>
#
# Client-side
<client>
<features>
netrc_debug
</features>
<server>
ftp
</server>
<name>
FTP (optional .netrc; user/passwd supplied) dir list PASV
</name>
<command>
--netrc-optional ftp://mary:mark@%HOSTIP:%FTPPORT/
</command>
<file name="log/netrc" >
# the following two lines were created while testing curl
machine %HOSTIP login user1 password passwd1
machine %HOSTIP login user2 password passwd2
</file>
</test>
#
# Verify data after the test has been "shot"
<verify>
<strip>
filter off really nothing
</strip>
<protocol>
USER mary
PASS mark
PWD
EPSV
TYPE A
LIST
QUIT
</protocol>
</verify>

View File

@@ -0,0 +1,56 @@
#
# Server-side
<reply name="1">
<data>
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
</data>
</reply>
#
# Client-side
<client>
<features>
netrc_debug
</features>
<server>
ftp
</server>
<name>
FTP (compulsory .netrc; ignored user/passwd) dir list PASV
</name>
<command>
-n ftp://mary:mark@%HOSTIP:%FTPPORT/
</command>
<file name="log/netrc" >
# the following two lines were created while testing curl
machine %HOSTIP login user1 password passwd1
machine %HOSTIP login user2 password passwd2
</file>
</test>
#
# Verify data after the test has been "shot"
<verify>
<strip>
filter off really nothing
</strip>
<protocol>
USER user1
PASS passwd1
PWD
EPSV
TYPE A
LIST
QUIT
</protocol>
</verify>

View File

@@ -0,0 +1,56 @@
#
# Server-side
<reply name="1">
<data>
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
</data>
</reply>
#
# Client-side
<client>
<features>
netrc_debug
</features>
<server>
ftp
</server>
<name>
FTP (optional .netrc; programmatic user/passwd) dir list PASV
</name>
<command>
--netrc-optional -u romulus:rhemus ftp://mary:mark@%HOSTIP:%FTPPORT/
</command>
<file name="log/netrc" >
# the following two lines were created while testing curl
machine %HOSTIP login user1 password passwd1
machine %HOSTIP login user2 password passwd2
</file>
</test>
#
# Verify data after the test has been "shot"
<verify>
<strip>
filter off really nothing
</strip>
<protocol>
USER romulus
PASS rhemus
PWD
EPSV
TYPE A
LIST
QUIT
</protocol>
</verify>

View File

@@ -0,0 +1,43 @@
# Server-side
<reply>
<data>
0123456789abcdef
0123456789abcdef
0123456789abcdef
0123456789abcdef
</data>
<datacheck nonewline=yes>
0123456789abc
</datacheck>
<size>
64
</size>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP retrieve a byte-range
</name>
<command>
-r 4-16 ftp://%HOSTIP:%FTPPORT/135
</command>
</test>
# Verify data after the test has been "shot"
<verify>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
EPSV
TYPE I
SIZE 135
REST 4
RETR 135
QUIT
</protocol>
</verify>

View File

@@ -0,0 +1,33 @@
# Server-side
<reply>
<data>
0123456789abcdef
</data>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP with user and no password
</name>
<command>
-u user: ftp://%HOSTIP:%FTPPORT/136
</command>
</test>
# Verify data after the test has been "shot"
<verify>
<protocol>
USER user
PASS
PWD
EPSV
TYPE I
SIZE 136
RETR 136
QUIT
</protocol>
</verify>

View File

@@ -0,0 +1,38 @@
# Server-side
<reply>
<data>
this is file contents
</data>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP download without size in RETR string
</name>
<command>
ftp://%HOSTIP:%FTPPORT/blalbla/lululul/137
</command>
<file name="log/ftpserver.cmd">
RETRNOSIZE
</file>
</test>
# Verify data after the test has been "shot"
<verify>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
CWD blalbla
CWD lululul
EPSV
TYPE I
SIZE 137
RETR 137
QUIT
</protocol>
</verify>

View File

@@ -0,0 +1,41 @@
# Server-side
<reply>
<data>
this is file contents
</data>
<size>
-1
</size>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP download without size in RETR string and no SIZE command
</name>
<command>
ftp://%HOSTIP:%FTPPORT/blalbla/lululul/138
</command>
<file name="log/ftpserver.cmd">
RETRNOSIZE
</file>
</test>
# Verify data after the test has been "shot"
<verify>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
CWD blalbla
CWD lululul
EPSV
TYPE I
SIZE 138
RETR 138
QUIT
</protocol>
</verify>

View File

@@ -0,0 +1,38 @@
# Server-side
<reply>
<data>
this is file contents
</data>
<mdtm>
213 20030409102659
</mdtm>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP download a newer file with -z
</name>
<command>
ftp://%HOSTIP:%FTPPORT/blalbla/139 -z "1 jan 1989"
</command>
</test>
# Verify data after the test has been "shot"
<verify>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
CWD blalbla
MDTM 139
EPSV
TYPE I
SIZE 139
RETR 139
QUIT
</protocol>
</verify>

View File

@@ -0,0 +1,37 @@
# Server-side
<reply>
<data>
HTTP/1.1 200 OK
Server: thebest/1.0
Connection: close
</data>
</reply>
# Client-side
<client>
<server>
http
</server>
<name>
HTTP HEAD with Connection: close
</name>
<command>
http://%HOSTIP:%HOSTPORT/want/14 -i --head
</command>
</test>
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
HEAD /want/14 HTTP/1.1
User-Agent: curl/7.4.2-pre4 (sparc-sun-solaris2.7) libcurl 7.4.2-pre4
Host: 127.0.0.1:8999
Pragma: no-cache
Accept: */*
</protocol>
</verify>

View File

@@ -0,0 +1,33 @@
# Server-side
<reply>
<data>
</data>
<mdtm>
213 20030409102659
</mdtm>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP download file with -z, expected to not transfer
</name>
<command>
ftp://%HOSTIP:%FTPPORT/blalbla/140 -z "1 jan 2004"
</command>
</test>
# Verify data after the test has been "shot"
<verify>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
CWD blalbla
MDTM 140
QUIT
</protocol>
</verify>

View File

@@ -0,0 +1,39 @@
# Server-side
<reply>
<data>
</data>
<mdtm>
213 20030409102659
</mdtm>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP download info with -I
</name>
<command>
ftp://%HOSTIP:%FTPPORT/blalbla/141 -I
</command>
</test>
# Verify data after the test has been "shot"
<verify>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
CWD blalbla
MDTM 141
TYPE I
SIZE 141
REST 0
QUIT
</protocol>
<stdout>
Last-Modified: Wed, 09 Apr 2003 10:26:59 GMT
</stdout>
</verify>

View File

@@ -0,0 +1,30 @@
# Server-side
<reply>
<data>
</data>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP URL with too deep (100+) dir hierarchy
</name>
<command>
ftp://%HOSTIP:%FTPPORT/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/b
</command>
</test>
# Verify data after the test has been "shot"
<verify>
<errorcode>
3
</errorcode>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
</protocol>
</verify>

View File

@@ -0,0 +1,35 @@
# Server-side
<reply>
<data>
bla bla bla
</data>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP URL with type=a
</name>
<command>
"ftp://%HOSTIP:%FTPPORT/%2ftmp/moo/143;type=a"
</command>
</test>
# Verify data after the test has been "shot"
<verify>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
CWD /tmp
CWD moo
EPSV
TYPE A
SIZE 143
RETR 143
QUIT
</protocol>
</verify>

View File

@@ -0,0 +1,40 @@
# Server-side
<reply>
<data>
</data>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP NLST dir list without contents, using PORT
</name>
<command>
ftp://%HOSTIP:%FTPPORT/ -P - -l
</command>
<file name="log/ftpserver.cmd">
REPLY NLST 450 No files found
</file>
</test>
# Verify data after the test has been "shot"
<verify>
# strip all kinds of PORT, EPRT and LPRT curl can do
<strip>
^PORT 127,0,0,1,.*
^EPRT.*
^LPRT.*
</strip>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
PORT 127,0,0,1,243,212
TYPE A
NLST
QUIT
</protocol>
</verify>

View File

@@ -0,0 +1,43 @@
# Server-side
<reply>
<data>
</data>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP NLST dir list with weird reply code, using PORT
</name>
<command>
ftp://%HOSTIP:%FTPPORT/ -P - -l
</command>
<file name="log/ftpserver.cmd">
REPLY NLST 550 Have a taste on this!
</file>
</test>
# Verify data after the test has been "shot"
<verify>
<errorcode>
19
</errorcode>
# strip all kinds of PORT, EPRT and LPRT curl can do
<strip>
^PORT 127,0,0,1,.*
^EPRT.*
^LPRT.*
</strip>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
PORT 127,0,0,1,243,212
TYPE A
NLST
QUIT
</protocol>
</verify>

View File

@@ -0,0 +1,47 @@
# Server-side
<reply>
<data>
this is file contents
</data>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
persistant FTP with different paths
</name>
<command>
ftp://%HOSTIP:%FTPPORT/first/dir/here/146 ftp://%HOSTIP:%FTPPORT/146
</command>
</test>
# Verify data after the test has been "shot"
<verify>
# strip all kinds of PORT, EPRT and LPRT curl can do
<strip>
^PORT 127,0,0,1,.*
^EPRT.*
^LPRT.*
</strip>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
CWD first
CWD dir
CWD here
EPSV
TYPE I
SIZE 146
RETR 146
CWD /nowhere/anywhere
EPSV
TYPE I
SIZE 146
RETR 146
QUIT
</protocol>
</verify>

View File

@@ -0,0 +1,49 @@
# Server-side
<reply>
<data>
foo
</data>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP with --ftp-create-dirs (failing CWD)
</name>
<command>
ftp://%HOSTIP:%FTPPORT/first/dir/here/147 --ftp-create-dirs
</command>
</test>
<file name="log/ftpserver.cmd">
REPLY CWD 550 I won't allow this on my server
COUNT CWD 1
</file>
</client>
# Verify data after the test has been "shot"
<verify>
# strip all kinds of PORT, EPRT and LPRT curl can do
<strip>
^PORT 127,0,0,1,.*
^EPRT.*
^LPRT.*
</strip>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
CWD first
MKD first
CWD first
CWD dir
CWD here
EPSV
TYPE I
SIZE 147
RETR 147
QUIT
</protocol>
</verify>

View File

@@ -0,0 +1,42 @@
# Server-side
<reply>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP with --ftp-create-dirs (failing MKD)
</name>
<command>
ftp://%HOSTIP:%FTPPORT/attempt/to/get/this/148 --ftp-create-dirs
</command>
</test>
<file name="log/ftpserver.cmd">
REPLY CWD 550 I won't allow this on my server
REPLY MKD 550 We will have no such thing
</file>
</client>
# Verify data after the test has been "shot"
<verify>
# strip all kinds of PORT, EPRT and LPRT curl can do
<strip>
^PORT 127,0,0,1,.*
^EPRT.*
^LPRT.*
</strip>
<errorcode>
9
</errorcode>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
CWD attempt
MKD attempt
QUIT
</protocol>
</verify>

View File

@@ -0,0 +1,47 @@
# Server-side
<reply>
</reply>
# Client-side
<client>
<server>
ftp
</server>
<name>
FTP with multiple uploads
</name>
<command>
-T log/upload148 ftp://%HOSTIP:%FTPPORT/dir1/148 -T log/upload148 ftp://%HOSTIP:%FTPPORT/dir2/148
</command>
<file name="log/upload148">
send away this contents
</file>
</client>
# Verify data after the test has been "shot"
<verify>
# strip all kinds of PORT, EPRT and LPRT curl can do
<strip>
^PORT 127,0,0,1,.*
^EPRT.*
^LPRT.*
</strip>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
CWD dir1
EPSV
TYPE I
STOR 148
CWD /nowhere/anywhere
CWD dir2
EPSV
TYPE I
STOR 148
QUIT
</protocol>
<file name="log/upload148">
send away this contents
</file>
</verify>

View File

@@ -0,0 +1,49 @@
# Server-side
<reply>
<data nocheck=true>
HTTP/1.4 200 OK
Fake: yes
Fake: yes
Fake: yes
Content-Length: 26
Repeated nonsense-headers
</data>
</reply>
# Client-side
<client>
<server>
http
</server>
<name>
--write-out test
</name>
<command>
http://%HOSTIP:%HOSTPORT/want/15 --write-out '%{url_effective} %{http_code} %{size_download}\n'
</command>
</test>
# Verify data after the test has been "shot"
<verify>
<stdout>
HTTP/1.4 200 OK
Fake: yes
Fake: yes
Fake: yes
Content-Length: 26
Repeated nonsense-headers
http://127.0.0.1:8999/want/15 200 26
</stdout>
<strip>
^User-Agent:.*
</strip>
<protocol>
GET /want/15 HTTP/1.1
Host: 127.0.0.1:8999
Pragma: no-cache
Accept: */*
</protocol>
</verify>

View File

@@ -0,0 +1,41 @@
# Server-side
<reply>
<data>
HTTP/1.1 200 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
Content-Type: text/html
Funny-head: yesyes
Content-Length: 22
the content goes here
</data>
</reply>
# Client-side
<client>
<server>
http
</server>
<name>
HTTP with proxy athorization
</name>
<command>
-U fake@user:§§§looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong -x %HOSTIP:%HOSTPORT http://we.want.that.site.com/16
</command>
</test>
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
GET http://we.want.that.site.com/16 HTTP/1.1
Proxy-authorization: Basic ZmFrZUB1c2VyOqenp2xvb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29uZw==
Host: we.want.that.site.com
Pragma: no-cache
Accept: */*
</protocol>
</verify>

View File

@@ -0,0 +1,46 @@
# Server-side
<reply>
<data>
HTTP/1.1 200 OK
Funny-head: yesyes
Content-Length: 27
This is the proof it works
</data>
</reply>
# Client-side
<client>
<server>
http
</server>
<name>
HTTP with config file on stdin
</name>
<stdin>
#
# Use a silly request without '--':
request MOOO
#
# Set the user-agent using a short-option:
-A "agent007 license to drill\t"
#
# long option *with* '--':
--max-time 180
</stdin>
<command>
-K - %HOSTIP:%HOSTPORT/that.site.com/17
</command>
</test>
# Verify data after the test has been "shot"
<verify>
<protocol>
MOOO /that.site.com/17 HTTP/1.1
User-Agent: agent007 license to drill
Host: 127.0.0.1:8999
Pragma: no-cache
Accept: */*
</protocol>
</verify>

View File

@@ -0,0 +1,84 @@
# Server-side
<reply>
<data nocheck=1>
HTTP/1.1 200 OK
Funny-head: yesyes
Content-Length: 4
moo
</data>
<data2>
HTTP/1.1 200 OK
Funny-head: yesyes
Content-Length: 4
foo
</data2>
<data3>
HTTP/1.1 200 OK
Funny-head: yesyes
Content-Length: 4
hoo
</data3>
</reply>
# Client-side
<client>
<server>
http
</server>
<name>
multiple requests using {} in URL
</name>
<command>
'%HOSTIP:%HOSTPORT/{18,180002,180003}'
</command>
</test>
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
GET /18 HTTP/1.1
User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
Host: 127.0.0.1:8999
Pragma: no-cache
Accept: */*
GET /180002 HTTP/1.1
User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
Host: 127.0.0.1:8999
Pragma: no-cache
Accept: */*
GET /180003 HTTP/1.1
User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
Host: 127.0.0.1:8999
Pragma: no-cache
Accept: */*
</protocol>
<stdout>
--_curl_--127.0.0.1:8999/18
HTTP/1.1 200 OK
Funny-head: yesyes
Content-Length: 4
moo
--_curl_--127.0.0.1:8999/180002
HTTP/1.1 200 OK
Funny-head: yesyes
Content-Length: 4
foo
--_curl_--127.0.0.1:8999/180003
HTTP/1.1 200 OK
Funny-head: yesyes
Content-Length: 4
hoo
</stdout>
</verify>

View File

@@ -0,0 +1,25 @@
# Server-side
<reply>
<data>
</data>
</reply>
# Client-side
<client>
<server>
none
</server>
<name>
attempt connect to non-listening socket
</name>
<command>
%HOSTIP:60000
</command>
</test>
# Verify data after the test has been "shot"
<verify>
<errorcode>
7
</errorcode>
</verify>

View File

@@ -0,0 +1,36 @@
# Server-side
<reply>
moooooooo
</reply>
# Client-side
<client>
<server>
ftp
</server>
<killserver>
ftp
</killserver>
<name>
FTP download with strict timeout and slow CWD
</name>
<command>
ftp://%HOSTIP:%FTPPORT/path/to/file/126 -m 3
</command>
<file name="log/ftpserver.cmd">
DELAY CWD 15
</file>
</test>
# Verify data after the test has been "shot"
<verify>
<errorcode>
28
</errorcode>
<protocol>
USER anonymous
PASS curl_by_daniel@haxx.se
PWD
CWD path
</protocol>
</verify>

45
neo/curl/tests/data/test2 Normal file
View File

@@ -0,0 +1,45 @@
#
# Server-side
<reply>
<data>
HTTP/1.1 200 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake swsclose
Content-Type: text/html
Funny-head: yesyes
</data>
</reply>
#
# Client-side
<client>
<server>
http
</server>
<name>
HTTP GET with user and password
</name>
<command>
-u fake:user http://%HOSTIP:%HOSTPORT/2
</command>
</test>
#
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
GET /2 HTTP/1.1
Authorization: Basic ZmFrZTp1c2Vy
Host: 127.0.0.1:8999
Pragma: no-cache
Accept: */*
</protocol>
<data>
[insert full protocol verifiction dump here]
</data>
</verify>

View File

@@ -0,0 +1,25 @@
# Server-side
<reply>
<data>
</data>
</reply>
# Client-side
<client>
<server>
http
</server>
<name>
attempt connect to non-existing host name
</name>
<command>
non-existing-and-weeeeeeirdname
</command>
</test>
# Verify data after the test has been "shot"
<verify>
<errorcode>
6
</errorcode>
</verify>

View File

@@ -0,0 +1,34 @@
# Server-side
<reply>
<data>
foo
bar
bar
foo
moo
</data>
</reply>
# Client-side
<client>
<server>
none
</server>
<name>
basic file:// file
</name>
<command>
file://localhost/%PWD/log/test200.txt
</command>
<file name="log/test200.txt">
foo
bar
bar
foo
moo
</file>
</test>
# Verify data after the test has been "shot"
<verify>
</verify>

View File

@@ -0,0 +1,25 @@
# Server-side
<reply>
<data>
</data>
</reply>
# Client-side
<client>
<server>
none
</server>
<name>
missing file:// file
</name>
<command>
file://localhost/%PWD/log/non-existant-file.txt
</command>
</test>
# Verify data after the test has been "shot"
<verify>
<errorcode>
37
</errorcode>
</verify>

View File

@@ -0,0 +1,29 @@
# Server-side
<reply>
<data>
</data>
</reply>
# Client-side
<client>
<server>
none
</server>
<name>
two file:// URLs to stdout
</name>
<command>
file://localhost/%PWD/log/test202.txt file://localhost/%PWD/log/test202.txt
</command>
<file name="log/test202.txt">
contents in a single file
</file>
</test>
# Verify data after the test has been "shot"
<verify>
<stdout>
contents in a single file
contents in a single file
</stdout>
</verify>

View File

@@ -0,0 +1,34 @@
# Server-side
<reply>
<data>
foo
bar
bar
foo
moo
</data>
</reply>
# Client-side
<client>
<server>
none
</server>
<name>
file:/path URL with a single slash
</name>
<command>
file:%PWD/log/test203.txt
</command>
<file name="log/test203.txt">
foo
bar
bar
foo
moo
</file>
</test>
# Verify data after the test has been "shot"
<verify>
</verify>

View File

@@ -0,0 +1,25 @@
# Server-side
<reply>
<data>
</data>
</reply>
# Client-side
<client>
<server>
http
</server>
<name>
use curl with multiple request methods
</name>
<command>
-I -d FOOO -F moo=moo localhost
</command>
</test>
# Verify data after the test has been "shot"
<verify>
<errorcode>
2
</errorcode>
</verify>

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,25 @@
# Server-side
<reply>
<data>
</data>
</reply>
# Client-side
<client>
<server>
http
</server>
<name>
unsupported protocol:// URL
</name>
<command>
htfp://%HOSTIP:%HOSTPORT/none.htfml
</command>
</test>
# Verify data after the test has been "shot"
<verify>
<errorcode>
1
</errorcode>
</verify>

View File

@@ -0,0 +1,40 @@
# Server-side
<reply>
<data nocheck=1>
HTTP/1.0 404 BAD BOY
Content-Type: text/html
This silly page doesn't reaaaaaly exist so you should not get it.
</data>
</reply>
# Client-side
<client>
<server>
http
</server>
<name>
HTTP GET fail silently on HTTP error return
</name>
<command>
http://%HOSTIP:%HOSTPORT/24 --fail
</command>
</test>
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent: curl/.*
</strip>
<protocol>
GET /24 HTTP/1.1
User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
Host: 127.0.0.1:8999
Pragma: no-cache
Accept: */*
</protocol>
<errorcode>
22
</errorcode>
</verify>

112
neo/curl/tests/data/test25 Normal file
View File

@@ -0,0 +1,112 @@
# Server-side
<reply>
<data>
HTTP/1.1 301 This is a weirdo text message
Server: test-server/fake
Location: data/reply/25
Content-Length: 32
Connection: close
Redirect to the same URL again!
</data>
<datacheck>
HTTP/1.1 301 This is a weirdo text message
Server: test-server/fake
Location: data/reply/25
Content-Length: 32
Connection: close
HTTP/1.1 301 This is a weirdo text message
Server: test-server/fake
Location: data/reply/25
Content-Length: 32
Connection: close
HTTP/1.1 301 This is a weirdo text message
Server: test-server/fake
Location: data/reply/25
Content-Length: 32
Connection: close
HTTP/1.1 301 This is a weirdo text message
Server: test-server/fake
Location: data/reply/25
Content-Length: 32
Connection: close
HTTP/1.1 301 This is a weirdo text message
Server: test-server/fake
Location: data/reply/25
Content-Length: 32
Connection: close
HTTP/1.1 301 This is a weirdo text message
Server: test-server/fake
Location: data/reply/25
Content-Length: 32
Connection: close
</datacheck>
</reply>
# Client-side
<client>
<server>
http
</server>
<name>
looping HTTP Location: following with --max-redirs, no persistance
</name>
<command>
http://%HOSTIP:%HOSTPORT/want/25 -L --max-redirs 5
</command>
</test>
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent: curl/.*
</strip>
<protocol>
GET /want/25 HTTP/1.1
User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
Host: 127.0.0.1:8999
Pragma: no-cache
Accept: */*
GET /want/data/reply/25 HTTP/1.1
User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
Host: 127.0.0.1:8999
Pragma: no-cache
Accept: */*
GET /want/data/reply/data/reply/25 HTTP/1.1
User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
Host: 127.0.0.1:8999
Pragma: no-cache
Accept: */*
GET /want/data/reply/data/reply/data/reply/25 HTTP/1.1
User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
Host: 127.0.0.1:8999
Pragma: no-cache
Accept: */*
GET /want/data/reply/data/reply/data/reply/data/reply/25 HTTP/1.1
User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
Host: 127.0.0.1:8999
Pragma: no-cache
Accept: */*
GET /want/data/reply/data/reply/data/reply/data/reply/data/reply/25 HTTP/1.1
User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
Host: 127.0.0.1:8999
Pragma: no-cache
Accept: */*
</protocol>
<errorcode>
47
</errorcode>
</verify>

View File

@@ -0,0 +1,38 @@
# Server-side
<reply>
<data>
HTTP/1.1 200 Mooo swsclose
Server: test-server/fake
Connection: close
*flopp*
</data>
</reply>
# Client-side
<client>
<server>
http
</server>
<name>
specify more -o than URLs
</name>
<command>
http://%HOSTIP:%HOSTPORT/want/26 -o - -o -
</command>
</test>
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent: curl.*
</strip>
<protocol>
GET /want/26 HTTP/1.1
User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)
Host: 127.0.0.1:8999
Pragma: no-cache
Accept: */*
</protocol>
</verify>

View File

@@ -0,0 +1,49 @@
# Server-side
<reply>
<data>
HTTP/1.1 200 Mooo swsclose
Connection: close
Set-Cookie: path=/; thewinneris=nowayyouwin;
*flopp*
</data>
</reply>
# Client-side
<client>
<server>
http
</server>
<name>
Get same cookie page several times
</name>
<command>
'http://%HOSTIP:%HOSTPORT/want/{27,27,27}' -b none
</command>
</test>
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent: curl.*
</strip>
<protocol>
GET /want/27 HTTP/1.1
Host: 127.0.0.1:8999
Pragma: no-cache
Accept: */*
GET /want/27 HTTP/1.1
Host: 127.0.0.1:8999
Pragma: no-cache
Accept: */*
Cookie: thewinneris=nowayyouwin
GET /want/27 HTTP/1.1
Host: 127.0.0.1:8999
Pragma: no-cache
Accept: */*
Cookie: thewinneris=nowayyouwin
</protocol>
</verify>

View File

@@ -0,0 +1,67 @@
# Server-side
<reply>
<data>
HTTP/1.1 301 This is a weirdo text message swsclose
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
Location: /online/1,1795,Welcome,00.html/280002.txt?logout=TRUE
Connection: close
This server reply is for testing a simple Location: following
</data>
<data2>
HTTP/1.1 200 Followed here fine swsclose
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
If this is received, the location following worked
</data2>
<datacheck>
HTTP/1.1 301 This is a weirdo text message swsclose
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
Location: /online/1,1795,Welcome,00.html/280002.txt?logout=TRUE
Connection: close
HTTP/1.1 200 Followed here fine swsclose
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
If this is received, the location following worked
</datacheck>
</reply>
# Client-side
<client>
<server>
http
</server>
<name>
HTTP Location: following with extra spaces in header
</name>
<command>
http://%HOSTIP:%HOSTPORT/want/28 -L
</command>
</test>
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
GET /want/28 HTTP/1.1
Host: 127.0.0.1:8999
Pragma: no-cache
Accept: */*
GET /online/1,1795,Welcome,00.html/280002.txt?logout=TRUE HTTP/1.1
Host: 127.0.0.1:8999
Pragma: no-cache
Accept: */*
</protocol>
</verify>

View File

@@ -0,0 +1,43 @@
# Server-side
<reply>
<data>
HTTP/1.1 200 OK swsclose
Date: Thu, 09 Nov 2010 14:49:00 GMT
Connection: close
<html>result</html>
</data>
<postcmd>
wait 10
</postcmd>
</reply>
# Client-side
<client>
<server>
http
</server>
<name>
HTTP with 2 secs timeout
</name>
<command>
http://%HOSTIP:%HOSTPORT/want/29 -m 2
</command>
</test>
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
GET /want/29 HTTP/1.1
Host: 127.0.0.1:8999
Pragma: no-cache
Accept: */*
</protocol>
<errorcode>
28
</errorcode>
</verify>

52
neo/curl/tests/data/test3 Normal file
View File

@@ -0,0 +1,52 @@
#
# Server-side
<reply name="1">
<data>
HTTP/1.0 200 OK
Server: test-server/fake
Content-Type: text/html
Content-Length: 0
this is data even though Content-Length is set to zero
</data>
<datacheck>
HTTP/1.0 200 OK
Server: test-server/fake
Content-Type: text/html
Content-Length: 0
</datacheck>
</reply>
#
# Client-side
<client>
<server>
http
</server>
<name>
HTTP POST with auth and contents but with content-length set to 0
</name>
<command>
-d "fooo=mooo&pooo=clue&doo=%20%20%20++++" -u "fake:-user" http://%HOSTIP:%HOSTPORT/3
</command>
</test>
#
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol nonewline=yes>
POST /3 HTTP/1.1
Authorization: Basic ZmFrZTotdXNlcg==
Host: 127.0.0.1:8999
Pragma: no-cache
Accept: */*
Content-Length: 37
Content-Type: application/x-www-form-urlencoded
fooo=mooo&pooo=clue&doo=%20%20%20++++
</protocol>
</verify>

View File

@@ -0,0 +1,35 @@
# Server-side
<reply>
<data>
</data>
</reply>
# Client-side
<client>
<server>
http
</server>
<name>
HTTP with no data in server reply
</name>
<command>
http://%HOSTIP:%HOSTPORT/want/30
</command>
</test>
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
GET /want/30 HTTP/1.1
Host: 127.0.0.1:8999
Pragma: no-cache
Accept: */*
</protocol>
<errorcode>
52
</errorcode>
</verify>

View File

@@ -0,0 +1,41 @@
#
# Server-side
<reply>
<data>
HTTP/1.1 200 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
Content-Length: 7
MooMoo
</data>
</reply>
#
# Client-side
<client>
<server>
https
</server>
<name>
simple HTTPS GET
</name>
<command>
-k https://%HOSTIP:%HTTPSPORT/300
</command>
</test>
#
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
GET /300 HTTP/1.1
Host: 127.0.0.1:8433
Pragma: no-cache
Accept: */*
</protocol>
</verify>

View File

@@ -0,0 +1,45 @@
#
# Server-side
<reply>
<data>
HTTP/1.1 200 OK swsclose
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
Content-Type: text/html
Funny-head: yesyes
</data>
</reply>
#
# Client-side
<client>
<server>
https
</server>
<name>
HTTPS GET with user and password
</name>
<command>
-k -u fake:user https://%HOSTIP:%HTTPSPORT/301
</command>
</test>
#
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
GET /301 HTTP/1.1
Authorization: Basic ZmFrZTp1c2Vy
Host: 127.0.0.1:8433
Pragma: no-cache
Accept: */*
</protocol>
<data>
[insert full protocol verifiction dump here]
</data>
</verify>

View File

@@ -0,0 +1,35 @@
#
# Server-side
<reply>
MOOOOO
</reply>
#
# Client-side
<client>
<server>
https
</server>
<name>
HTTPS GET over HTTP proxy fails
</name>
<command>
-k -U fake:user -x %HOSTIP:%HOSTPORT https://bad.fakeurl-to.test/slash/302
</command>
</test>
#
# Verify data after the test has been "shot"
<verify>
<errorcode>
56
</errorcode>
<strip>
^User-Agent:.*
</strip>
<protocol>
</protocol>
<data>
[insert full protocol verifiction dump here]
</data>
</verify>

View File

@@ -0,0 +1,43 @@
# Server-side
<reply>
<data>
HTTP/1.1 200 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Connection: close
<html>result</html>
</data>
<postcmd>
wait 10
</postcmd>
</reply>
# Client-side
<client>
<server>
https
</server>
<name>
HTTPS with 2 secs timeout
</name>
<command>
http://%HOSTIP:%HOSTPORT/want/303 -m 2
</command>
</test>
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
GET /want/303 HTTP/1.1
Host: 127.0.0.1:8999
Pragma: no-cache
Accept: */*
</protocol>
<errorcode>
28
</errorcode>
</verify>

View File

@@ -0,0 +1,61 @@
# Server-side
<reply>
<data>
HTTP/1.1 200 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
Content-Length: 10
blablabla
</data>
</reply>
# Client-side
<client>
<server>
https
</server>
<name>
HTTPS multipart formpost
</name>
<command>
-k https://%HOSTIP:%HTTPSPORT/we/want/304 -F name=daniel -F tool=curl -F file=@log/test304.txt
</command>
# We create this file before the command is invoked!
<file name="log/test304.txt">
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
</file>
</test>
# Verify data after the test has been "shot"
<verify>
<strip>
^(User-Agent:|Content-Type: multipart/form-data;|------).*
</strip>
<protocol>
POST /we/want/304 HTTP/1.1
User-Agent: curl/7.10.4 (i686-pc-linux-gnu) libcurl/7.10.4 OpenSSL/0.9.7a ipv6 zlib/1.1.3
Host: 127.0.0.1:8433
Pragma: no-cache
Accept: */*
Content-Length: 1390
Expect: 100-continue
Content-Type: multipart/form-data; boundary=----------------------------c3b2ef7f0bb8
------------------------------c3b2ef7f0bb8
Content-Disposition: form-data; name="name"
daniel
------------------------------c3b2ef7f0bb8
Content-Disposition: form-data; name="tool"
curl
------------------------------c3b2ef7f0bb8
Content-Disposition: form-data; name="file"; filename="log/test304.txt"
Content-Type: text/plain
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
------------------------------c3b2ef7f0bb8--
</protocol>
</verify>

View File

@@ -0,0 +1,30 @@
# Server-side
<reply>
<data>
</data>
</reply>
# Client-side
<client>
<server>
https
</server>
<name>
insecure HTTPS without permission
</name>
<command>
https://%HOSTIP:%HOSTPORT/want/305 --cacert moooo
</command>
</test>
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
</protocol>
<errorcode>
60
</errorcode>
</verify>

View File

@@ -0,0 +1,54 @@
#
# Server-side
<reply>
<data>
No headers at all, just data swsclose
Let's get
a little
so that
we
have
some
test
data to
verify
</data>
</reply>
#
# Client-side
<client>
<server>
https
</server>
<name>
HTTPS GET, receive no headers only data!
</name>
<command>
-k https://%HOSTIP:%HTTPSPORT/306
</command>
</test>
#
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
GET /306 HTTP/1.1
Host: 127.0.0.1:8433
Pragma: no-cache
Accept: */*
</protocol>
</verify>

View File

@@ -0,0 +1,59 @@
# Server-side
<reply>
<data>
HTTP/1.1 200 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
Content-Length: 4
Content-Type: text/html
Funny-head: yesyes
Set-Cookie: foobar=name; domain=anything.com; path=/ ; secure
Set-Cookie:ismatch=this ; domain=127.0.0.1; path=/silly/
Set-Cookie: partmatch=present; domain=127.0.0.1 ; path=/;
Set-Cookie:eat=this; domain=moo.foo.moo;
Set-Cookie: eat=this-too; domain=.foo.moo;
Set-Cookie: nodomainnovalue
Set-Cookie: nodomain=value; expires=Tue Feb 1 11:56:27 MET 2014
Set-Cookie: novalue; domain=reallysilly
Set-Cookie: test=yes; domain=foo.com; expires=Tue Feb 1 11:56:27 MET 2007
Set-Cookie: test2=yes; domain=se; expires=Tue Feb 1 11:56:27 MET 2007
boo
</data>
</reply>
# Client-side
<client>
<server>
http
</server>
<name>
HTTP with weirdly formatted cookies and cookiejar storage
</name>
<command>
http://%HOSTIP:%HOSTPORT/we/want/31 -b none -c log/jar31.txt
</command>
</test>
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
GET /we/want/31 HTTP/1.1
Host: 127.0.0.1:8999
Pragma: no-cache
Accept: */*
</protocol>
<file name="log/jar31.txt">
# Netscape HTTP Cookie File
# http://www.netscape.com/newsref/std/cookie_spec.html
# This file was generated by libcurl! Edit at your own risk.
.127.0.0.1 TRUE /silly/ FALSE 0 ismatch this
.127.0.0.1 TRUE / FALSE 0 partmatch present
127.0.0.1 FALSE /we/want/ FALSE 1391252187 nodomain value
</file>
</verify>

View File

@@ -0,0 +1,48 @@
#
# Server-side
<reply name="1">
<data>
HTTP/1.1 200 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
ETag: "21025-dc7-39462498"
Accept-Ranges: bytes
Content-Length: 6
Connection: close
Content-Type: text/html
Funny-head: yesyes
<foo>
</data>
</reply>
#
# Client-side
<client>
<server>
http
</server>
<name>
HTTP with -d and -G
</name>
<command>
-d "foo=moo&moo=poo" http://%HOSTIP:%HOSTPORT/32 -G
</command>
</client>
#
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
GET /32?foo=moo&moo=poo HTTP/1.1
User-Agent: curl/7.9.5 (i686-pc-linux-gnu) libcurl 7.9.5-cvs (OpenSSL 0.9.5) (ipv6 enabled)
Host: 127.0.0.1:8999
Pragma: no-cache
Accept: */*
</protocol>
</verify>

View File

@@ -0,0 +1,55 @@
# Server-side
<reply>
<data>
HTTP/1.1 OK swsclose
</data>
</reply>
# Client-side
<client>
<server>
http
</server>
<name>
HTTP PUT with resume
</name>
<file name="log/test33.txt">
012345678
012345678
012345678
012345678
012345678
012345678
012345678
012345678
012345678
012345678
</file>
<command>
http://%HOSTIP:%HOSTPORT/33 -Tlog/test33.txt -C 50
</command>
</test>
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
PUT /33 HTTP/1.1
Content-Range: bytes 50-99/100
User-Agent: curl/7.6 (sparc-sun-solaris2.7) libcurl 7.6-pre4 (SSL 0.9.6) (krb4 enabled)
Host: 127.0.0.1:8999
Pragma: no-cache
Accept: */*
Content-Length: 50
Expect: 100-continue
012345678
012345678
012345678
012345678
012345678
</protocol>
</verify>

View File

@@ -0,0 +1,58 @@
#
# Server-side
<reply>
<data>
HTTP/1.1 200 funky chunky!
Server: fakeit/0.9 fakeitbad/1.0
Transfer-Encoding: chunked
Connection: mooo
40
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
30
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
21;heresatest=moooo
cccccccccccccccccccccccccccccccc
0
muuu
</data>
<datacheck>
HTTP/1.1 200 funky chunky!
Server: fakeit/0.9 fakeitbad/1.0
Transfer-Encoding: chunked
Connection: mooo
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcccccccccccccccccccccccccccccccc
</datacheck>
</reply>
#
# Client-side
<client>
<server>
http
</server>
<name>
HTTP GET with chunked Transfer-Encoding
</name>
<command>
http://%HOSTIP:%HOSTPORT/34
</command>
</test>
#
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
GET /34 HTTP/1.1
Host: 127.0.0.1:8999
Pragma: no-cache
Accept: */*
</protocol>
</verify>

View File

@@ -0,0 +1,57 @@
#
# Server-side
<reply>
<data>
HTTP/1.1 200 funky chunky!
Server: fakeit/0.9 fakeitbad/1.0
Transfer-Encoding: chunked
Connection: mooo
2
a
ILLEGAL
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
</data>
<datacheck>
HTTP/1.1 200 funky chunky!
Server: fakeit/0.9 fakeitbad/1.0
Transfer-Encoding: chunked
Connection: mooo
a
</datacheck>
</reply>
#
# Client-side
<client>
<server>
http
</server>
<name>
HTTP GET with bad chunked Transfer-Encoding
</name>
<command>
http://%HOSTIP:%HOSTPORT/36
</command>
</test>
#
# Verify data after the test has been "shot"
<verify>
<errorcode>
56
</errocode>
<strip>
^User-Agent:.*
</strip>
<protocol>
GET /36 HTTP/1.1
Host: 127.0.0.1:8999
Pragma: no-cache
Accept: */*
</protocol>
</verify>

View File

@@ -0,0 +1,39 @@
#
# Server-side
<reply>
<data>
</data>
</reply>
#
# Client-side
<client>
<server>
http
</server>
<name>
HTTP GET with nothing returned from server
</name>
<command>
http://%HOSTIP:%HOSTPORT/37
</command>
</test>
#
# Verify data after the test has been "shot"
<verify>
<errorcode>
52
</errocode>
<strip>
^User-Agent:.*
</strip>
<protocol>
GET /37 HTTP/1.1
Host: 127.0.0.1:8999
Pragma: no-cache
Accept: */*
</protocol>
</verify>

View File

@@ -0,0 +1,52 @@
# Server-side
<reply>
<data nocheck=1>
HTTP/1.0 200 Mooo
Date: Mon, 13 Nov 2000 13:41:09 GMT
Server: myown/1.0
Connection: close
todelooooo lalalala yada yada, we know nothing about ranges ;-)
</data>
</reply>
# Client-side
<client>
<server>
http
</server>
<name>
HTTP resume request without server supporting it
</name>
<command option="no-output">
http://%HOSTIP:%HOSTPORT/want/38 -C - -i -o log/fewl.txt
</command>
<file name="log/fewl.txt">
This text is here to simulate a partly downloaded file to resume
download on.
</file>
</client>
# Verify data after the test has been "shot"
<verify>
<errorcode>
33
</errorcode>
<strip>
^User-Agent:.*
</strip>
<protocol>
GET /want/38 HTTP/1.1
Range: bytes=78-
Host: 127.0.0.1:8999
Pragma: no-cache
Accept: */*
</protocol>
# the download target file must remain untouched
<file name="log/fewl.txt">
This text is here to simulate a partly downloaded file to resume
download on.
</file>
</verify>

View File

@@ -0,0 +1,76 @@
# Server-side
<reply>
<data>
HTTP/1.1 200 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
Content-Length: 10
blablabla
</data>
</reply>
# Client-side
<client>
<server>
http
</server>
<name>
HTTP RFC1867-type formposting with filename= and type=
</name>
<command>
http://%HOSTIP:%HOSTPORT/we/want/39 -F name=daniel -F tool=curl -F "file=@log/test39.txt;filename=fakerfile;type=moo/foobar" -F file2=@log/test39.txt
</command>
# We create this file before the command is invoked!
<file name="log/test39.txt">
foo bar
This is a bar foo
bar
foo
</file>
</test>
# Verify data after the test has been "shot"
<verify>
<strip>
^(User-Agent:|Content-Type: multipart/form-data;|-------).*
</strip>
<protocol>
POST /we/want/39 HTTP/1.1
User-Agent: curl/7.10.4 (i686-pc-linux-gnu) libcurl/7.10.4 OpenSSL/0.9.7a ipv6 zlib/1.1.3
Host: 127.0.0.1:8999
Pragma: no-cache
Accept: */*
Content-Length: 598
Expect: 100-continue
Content-Type: multipart/form-data; boundary=----------------------------24e78000bd32
------------------------------24e78000bd32
Content-Disposition: form-data; name="name"
daniel
------------------------------24e78000bd32
Content-Disposition: form-data; name="tool"
curl
------------------------------24e78000bd32
Content-Disposition: form-data; name="file"; filename="fakerfile"
Content-Type: moo/foobar
foo bar
This is a bar foo
bar
foo
------------------------------24e78000bd32
Content-Disposition: form-data; name="file2"; filename="log/test39.txt"
Content-Type: text/plain
foo bar
This is a bar foo
bar
foo
------------------------------24e78000bd32--
</protocol>
</verify>

42
neo/curl/tests/data/test4 Normal file
View File

@@ -0,0 +1,42 @@
#
# Server-side
<reply name="1">
<data>
HTTP/1.1 200 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake swsclose
Content-Type: text/html
Funny-head: yesyes
</data>
</reply>
#
# Client-side
<client>
<server>
http
</server>
<name>
Replaced internal and added custom HTTP headers
</name>
<command>
-H "extra-header: here" -H "Accept: replaced" http://%HOSTIP:%HOSTPORT/4
</command>
</test>
#
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
GET /4 HTTP/1.1
Host: 127.0.0.1:8999
Pragma: no-cache
extra-header: here
Accept: replaced
</protocol>
</verify>

View File

@@ -0,0 +1,67 @@
#
# Server-side
<reply>
<data>
HTTP/1.1 302 OK swsclose
Location: ../moo.html/?name=d a niel&testcase=/400002
Date: Thu, 09 Nov 2010 14:49:00 GMT
Connection: close
</data>
<data2>
HTTP/1.1 200 OK swsclose
Location: this should be ignored
Date: Thu, 09 Nov 2010 14:49:00 GMT
Connection: close
body
</data2>
<datacheck>
HTTP/1.1 302 OK swsclose
Location: ../moo.html/?name=d a niel&testcase=/400002
Date: Thu, 09 Nov 2010 14:49:00 GMT
Connection: close
HTTP/1.1 200 OK swsclose
Location: this should be ignored
Date: Thu, 09 Nov 2010 14:49:00 GMT
Connection: close
body
</datacheck>
</reply>
#
# Client-side
<client>
<server>
http
</server>
<name>
HTTP redirect with whitespace after ? (and conversion)
</name>
<command>
http://%HOSTIP:%HOSTPORT/we/are/all/twits/40 -L
</command>
</client>
#
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
GET /we/are/all/twits/40 HTTP/1.1
Host: 127.0.0.1:8999
Pragma: no-cache
Accept: */*
GET /we/are/all/moo.html/?name=d+a+niel&testcase=/400002 HTTP/1.1
User-Agent: curl/7.10 (i686-pc-linux-gnu) libcurl/7.10 OpenSSL/0.9.6c ipv6 zlib/1.1.3
Host: 127.0.0.1:8999
Pragma: no-cache
Accept: */*
</protocol>
</verify>

View File

@@ -0,0 +1,23 @@
# Server-side
<reply>
</reply>
# Client-side
<client>
<server>
http
</server>
<name>
HTTP formpost with missing file
</name>
<command>
http://%HOSTIP:%HOSTPORT/want/41 -F moo=@boo
</command>
</test>
# Verify data after the test has been "shot"
<verify>
<errorcode>
26
</errorcode>
</verify>

View File

@@ -0,0 +1,67 @@
#
# Server-side
<reply>
<data>
HTTP/1.1 302 OK swsclose
Location: ../m o o.html/420002
Date: Thu, 09 Nov 2010 14:49:00 GMT
Connection: close
</data>
<data2>
HTTP/1.1 200 OK swsclose
Location: this should be ignored
Date: Thu, 09 Nov 2010 14:49:00 GMT
Connection: close
body
</data2>
<datacheck>
HTTP/1.1 302 OK swsclose
Location: ../m o o.html/420002
Date: Thu, 09 Nov 2010 14:49:00 GMT
Connection: close
HTTP/1.1 200 OK swsclose
Location: this should be ignored
Date: Thu, 09 Nov 2010 14:49:00 GMT
Connection: close
body
</datacheck>
</reply>
#
# Client-side
<client>
<server>
http
</server>
<name>
HTTP redirect with whitespace in path (and conversion)
</name>
<command>
http://%HOSTIP:%HOSTPORT/we/are/all/twits/42 -L
</command>
</client>
#
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
GET /we/are/all/twits/42 HTTP/1.1
Host: 127.0.0.1:8999
Pragma: no-cache
Accept: */*
GET /we/are/all/m%20o%20o.html/420002 HTTP/1.1
User-Agent: curl/7.10 (i686-pc-linux-gnu) libcurl/7.10 OpenSSL/0.9.6c ipv6 zlib/1.1.3
Host: 127.0.0.1:8999
Pragma: no-cache
Accept: */*
</protocol>
</verify>

View File

@@ -0,0 +1,67 @@
# Server-side
<reply>
<data>
HTTP/1.1 301 This is a weirdo text message
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
Location: data/430002.txt?coolsite=yes
Connection: close
This server reply is for testing a simple Location: following
</data>
<data2>
HTTP/1.1 200 Followed here fine swsclose
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
If this is received, the location following worked
</data2>
<datacheck>
HTTP/1.1 301 This is a weirdo text message
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
Location: data/430002.txt?coolsite=yes
Connection: close
HTTP/1.1 200 Followed here fine swsclose
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
If this is received, the location following worked
</datacheck>
</reply>
# Client-side
<client>
<server>
http
</server>
<name>
HTTP Location: following over HTTP proxy
</name>
<command>
http://%HOSTIP:%HOSTPORT/want/43 -L -x %HOSTIP:%HOSTPORT
</command>
</test>
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
GET http://127.0.0.1:8999/want/43 HTTP/1.1
Host: 127.0.0.1:8999
Pragma: no-cache
Accept: */*
GET http://127.0.0.1:8999/want/data/430002.txt?coolsite=yes HTTP/1.1
Host: 127.0.0.1:8999
Pragma: no-cache
Accept: */*
</protocol>
</verify>

Some files were not shown because too many files have changed in this diff Show More