1 IN: concurrency.mailboxes.tests
\r
2 USING: concurrency.mailboxes concurrency.count-downs vectors
\r
3 sequences threads tools.test math kernel strings namespaces
\r
4 continuations calendar destructors ;
\r
9 [ mailbox-get swap push ] in-thread
\r
10 [ mailbox-get swap push ] in-thread
\r
11 [ mailbox-get swap push ] in-thread
\r
20 [ [ integer? ] mailbox-get? swap push ] in-thread
\r
21 [ [ integer? ] mailbox-get? swap push ] in-thread
\r
22 [ [ integer? ] mailbox-get? swap push ] in-thread
\r
28 [ V{ 1 "junk" 3 "junk2" } [ 456 ] ] [
\r
31 [ [ integer? ] mailbox-get? swap push ] in-thread
\r
32 [ [ integer? ] mailbox-get? swap push ] in-thread
\r
33 [ [ string? ] mailbox-get? swap push ] in-thread
\r
34 [ [ string? ] mailbox-get? swap push ] in-thread
\r
36 "junk" over mailbox-put
\r
37 [ 456 ] over mailbox-put
\r
39 "junk2" over mailbox-put
\r
45 1 <count-down> "c" set
\r
46 1 <count-down> "d" set
\r
50 [ "m" get mailbox-get drop ]
\r
51 [ drop "d" get count-down ] recover
\r
52 ] "Mailbox close test" spawn drop
\r
54 [ ] [ "c" get count-down ] unit-test
\r
55 [ ] [ "m" get dispose ] unit-test
\r
56 [ ] [ "d" get 5 seconds await-timeout ] unit-test
\r
58 [ ] [ "m" get dispose ] unit-test
\r
62 1 <count-down> "c" set
\r
63 1 <count-down> "d" set
\r
67 "m" get wait-for-close
\r
69 ] "Mailbox close test" spawn drop
\r
71 [ ] [ "c" get count-down ] unit-test
\r
72 [ ] [ "m" get dispose ] unit-test
\r
73 [ ] [ "d" get 5 seconds await-timeout ] unit-test
\r
75 [ ] [ "m" get dispose ] unit-test
\r