From ee16149ddef734c9945ff0339300fd926ca91b1a Mon Sep 17 00:00:00 2001 From: Adam Chlipala Date: Fri, 27 Dec 2013 12:10:03 -0500 Subject: Raise exception when recv()ing from someone else's channel; improve setting of client ID in RPCs --- tests/channelThief.ur | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 tests/channelThief.ur (limited to 'tests/channelThief.ur') diff --git a/tests/channelThief.ur b/tests/channelThief.ur new file mode 100644 index 00000000..1893979a --- /dev/null +++ b/tests/channelThief.ur @@ -0,0 +1,32 @@ +table t : { Ch : channel string } + +fun go () = + let + fun overwrite () = + dml (DELETE FROM t WHERE TRUE); + ch <- channel; + dml (INSERT INTO t (Ch) VALUES ({[ch]})); + return ch + + fun retrieve () = + oneRowE1 (SELECT (t.Ch) FROM t) + + fun transmit () = + ch <- retrieve (); + send ch "Test" + + fun listenOn ch = + s <- recv ch; + alert s + in + ch <- overwrite (); + return +