perl (and a unix-style shell)
diff (when a test fail, a diff is shown)
stunnel (for HTTPS and FTPS tests)
+ sshd (for SCP and SFTP tests; OpenSSH ver. 3.9 is known to work)
TCP ports used:
- 8993 on localhost for FTPS tests
- 8996 on localhost for FTP IPv6 tests
- 8997 on localhost for TFTP tests
+ - 8999 on localhost for SCP/SFTP tests
The test suite runs simple FTP, HTTP and TFTP servers on these ports to
- which it makes requests.
+ which it makes requests. For SSL tests, it runs stunnel to handle
+ encryption to the regular servers. For SSH, it runs a standard OpenSSH
+ server.
Run:
'make test'. This invokes the 'runtests.pl' perl script. Edit the top
300 - 399 HTTPS
400 - 499 FTPS
500 - 599 libcurl source code tests, not using the curl command tool
+ 600 - 699 SCP/SFTP
Since 30-apr-2003, there's nothing in the system that requires us to keep
within these number series. Each test case now specifies its own server
TODO:
- * Add tests for TELNET, LDAP, DICT, SCP, SFTP...
+ * Add tests for TELNET, LDAP, DICT...
--- /dev/null
+<testcase>
+<info>
+<keywords>
+SFTP
+</keywords>
+</info>
+
+#
+# Server-side
+<reply>
+<data mode="text">
+Test data
+for ssh test
+</data>
+</reply>
+
+#
+# Client-side
+<client>
+<server>
+sftp
+</server>
+ <name>
+SFTP retrieval
+ </name>
+ <command>
+--key curl_client_key --pubkey curl_client_key.pub -u %USER: sftp://%HOSTIP:%SSHPORT/%PWD/log/file600.txt
+</command>
+<file name="log/file600.txt">
+Test data
+for ssh test
+</file>
+</client>
+
+#
+# Verify data after the test has been "shot"
+<verify>
+<protocol>
+</protocol>
+<valgrind>
+disable
+</valgrind>
+</verify>
+</testcase>
--- /dev/null
+<testcase>
+<info>
+<keywords>
+SCP
+</keywords>
+</info>
+
+#
+# Server-side
+<reply>
+<data mode="text">
+Test data
+for ssh test
+</data>
+</reply>
+
+#
+# Client-side
+<client>
+<server>
+scp
+</server>
+ <name>
+SCP retrieval
+ </name>
+ <command>
+--key curl_client_key --pubkey curl_client_key.pub -u %USER: scp://%HOSTIP:%SSHPORT/%PWD/log/file601.txt
+</command>
+<file name="log/file601.txt">
+Test data
+for ssh test
+</file>
+</client>
+
+#
+# Verify data after the test has been "shot"
+<verify>
+<protocol>
+</protocol>
+<valgrind>
+disable
+</valgrind>
+</verify>
+</testcase>