X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=test;h=5671affacf3b7c7c29d3ae87fccbb07432fffc9d;hb=a769d4675ee33d59d70e059870cc89c5ac731d07;hp=1a91c0e6eaf77c1216826ca01048d91b8eedbbcb;hpb=dccfff8883f2caaf2e9f63aa79ce918a70c08c59;p=lmno-server diff --git a/test b/test index 1a91c0e..5671aff 100755 --- a/test +++ b/test @@ -469,6 +469,14 @@ empathy_player_activate() eval ${player_pid}=$! } +# Usage: empathy_player_deactivate +empathy_player_deactivate() +{ + player="$1" + player_pid=${player}_pid + pkill -P ${!player_pid} +} + # Pulls a single named event out of the empathy event stream # # Usage: empathy_get_event @@ -854,11 +862,41 @@ result=$(echo $(empathy_scores_names_numbers alice)) test "$result" = '"alice" 2 "bob" 2 "charlie" 0 "dale" 0 "eric" 0 "fred" 0' TEST_END -pkill -P $alice_pid -pkill -P $bob_pid -pkill -P $charlie_pid -pkill -P $dale_pid -pkill -P $eric_pid -pkill -P $fred_pid +TEST_SUBSECTION "Inactive players don't appear in scores" + +TEST "Start 2-player game with 6 registered players" +empathy_reset +prompt_id=$(empathy_submit_prompt alice 4 "1 best pet" | jq .id) +empathy_start alice $prompt_id +empathy_answer alice $prompt_id '"cats"' >/dev/null +empathy_answer bob $prompt_id '"dogs"' >/dev/null +empathy_end_answers alice $prompt_id +empathy_end_answers bob $prompt_id +test "$?" = "0" +TEST_END + +TEST "Deactivate 3 players" +empathy_player_deactivate dale +empathy_player_deactivate eric +empathy_player_deactivate fred +sleep 30 +test "$?" = "0" +TEST_END + +TEST "Finish game with 2 active players" +empathy_judged alice $prompt_id '[]' >/dev/null +result=$(empathy_judged bob $prompt_id '[]') +test "$result" = '{"valid":true}' +TEST_END + +TEST "Verify scores don't include inactive players" +# echo here is to strip newlines +result=$(echo $(empathy_scores_names_numbers alice)) +test "$result" = '"alice" 1 "bob" 1 "charlie" 0' +TEST_END + +empathy_player_deactivate alice +empathy_player_deactivate bob +empathy_player_deactivate charlie TEST_REPORT