     } run-pipeline
 ] unit-test
 
+! Test timeout
 [
     utf8 <pipe> [
         1 seconds over set-timeout

USING: io io.pipes io.streams.string io.encodings.utf8
io.encodings.binary io.streams.duplex io.encodings io.timeouts
namespaces continuations tools.test kernel calendar destructors
accessors debugger math sequences ;
IN: io.pipes.tests

[ "Hello" ] [

    ] times
] unit-test

! Test non-blocking operation
[ ] [
    [
        2 <count-down> "count-down" set

        utf8 <pipe> &dispose
        utf8 <pipe> &dispose
        [
            [
                '[
                    _ stream-read1 drop
                    "count-down" get count-down
                ] in-thread
            ] bi@
            
            ! Give the threads enough time to start blocking on
            ! read
            1 seconds sleep
        ]
        ! At this point, two threads are blocking on read
        [ [ "Hi" over stream-write stream-flush ] bi@ ]
        ! At this point, both threads should wake up
        2bi

        "count-down" get await
    ] with-destructors
] unit-test

! 0 read should not block
[ f ] [
    [
