Test output for http-client [ok]

Testing time: 5s

'/usr/home/chicken/salmonella/build/salmonella-run-publish/chicken/bin/csi' -script run.scm < /dev/null 2>&1

-- testing http-client -------------------------------------------------------

    -- testing simple GET requests -------------------------------------------

        -- testing an empty response -----------------------------------------
        Response is EOF .............................................. [ PASS]
        Request method ............................................... [ PASS]
        URI is path without fragment ................................. [ PASS]
        host header gets set ......................................... [ PASS]
        HTTP request is version 1.1 .................................. [ PASS]
        5 tests completed in 27/250 seconds.
        5 out of 5 (100%) tests passed.
        -- done testing an empty response ------------------------------------


        -- testing a response with trailing garbage --------------------------
        Response excludes garbage data ............................... [ PASS]
        1 test completed in 11/100 seconds.
        1 out of 1 (100%) test passed.
        -- done testing a response with trailing garbage ---------------------


        -- testing a short chunked response with trailing garbage ------------
        Response is the chunked data ................................. [ PASS]
        1 test completed in 1/10 seconds.
        1 out of 1 (100%) test passed.
        -- done testing a short chunked response with trailing garbage -------


        -- testing 400 series ------------------------------------------------
        404 results in client error .................................. [ PASS]
        1 test completed in 109/1000 seconds.
        1 out of 1 (100%) test passed.
        -- done testing 400 series -------------------------------------------

    4 subgroups completed in 427/1000 seconds.
    4 out of 4 (100%) subgroups passed.
    -- done testing simple GET requests --------------------------------------


    -- testing request body encoding -----------------------------------------

        -- testing simple string body ----------------------------------------
        Response is read back ........................................ [ PASS]
        Request method ............................................... [ PASS]
        Content type is not set ...................................... [ PASS]
        Content-length is string length .............................. [ PASS]
        String was sent as body ...................................... [ PASS]
        5 tests completed in 51/500 seconds.
        5 out of 5 (100%) tests passed.
        -- done testing simple string body -----------------------------------


        -- testing string body with custom request method --------------------
        Response is read back ........................................ [ PASS]
        Request method is custom ..................................... [ PASS]
        Content type is not set ...................................... [ PASS]
        Content-length is string length .............................. [ PASS]
        String was sent as body ...................................... [ PASS]
        5 tests completed in 1/10 seconds.
        5 out of 5 (100%) tests passed.
        -- done testing string body with custom request method ---------------


        -- testing string body using HTTP/1.0 --------------------------------
        Response is read back ........................................ [ PASS]
        Request method is custom ..................................... [ PASS]
        Version is correct ........................................... [ PASS]
        Content type is not set ...................................... [ PASS]
        Content-length is set ........................................ [ PASS]
        String was sent as body ...................................... [ PASS]
        6 tests completed in 1/250 seconds.
        6 out of 6 (100%) tests passed.
        -- done testing string body using HTTP/1.0 ---------------------------


        -- testing alist form data body --------------------------------------
        Request method ............................................... [ PASS]
        Content type is form encoding ................................ [ PASS]
        Content-length was set correctly ............................. [ PASS]
        Body was sent correctly ...................................... [ PASS]
        4 tests completed in 53/500 seconds.
        4 out of 4 (100%) tests passed.
        -- done testing alist form data body ---------------------------------


        -- testing alist form data body with file port -----------------------
        Request method ............................................... [ PASS]
        Content type is multipart .................................... [ PASS]
        Content-length was not set ................................... [ PASS]
        Version is the default HTTP version of 1.1 ................... [ PASS]
        Transfer encoding is chunked ................................. [ PASS]
        Body contains the file and other data, delimited by the boundary  [ PASS]
        6 tests completed in 111/1000 seconds.
        6 out of 6 (100%) tests passed.
        -- done testing alist form data body with file port ------------------


        -- testing alist form data body with file port using HTTP/1.0 --------
        Request method ............................................... [ PASS]
        Content type is multipart .................................... [ PASS]
        Content-length was not set ................................... [ PASS]
        Version is correct ........................................... [ PASS]
        Transfer encoding is not set ................................. [ PASS]
        Body contains the file and other data, delimited by the boundary  [ PASS]
        6 tests completed in 1/200 seconds.
        6 out of 6 (100%) tests passed.
        -- done testing alist form data body with file port using HTTP/1.0 ---


        -- testing alist form data body with filename ------------------------
        Request method ............................................... [ PASS]
        Content type is multipart .................................... [ PASS]
        Content-length was set to the entire body size ............... [ PASS]
        Body contains the file and other data, delimited by the boundary  [ PASS]
        4 tests completed in 21/200 seconds.
        4 out of 4 (100%) tests passed.
        -- done testing alist form data body with filename -------------------


        -- testing custom writer procedure -----------------------------------
        Response is read back ........................................ [ PASS]
        Request method ............................................... [ PASS]
        Content type is not set ...................................... [ PASS]
        Transfer encoding is chunked ................................. [ PASS]
        Content-length is not set .................................... [ PASS]
        All writes were received ..................................... [ PASS]
        6 tests completed in 109/1000 seconds.
        6 out of 6 (100%) tests passed.
        -- done testing custom writer procedure ------------------------------


        -- testing custom writer procedure with content-length header --------
        Response is read back ........................................ [ PASS]
        Request method ............................................... [ PASS]
        Content type is not set ...................................... [ PASS]
        Transfer encoding is not set ................................. [ PASS]
        Content-length is taken from user-supplied header ............ [ PASS]
        All writes were received ..................................... [ PASS]
        6 tests completed in 1/10 seconds.
        6 out of 6 (100%) tests passed.
        -- done testing custom writer procedure with content-length header ---


        -- testing custom writer procedure with http/1.0 and no content-length 
        Response is read back ........................................ [ PASS]
        Request method ............................................... [ PASS]
        Content type is not set ...................................... [ PASS]
        Transfer encoding is not set ................................. [ PASS]
        Content-length is not set .................................... [ PASS]
        Connection is not set ........................................ [ PASS]
        All writes were received ..................................... [ PASS]
        7 tests completed in 3/1000 seconds.
        7 out of 7 (100%) tests passed.
        -- done testing custom writer procedure with http/1.0 and no content-length 

    10 subgroups completed in 149/200 seconds.
    10 out of 10 (100%) subgroups passed.
    -- done testing request body encoding ------------------------------------


    -- testing Redirects -----------------------------------------------------

        -- testing single permanent GET redirect -----------------------------
        Final response matches final request ......................... [ PASS]
        Redirected URI is new path ................................... [ PASS]
        host header gets set on second request ....................... [ PASS]
        HTTP request is version 1.1 (even though response was 1.0) ... [ PASS]
        4 tests completed in 103/500 seconds.
        4 out of 4 (100%) tests passed.
        -- done testing single permanent GET redirect ------------------------


        -- testing single permanent POST redirect ----------------------------
        Final response matches final request ......................... [ PASS]
        Redirected URI is new path ................................... [ PASS]
        HTTP method is still POST .................................... [ PASS]
        Correct content-length on both requests ...................... [ PASS]
        Body got sent to target ...................................... [ PASS]
        5 tests completed in 1/5 seconds.
        5 out of 5 (100%) tests passed.
        -- done testing single permanent POST redirect -----------------------


        -- testing single "see other" POST redirect --------------------------
        Final response matches final request ......................... [ PASS]
        Redirected URI is new path ................................... [ PASS]
        HTTP method switched to GET .................................. [ PASS]
        Zero content-length on target ................................ [ PASS]
        No body got sent to target ................................... [ PASS]
        5 tests completed in 211/1000 seconds.
        5 out of 5 (100%) tests passed.
        -- done testing single "see other" POST redirect ---------------------


        -- testing Multiple redirects, just below maximum --------------------
        Final response matches final request ......................... [ PASS]
        Redirected URI is new path ................................... [ PASS]
        host header gets set on last request ......................... [ PASS]
        HTTP request is still version 1.1 ............................ [ PASS]
        4 tests completed in 409/1000 seconds.
        4 out of 4 (100%) tests passed.
        -- done testing Multiple redirects, just below maximum ---------------


        -- testing exceeding maximum redirects -------------------------------
        results in a client redirect error ........................... [ PASS]
        1 test completed in 3/10 seconds.
        1 out of 1 (100%) test passed.
        -- done testing exceeding maximum redirects --------------------------

    5 subgroups completed in 1327/1000 seconds.
    5 out of 5 (100%) subgroups passed.
    -- done testing Redirects ------------------------------------------------


    -- testing Retries -------------------------------------------------------

        -- testing premature disconnect by server ----------------------------

            -- testing just below maximum retries ----------------------------
            Final response matches final request ..................... [ PASS]
            URI is still OK .......................................... [ PASS]
            host header is also OK ................................... [ PASS]
            HTTP request is version 1.1 .............................. [ PASS]
            No body got sent (GET) ................................... [ PASS]
            5 tests completed in 407/1000 seconds.
            5 out of 5 (100%) tests passed.
            -- done testing just below maximum retries -----------------------


            -- testing exceeding maximum retries -----------------------------
            results in a premature disconnection error ............... [ PASS]
            1 test completed in 399/1000 seconds.
            1 out of 1 (100%) test passed.
            -- done testing exceeding maximum retries ------------------------


            -- testing no retries when retry-request? returns #f -------------
            results in a premature-disconnection error ............... [ PASS]
            1 test completed in 11/100 seconds.
            1 out of 1 (100%) test passed.
            -- done testing no retries when retry-request? returns #f --------

        3 subgroups completed in 917/1000 seconds.
        3 out of 3 (100%) subgroups passed.
        -- done testing premature disconnect by server -----------------------


        -- testing unauthorized ----------------------------------------------

            -- testing just below maximum retries ----------------------------
            Final response is ok ..................................... [ PASS]
            URI is still OK .......................................... [ PASS]
            host header is also OK ................................... [ PASS]
            HTTP request is version 1.1 .............................. [ PASS]
            No body got sent (GET) ................................... [ PASS]
            5 tests completed in 31/100 seconds.
            5 out of 5 (100%) tests passed.
            -- done testing just below maximum retries -----------------------


            -- testing exceeding maximum retries -----------------------------
            results in a client error ................................ [ PASS]
            1 test completed in 3/10 seconds.
            1 out of 1 (100%) test passed.
            -- done testing exceeding maximum retries ------------------------


            -- testing retries are OK for unauthorized when retry-request? returns #f 
            Final response is ok ..................................... [ PASS]
            URI is still OK .......................................... [ PASS]
            host header is also OK ................................... [ PASS]
            HTTP request is version 1.1 .............................. [ PASS]
            No body got sent (GET) ................................... [ PASS]
            5 tests completed in 1/5 seconds.
            5 out of 5 (100%) tests passed.
            -- done testing retries are OK for unauthorized when retry-request? returns #f 

        3 subgroups completed in 81/100 seconds.
        3 out of 3 (100%) subgroups passed.
        -- done testing unauthorized -----------------------------------------

    2 subgroups completed in 1727/1000 seconds.
    2 out of 2 (100%) subgroups passed.
    -- done testing Retries --------------------------------------------------


    -- testing url normalization ---------------------------------------------
    URI path was not mangled ......................................... [ PASS]
    1 test completed in 13/125 seconds.
    1 out of 1 (100%) test passed.
    -- done testing url normalization ----------------------------------------


    -- testing error handling ------------------------------------------------
    Invalid uri ...................................................... [ PASS]
    Invalid form data ................................................ [ PASS]
    2 tests completed in 1/1000 seconds.
    2 out of 2 (100%) tests passed.
    -- done testing error handling -------------------------------------------

6 subgroups completed in 2393/500 seconds.
6 out of 6 (100%) subgroups passed.
-- done testing http-client --------------------------------------------------