Test output for intarweb [ok]
Testing time: 0s
/home/mario/local/chicken-4.8.0.3/bin/csi -script run.scm < /dev/null
-- testing intarweb ----------------------------------------------------------
-- testing headers -------------------------------------------------------
-- testing single headers --------------------------------------------
Basic test ................................................... [ PASS]
Extra spaces are ignored ..................................... [ PASS]
Continuation chars ........................................... [ PASS]
Multiple headers for singular header types discarded ......... [ PASS]
4 tests completed in 0.001 seconds.
4 out of 4 (100%) tests passed.
-- done testing single headers ---------------------------------------
-- testing multi-headers ---------------------------------------------
Multiple headers ............................................. [ PASS]
Multiple headers: case insensitivity ......................... [ PASS]
Comma-separated headers ...................................... [ PASS]
Quoted headers ............................................... [ PASS]
Unknown headers are not parsed and put into lists ............ [ PASS]
5 tests completed in 0.0 seconds.
5 out of 5 (100%) tests passed.
-- done testing multi-headers ----------------------------------------
-- testing miscellaneous header stuff --------------------------------
Missing header contents ...................................... [ PASS]
Bad header w/ handler ........................................ [ PASS]
Bad header w/o handler ....................................... [ PASS]
Embedded newlines ............................................ [ PASS]
Too many headers is an error ................................. [ PASS]
5 tests completed in 0.001 seconds.
5 out of 5 (100%) tests passed.
-- done testing miscellaneous header stuff ---------------------------
3 subgroups completed in 0.002 seconds.
3 out of 3 (100%) subgroups passed.
-- done testing headers --------------------------------------------------
-- testing specialized header parsers ------------------------------------
-- testing host/port -------------------------------------------------
Hostname and port ............................................ [ PASS]
Hostname, no port ............................................ [ PASS]
2 tests completed in 0.0 seconds.
2 out of 2 (100%) tests passed.
-- done testing host/port --------------------------------------------
-- testing quality parameter -----------------------------------------
quality value (case-insensitive) ............................. [ PASS]
quality encoding value ....................................... [ PASS]
quality values have only three digits ........................ [ PASS]
quality values maximum is 1.0 ................................ [ PASS]
quality values minimum is 0.0 ................................ [ PASS]
missing quality value ok ..................................... [ PASS]
6 tests completed in 0.001 seconds.
6 out of 6 (100%) tests passed.
-- done testing quality parameter ------------------------------------
-- testing charset parameter -----------------------------------------
content-type value is lowercase symbol ....................... [ PASS]
content-type charset is lowercase symbol ..................... [ PASS]
2 tests completed in 0.0 seconds.
2 out of 2 (100%) tests passed.
-- done testing charset parameter ------------------------------------
-- testing symbol-parser-ci ------------------------------------------
Case-insensitive ............................................. [ PASS]
1 test completed in 0.0 seconds.
1 out of 1 (100%) test passed.
-- done testing symbol-parser-ci -------------------------------------
-- testing symbol-parser ---------------------------------------------
Case-sensitive ............................................... [ PASS]
1 test completed in 0.0 seconds.
1 out of 1 (100%) test passed.
-- done testing symbol-parser ----------------------------------------
-- testing natnum-subparser ------------------------------------------
Simple test .................................................. [ PASS]
No number defaults to 0 ...................................... [ PASS]
No negative numbers .......................................... [ PASS]
Rounding of real numbers ..................................... [ PASS]
4 tests completed in 0.001 seconds.
4 out of 4 (100%) tests passed.
-- done testing natnum-subparser -------------------------------------
-- testing cache-control-parser --------------------------------------
max-age is a number .......................................... [ PASS]
private without value ........................................ [ PASS]
private with values .......................................... [ PASS]
Acts like a multi-header ..................................... [ PASS]
4 tests completed in 0.0 seconds.
4 out of 4 (100%) tests passed.
-- done testing cache-control-parser ---------------------------------
-- testing authorization-parser --------------------------------------
-- testing basic auth --------------------------------------------
basic .................................................... [ PASS]
username ................................................. [ PASS]
password ................................................. [ PASS]
3 tests completed in 0.0 seconds.
3 out of 3 (100%) tests passed.
-- done testing basic auth ---------------------------------------
-- testing digest auth -------------------------------------------
digest ................................................... [ PASS]
realm .................................................... [ PASS]
nonce .................................................... [ PASS]
username ................................................. [ PASS]
qop ...................................................... [ PASS]
digest uri ............................................... [ PASS]
nonce count .............................................. [ PASS]
cnonce ................................................... [ PASS]
response ................................................. [ PASS]
opaque ................................................... [ PASS]
algorithm ................................................ [ PASS]
11 tests completed in 0.001 seconds.
11 out of 11 (100%) tests passed.
-- done testing digest auth --------------------------------------
-- testing custom authorization scheme ---------------------------
Custom ................................................... [ PASS]
Custom contents .......................................... [ PASS]
2 tests completed in 0.001 seconds.
2 out of 2 (100%) tests passed.
-- done testing custom authorization scheme ----------------------
3 subgroups completed in 0.002 seconds.
3 out of 3 (100%) subgroups passed.
-- done testing authorization-parser ---------------------------------
-- testing authenticate parser ---------------------------------------
-- testing basic auth --------------------------------------------
basic .................................................... [ PASS]
realm .................................................... [ PASS]
2 tests completed in 0.0 seconds.
2 out of 2 (100%) tests passed.
-- done testing basic auth ---------------------------------------
-- testing digest auth -------------------------------------------
digest ................................................... [ PASS]
realm .................................................... [ PASS]
qop ...................................................... [ PASS]
nonce .................................................... [ PASS]
opaque ................................................... [ PASS]
missing stale value ...................................... [ PASS]
domains .................................................. [ PASS]
stale .................................................... [ PASS]
non-true stale value ..................................... [ PASS]
9 tests completed in 0.001 seconds.
9 out of 9 (100%) tests passed.
-- done testing digest auth --------------------------------------
2 subgroups completed in 0.001 seconds.
2 out of 2 (100%) subgroups passed.
-- done testing authenticate parser ----------------------------------
-- testing pragma-parser ---------------------------------------------
value ........................................................ [ PASS]
no value ..................................................... [ PASS]
private with values .......................................... [ PASS]
Acts like a multi-header ..................................... [ PASS]
4 tests completed in 0.0 seconds.
4 out of 4 (100%) tests passed.
-- done testing pragma-parser ----------------------------------------
-- testing base64-parser ---------------------------------------------
md5 is base64-decoded ........................................ [ PASS]
1 test completed in 0.001 seconds.
1 out of 1 (100%) test passed.
-- done testing base64-parser ----------------------------------------
-- testing range-parser ----------------------------------------------
Simple range ................................................. [ PASS]
1 test completed in 0.0 seconds.
1 out of 1 (100%) test passed.
-- done testing range-parser -----------------------------------------
-- testing content-disposition ---------------------------------------
Attachment with filename parameter containing directory ...... [ PASS]
Inline with filename and (not quoted) creation-date parameter [ PASS]
Inline with size and (quoted) read-date parameter ............ [ PASS]
3 tests completed in 0.001 seconds.
3 out of 3 (100%) tests passed.
-- done testing content-disposition ----------------------------------
-- testing normalized-uri --------------------------------------------
Uri .......................................................... [ PASS]
Auto-normalization ........................................... [ PASS]
2 tests completed in 0.0 seconds.
2 out of 2 (100%) tests passed.
-- done testing normalized-uri ---------------------------------------
-- testing etag-parser -----------------------------------------------
Strong tag ................................................... [ PASS]
Weak tag ..................................................... [ PASS]
Empty tag .................................................... [ PASS]
Strong tag, containing W/ prefix ............................. [ PASS]
4 tests completed in 0.001 seconds.
4 out of 4 (100%) tests passed.
-- done testing etag-parser ------------------------------------------
-- testing if-match parser -------------------------------------------
Strong etag .................................................. [ PASS]
Weak etag .................................................... [ PASS]
Multiple etags ............................................... [ PASS]
Wildcard ..................................................... [ PASS]
4 tests completed in 0.0 seconds.
4 out of 4 (100%) tests passed.
-- done testing if-match parser --------------------------------------
-- testing http-date-parser ------------------------------------------
RFC1123 time ................................................. [ PASS]
RFC850 time .................................................. [ PASS]
asctime time ................................................. [ PASS]
3 tests completed in 0.0 seconds.
3 out of 3 (100%) tests passed.
-- done testing http-date-parser -------------------------------------
-- testing If-Range parser -------------------------------------------
RFC1123 time ................................................. [ PASS]
RFC850 time .................................................. [ PASS]
asctime time ................................................. [ PASS]
Strong Etag .................................................. [ PASS]
Weak Etag .................................................... [ PASS]
Empty Etag ................................................... [ PASS]
Strong Etag, containing W/ prefix ............................ [ PASS]
7 tests completed in 0.001 seconds.
7 out of 7 (100%) tests passed.
-- done testing If-Range parser --------------------------------------
-- testing product parser --------------------------------------------
Simple product ............................................... [ PASS]
Product with comment ......................................... [ PASS]
Realistic product (comments, semicolons) ..................... [ PASS]
3 tests completed in 0.0 seconds.
3 out of 3 (100%) tests passed.
-- done testing product parser ---------------------------------------
-- testing Set-Cookie parser -----------------------------------------
Simple name/value pair ....................................... [ PASS]
Multiple cookies with same name (CI) are all kept ............ [ PASS]
Cookie names preserve case ................................... [ PASS]
Cookie with = signs .......................................... [ PASS]
Comment ...................................................... [ PASS]
Multiple cookies in one header ............................... [ PASS]
Multiple cookies in multiple headers ......................... [ PASS]
Missing "secure" value ....................................... [ PASS]
Missing value ................................................ [ PASS]
Old-style cookie expires value ............................... [ PASS]
Secure value ................................................. [ PASS]
Path ......................................................... [ PASS]
Port numbers ................................................. [ PASS]
Noncompliant syntax cookie expiry value (rfc1123) ............ [ PASS]
Noncompliant syntax cookie expiry value (rfc850-like, abbrev day) [ PASS]
15 tests completed in 0.006 seconds.
15 out of 15 (100%) tests passed.
-- done testing Set-Cookie parser ------------------------------------
-- testing cookie-parser ---------------------------------------------
Multiple cookies in the same header .......................... [ PASS]
Parameters of cookies (spaces stripped) ...................... [ PASS]
Parameters of cookies ........................................ [ PASS]
Version string is used for all cookies ....................... [ PASS]
4 tests completed in 0.0 seconds.
4 out of 4 (100%) tests passed.
-- done testing cookie-parser ----------------------------------------
-- testing strict-transport-security-parser --------------------------
max-age is a number .......................................... [ PASS]
includeSubDomains without value .............................. [ PASS]
2 tests completed in 0.001 seconds.
2 out of 2 (100%) tests passed.
-- done testing strict-transport-security-parser ---------------------
-- testing headers ---------------------------------------------------
Simple test .................................................. [ PASS]
Multi headers are folded ..................................... [ PASS]
Single headers are unique .................................... [ PASS]
Extra single headers are ignored ............................. [ PASS]
Parameters ................................................... [ PASS]
Multi headers are folded into old headers .................... [ PASS]
6 tests completed in 0.0 seconds.
6 out of 6 (100%) tests passed.
-- done testing headers ----------------------------------------------
23 subgroups completed in 0.016 seconds.
23 out of 23 (100%) subgroups passed.
-- done testing specialized header parsers -------------------------------
-- testing unparsers -----------------------------------------------------
-- testing default unparser ------------------------------------------
String ....................................................... [ PASS]
Multiple strings ............................................. [ PASS]
Auto-quoting on commas and whitespace ........................ [ PASS]
Escaping quotes .............................................. [ PASS]
Escaping control characters .................................. [ PASS]
Embedded newlines throw an error ............................. [ PASS]
Alist ........................................................ [ PASS]
Alist with escapes ........................................... [ PASS]
URI .......................................................... [ PASS]
Parameters ................................................... [ PASS]
10 tests completed in 0.002 seconds.
10 out of 10 (100%) tests passed.
-- done testing default unparser -------------------------------------
-- testing etag unparser ---------------------------------------------
Weak tag ..................................................... [ PASS]
Strong tag ................................................... [ PASS]
Strong tag starting with W/ .................................. [ PASS]
3 tests completed in 0.0 seconds.
3 out of 3 (100%) tests passed.
-- done testing etag unparser ----------------------------------------
-- testing if-match unparser -----------------------------------------
List of etags ................................................ [ PASS]
Wildcard ..................................................... [ PASS]
2 tests completed in 0.001 seconds.
2 out of 2 (100%) tests passed.
-- done testing if-match unparser ------------------------------------
-- testing date/time unparser ----------------------------------------
RFC1123 time ................................................. [ PASS]
1 test completed in 0.0 seconds.
1 out of 1 (100%) test passed.
-- done testing date/time unparser -----------------------------------
-- testing host/port unparser ----------------------------------------
No port specified ............................................ [ PASS]
Different port ............................................... [ PASS]
2 tests completed in 0.0 seconds.
2 out of 2 (100%) tests passed.
-- done testing host/port unparser -----------------------------------
-- testing product unparser ------------------------------------------
Product with comments ........................................ [ PASS]
Realistic product ............................................ [ PASS]
2 tests completed in 0.0 seconds.
2 out of 2 (100%) tests passed.
-- done testing product unparser -------------------------------------
-- testing cookie unparser -------------------------------------------
Basic cookie ................................................. [ PASS]
Port list .................................................... [ PASS]
#t or #f values .............................................. [ PASS]
3 tests completed in 0.004 seconds.
3 out of 3 (100%) tests passed.
-- done testing cookie unparser --------------------------------------
-- testing Set-Cookie unparser ---------------------------------------
Simple name/value pair ....................................... [ PASS]
Multiple cookies with same name (CI) are all written ......... [ PASS]
Cookie names preserve case ................................... [ PASS]
Cookie with = signs .......................................... [ PASS]
Comment ...................................................... [ PASS]
Old-style cookie expires value ............................... [ PASS]
Secure (true) ................................................ [ PASS]
Secure (false) ............................................... [ PASS]
Path ......................................................... [ PASS]
9 tests completed in 0.002 seconds.
9 out of 9 (100%) tests passed.
-- done testing Set-Cookie unparser ----------------------------------
-- testing authorization unparser ------------------------------------
Basic auth ................................................... [ PASS]
Basic auth with colon in username ............................ [ PASS]
Digest auth .................................................. [ PASS]
Custom auth .................................................. [ PASS]
4 tests completed in 0.001 seconds.
4 out of 4 (100%) tests passed.
-- done testing authorization unparser -------------------------------
-- testing authenticate unparser -------------------------------------
-- testing basic auth --------------------------------------------
basic .................................................... [ PASS]
1 test completed in 0.0 seconds.
1 out of 1 (100%) test passed.
-- done testing basic auth ---------------------------------------
-- testing digest auth -------------------------------------------
digest ................................................... [ PASS]
domains .................................................. [ PASS]
stale .................................................... [ PASS]
stale present but false .................................. [ PASS]
4 tests completed in 0.001 seconds.
4 out of 4 (100%) tests passed.
-- done testing digest auth --------------------------------------
2 subgroups completed in 0.001 seconds.
2 out of 2 (100%) subgroups passed.
-- done testing authenticate unparser --------------------------------
-- testing content-disposition unparser ------------------------------
Attributes are always fully quoted and filenames stripped .... [ PASS]
Size and dates are recognised correctly ...................... [ PASS]
2 tests completed in 0.003 seconds.
2 out of 2 (100%) tests passed.
-- done testing content-disposition unparser -------------------------
-- testing strict-transport-security unparser ------------------------
Silly capitalization is honored, even if unneccessary ........ [ PASS]
1 test completed in 0.0 seconds.
1 out of 1 (100%) test passed.
-- done testing strict-transport-security unparser -------------------
12 subgroups completed in 0.014 seconds.
12 out of 12 (100%) subgroups passed.
-- done testing unparsers ------------------------------------------------
-- testing reading of requests -------------------------------------------
(test-read-request "qux") ........................................ [ PASS]
(test-read-request "") ........................................... [ PASS]
(test-read-request "foo") ........................................ [ PASS]
(test-read-request "bar") ........................................ [ PASS]
-- testing HTTP/0.9 --------------------------------------------------
By default, HTTP/0.9 is disabled ............................. [ PASS]
(request-major req) .......................................... [ PASS]
(request-minor req) .......................................... [ PASS]
(request-method req) ......................................... [ PASS]
(request-uri req) ............................................ [ PASS]
(request-headers req) ........................................ [ PASS]
Method is case-insensitive ................................... [ PASS]
0.9 only knows GET ........................................... [ PASS]
8 tests completed in 0.001 seconds.
8 out of 8 (100%) tests passed.
-- done testing HTTP/0.9 ---------------------------------------------
-- testing HTTP/1.0 --------------------------------------------------
(request-major req) .......................................... [ PASS]
(request-minor req) .......................................... [ PASS]
(request-method req) ......................................... [ PASS]
(request-uri req) ............................................ [ PASS]
(request-headers req) ........................................ [ PASS]
(request-method (test-read-request "PUT /path HTTP/1.0\r\n")) [ PASS]
6 tests completed in 0.001 seconds.
6 out of 6 (100%) tests passed.
-- done testing HTTP/1.0 ---------------------------------------------
-- testing HTTP/1.1 --------------------------------------------------
(request-major req) .......................................... [ PASS]
(request-minor req) .......................................... [ PASS]
(request-method (test-read-request "PUT /path HTTP/1.1\r\n\r\n")) [ PASS]
Method is case-sensitive ..................................... [ PASS]
Protocol is case-insensitive ................................. [ PASS]
Request line limit exceeded gives error ...................... [ PASS]
Reading request body ......................................... [ PASS]
Reading request body with bigger limit ....................... [ PASS]
Request body limit exceeded gives error ...................... [ PASS]
9 tests completed in 0.002 seconds.
9 out of 9 (100%) tests passed.
-- done testing HTTP/1.1 ---------------------------------------------
4 tests and 3 subgroups completed in 0.004 seconds.
4 out of 4 (100%) tests passed.
3 out of 3 (100%) subgroups passed.
-- done testing reading of requests --------------------------------------
-- testing writing of requests -------------------------------------------
-- testing HTTP/0.9 --------------------------------------------------
By default, HTTP/0.9 is disabled ............................. [ PASS]
Always empty headers ......................................... [ PASS]
Always GET ................................................... [ PASS]
3 tests completed in 0.001 seconds.
3 out of 3 (100%) tests passed.
-- done testing HTTP/0.9 ---------------------------------------------
-- testing HTTP/1.0 --------------------------------------------------
Headers ...................................................... [ PASS]
Chunking ignored ............................................. [ PASS]
2 tests completed in 0.0 seconds.
2 out of 2 (100%) tests passed.
-- done testing HTTP/1.0 ---------------------------------------------
-- testing HTTP/1.1 --------------------------------------------------
Headers ...................................................... [ PASS]
Chunking ..................................................... [ PASS]
2 tests completed in 0.0 seconds.
2 out of 2 (100%) tests passed.
-- done testing HTTP/1.1 ---------------------------------------------
3 subgroups completed in 0.001 seconds.
3 out of 3 (100%) subgroups passed.
-- done testing writing of requests --------------------------------------
-- testing reading of responses ------------------------------------------
-- testing HTTP/1.1 --------------------------------------------------
Version detection ............................................ [ PASS]
Status ....................................................... [ PASS]
Headers ...................................................... [ PASS]
Contents ..................................................... [ PASS]
Response line limit exceeded gives error ..................... [ PASS]
Chunking ..................................................... [ PASS]
First read of chunked port returns first line ................ [ PASS]
Peek-char returns EOF ........................................ [ PASS]
Read-char also returns EOF ................................... [ PASS]
9 tests completed in 0.001 seconds.
9 out of 9 (100%) tests passed.
-- done testing HTTP/1.1 ---------------------------------------------
-- testing HTTP/1.0 --------------------------------------------------
Version detection ............................................ [ PASS]
Status ....................................................... [ PASS]
Headers ...................................................... [ PASS]
Contents ..................................................... [ PASS]
Chunking ignored ............................................. [ PASS]
5 tests completed in 0.001 seconds.
5 out of 5 (100%) tests passed.
-- done testing HTTP/1.0 ---------------------------------------------
-- testing HTTP/0.9 --------------------------------------------------
By default, HTTP/0.9 is disabled ............................. [ PASS]
Always OK status ............................................. [ PASS]
Version detection; fallback to 0.9 ........................... [ PASS]
No headers ................................................... [ PASS]
Contents ..................................................... [ PASS]
5 tests completed in 0.0 seconds.
5 out of 5 (100%) tests passed.
-- done testing HTTP/0.9 ---------------------------------------------
3 subgroups completed in 0.002 seconds.
3 out of 3 (100%) subgroups passed.
-- done testing reading of responses -------------------------------------
-- testing writing of responses ------------------------------------------
-- testing HTTP/0.9 --------------------------------------------------
By default, HTTP/0.9 is disabled ............................. [ PASS]
Headers ignored .............................................. [ PASS]
2 tests completed in 0.0 seconds.
2 out of 2 (100%) tests passed.
-- done testing HTTP/0.9 ---------------------------------------------
-- testing HTTP/1.0 --------------------------------------------------
Headers used ................................................. [ PASS]
Status code .................................................. [ PASS]
Chunking ignored ............................................. [ PASS]
3 tests completed in 0.001 seconds.
3 out of 3 (100%) tests passed.
-- done testing HTTP/1.0 ---------------------------------------------
-- testing HTTP/1.1 --------------------------------------------------
Headers used ................................................. [ PASS]
Status code .................................................. [ PASS]
Chunking ..................................................... [ PASS]
3 tests completed in 0.0 seconds.
3 out of 3 (100%) tests passed.
-- done testing HTTP/1.1 ---------------------------------------------
-- testing status ----------------------------------------------------
reason and code are looked up by symbol properly ............. [ PASS]
an error is raised for unknown status codes .................. [ PASS]
any status can be used when code and reason are given directly [ PASS]
defaults can be parameterized ................................ [ PASS]
4 tests completed in 0.001 seconds.
4 out of 4 (100%) tests passed.
-- done testing status -----------------------------------------------
4 subgroups completed in 0.002 seconds.
4 out of 4 (100%) subgroups passed.
-- done testing writing of responses -------------------------------------
-- testing etag comparison procedures ------------------------------------
-- testing weak comparison -------------------------------------------
Strong etag does not match list not containing it ............ [ PASS]
Weak etag does not match list not containing it .............. [ PASS]
Weak etag matches list containing it ......................... [ PASS]
Strong etag matches list containing it ....................... [ PASS]
Weak etag does not match list containing same tag but strong . [ PASS]
Strong etag does not match list containing same tag but weak . [ PASS]
Weak etag matches list containing wildcard ................... [ PASS]
Strong etag matches list containing wildcard ................. [ PASS]
8 tests completed in 0.001 seconds.
8 out of 8 (100%) tests passed.
-- done testing weak comparison --------------------------------------
-- testing strong comparison -----------------------------------------
Strong etag does not match list not containing it ............ [ PASS]
Weak etag does not match list not containing it .............. [ PASS]
Weak etag does *not* match list containing it ................ [ PASS]
Strong etag matches list containing it ....................... [ PASS]
Weak etag does not match list containing same tag but strong . [ PASS]
Strong etag does not match list containing same tag but weak . [ PASS]
Weak etag matches list containing wildcard ................... [ PASS]
Strong etag matches list containing wildcard ................. [ PASS]
8 tests completed in 0.0 seconds.
8 out of 8 (100%) tests passed.
-- done testing strong comparison ------------------------------------
2 subgroups completed in 0.001 seconds.
2 out of 2 (100%) subgroups passed.
-- done testing etag comparison procedures -------------------------------
8 subgroups completed in 0.348 seconds.
8 out of 8 (100%) subgroups passed.
-- done testing intarweb -----------------------------------------------------