Commit Graph

684 Commits

Author SHA1 Message Date
Fabian Keil dc7a598126 runtests.pl: Don't expect $TESTDIR/DISABLED to exist
If a non-standard $TESTDIR is used the file may not be necessary.

Previously a "missing" file resulted in the warning:
readline() on closed filehandle D at ./runtests.pl line 4940.
2014-07-26 23:01:31 +02:00
Dan Fandrich 447c31ce9d gnutls: explicitly added SRP to the priority string
This seems to have become necessary for SRP support to work starting
with GnuTLS ver. 2.99.0. Since support for SRP was added to GnuTLS
before the function that takes this priority string, there should be no
issue with backward compatibility.
2014-07-12 00:11:44 +02:00
Dan Fandrich d582c272a6 tests: adjust for capitalization differences in newer gnutls-serv 2014-07-11 23:47:48 +02:00
Daniel Stenberg e95ca7cec9 NTLM: set a fake entropy for debug builds with CURL_ENTROPY set
Curl_rand() will return a dummy and repatable random value for this
case. Makes it possible to write test cases that verify output.

Also, fake timestamp with CURL_FORCETIME set.

Only when built debug enabled of course.

Curl_ssl_random() was not used anymore so it has been
removed. Curl_rand() is enough.

create_digest_md5_message: generate base64 instead of hex string

curl_sasl: also fix memory leaks in some OOM situations
2014-06-11 23:15:48 +02:00
Steve Holme 51bb067a42 Curl_rand: Use a fake entropy for debug builds when CURL_ENTROPY set 2014-06-11 21:13:40 +01:00
Dan Fandrich a917f30c6b runtests.pl: Improved the check for a crash during torture tests 2014-04-29 00:06:32 +02:00
Daniel Stenberg d73d633885 runtests: insist on a <keywords> section
Since all present tests now have <keywords> listed, this script will now
refuse to run a given test case if no such section is provided.
Hopefully this will help us make sure new test cases get keywords added
at start.
2014-04-03 11:33:41 +02:00
Daniel Stenberg c1f7da1570 runtests: check protocol before data
When the protocol part fails, the data usually does too but the protocol
part is often more fundamental and often provide the clues you need to
fix the test case.
2014-03-30 23:16:21 +02:00
Daniel Stenberg 2fc31dcf74 runtests.pl: verify specified test cases
To better allow arguments like "1 to 9999" without flooding the terminal
with error messages, the given test cases range is now checked and only
test numbers with existing files are actually run.
2014-03-19 23:28:28 +01:00
Dan Fandrich 4b4e8a5853 tests: Made the crypto test feature usable
This feature specifies the availability of cryptographic
authentication, which can be disabled at compile-time
2014-02-17 09:50:46 +01:00
Daniel Stenberg 1f148c103c runtests: allow <strippart> to remove lines
For verify file, if the strippart condition removes the line completely
it is now removed from the array.
2014-02-08 23:19:10 +01:00
Dan Fandrich e2dae8a7c2 runtests: Disable valgrind when debugging
This was already mostly being done, except that analysis after the
test still assumed that the valgrind log files would be available. An
alternative way to handle the valgrind + gdb combination could be to
enable one of the valgrind debugger hooks.
2014-02-07 22:43:34 +01:00
Daniel Stenberg 5204b45ff9 runtests: add suppression generator help
Leave the valgrind --gen-suppressions option in there, commented, to
make it easier for next update.
2014-02-05 23:48:44 +01:00
Daniel Stenberg 18b540f9d1 runtests: detect 'ares' better
... caused false detections of the threaded resolver otherwise
2014-02-05 23:36:16 +01:00
Marc Hoersken 9f132f9f39 runtests.pl: added support for text-mode within datacheck section 2014-01-31 20:05:17 +01:00
Marc Hoersken 480ca49ecb runtests.pl: reverse line-ending conversion on Windows
It makes more sense to convert the expected output to [CR][LF] on
Windows than to force the actual, probably correct, output to [LF].

This way it is actually possible to see if curl outputs the correct
line-ending excepted by a text-aware test case.
2014-01-31 20:05:09 +01:00
Dan Fandrich 0d959c64b2 runtests: Don't log command every torture iteration in verbose 2014-01-24 23:35:44 +01:00
Daniel Stenberg 31075a8897 runtests: disable memory tracking with threaded resolver
The built-in memory debug system doesn't work with multi-threaded use so
instead of causing annoying false positives, disable the memory tracking
if the threaded resolver is used.
2014-01-08 13:20:29 +01:00
Steve Holme 3bc349b53b runtests.pl: Updated copyright year after edit from d718abd968 2014-01-05 11:32:48 +00:00
Marc Hoersken d718abd968 runtests.pl: check for tstunnel command on Windows
The Windows console version of stunnel is called "tstunnel", while
running "stunnel" on Windows spawns a new console window which
cannot be handled by the testsuite.
2014-01-05 02:22:09 +01:00
Steve Holme 5107d66b2e runtests.pl: Fixed slightly incorrect regex in commit 28dd47d4d4 2013-12-28 16:32:07 +00:00
Steve Holme 28dd47d4d4 runtests.pl: Optimised feature present checking code
...to exclude not present features.
2013-12-28 12:35:51 +00:00
Steve Holme 147b2a546e runtests.pl: Added the ability to run tests when a feature is not present 2013-12-28 11:18:54 +00:00
Steve Holme 263616202b ftpserver.pl: Reworked SMTP verified server detection
Following the addition of informational commands to the SMTP protocol,
the test server is no longer required to return the verified server
information in responses that curl only outputs in verbose mode.

Instead, a similar detection mechanism to that used by FTP, IMAP and
POP3 can now be used.
2013-12-27 18:15:04 +00:00
Steve Holme c19cfb79db runtests.pl: Added SSPI detection 2013-11-12 12:48:28 +00:00
Steve Holme 04064e89c1 runtests.pl: Fixed syntax error in commit c873375123
Possible unintended interpolation in string at line 796
2013-09-18 19:32:20 +01:00
Steve Holme c873375123 runtests.pl: Fixed smtp mail from address
Following changes to ftpserver.pl fixed the mail from address to be a
correctly formatted address otherwise the server response will be 501
Invalid address.
2013-09-18 18:04:26 +01:00
Daniel Stenberg 63d8b3a507 runtests.pl: allow -vc point to a separate curl binary to verify with
The specified curl binary will then be used to verify the running
server(s) instead of the development version. This is very useful in
some cases when the development version fails to verify correctly as
then the test case may not run at all.

The actual test will still be run with the "normal" curl executable
(unless the test case specifies something differently).
2013-08-26 11:38:38 +02:00
Daniel Stenberg 6cf8413e31 curl_easy_perform_ev: debug/test function
This function is meant to work *exactly* as curl_easy_perform() but will
use the event-based libcurl API internally instead of
curl_multi_perform(). To avoid relying on an actual event-based library
and to not use non-portable functions (like epoll or similar), there's a
rather inefficient emulation layer implemented on top of Curl_poll()
instead.

There's currently some convenience logging done in curl_easy_perform_ev
which helps when tracking down problems. They may be suitable to remove
or change once things seem to be fine enough.

curl has a new --test-event option when built with debug enabled that
then uses curl_easy_perform_ev() instead of curl_easy_perform(). If
built without debug, using --test-event will only output a warning
message.

NOTE: curl_easy_perform_ev() is not part if the public API on purpose.
It is only present in debug builds of libcurl and MUST NOT be considered
stable even then. Use it for libcurl-testing purposes only.

runtests.pl now features an -e command line option that makes it use
--test-event for all curl command line tests. The man page is updated.
2013-08-20 11:56:06 +02:00
Daniel Stenberg 51b0f09b5e runtests.pl: support nonewline="yes" in client/stdin sections 2013-05-07 22:52:43 +02:00
Daniel Stenberg 27777949a0 runtests: log more commands in verbose mode
... to aid tracking down failures
2013-04-25 23:40:01 +02:00
Marc Hoersken e34bc917d6 runtests.pl: Fixed --verbose parameter passed to http_pipe.py 2013-04-06 20:24:10 +02:00
Marc Hoersken a03d0c5b88 runtests.pl: Modularization of MinGW/Msys compatibility functions 2013-04-06 12:45:05 +02:00
Yang Tse 1700668d78 tests: add #96 #558 and #1330
These verfy that the 'memory tracking' subsystem is actually doing its
job when using curl tool (#96), a test in libtest (#558) and also a unit
test (#1330), in order to prevent regressions in this functionallity.
2013-03-15 19:59:51 +01:00
Linus Nielsen Feltzing 0f147887b0 Multiple pipelines and limiting the number of connections.
Introducing a number of options to the multi interface that
allows for multiple pipelines to the same host, in order to
optimize the balance between the penalty for opening new
connections and the potential pipelining latency.

Two new options for limiting the number of connections:

CURLMOPT_MAX_HOST_CONNECTIONS - Limits the number of running connections
to the same host. When adding a handle that exceeds this limit,
that handle will be put in a pending state until another handle is
finished, so we can reuse the connection.

CURLMOPT_MAX_TOTAL_CONNECTIONS - Limits the number of connections in total.
When adding a handle that exceeds this limit,
that handle will be put in a pending state until another handle is
finished. The free connection will then be reused, if possible, or
closed if the pending handle can't reuse it.

Several new options for pipelining:

CURLMOPT_MAX_PIPELINE_LENGTH - Limits the pipeling length. If a
pipeline is "full" when a connection is to be reused, a new connection
will be opened if the CURLMOPT_MAX_xxx_CONNECTIONS limits allow it.
If not, the handle will be put in a pending state until a connection is
ready (either free or a pipe got shorter).

CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE - A pipelined connection will not
be reused if it is currently processing a transfer with a content
length that is larger than this.

CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE - A pipelined connection will not
be reused if it is currently processing a chunk larger than this.

CURLMOPT_PIPELINING_SITE_BL - A blacklist of hosts that don't allow
pipelining.

CURLMOPT_PIPELINING_SERVER_BL - A blacklist of server types that don't allow
pipelining.

See the curl_multi_setopt() man page for details.
2013-03-13 23:55:24 +01:00
Nick Zitzmann cc27aff7b3 darwinssl: fix undefined $ssllib warning in runtests.pl
I also added --with-darwinssl to the list of SSL options in configure.
2013-02-24 15:39:15 -07:00
Yang Tse ccb34cb46d runtests.pl: make VPATH builds find valgrind.supp 2013-01-18 11:20:41 +01:00
Daniel Stenberg c43127414d always-multi: always use non-blocking internals
Remove internal separated behavior of the easy vs multi intercace.
curl_easy_perform() is now using the multi interface itself.

Several minor multi interface quirks and bugs have been fixed in the
process.

Much help with debugging this has been provided by: Yang Tse
2013-01-17 19:40:35 +01:00
Yang Tse dfe4769157 build and tests: curl_10char_object_name() shell function
lib/objnames.inc provides definition of curl_10char_object_name() shell
function. The intended purpose of this function is to transliterate a
(*.c) source file name that may be longer than 10 characters, or not,
into a string with at most 10 characters which may be used as an OS/400
object name.

Test case 1221 does unit testng of this function and also verifies
that it is possible to generate distinct short object names for all
curl and libcurl *.c source file names.

lib/objnames-test.sh is the shell script used for test case 1221.

tests/runtests.pl modified to accept shell script test cases.

More details inside lib/objnames.inc and lib/objnames-test.sh
2013-01-02 20:15:50 +01:00
Yang Tse dfe382c6ae runtests.pl: prepend $srcdir to HTTPTLS server config files path 2012-12-22 00:26:03 +01:00
Fabian Keil ca5f4e2135 runtests and friends: Do not add undefined values to @INC
On FreeBSD this fixes the warning:
Use of uninitialized value $p in string eq at /usr/local/lib/perl5/5.14.2/BSDPAN/BSDPAN.pm line 36.
2012-12-06 23:04:33 +01:00
Daniel Stenberg 14dc679ce0 test: offer "automake" output and check for perl better
runtests.pl -am now uses the "PASS/FAIL: [desc]" output for each
executed test. You can run 'make test-am' in the root build directory to
invoke that. The reason for this output style is to better allow generic
test suite parsers to also grok our test output.

The test Makefile now also tests that perl was indeed found and that the
PERL variable points to an executable before it tries to run the main
test perl script runtests.pl,
2012-11-23 11:56:26 +01:00
Daniel Stenberg e62ee60c7a runtests: limit execessive logging/output 2012-11-12 13:50:00 +01:00
Joe Mason 76ba591957 Remove the --fork option of sws, since it makes refactoring to use poll more complicated and should
be redundant once we poll
2012-08-02 17:34:45 -04:00
Guenter Knauf e1711b0e9a Fixed MSYS <-> Windows path convertion.
Replaced the Windows real path from mount hack with a more
reliable and simpler hack: the MSYS shell has a builtin pwd
which understands a -W option which does convertion to Windows
paths. Tested and confirmed that this works on all MSYS versions
I have back to a 3 year old one.
2012-07-20 15:30:41 +02:00
Guenter Knauf c27cc4cfe0 Follow-up fix to detect SSL libs with MinGW.
1) the check for winssl needs to come before nss check
2) the SSL checks must begin with a new if or else we will
never find any SSL lib with MinGW.
2012-07-19 16:31:08 +02:00
Guenter Knauf da2bde9d62 Trial to teach runtests.pl about WinSSL. 2012-07-17 07:13:58 +02:00
Guenter Knauf 13abfd997e Fixed warning 'uninitialized value in numeric gt'.
This is a MSYS/MinGW-only warning; full warning text is:
Use of uninitialized value in numeric gt (>) at ../../curl/tests/runtests.pl line 2227.
2012-07-17 06:55:38 +02:00
Tatsuhiro Tsujikawa a3e3f8ffa0 runtests.pl: make it support metalink feature 2012-06-20 20:15:42 +02:00
Yang Tse 62f374b19e tests: adjust file part behavior in test verify section.
When a <file> part is now specified with no contents at all, this
will actually verify that the specified file has no contents at all.
Previously file contents would be ignored.
2012-06-05 20:20:39 +02:00
Yang Tse 00dd45720e tests: support test definitions with up to 5 file checks in <verify> section
This is done introducing tags <file1> to <file4> besides existing <file> one,
as well as corresponding <stripfile1> to <stripfile4> ones, that can be used
in the <verify> section in the same way as the non-numbered ones.
2012-06-01 05:37:00 +02:00
Daniel Stenberg 13c7b91133 runtests: yassl and polarssl are not openssl
Don't set the "has_openssl" variable if yassl or polarssl is found as
they will simply not work as 100% drop-in replacements for some of the
stuff the "OpenSSL" feature is used for.

I spotted this problem when doing test runs with PolarSSL builds.
2012-04-04 00:07:26 +02:00
Daniel Stenberg 82180643f4 test proxy supports CONNECT
There's a new 'http-proxy' server for tests that runs on a separate port
and lets clients do HTTP CONNECT to other ports on the same host to
allow us to test HTTP "tunneling" properly.

Test cases now have a <proxy> section in <verify> to check that the
proxy protocol part matches correctly.

Test case 80, 83, 95, 275, 503 and 1078 have been converted. Test 1316
was added.
2012-01-03 15:01:22 +01:00
Yang Tse 63e2718f8d runtests.pl: on test failure, don't show trace log files of other tests 2012-01-02 13:40:12 +01:00
Daniel Stenberg 08107111ac runtests: put trace outputs in log/trace[num] for all tests 2012-01-01 19:48:24 +01:00
Dan Fandrich 9e3f8c4850 runtests.pl: Use logmsg more consistently 2011-12-31 00:49:34 -08:00
Yang Tse ed0364343d removed trailing whitespace 2011-12-30 03:36:18 +01:00
Dan Fandrich ba238e3a18 runtests.pl: Fixed perl warning when using the -l option 2011-12-20 18:31:53 -08:00
Yang Tse e2928e1555 runtests.pl: running server checks - commit 4464583a follow-up
Ensure verification takes place with no server commands file.
Ignore verbose setting for running server precheck.
Tweak unresponsive server message, to allow detection by haxx.se scripts.
2011-10-30 16:45:14 +01:00
Yang Tse bae4e3f035 runtests.pl: running server checks - commit 3676ec96 follow-up
Fix called sub when checking TFTP server, and adjust message.
2011-10-28 15:59:36 +02:00
Yang Tse 3676ec9680 runtests.pl: running server checks - commit 4464583a follow-up
Extended server checks to others in addition to pingpong when torture testing.
2011-10-28 00:05:16 +02:00
Yang Tse 4464583a6e runtests.pl: running server checks
When running torture tests, verify before each test case that required
pingpong servers which are supposed to be alive are actually responsive.
If found not responsive then restart them.
2011-10-25 23:19:36 +02:00
Yang Tse 9d0d1ada05 runtests.pl: fix printing of multivalued error codes 2011-10-21 16:52:15 +02:00
Yang Tse 1958fe5745 test harness: non-stunnel https server integration overhaul 2011-10-06 20:26:42 +02:00
Yang Tse 0413e24891 runtests.pl: replace TAB with spaces 2011-09-10 01:23:21 +02:00
Yang Tse be8e68494c test harness: revert needless commit 0a5bbb2ac1
https, ftps and ssh servers allowed start up time back to previous values
2011-09-10 01:14:52 +02:00
Yang Tse eb44ac0138 test suite: use test case specific netrc file names 2011-09-05 12:39:50 +02:00
Yang Tse 0a5bbb2ac1 test harness: https, ftps and ssh servers allowed start up time increased 33% 2011-09-01 22:21:57 +02:00
Yang Tse b4f6319cf7 NTLM single-sign on adjustments (XI)
Feature string literal NTLM_SSO renamed to NTLM_WB.
Preprocessor symbol USE_NTLM_SSO renamed to WINBIND_NTLM_AUTH_ENABLED.
curl's 'long' option 'ntlm-sso' renamed to 'ntlm-wb'.
Fix some comments to make clear that this is actually a NTLM delegation.
2011-08-27 01:33:35 +02:00
Yang Tse a659cc4794 runtests.pl: option -gw for single test windowed debugging (where possible) 2011-08-21 19:25:35 +02:00
Daniel Stenberg c4142034ff runtests.pl: support option=no-include 2011-08-04 17:36:00 +02:00
Daniel Stenberg b9313af838 runtests: add 'debug' as a feature a test can require 2011-07-19 23:49:40 +02:00
Mandy Wu aa26c2751a test2005: verify ntlm single-signon 2011-07-18 23:48:53 +02:00
Daniel Stenberg 9c1f50c583 runtests: ignore the 'all_proxy' environment variable as well
We should probably also make sure that [protocol]_proxy for all possible
protocols libcurl supports are unset.
2011-07-14 11:04:00 +02:00
Daniel Stenberg 0215f7cb4d runtests.pl: warn if a test is explicitly disabled
Just to make sure a user is aware of it.
2011-06-23 23:10:00 +02:00
Daniel Stenberg 2345c1dd66 runtests.pl/stopserver: space separate pids
The stopserver function would append pids to kill and could append them
without separating them with space properly. The result would be a very
large number that by (some implementations of) kill would be interpreted
as a negative number and that process group would be wiped...

Bug: http://curl.haxx.se/bug/view.cgi?id=3188836
Reported by: Greg Pratt
2011-02-22 13:42:00 +01:00
Julien Chaffraix 9f8e960a1a tests: Cleaned up netrc testing.
Removed the "netrc_debug" keyword replaced with --netrc-file additions.
Removed the debug code from Curl_parsenetrc as it is superseeded by
--netrc-file.
2011-02-20 21:11:52 -08:00
Julien Chaffraix 311bd4c7b1 netrc: Enable setting up the filename in unit tests.
Unset the environment variable so that we can specify different
filenames in the unit test.
2011-02-10 07:38:48 -08:00
Daniel Stenberg e79c1e39e9 runtests.pl: make -s not show skipped tests 2011-01-20 23:17:22 +01:00
Quinn Slack 59cf93ccdb TLS-SRP: support added when using GnuTLS 2011-01-19 20:35:02 +01:00
Daniel Stenberg c43ad0f972 unittests: a dedicated feature in tests
The test runner script now knows if unittests can run and the unit test
setup file says it is one. I also made runtests.pl deal with no
<command> tag set, so that the description file can get even simpler.
2011-01-03 22:42:46 +01:00
Daniel Stenberg 35e1d6538a unittest: framework for unit-testing
This is the first approach at doing fairly clean and easy to write and
debug unit tests.
2011-01-03 19:38:10 +01:00
Yang Tse 15aeb94f3f test harness: take in account that Windows does not support LD_PRELOAD
configure.ac: Test harness libhostname library will not be built for Windows.

runtests.pl: LD_PRELOAD mechanism will not be used to load libhostname
library on operating systems which lack LD_PRELOAD support.
2010-12-28 16:52:20 +01:00
Yang Tse f6ebae65d6 axTLS integration: silence runtests.pl perl warning 2010-12-16 17:33:53 +01:00
Eric Hu a7cf30f808 Minor fixes to pass tests 301 and 306 with a patched axTLS. 2010-12-15 16:05:17 +01:00
Eric Hu be312336f6 Initial axTLS integration. Connections can be made and some tests pass.
Failed HTTPS tests: 301, 306, 311, 312, 313, 560
311, 312 need more detailed error reporting from axTLS.
313 relates to CRL, which hasn't been implemented yet.
2010-12-15 16:05:17 +01:00
Daniel Stenberg a4765b0551 runtests: allow tests written as perl scripts
If a command is set type="perl", it can now specify a perl program that will
be run instead of an ordinary curl or built tool.

A perl test automatically disables memory and valgrind debugging.
2010-11-03 11:22:46 +01:00
Daniel Stenberg a049528e94 runtests: fix uninitialized variable warning 2010-08-25 15:10:40 +02:00
Daniel Stenberg ecb3fe63d7 gopher tests: use sws and adjusted to more standard style 2010-08-25 14:21:25 +02:00
Cameron Kaiser 67d1616018 Gopher using Curl_write; test suite (4 tests) 2010-08-25 14:21:25 +02:00
Dan Fandrich 9f4a174698 Clear stdout and stderr files on each test run
This allows a test to be run several times in the same test
session even when the -k option is given.
2010-08-16 12:09:18 -07:00
Dan Fandrich 72da720b4a Reset environment variables before starting servers
Otherwise, variables from tests could affect the servers
themselves.
2010-08-13 22:14:26 -07:00
Daniel Stenberg a43201e578 runtests: clear old setenv remainders before test
Due to the layout of the singletest function there are situations where
it returns before it clears the environment variables that were
especially set for the single specific test case. That could lead to
subsequent tests getting executed with environment variables sticking
around from a previous test which could lead to badness.

This change makes sure to clear all custom variables that may be laying
around from a previous round, before running a test case.

Reported by: Kamil Dudka
Bug: http://curl.haxx.se/mail/lib-2010-08/0141.html
2010-08-11 23:12:39 +02:00
U-D5B1PQ1J\Administrador 7d342c723c build: allow NTLM tests to run on more build configurations 2010-08-07 15:03:54 +02:00
Kamil Dudka b5c3feda17 NTLM tests: boost coverage by forcing the hostname
A shared library tests/libtest/.libs/lihostname.so is preloaded in NTLM
test-cases to override the system implementation of gethostname().  It
makes it possible to test the NTLM authentication for exact match, and
this way test the implementation of MD4 and DES.

If LD_PRELOAD doesn't work, a debug build willl also workk as debug
builds are now made to prefer a specific environment variable and will
then return that content as host name instead of the actual one.

Kamil wrote the bulk of this, Daniel Stenberg polished it.
2010-07-30 00:51:24 +02:00
Hoi-Ho Chan 51427e1947 PolarSSL: initial support added
This is Hoi-Ho Chan's patch with some minor fixes by me. There
are some potential issues in this, but none worse than we can
sort out on the list and over time.
2010-05-05 22:30:46 +02:00
monnerat 4bfe07640c Implement SMTP authentication 2010-04-19 11:16:30 +02:00
Daniel Stenberg be28825b2d restore executable bits on some files 2010-03-24 11:07:35 +01:00
Daniel Stenberg 2309b4e330 remove the CVSish $Id$ lines 2010-03-24 11:02:54 +01:00
Yang Tse 46b112bcd4 replaced tabs with spaces 2010-02-16 13:32:45 +00:00
Yang Tse a07bc79117 removed trailing whitespace 2010-02-14 19:40:18 +00:00
Yang Tse e118cd4ca0 warning fix 2010-02-06 17:31:09 +00:00
Yang Tse 35fbeda003 Test suite support for RTSP 2010-02-01 12:05:08 +00:00
Yang Tse abe3e6b36c fix warning triggered when debugging on cygwin 2010-01-21 14:29:04 +00:00
Yang Tse 4a349f7a54 improve displaylogcontent() sub fixing a warning 2010-01-21 14:25:41 +00:00
Yang Tse a872ff742c SIGTERM is the signal to trap here, SIGKILL can't be caught. 2010-01-20 21:16:32 +00:00
Yang Tse 471e8eefb6 Use delete() to unset environment variables instead of assigning undef which
generates warning 'Use of uninitialized value in scalar assignment' with perl
versions older than 5.10
2010-01-20 20:08:50 +00:00
Yang Tse d2e1ec58f2 Adjust valgrind logs file name detection.
Adjust environment vars setting and restoring from test definition.

Avoid using strftime in torture sub.
2010-01-20 18:31:52 +00:00
Daniel Stenberg 6035a4b044 avoid "Use of uninitialized value $l in concatenation" 2010-01-19 21:20:24 +00:00
Yang Tse 469d3ed591 Fail harder when curl coredumps trying to verify http and ftp servers.
Add some debug messages to see what's going on with valgrind logs.
2010-01-19 17:40:15 +00:00
Yang Tse 3afe2b65b6 prevent %runcert hash growth when clearing items 2010-01-19 02:01:01 +00:00
Yang Tse 0a713139f6 fix warnings 2010-01-18 17:47:01 +00:00
Yang Tse 0687bc6bd6 Stop ssl running server when cert file currently used by server is
different than the one specified in test definition for same server
2010-01-18 17:03:59 +00:00
Yang Tse 424a8882fb fix warnings 2010-01-18 14:49:31 +00:00
Yang Tse 3fdced357b - Remove QD restarting of https servers. Proper fixing required.
This will make tests 310 311 and 312 fail while fixing.

- Remove some debug messages
2010-01-18 02:53:25 +00:00
Yang Tse ce2ac665e4 make verifyhttp use different file names depending on server characteristics 2010-01-18 02:36:39 +00:00
Yang Tse 7f8980114b fix warnings 2010-01-17 20:28:07 +00:00
Yang Tse 312494f25f fix warnings 2010-01-17 14:47:30 +00:00
Yang Tse 8d97b33347 fix warnings 2010-01-17 14:31:13 +00:00
Yang Tse b51b703a5b add some debug messages 2010-01-17 13:33:27 +00:00
Yang Tse 071c38988d use servername_id() from serverhelp.pm 2010-01-17 02:50:48 +00:00
Yang Tse 365e75a270 refactored stopping of test harness servers 2010-01-17 02:45:24 +00:00
Yang Tse 32413a8e34 Declaration of $sshdlog is done in sshhelp.pm 2010-01-15 20:14:37 +00:00
Yang Tse ada2774ab2 Start using the centralized pidfile and logfile name generation
subroutines for ssh and socks test suite servers.
2010-01-15 18:55:01 +00:00
Yang Tse 7624527591 Squeeze slack time when killing more than one server from
the <killserver> section of test harness definition files.
2010-01-14 17:36:57 +00:00
Yang Tse 7525670610 Make runtests.pl actually support any (valid) server specification
for the <killserver> section of test harness definition files.
2010-01-12 22:22:55 +00:00
Yang Tse 3fd67b5f36 Adjust vor VPATH builds 2010-01-12 03:01:00 +00:00
Daniel Stenberg 78b7d7f7a8 - The tests/runtests.pl script now checks to see if the test case that runs is
present in the tests/data/Makefile.am and outputs a notice message on the
  screen if not. Each test file has to be included in that Makefile.am to get
  included in release archives and forgetting to add files there is a common
  mistake. This is an attempt to make it harder to forget.
2010-01-11 15:50:30 +00:00
Yang Tse cd7b12edff secureserver.pl is now the test harness script used for SSL/TLS.
Start using the centralized pidfile and logfile name generation
subroutines for https and ftps test suite servers.
2010-01-11 04:49:13 +00:00
Yang Tse aae97c998a Previous commit adjustments 2010-01-10 02:41:44 +00:00
Yang Tse 017c14cc99 Start using the centralized pidfile and logfile name generation
subroutines for ftp, pop3, imap and smtp test suite servers.
2010-01-09 18:35:59 +00:00
Yang Tse aa2f447400 Start using the centralized pidfile and logfile name generation
subroutines for http and tftp test suite servers.
2010-01-08 15:54:07 +00:00
Yang Tse a114b7b1c0 sws and tftpd command line option naming adjustments 2010-01-08 01:48:54 +00:00
Yang Tse c796f2646e Leftover from previous commit 2009-12-28 20:10:00 +00:00
Yang Tse d0f6bde732 Initial refactoring step for server name strings centralized generation 2009-12-28 20:00:41 +00:00
Daniel Stenberg 73ad32e125 When verifying the SMTP server I had to add some hackery since SMTP in itself
doesn't really return any body data to check so I made SMTP check "headers"
as well.
2009-12-25 22:21:46 +00:00
Yang Tse c74875d94e Back out some pingpong server stopping changes introduced last week in
order to re-use 'classic' stopping and allow taking test-suite run time
references from this state.
2009-12-23 15:20:20 +00:00
Yang Tse 271dc9c582 use Time::HiRes whenever available, independently of perl version 2009-12-22 13:46:06 +00:00
Yang Tse 96395a908a Make 'classic' output end of a test-suite run become again the end
of output, even when run time statistics are shown.
2009-12-21 15:50:24 +00:00
Yang Tse e9a993b9e9 Move stopping of servers instructed by test definition, after the removal of
server logs advisor read lock and before test results verifications are done.

When stopping a pingpong server, stop server before its slaves.
2009-12-21 14:53:07 +00:00
Yang Tse 76b3c9d70f Replaced tabs with spaces 2009-12-21 02:37:23 +00:00
Daniel Stenberg 88a0060b2e revert that, we already had a function named like that! 2009-12-20 22:08:06 +00:00
Daniel Stenberg 4adf7d62d4 rename the verifyftp function to verifyserver since it is used to verify
a wide variety of protocol servers
2009-12-20 22:00:23 +00:00
Yang Tse f912f8d5d2 - Attempt to fix script compilation failure on versions older than 5.007003,
corelist -a Time::HiRes lists this as the first version released with it.

- Ensure ftp check delay timer is always an integral number.
2009-12-20 03:48:32 +00:00
Daniel Stenberg 344bbcf259 fix the ftp check delay timer to never be set below 1 to work correctly
in cases like test 190
2009-12-19 23:10:33 +00:00
Yang Tse 010fe5acd5 Slack time reduction 2009-12-19 13:20:07 +00:00
Yang Tse aeec8e0b38 Added runtests.pl '-r' option for run time statistics 2009-12-19 04:15:22 +00:00
Yang Tse 2d15ac3d4e server start and verification time as well as test preparation time
data is required in order to closer match total test execution time.
2009-12-18 19:17:14 +00:00
Yang Tse 53deae3781 Added test harness simple time execution stats 2009-12-18 15:23:18 +00:00
Yang Tse 002ed5f298 Test harness process control enhancements 2009-12-16 19:55:35 +00:00
Yang Tse 3802d027cd Test harness process control enhancements 2009-12-16 15:16:06 +00:00
Yang Tse a6abbb120e Adjust uppercase protocol string usage 2009-12-14 14:42:48 +00:00
Daniel Stenberg ec3bb8f727 introducing IMAP, POP3 and SMTP support (still lots of polish left to do) 2009-12-12 21:54:01 +00:00
Yang Tse a72ce23f16 - In order to better reflect that the returned pid is extracted from the
given file, serverpid sub is renamed to pidfromfile. In addition it is
  enhanced to make sure that it always returns zero unless a numerical
  positive value is returned.

- To better reflect that only process existance is actually checked,
  checkserver sub is renamed to processexists. In addition it is enhanced
  making it remove the given pid file when the extracted pid is no longer
  alive.
2009-11-30 13:48:51 +00:00
Daniel Stenberg e73fe837a8 - Peter Sylvester made the HTTPS test server use specific certificates for
each test, so that the test suite can now be used to actually test the
  verification of cert names etc. This made an error show up in the OpenSSL-
  specific code where it would attempt to match the CN field even if a
  subjectAltName exists that doesn't match. This is now fixed and verified
  in test 311.
2009-08-11 21:48:58 +00:00
Gunter Knauf f671d0513c renamed generated config.h to curl_config.h in order to avoid clashes when libcurl is used with other projects which also have a config.h. 2009-07-14 13:25:14 +00:00
Yang Tse 2c16681225 Adjusted to take in account that...
With the curl memory tracking feature decoupled from the debug build feature,
CURLDEBUG and DEBUGBUILD preprocessor symbol definitions are used as follows:

CURLDEBUG used for curl debug memory tracking specific code (--enable-curldebug)

DEBUGBUILD used for debug enabled specific code (--enable-debug)
2009-06-10 02:49:42 +00:00
Yang Tse b8e73495a5 Extend displaying of logfiles upon first server start-up failure for http, https, ftp, ftps and tftp test harness servers. 2009-05-15 11:59:24 +00:00
Yang Tse 187cfc1594 Displaying of logfiles on ftp server satrtup failure for test case #100 becomes standard. 2009-05-15 11:14:03 +00:00
Yang Tse 86f043a66c temporary debug trace for ftp server satrtup failure on testcase #100 2009-05-12 19:18:54 +00:00
Yang Tse 36b397be9f Fetch curl's 'CharConv' feature information, used by TPF. 2009-05-11 17:20:41 +00:00
Daniel Stenberg 1f340a262f support --help to do the same as -h 2009-05-11 11:39:42 +00:00
Yang Tse 75585f771a Fix name of tool shown upon error. 2009-05-11 01:16:28 +00:00
Daniel Stenberg d1ba4324de introduce VCURL for verify calls, so that it can be changed to use a different
binary than the one that gets tested, if need be
2009-05-10 21:20:15 +00:00
Yang Tse 9ef7b6afe2 Remove temporary and HP-UX autobuild specific change to debug SSH server start-up failures 2009-05-08 02:18:49 +00:00
Yang Tse 7c6e0d5981 Temporary and HP-UX autobuild specific change to debug SSH server start-up failures 2009-05-06 10:32:06 +00:00
Yang Tse a840cc700a Revert change committed on Mon May 4 09:30:23 2009 UTC.
The origin of the problem with test case #251 was the --ftp-port not being the CLIENTIP address.
2009-05-05 08:46:31 +00:00
Yang Tse ff3e574187 David McCreedy's patch to fix test suite harness to allow test FTP server and client on different machines, providing FTP client address when running the FTP test server. 2009-05-04 10:30:23 +00:00
Yang Tse 8aa88f4d36 re-enable all tests for all icc autobuilds 2009-04-17 07:30:56 +00:00
Daniel Stenberg 4741e64c89 Josef Wolf's extension that allows a $TESTDIR/gdbinit$testnum file that when
you use runtests.pl -g, will be sourced by gdb to allow additional fancy
or whatever you see fit
2008-11-19 21:56:11 +00:00
Dan Fandrich cdd6054e08 Display the time in verbose mode during the torture tests to help determine
when the tests stall.
2008-11-17 20:24:13 +00:00
Yang Tse 9230708e47 don't skip tests 558 and 559 on i686 icc autobuilds 2008-10-27 20:09:35 +00:00
Yang Tse 6db8f53445 test #558 verifies loop operation using malloc() and free() 2008-10-26 03:03:29 +00:00
Yang Tse 81e48ada47 For i686 icc autobuilds:
Re-enable all tests for debug-enabled builds.

  For debug-disabled builds only 8 tests are enabled.
2008-10-22 15:03:15 +00:00
Dan Fandrich 357383159e A <precheck> command is considered to have failed if it returns a non-zero
return code.  This way, if the precheck command can't be run at all for
whatever reason, it's treated as a precheck failure which causes the
test to be skipped.
2008-10-15 17:41:02 +00:00
Yang Tse a632f6d5b1 if a test execution is aborted due to a signal, and the process
returns no other exitcode, use 2000 + signal number as return code
2008-09-26 18:56:56 +00:00
Yang Tse 42271ad463 use shift right. Division result is not integral. 2008-09-26 14:08:33 +00:00
Yang Tse 82107a02f5 Re-enable test #100 on i686 icc autobuilds 2008-09-24 01:29:23 +00:00
Yang Tse 1e076a4ae0 Re-enable tests #1 on i686 icc autobuilds 2008-09-22 18:55:42 +00:00
Yang Tse eae27d1788 Disable all tests on i686 icc autobuilds to inspect build messages 2008-09-08 16:50:04 +00:00
Yang Tse d744c85310 Re-enable all tests on x86_64 and ia64. 2008-08-24 23:26:07 +00:00
Yang Tse 71d3c5bf41 Disable all tests except #557 on x86_64 and ia64 to debug trace curl_mprintf() on these systems. 2008-08-24 15:57:52 +00:00
Daniel Stenberg a604682805 Andy Tsouladze's fix to kill the knowledge of servers properly after they have
been killed.
2008-08-23 11:25:14 +00:00
Daniel Stenberg 14a5596346 - Andy Tsouladze fixed runtests.pl to not attempt to execute the stunnel
_directory_ if that happened to appear in the path!
2008-08-12 07:21:39 +00:00
Dan Fandrich b6b03c8ab9 Added feature in runtests.pl to select tests based on key word. 2008-07-27 02:34:27 +00:00
Dan Fandrich 932b589780 Changed the long logfile elision code in runtests.pl to properly handle
lines ending in \r.
2008-07-24 02:16:48 +00:00
Dan Fandrich 70d834c512 Always use $LOGDIR when referring to the log directory. 2008-06-19 01:12:02 +00:00
Daniel Stenberg 2d0fea2650 fixed the language somewhat 2008-06-13 20:45:34 +00:00
Daniel Stenberg 5abfdc0140 - curl the tool now deals with its command line options somewhat differently!
All boolean options (such as -O, -I, -v etc), both short and long versions,
  now always switch on/enable the option named. Using the same option multiple
  times thus make no difference. To switch off one of those options, you need
  to use the long version of the option and type --no-OPTION. Like to disable
  verbose mode you use --no-verbose!

- Added --remote-name-all to curl, which if used changes the default for all
  given URLs to be dealt with as if -O is used. So if you want to disable that
  for a specific URL after --remote-name-all has been used, you muse use -o -
  or --no-remote-name.
2008-06-08 20:53:49 +00:00
Daniel Stenberg 7b2531da24 do variable replacement in the stdout data read from the test case 2008-05-01 10:51:16 +00:00
Yang Tse 113d0937de Add 'timeout' and 'delay' attributes support for the test harness <command> subsection 2008-04-25 04:19:50 +00:00
Yang Tse 96edebf4d9 improve synchronization between test harness runtests.pl script
and test harness servers to minimize risk of false test failures.

http://curl.haxx.se/mail/lib-2008-04/0392.html
2008-04-23 23:55:34 +00:00
Dan Fandrich 768e3e796e Ignore the result of the postcheck command in torture mode 2008-04-21 17:19:44 +00:00
Dan Fandrich 80cec5a62a Fixed the test harness so it will write out zero-length data files. 2008-03-06 01:11:43 +00:00
Daniel Stenberg 2c80bcbc81 made the non-matching error code output nicer since we know it is a number
and the string contains a newline...
2008-02-20 12:14:31 +00:00
Yang Tse cf9259dd92 verifyserver() actually returns the pid of the unsecure http and ftp servers
when verifying the https and ftps servers
2008-02-13 06:06:57 +00:00
Yang Tse 6634e3c3a3 On heavily loaded systems any test server start up can take longer than the
timeout passed to startnew, when this happens startnew completes without being
able to read the pidfile and consequently returns a zero pid2.

To fix the above posibility the server pid is recovered from the verification
stage which will actually return the server pid when verification is valid.
2008-02-12 13:47:56 +00:00
Dan Fandrich 75c369dcca Disable test due to keyword before disabling due to bad server. 2008-02-11 20:10:36 +00:00
Yang Tse 6942d313ff Verify only once test harness sftp server connectivity and functionality.
Make sure that the sftp client tool uses the ssh client binary that we have
used to generate the configuration files, otherwise sftp might be using one
located in the preferred path compiled into sftp.
2008-02-10 02:52:17 +00:00
Yang Tse 1a340de0e5 To verify that the sftp server is actually running, responsive and that
all curl's tests generated configuration and key files are fine, a real
connection is established to the test harness sftp server authenticating
and running a simple sftp remote pwd command.

The verification is done using OpenSSH's or SunSSH's sftp client tool with
a configuration file with the same options as the test harness socks server
with the exception that dynamic forwarding is not used for sftp.
2008-02-08 13:54:02 +00:00
Yang Tse 01d95b56a0 fix failure to properly detect SSH and SOCKS servers start up on loaded systems 2008-01-18 09:18:59 +00:00
Daniel Stenberg 6893fcaa9b remove trailing comma too, even though I don't think it does any harm 2008-01-16 22:09:51 +00:00
Daniel Stenberg 301ae1ae1b Nathan Coulter's patch that makes runtests.pl respect the PATH when figuring
out what valgrind to run.
2008-01-16 22:08:37 +00:00
Yang Tse 69f685056d startnew() shouldn't return a positive pid as reported in the pidfile
by the spawned server itself unless it is actually alive
2008-01-14 19:28:54 +00:00
Yang Tse 2b63eb8511 Ooops 2008-01-12 00:12:16 +00:00
Yang Tse f09fe4b49f Ooops 2008-01-11 21:59:05 +00:00
Yang Tse 35be09cf58 When verifying that test harness's SSH and SOCKS servers have been
started check also that the process is actually alive, since they
could have died once the pidfile was written out
2008-01-11 20:17:33 +00:00
Yang Tse 14ff7e75e0 Temporary change to help debugging SSH server verification failures 2008-01-10 16:19:14 +00:00
Yang Tse 32cc75d6cb Partially cleanup debugging messages in test harness, introduced for
new minimum SSH version support for SCP, SFTP and SOCKS tests.

Some verbosity which still remains, will go out before next release.
2008-01-08 20:12:43 +00:00
Yang Tse 2408b236ca Display ssh server log and configuration upon socks server failure 2008-01-08 00:39:31 +00:00
Daniel Stenberg fe0d7aee49 Daniel Egger provided 'nonewline=yes' support for the <stdout> section 2008-01-04 23:31:04 +00:00
Yang Tse a4945fe687 Missing newline at end of message 2008-01-04 19:56:56 +00:00
Yang Tse 7a2177dc42 - Display curl_ssh_config when socks server fails to start.
- Capability of running socks5 tests must be based on ssh daemon version
  and not on ssh client version.
2008-01-04 13:00:40 +00:00
Yang Tse bf6e2f28ba Make sure @INC is modified before 'using' the sshhelp module. 2008-01-04 03:05:33 +00:00
Yang Tse fd8d862c37 Modify test harness so that the minimum SSH version required to run
SCP, SFTP and SOCKS4 tests is now OpenSSH 2.9.9 or SunSSH 1.0

For SOCKS5 tests minimum versions are OpenSSH 3.7 or SunSSH 1.0
2008-01-03 20:48:22 +00:00
Dan Fandrich 9cd30c2012 Use getcwd() to get the directory, which works even if one of the directory
components doesn't have read permission set.
2007-12-22 18:25:43 +00:00
Yang Tse 08cb30801c Stop ssh and socks servers when verification fails 2007-11-26 14:26:40 +00:00
Yang Tse 788de4f7ba Providing an explicit bind address besides the port for dynamic application-level
port forwarding, our socks port, prevents ssh from running on some systems.

By default, ssh binds local port forwardings to the loopback address, since this
was the address being given as the explicit bind address, now it isn't given.
2007-11-26 14:07:09 +00:00
Yang Tse d59841618d Temporary change to better debug startup failures
of test suite ssh and socks servers.
2007-11-26 02:45:24 +00:00
Yang Tse 8d3964782a Allow different start timeout specification for each server 2007-11-25 03:55:53 +00:00
Yang Tse 5b809a3104 make 'checkdied' in runtests.pl more robust 2007-11-23 12:18:45 +00:00
Yang Tse 3daa54d636 Revert last change since it breaks running the test suite
when builddir is different from srcdir.
2007-11-23 09:50:44 +00:00
Yang Tse 8f1829d1d2 Improve chance of running runtests.pl from outside the
source tree 'tests' directory
2007-11-23 04:03:46 +00:00
Yang Tse 6efb6addf2 Debugging messages to trace startnew failures 2007-11-22 19:56:38 +00:00
Yang Tse 61e2e86aef Temporary change adding additional debugging messages to better pinpoint
startup failures of test suite ssh and socks servers.
2007-11-21 19:33:09 +00:00
Yang Tse 5376d1047c This is a temporary change to test if OpenSSH 3.6 and SunSSH 1.1
are good/compatible enough to run the test suite ssh server and
socks tests
2007-11-19 17:20:32 +00:00
Daniel Stenberg 59dcc7e191 Michal Marek made the test suite remember what test servers that fail to
start so that subsequent tries are simply skipped.
2007-11-16 23:06:53 +00:00
Daniel Stenberg 44d408204a Michal Marek fixed the test suite to better deal with the case when the HTTP
ipv6 server can't run.
2007-11-15 22:41:31 +00:00
Dan Fandrich 8be493296d Make postcheck failure message more like the others 2007-11-01 17:42:39 +00:00
Dan Fandrich 3f55ed0ef7 Check that all servers in the <server> section are supported, not just
the first.
2007-10-26 19:26:04 +00:00
Dan Fandrich b7dd186d36 When valgrind is disabled in the test file, don't run it at all (as opposed
to running it and ignoring its output).
2007-10-25 19:39:52 +00:00
Yang Tse 26c1c8b2ad Don't show valgrind log files of other tests 2007-10-25 18:07:13 +00:00
Daniel Stenberg 824aa5f918 Michal Marek fixed the test script to be able to use valgrind even when the
lib is built shared with libtool.
2007-10-25 14:30:51 +00:00
Dan Fandrich 2fce1f3e97 Fixed the -l option of runtests.pl
Added support for skipping tests based on key words.
2007-10-11 21:15:09 +00:00
Dan Fandrich 4686adb433 Added variable substitution to the <verify><file> section.
Made a few more tests work remotely.
2007-09-20 20:39:17 +00:00
Dan Fandrich 048c74f2fa Added %CLIENTIP and %CLIENT6IP data file substitution variables.
Added hooks to the test suite to make it possible to test a curl running
on a remote host.
2007-09-17 21:42:01 +00:00
Daniel Stenberg c7e0d8c30b add some better logging when HTTP server start fails, and make the failure
really hard if the test server can't be resolved (like for ::1 ipv6)
2007-07-14 22:33:46 +00:00
Dan Fandrich c45d44fee9 Wait longer for servers to start up since the ssh server needs to generate
keys the first time (which can take a while on a slow or loaded host).
Enforce a longer startup wait time for the ssh client SOCKS server, too.
Check for an error code from startnew() when starting any server.
2007-06-11 17:53:10 +00:00
Dan Fandrich 477e27f99d Fixed the test harness so that it actually kills the ssh being used as
the SOCKS server.
2007-06-08 18:56:05 +00:00
Dan Fandrich 873d95a34c Incorporated Daniel Black's test706 and test707 SOCKS test cases. 2007-06-08 17:21:40 +00:00
Dan Fandrich 1500e95839 Improved compatibility with perl 5.0 on the 'open' calls. 2007-06-08 17:03:50 +00:00
Dan Fandrich ad80490711 Changed the opens to work on older versions of perl.
Redirect ssh output to ssh.log
2007-06-07 22:42:26 +00:00
Dan Fandrich f0ffb35d55 Fixed some problems in starting SSH for use in SOCKS. 2007-06-07 19:49:09 +00:00
Daniel Stenberg a466b31574 Daniel Black's test suite fixes and initial test cases for SOCKS4/5 using
openssh
2007-06-05 13:50:59 +00:00
Yang Tse 9583b51d80 In case of test failure, try not to show log files of other tests 2007-05-30 17:15:05 +00:00
Dan Fandrich 5187faeeb9 Improved the test harness to allow running test servers on other than
the default port numbers, allowing more than one test suite to run
simultaneously on the same host.
2007-04-30 20:15:33 +00:00
Dan Fandrich f213d0db98 Added support in runtests.pl for "!n" test numbers to disable individual tests. 2007-04-25 23:18:52 +00:00
Dan Fandrich 9bdb05b4d6 When displaying log files, truncate the really longs ones such as you
would get from a torture test.
2007-04-25 20:09:32 +00:00
Dan Fandrich 61d7e720a5 Treat log files and -k the same when running torture tests as when not. 2007-04-24 23:28:57 +00:00
Dan Fandrich 28dde78dde Added <postcheck> support to the test harness. 2007-04-23 22:58:45 +00:00