diff options
| author | 2020-06-28 16:39:56 +0200 | |
|---|---|---|
| committer | 2020-06-28 16:57:40 +0200 | |
| commit | 06882551f890808a91b59a31d1a1c56fcfe88838 (patch) | |
| tree | f06bc4231c4395e49161462b2cbdd1be6c8ca7c1 /test | |
| parent | Start with the test suite (diff) | |
Add msg and rpc test suite
Only reliable way to test it I found is to use threads.
Also I had to add os/sleep so server has chance to start.
Diffstat (limited to 'test')
| -rw-r--r-- | test/suite2.janet | 22 | ||||
| -rw-r--r-- | test/suite3.janet | 25 |
2 files changed, 47 insertions, 0 deletions
diff --git a/test/suite2.janet b/test/suite2.janet new file mode 100644 index 0000000..7842163 --- /dev/null +++ b/test/suite2.janet @@ -0,0 +1,22 @@ +(use test/helper) +(import spork/rpc) + +(start-suite 2) + +(def fns + {:hi (fn [self msg] + (assert (= msg "spork") "RPC server") + (string "Hello " msg))}) + +(defn wrk [m] (rpc/server fns "localhost" 8000)) + +(def wt (thread/new wrk 1 :h)) # so need heavy thread for the assert + +(os/sleep 0.1) # give server thread little time to start + +(defer (:close wt) + (def c (rpc/client "localhost" 8000)) + (assert (= (:hi c "spork") "Hello spork") "RPC client") + (:close c)) + +(end-suite) diff --git a/test/suite3.janet b/test/suite3.janet new file mode 100644 index 0000000..1d6ac7c --- /dev/null +++ b/test/suite3.janet @@ -0,0 +1,25 @@ +(use test/helper) +(import spork/msg) + +(start-suite 3) + +(defn handler [s] + (def recv (msg/make-recv s)) + (def send (msg/make-send s)) + (while (def msg (recv)) + (assert (= msg "spork") "Message 1") + (send msg))) + +(defn wrk [m] (net/server "localhost" 8000 handler)) + +(def wt (thread/new wrk 1 :h)) # we need heavy thread for the assert + +(os/sleep 0.1) # give server thread little time to start + +(defer (:close wt) + (def s (net/connect "localhost" 8000)) + (def recv (msg/make-recv s)) + (def send (msg/make-send s)) + (send "spork") + (assert (= (recv) "spork") "Message 2")) +(end-suite) |
