Test output for channel

/home/mario/local/chicken/bin/csi -script run.scm < /dev/null

-- testing  ------------------------------------------------------------------

    -- testing channel-receive -----------------------------------------------
    (channel-receive c results) ...................................... [ PASS]
    '(1) ............................................................. [ PASS]
    (not (channel-receive c results)) ................................ [ PASS]
    '(1 2) ........................................................... [ PASS]
    '(1 1 2 2) ....................................................... [ PASS]
    5 tests completed in 0.001 seconds.
    5 out of 5 (100%) tests passed.
    -- done testing channel-receive ------------------------------------------


    -- testing channel receivers ---------------------------------------------
    '(1 2 3 4 5) ..................................................... [ PASS]
    '(4 4) ........................................................... [ PASS]
    '(5) ............................................................. [ PASS]
    '(1 2 3 4 5) ..................................................... [ PASS]
    '(5 6) ........................................................... [ PASS]
    5 tests completed in 0.001 seconds.
    5 out of 5 (100%) tests passed.
    -- done testing channel receivers ----------------------------------------

> (foo)
<< thread418 receive-1
< thread418	thread418	receive-1	foo
>> enqueuing (bar)
> (bar)
<< thread418 receiver-t
< thread418	thread418	receiver-t	bar
<< primordial receiver-p
<< thread418 receive-2
<< thread418 receive-2
>> enqueuing (baz qux quux)
< thread418	primordial	receive-2	baz
< thread418	primordial	receive-2	baz
< primordial	primordial	receiver-p	baz
< thread418	primordial	receiver-t	baz
< primordial	primordial	receiver-p	qux
< thread418	primordial	receiver-t	qux
< primordial	primordial	receiver-p	quux
< thread418	primordial	receiver-t	quux
> ()
>> enqueuing (frob)
< primordial	thread418	receiver-p	frob
< thread418	thread418	receiver-t	frob
> ()

    -- testing parallel channel receivers ------------------------------------
    (queue->list results-receive-1) .................................. [ PASS]
    (queue->list results-receiver-t) ................................. [ PASS]
    (queue->list results-receive-2) .................................. [ PASS]
    (queue->list results-receiver-p) ................................. [ PASS]
    4 tests completed in 0.0 seconds.
    4 out of 4 (100%) tests passed.
    -- done testing parallel channel receivers -------------------------------


    -- testing closing, emptying and draining channels -----------------------
    (not (channel-closed? c)) ........................................ [ PASS]
    (not (channel-drained? c)) ....................................... [ PASS]
    (channel-empty? c) ............................................... [ PASS]
    (channel-enqueue c 1) ............................................ [ PASS]
    (not (channel-empty? c)) ......................................... [ PASS]
    (not (channel-closed? c)) ........................................ [ PASS]
    (not (channel-drained? c)) ....................................... [ PASS]
    (channel-empty? c) ............................................... [ PASS]
    (not (channel-closed? c)) ........................................ [ PASS]
    (not (channel-drained? c)) ....................................... [ PASS]
    (channel-enqueue c 1) ............................................ [ PASS]
    (channel-closed? c) .............................................. [ PASS]
    (not (channel-enqueue c 1)) ...................................... [ PASS]
    (not (channel-empty? c)) ......................................... [ PASS]
    (channel-closed? c) .............................................. [ PASS]
    (channel-empty? c) ............................................... [ PASS]
    (channel-drained? c) ............................................. [ PASS]
    17 tests completed in 0.0 seconds.
    17 out of 17 (100%) tests passed.
    -- done testing closing, emptying and draining channels ------------------


    -- testing synchronous channel-receive -----------------------------------
    (channel-receive c) .............................................. [ PASS]
    'foo ............................................................. [ PASS]

        -- testing with timeout ----------------------------------------------
        (channel-receive c 3) ........................................ [ PASS]
        (not (channel-receive c 0.2)) ................................ [ PASS]
        (channel-receive c 0.2 (lambda () 'none)) .................... [ PASS]
        3 tests completed in 0.401 seconds.
        3 out of 3 (100%) tests passed.
        -- done testing with timeout -----------------------------------------

    2 tests and 1 subgroup completed in 0.401 seconds.
    2 out of 2 (100%) tests passed.
    1 out of 1 (100%) subgroup passed.
    -- done testing synchronous channel-receive ------------------------------


    -- testing fork-channel --------------------------------------------------
    '(1 2) ........................................................... [ PASS]
    '(1 2) ........................................................... [ PASS]
    '(1 2 3) ......................................................... [ PASS]
    '(1 2 3 4) ....................................................... [ PASS]
    (not (channel-closed? c2)) ....................................... [ PASS]
    (channel-closed? c2) ............................................. [ PASS]

        -- testing gc --------------------------------------------------------
        (length (channel-forks c)) ................................... [ PASS]
        (length (channel-forks c)) ................................... [ PASS]
        (length (channel-forks c)) ................................... [ PASS]
        3 tests completed in 0.01 seconds.
        3 out of 3 (100%) tests passed.
        -- done testing gc ---------------------------------------------------

    6 tests and 1 subgroup completed in 0.011 seconds.
    6 out of 6 (100%) tests passed.
    1 out of 1 (100%) subgroup passed.
    -- done testing fork-channel ---------------------------------------------


    -- testing on-channel-close, on-channel-drain ----------------------------
    '() .............................................................. [ PASS]
    '() .............................................................. [ PASS]
    '(close) ......................................................... [ PASS]
    '() .............................................................. [ PASS]
    '(close) ......................................................... [ PASS]
    '(drain) ......................................................... [ PASS]
    '(close close) ................................................... [ PASS]
    '(drain drain) ................................................... 
Error: boom

Error: boom

Error: kaboom

Error: boom
[ PASS]
    8 tests completed in 0.0 seconds.
    8 out of 8 (100%) tests passed.
    -- done testing on-channel-close, on-channel-drain -----------------------


    -- testing errors --------------------------------------------------------
    '(1 2 3) ......................................................... [ PASS]
    '(3) ............................................................. [ PASS]
    2 tests completed in 0.001 seconds.
    2 out of 2 (100%) tests passed.
    -- done testing errors ---------------------------------------------------


    -- testing on-channel-error ----------------------------------------------
    (condition? err) ................................................. [ PASS]
    'in-the-error-handler ............................................ [ PASS]
    'foo ............................................................. [ PASS]
    3 tests completed in 0.0 seconds.
    3 out of 3 (100%) tests passed.
    -- done testing on-channel-error -----------------------------------------


    -- testing siphon-channel ------------------------------------------------
    '(2 3 4) ......................................................... [ PASS]
    '() .............................................................. [ PASS]
    '(2 3 4 5) ....................................................... [ PASS]
    '() .............................................................. [ PASS]
    (not (channel-closed? c)) ........................................ [ PASS]
    (not (channel-closed? sc)) ....................................... [ PASS]

        -- testing gc --------------------------------------------------------
        (result) ..................................................... [ PASS]
        (result) ..................................................... [ PASS]
        2 tests completed in 0.012 seconds.
        2 out of 2 (100%) tests passed.
        -- done testing gc ---------------------------------------------------


        -- testing close propagation -----------------------------------------
        (channel-closed? c1.2.1) ..................................... [ PASS]
        (channel-closed? c1.2) ....................................... [ PASS]
        (not (channel-closed? c1.1)) ................................. [ PASS]
        (not (channel-closed? c1)) ................................... [ PASS]
        (channel-closed? c1.1) ....................................... [ PASS]
        (channel-closed? c1) ......................................... [ PASS]
        6 tests completed in 0.001 seconds.
        6 out of 6 (100%) tests passed.
        -- done testing close propagation ------------------------------------

    6 tests and 2 subgroups completed in 0.013 seconds.
    6 out of 6 (100%) tests passed.
    2 out of 2 (100%) subgroups passed.
    -- done testing siphon-channel -------------------------------------------


    -- testing fold-channel --------------------------------------------------
    '((1) (2 1)) ..................................................... [ PASS]
    '((1) (2 1) (3 2 1)) ............................................. [ PASS]
    '() .............................................................. [ PASS]
    3 tests completed in 0.0 seconds.
    3 out of 3 (100%) tests passed.
    -- done testing fold-channel ---------------------------------------------


    -- testing map-channel ---------------------------------------------------
    '(2 3) ........................................................... [ PASS]
    '(2 3 4) ......................................................... [ PASS]
    '() .............................................................. [ PASS]
    3 tests completed in 0.0 seconds.
    3 out of 3 (100%) tests passed.
    -- done testing map-channel ----------------------------------------------


    -- testing filter-channel ------------------------------------------------
    '(2 4) ........................................................... [ PASS]
    '(2 4 6) ......................................................... [ PASS]
    '() .............................................................. [ PASS]
    3 tests completed in 0.0 seconds.
    3 out of 3 (100%) tests passed.
    -- done testing filter-channel -------------------------------------------


    -- testing channel-receive/delay -----------------------------------------
    (promise? p1) .................................................... [ PASS]
    (promise? p2) .................................................... [ PASS]
    (force p1) ....................................................... [ PASS]
    (force p2) ....................................................... [ PASS]
    (not (force p3)) ................................................. [ PASS]
    5 tests completed in 0.5 seconds.
    5 out of 5 (100%) tests passed.
    -- done testing channel-receive/delay ------------------------------------


    -- testing siphon-input-port ---------------------------------------------
    (channel-messages channel) ....................................... [ PASS]
    1 test completed in 0.0 seconds.
    1 out of 1 (100%) test passed.
    -- done testing siphon-input-port ----------------------------------------


    -- testing flush-channel-to-output-port ----------------------------------
    (get-output-string port) ......................................... [ PASS]
    (get-output-string port) ......................................... [ PASS]
    2 tests completed in 0.0 seconds.
    2 out of 2 (100%) tests passed.
    -- done testing flush-channel-to-output-port -----------------------------

16 subgroups completed in 1.07 seconds.
16 out of 16 (100%) subgroups passed.
-- done testing  -------------------------------------------------------------