1.1.3
by Matthias Klose
Import upstream version 7.14.0 |
1 |
.\" ************************************************************************** |
2 |
.\" * _ _ ____ _ |
|
3 |
.\" * Project ___| | | | _ \| | |
|
4 |
.\" * / __| | | | |_) | | |
|
5 |
.\" * | (__| |_| | _ <| |___ |
|
6 |
.\" * \___|\___/|_| \_\_____| |
|
7 |
.\" * |
|
1.1.9
by Matthias Klose
Import upstream version 7.17.1 |
8 |
.\" * Copyright (C) 1998 - 2007, Daniel Stenberg, <daniel@haxx.se>, et al. |
1.1.3
by Matthias Klose
Import upstream version 7.14.0 |
9 |
.\" * |
10 |
.\" * This software is licensed as described in the file COPYING, which |
|
11 |
.\" * you should have received as part of this distribution. The terms |
|
12 |
.\" * are also available at http://curl.haxx.se/docs/copyright.html. |
|
13 |
.\" * |
|
14 |
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell |
|
15 |
.\" * copies of the Software, and permit persons to whom the Software is |
|
16 |
.\" * furnished to do so, under the terms of the COPYING file. |
|
17 |
.\" * |
|
18 |
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY |
|
19 |
.\" * KIND, either express or implied. |
|
20 |
.\" * |
|
21 |
.\" ************************************************************************** |
|
22 |
.\" |
|
3.4.3
by Domenico Andreoli
* Package is orphaned. |
23 |
.TH runtests.pl 1 "2 Feb 2010" "Curl 7.20.0" "runtests" |
1.1.3
by Matthias Klose
Import upstream version 7.14.0 |
24 |
.SH NAME |
25 |
runtests.pl \- run one or more test cases
|
|
26 |
.SH SYNOPSIS |
|
1.1.12
by Andreas Schuldei
Import upstream version 7.19.4 |
27 |
.B runtests.pl [options] [test number] [!test number] [key word] [!key word] |
1.1.3
by Matthias Klose
Import upstream version 7.14.0 |
28 |
.SH DESCRIPTION |
29 |
\fIruntests.pl\fP runs one, several or all the existing test cases in curl's |
|
30 |
test suite. It is often called from the root Makefile of the curl package with |
|
31 |
\&'make test'.
|
|
32 |
.SH "TEST NUMBER" |
|
33 |
If no test case number is given, all existing tests that the script can find |
|
34 |
will be considered for running. You can specify single test cases to run, |
|
35 |
space-separated, like "1 3 5 7 11", and you can specify a range like "45 to |
|
1.1.9
by Matthias Klose
Import upstream version 7.17.1 |
36 |
67". You can also specify only the tests you don't want to run by listing |
37 |
the numbers with a leading exclamation point, like "!66". |
|
38 |
.P
|
|
39 |
It is also possible to specify tests to skip based on a key word describing |
|
40 |
the test. These are specified with a leading exclamation point and the |
|
1.1.12
by Andreas Schuldei
Import upstream version 7.19.4 |
41 |
key word or phrase, like "!HTTP NTLM auth". Likewise, tests to run can |
42 |
be specified simply by specifying the unadorned key words, like "FTPS". |
|
43 |
Remember that the exclamation marks and spaces will need to be quoted somehow |
|
44 |
when entered at many command shells. |
|
1.1.3
by Matthias Klose
Import upstream version 7.14.0 |
45 |
.SH OPTIONS |
46 |
.IP "-a" |
|
47 |
Continue running the rest of the test cases even if one test fails. By |
|
48 |
default, the test script stops as soon as an error is detected. |
|
1.1.9
by Matthias Klose
Import upstream version 7.17.1 |
49 |
.IP "-bN" |
50 |
Use N as the base TCP/UDP port number on which to start the test servers. |
|
1.1.3
by Matthias Klose
Import upstream version 7.14.0 |
51 |
.IP "-c <curl>" |
52 |
Provide a custom curl binary to run the tests with. Default is the curl |
|
53 |
executable in the build tree. |
|
54 |
.IP "-d" |
|
55 |
Enable protocol debug: have the servers display protocol output. |
|
56 |
.IP "-g" |
|
57 |
Run the given test(s) with gdb. This is best used on a single test case and |
|
58 |
curl built --disable-shared. This then fires up gdb with command line set to |
|
59 |
run the specified test case. Simply (set a break-point and) type 'run' to |
|
60 |
start. |
|
61 |
.IP "-h" |
|
62 |
Displays a help text about this program's command line options. |
|
63 |
.IP "-k" |
|
64 |
Keep output and log files in log/ after a test run, even if no error was |
|
65 |
detected. Useful for debugging. |
|
66 |
.IP "-l" |
|
67 |
Lists all test case names. |
|
68 |
.IP "-n" |
|
69 |
Disable the check for and use of valgrind. |
|
70 |
.IP "-p" |
|
71 |
Prints out all files in "log/" to stdout when a test case fails. Very |
|
72 |
practical when used in the automated and distributed tests since then the |
|
73 |
people checking the failures and the reasons for them might not have physical |
|
74 |
access to the machine and logs. |
|
3.4.3
by Domenico Andreoli
* Package is orphaned. |
75 |
.IP "-r" |
76 |
Display run time statistics. (Requires Perl Time::HiRes module) |
|
77 |
.IP "-rf" |
|
78 |
Display full run time statistics. (Requires Perl Time::HiRes module) |
|
1.1.3
by Matthias Klose
Import upstream version 7.14.0 |
79 |
.IP "-s" |
80 |
Shorter output. Speaks less than default. |
|
81 |
.IP "-t[num]" |
|
82 |
Selects a \fBtorture\fP test for the given tests. This makes runtests.pl first |
|
83 |
run the tests once and count the number of memory allocations made. It then |
|
84 |
reruns the test that number of times, each time forcing one of the allocations |
|
85 |
to fail until all allocs have been tested. By setting \fInum\fP you can force |
|
86 |
the allocation with that number to be set to fail at once instead of looping |
|
87 |
through everyone, which is very handy when debugging and then often in |
|
88 |
combination with \fI-g\fP. |
|
89 |
.IP "-v" |
|
90 |
Enable verbose output. Speaks more than default. |
|
91 |
.SH "RUNNING TESTS" |
|
92 |
Many tests have conditions that must be met before the test case can run |
|
93 |
fine. They could depend on built-in features in libcurl or features present in |
|
1.1.9
by Matthias Klose
Import upstream version 7.17.1 |
94 |
the operating system or even in third-party libraries that curl may or may not |
1.1.3
by Matthias Klose
Import upstream version 7.14.0 |
95 |
use. |
1.1.12
by Andreas Schuldei
Import upstream version 7.19.4 |
96 |
.P
|
97 |
The test script checks most of these by itself to determine when it is |
|
98 |
safe to attempt to run each test. Those which cannot be run due to |
|
99 |
failed requirements will simply be skipped and listed at the completion |
|
100 |
of all test cases. In some unusual configurations, the test script |
|
101 |
cannot make the correct determination for all tests. In these cases, |
|
102 |
the problematic tests can be skipped using the "!keyword" skip feature |
|
103 |
documented earlier. |
|
1.1.3
by Matthias Klose
Import upstream version 7.14.0 |
104 |
.SH "WRITING TESTS" |
105 |
The simplest way to write test cases is to start with a similar existing test, |
|
106 |
save it with a new number and then adjust it to fit. There's an attempt to |
|
107 |
document the test case file format in the tests/FILEFORMAT. |