minor things about the test suite added
This commit is contained in:
parent
0d7ba0ec61
commit
a5217dd10e
@ -12,6 +12,17 @@ INTERNALS
|
|||||||
|
|
||||||
Thus, the largest amount of code and complexity is in the library part.
|
Thus, the largest amount of code and complexity is in the library part.
|
||||||
|
|
||||||
|
CVS
|
||||||
|
===
|
||||||
|
|
||||||
|
All changes to the sources are committed to the CVS repository as soon as
|
||||||
|
they're somewhat verified to work. Changes shall be commited as independently
|
||||||
|
as possible so that individual changes can be easier spotted and tracked
|
||||||
|
afterwards.
|
||||||
|
|
||||||
|
Tagging shall be used extensively, and by the time we release new archives we
|
||||||
|
should tag the sources with a name similar to the released version number.
|
||||||
|
|
||||||
Windows vs Unix
|
Windows vs Unix
|
||||||
===============
|
===============
|
||||||
|
|
||||||
@ -47,9 +58,9 @@ Library
|
|||||||
=======
|
=======
|
||||||
|
|
||||||
As described elsewhere, libcurl is meant to get two different "layers" of
|
As described elsewhere, libcurl is meant to get two different "layers" of
|
||||||
interface. At the present point only the high-level, the "easy", interface
|
interfaces. At the present point only the high-level, the "easy", interface
|
||||||
has been fully implemented and thus documented. We assume the easy-interface
|
has been fully implemented and documented. We assume the easy-interface in
|
||||||
in this description, the low-level interface will be documented when fully
|
this description, the low-level interface will be documented when fully
|
||||||
implemented.
|
implemented.
|
||||||
|
|
||||||
There are plenty of entry points to the library, namely each publicly defined
|
There are plenty of entry points to the library, namely each publicly defined
|
||||||
@ -57,11 +68,14 @@ Library
|
|||||||
rather small and easy-to-follow. All the ones prefixed with 'curl_easy' are
|
rather small and easy-to-follow. All the ones prefixed with 'curl_easy' are
|
||||||
put in the lib/easy.c file.
|
put in the lib/easy.c file.
|
||||||
|
|
||||||
|
curl_easy_init() allocates an internal struct and makes some initializations.
|
||||||
|
The returned handle does not revail internals.
|
||||||
|
|
||||||
curl_easy_setopt() takes a three arguments, where the option stuff must be
|
curl_easy_setopt() takes a three arguments, where the option stuff must be
|
||||||
passed in pairs, the parameter-ID and the parameter-value. The list of
|
passed in pairs, the parameter-ID and the parameter-value. The list of
|
||||||
options is documented in the man page.
|
options is documented in the man page.
|
||||||
|
|
||||||
curl_easy_perform() does a whole lot of things.
|
curl_easy_perform() does a whole lot of things:
|
||||||
|
|
||||||
The function analyzes the URL, get the different components and connects to
|
The function analyzes the URL, get the different components and connects to
|
||||||
the remote host. This may involve using a proxy and/or using SSL. The
|
the remote host. This may involve using a proxy and/or using SSL. The
|
||||||
@ -131,11 +145,12 @@ Library
|
|||||||
|
|
||||||
lib/getenv.c offers curl_getenv() which is for reading environment variables
|
lib/getenv.c offers curl_getenv() which is for reading environment variables
|
||||||
in a neat platform independent way. That's used in the client, but also in
|
in a neat platform independent way. That's used in the client, but also in
|
||||||
lib/url.c when checking the PROXY variables.
|
lib/url.c when checking the proxy environment variables.
|
||||||
|
|
||||||
lib/netrc.c keeps the .netrc parser
|
lib/netrc.c holds the .netrc parser
|
||||||
|
|
||||||
lib/timeval.c features replacement functions for systems that don't have
|
lib/timeval.c features replacement functions for systems that don't have
|
||||||
|
gettimeofday().
|
||||||
|
|
||||||
A function named curl_version() that returns the full curl version string is
|
A function named curl_version() that returns the full curl version string is
|
||||||
found in lib/version.c.
|
found in lib/version.c.
|
||||||
@ -143,10 +158,10 @@ Library
|
|||||||
Client
|
Client
|
||||||
======
|
======
|
||||||
|
|
||||||
main() resides in src/main.c together with most of the client
|
main() resides in src/main.c together with most of the client code.
|
||||||
code. src/hugehelp.c is automatically generated by the mkhelp.pl perl script
|
src/hugehelp.c is automatically generated by the mkhelp.pl perl script to
|
||||||
to display the complete "manual" and the src/urlglob.c file holds the
|
display the complete "manual" and the src/urlglob.c file holds the functions
|
||||||
functions used for the multiple-URL support.
|
used for the multiple-URL support.
|
||||||
|
|
||||||
The client mostly mess around to setup its config struct properly, then it
|
The client mostly mess around to setup its config struct properly, then it
|
||||||
calls the curl_easy_*() functions of the library and when it gets back
|
calls the curl_easy_*() functions of the library and when it gets back
|
||||||
@ -158,4 +173,16 @@ Client
|
|||||||
curl_easy_getinfo() function to extract useful information from the curl
|
curl_easy_getinfo() function to extract useful information from the curl
|
||||||
session.
|
session.
|
||||||
|
|
||||||
|
Test Suite
|
||||||
|
==========
|
||||||
|
|
||||||
|
During November 2000, a test suite has evolved. It is placed in its own
|
||||||
|
subdirectory directly off the root in the curl archive tree, and it contains
|
||||||
|
a bunch of scripts and a lot of test case data.
|
||||||
|
|
||||||
|
The main test script is runtests.pl that will invoke the two servers
|
||||||
|
httpserver.pl and ftpserver.pl before all the test cases are performed. The
|
||||||
|
test suite currently only runs on unix-like platforms.
|
||||||
|
|
||||||
|
You'll find a complete description of the test case data files in the README
|
||||||
|
file in the test directory.
|
||||||
|
Loading…
Reference in New Issue
Block a user