diff options
Diffstat (limited to 'test')
| -rw-r--r-- | test/chatroom.test | 64 | 
1 files changed, 64 insertions, 0 deletions
| diff --git a/test/chatroom.test b/test/chatroom.test index 9b68839..1998290 100644 --- a/test/chatroom.test +++ b/test/chatroom.test @@ -280,3 +280,67 @@ test ChatroomSubscribedBeforeStart:  	send "chatroom-message-send $room1_p2 message2" to p2  	expect /chatroom-message-new $room1_p1 room first_room from Owner2 text message2/ from p1  	expect /chatroom-message-new $room1_p2 room first_room from Owner2 text message2/ from p2 + + +test ParallelThreads: +	spawn as p1 +	spawn as p2 + +	send "create-identity Device1 Owner1" to p1 +	send "create-identity Device2 Owner2" to p2 + +	for p in [ p1, p2 ]: +		with p: +			send "chatroom-watch-local" +			send "start-server" + +	send "chatroom-create first_room" to p1 +	expect /chatroom-create-done ([a-z0-9#]+) first_room.*/ from p1 capture room1_p1 + +	expect /chatroom-watched-added [a-z0-9#]+ first_room sub true/ from p1 +	expect /chatroom-watched-added ([a-z0-9#]+) first_room sub false/ from p2 capture room1_p2 + +	with p2: +		send "chatroom-subscribe $room1_p2" +		expect /chatroom-watched-updated [a-z0-9#]+ first_room sub true .*/ + +	for p in [p1, p2]: +		with p: +			send "stop-server" +	for p in [p1, p2]: +		with p: +			expect /stop-server-done/ + +	send "chatroom-message-send $room1_p1 message1A" to p1 +	send "chatroom-message-send $room1_p1 message1B" to p1 +	send "chatroom-message-send $room1_p2 message2A" to p2 +	send "chatroom-message-send $room1_p2 message2B" to p2 +	with p1: +		expect /chatroom-message-new $room1_p1 room first_room from Owner. text message(..)/ capture msg +		guard (msg == "1A") +	with p1: +		expect /chatroom-message-new $room1_p1 room first_room from Owner. text message(..)/ capture msg +		guard (msg == "1B") +	with p2: +		expect /chatroom-message-new $room1_p2 room first_room from Owner. text message(..)/ capture msg +		guard (msg == "2A") +	with p2: +		expect /chatroom-message-new $room1_p2 room first_room from Owner. text message(..)/ capture msg +		guard (msg == "2B") + +	for p in [p1, p2]: +		with p: +			send "start-server" + +	with p1: +		expect /chatroom-message-new $room1_p1 room first_room from Owner. text message(..)/ capture msg +		guard (msg == "2A") +	with p1: +		expect /chatroom-message-new $room1_p1 room first_room from Owner. text message(..)/ capture msg +		guard (msg == "2B") +	with p2: +		expect /chatroom-message-new $room1_p2 room first_room from Owner. text message(..)/ capture msg +		guard (msg == "1A") +	with p2: +		expect /chatroom-message-new $room1_p2 room first_room from Owner. text message(..)/ capture msg +		guard (msg == "1B") |