-USING: tools.test concurrency.distributed kernel io.files
-io.files.temp io.directories arrays io.sockets system calendar
-combinators threads math sequences concurrency.messaging
-continuations accessors prettyprint io.servers ;
+USING: arrays calendar concurrency.distributed
+concurrency.messaging io.sockets kernel math namespaces
+sequences threads tools.test ;
FROM: concurrency.messaging => receive send ;
IN: concurrency.distributed.tests
CONSTANT: test-ip "127.0.0.1"
+CONSTANT: test-port 57234
-: test-node-server ( -- threaded-server )
- {
- { [ os unix? ] [ "distributed-concurrency-test" temp-file <local> ] }
- { [ os windows? ] [ test-ip 0 <inet4> ] }
- } cond <node-server> ;
-
-: test-node-client ( -- addrspec )
- {
- { [ os unix? ] [ "distributed-concurrency-test" temp-file <local> ] }
- { [ os windows? ] [ insecure-addr ] }
- } cond ;
-
-os unix? [
- "distributed-concurrency-test" temp-file ?delete-file
-] when
-
-test-node-server [
- [ ] [
+[ 8 ] [
+ local-node get
+ test-ip test-port <inet4> start-node
+ local-node get swap local-node set-global
+ local-node [
[
receive first2 [ 3 + ] dip send
"thread-a" unregister-remote-thread
] "Thread A" spawn
"thread-a" register-remote-thread
- ] unit-test
-
- [ 8 ] [
5 self 2array
- test-node-client "thread-a" <remote-thread> send
+ test-ip test-port <inet4> "thread-a" <remote-thread> send
100 seconds receive-timeout
- ] unit-test
-] with-threaded-server
+ stop-node
+ ] with-variable
+] unit-test
+