Interrupting the test suite will noe run all cleanup necessary, (such
as terminating the child processes that are still actively listening
to empathy event streams), and will give a (partial) test report of
all tests that have been completed.
This is convenient for when a user doesn't want to wait for the slow
tests to complete, but can still get some good information from
sumarizing the results of all of the fast tests that have already been
performed.
+# Arrange for some cleanup to be executed if the user interrupts the
+# test sutie (for example, by pressing ControlC at the controlling
+# terminal).
+cleanup_and_report() {
+ empathy_deactivate_all >/dev/null 2>&1
+ TEST_REPORT
+ exit $?
+}
+trap cleanup_and_report INT
+
usage ()
{
echo "Usage:$0 <URL-to-test>"
usage ()
{
echo "Usage:$0 <URL-to-test>"
# Print report of all previous test results
TEST_REPORT()
{
# Print report of all previous test results
TEST_REPORT()
{
echo ""
echo "Test Report"
echo "==========="
echo ""
echo "Test Report"
echo "==========="
+empathy_deactivate_all()
+{
+ for player in ${empathy_players[*]}; do
+ empathy_player_deactivate $player
+ done
+}
+
# Pulls a single named event out of the empathy event stream
#
# Usage: empathy_get_event <player_name> <event_name>
# Pulls a single named event out of the empathy event stream
#
# Usage: empathy_get_event <player_name> <event_name>
test "$result" = '"alice" 2 "bob" 2 "charlie" 0 "dale" 0 "eric" 0 "fred" 0'
TEST_END
test "$result" = '"alice" 2 "bob" 2 "charlie" 0 "dale" 0 "eric" 0 "fred" 0'
TEST_END
+echo ""
+echo "NOTE: Slow tests ahead!"
+echo "If you are impatient and somehow \"know\" you don't care about the"
+echo "tests below then you can interrupt the test suite with Control-C"
+echo "to get a summary report on the tests that have already been run."
+
TEST_SUBSECTION "Inactive players don't appear in scores"
TEST "Start 2-player game with 6 registered players"
TEST_SUBSECTION "Inactive players don't appear in scores"
TEST "Start 2-player game with 6 registered players"
test "$result" = '"alice" 1 "bob" 1 "charlie" 0'
TEST_END
test "$result" = '"alice" 1 "bob" 1 "charlie" 0'
TEST_END
-empathy_deactivate_all()
-{
- for player in ${empathy_players[*]}; do
- empathy_player_deactivate $player
- done
-}
-
-empathy_deactivate_all
-
-TEST_REPORT