From 49783d7014a6f5342ec77f56e81aeab6954bc2ec Mon Sep 17 00:00:00 2001 From: William Hua Date: Wed, 7 Aug 2013 10:45:42 -0400 Subject: Resolve flaky test by forcing a delay. --- tests/main.vala | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) (limited to 'tests') diff --git a/tests/main.vala b/tests/main.vala index a26eca55..09d612f1 100644 --- a/tests/main.vala +++ b/tests/main.vala @@ -150,18 +150,12 @@ static void test_activate_input_source (void *data) { var action_group = DBusActionGroup.get ((!) fixture.connection, "com.canonical.indicator.keyboard", "/com/canonical/indicator/keyboard"); - var loop = new MainLoop (null, false); - var signal_name = action_group.action_state_changed["current"].connect ((action, state) => { - loop.quit (); - }); - action_group.list_actions (); action_group.activate_action ("current", new Variant.uint32 (2)); - var source = Timeout.add_seconds (TIMEOUT_S, () => { loop.quit (); return false; }); + var loop = new MainLoop (null, false); + Timeout.add_seconds (TIMEOUT_S, () => { loop.quit (); return false; }); loop.run (); - Source.remove (source); - action_group.disconnect (signal_name); var state = action_group.get_action_state ("current"); var current = state.get_uint32 (); -- cgit v1.2.3 From 170596ad221d7ea1701d2a2215ff912bddbecdfa Mon Sep 17 00:00:00 2001 From: William Hua Date: Thu, 8 Aug 2013 14:23:13 -0400 Subject: Fix a couple more potential races. --- tests/main.vala | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'tests') diff --git a/tests/main.vala b/tests/main.vala index 09d612f1..c3997520 100644 --- a/tests/main.vala +++ b/tests/main.vala @@ -319,6 +319,10 @@ static void test_migration (void *data) { return; } + var loop = new MainLoop (null, false); + Timeout.add_seconds (TIMEOUT_S, () => { loop.quit (); return false; }); + loop.run (); + try { string sources; Process.spawn_command_line_sync ("gsettings get org.gnome.desktop.input-sources sources", out sources); @@ -381,6 +385,10 @@ static void test_no_migration (void *data) { return; } + var loop = new MainLoop (null, false); + Timeout.add_seconds (TIMEOUT_S, () => { loop.quit (); return false; }); + loop.run (); + try { string sources; Process.spawn_command_line_sync ("gsettings get org.gnome.desktop.input-sources sources", out sources); -- cgit v1.2.3 From fb33dc6602f35783e76684e743ff7f166f961122 Mon Sep 17 00:00:00 2001 From: William Hua Date: Tue, 20 Aug 2013 21:16:16 +0800 Subject: Change XDG_RUNTIME_DIR to point in-tree. --- tests/indicator-keyboard-test.in | 1 + 1 file changed, 1 insertion(+) (limited to 'tests') diff --git a/tests/indicator-keyboard-test.in b/tests/indicator-keyboard-test.in index 7ae24423..1a78a2fc 100644 --- a/tests/indicator-keyboard-test.in +++ b/tests/indicator-keyboard-test.in @@ -3,5 +3,6 @@ export PATH="@abs_top_builddir@/tests/execute:$PATH" export DCONF_PROFILE="@abs_top_builddir@/tests/profiles/indicator-keyboard-test" export GSETTINGS_SCHEMA_DIR="@abs_top_builddir@/data" +export XDG_RUNTIME_DIR="@abs_top_builddir@/tests" xvfb-run -a ./indicator-keyboard-tests -- cgit v1.2.3 From 100ba6845fca6709ffcc80614e2dcc821615834f Mon Sep 17 00:00:00 2001 From: William Hua Date: Wed, 21 Aug 2013 12:46:54 +0800 Subject: Use long delays in places when they may be killed prematurely. --- tests/main.vala | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) (limited to 'tests') diff --git a/tests/main.vala b/tests/main.vala index 6bbcc61a..1a7833a2 100644 --- a/tests/main.vala +++ b/tests/main.vala @@ -18,6 +18,7 @@ const int TIMEOUT_S = 1; const int TIMEOUT_MS = 1000; +const int LONG_TIMEOUT_S = 10; [DBus (name = "com.canonical.indicator.keyboard.test")] public class Service : Object { @@ -193,7 +194,7 @@ static void test_activate_character_map (void *data) { action_group.activate_action ("map", null); - var source = Timeout.add_seconds (TIMEOUT_S, () => { loop.quit (); return false; }); + var source = Timeout.add_seconds (LONG_TIMEOUT_S, () => { loop.quit (); return false; }); loop.run (); Source.remove (source); ((!) fixture.service).disconnect (signal_name); @@ -232,7 +233,7 @@ static void test_activate_keyboard_layout_chart (void *data) { action_group.activate_action ("chart", null); - var source = Timeout.add_seconds (TIMEOUT_S, () => { loop.quit (); return false; }); + var source = Timeout.add_seconds (LONG_TIMEOUT_S, () => { loop.quit (); return false; }); loop.run (); Source.remove (source); ((!) fixture.service).disconnect (signal_name); @@ -260,7 +261,7 @@ static void test_activate_text_entry_settings (void *data) { action_group.activate_action ("settings", null); - var source = Timeout.add_seconds (TIMEOUT_S, () => { loop.quit (); return false; }); + var source = Timeout.add_seconds (LONG_TIMEOUT_S, () => { loop.quit (); return false; }); loop.run (); Source.remove (source); ((!) fixture.service).disconnect (signal_name); @@ -294,7 +295,7 @@ static void test_migration (void *data) { try { var cancellable = new Cancellable (); - var source = Timeout.add_seconds (TIMEOUT_S, () => { cancellable.cancel (); return false; }); + var source = Timeout.add_seconds (LONG_TIMEOUT_S, () => { cancellable.cancel (); return false; }); var dbus_proxy = new DBusProxy.sync ((!) fixture.connection, DBusProxyFlags.NONE, @@ -360,7 +361,7 @@ static void test_no_migration (void *data) { try { var cancellable = new Cancellable (); - var source = Timeout.add_seconds (TIMEOUT_S, () => { cancellable.cancel (); return false; }); + var source = Timeout.add_seconds (LONG_TIMEOUT_S, () => { cancellable.cancel (); return false; }); var dbus_proxy = new DBusProxy.sync ((!) fixture.connection, DBusProxyFlags.NONE, @@ -431,7 +432,7 @@ static void test_update_visible (void *data) { action_group.list_actions (); - var source = Timeout.add_seconds (TIMEOUT_S, () => { loop.quit (); return false; }); + var source = Timeout.add_seconds (LONG_TIMEOUT_S, () => { loop.quit (); return false; }); loop.run (); Source.remove (source); action_group.disconnect (signal_name); @@ -455,7 +456,7 @@ static void test_update_visible (void *data) { return; } - source = Timeout.add_seconds (TIMEOUT_S, () => { loop.quit (); return false; }); + source = Timeout.add_seconds (LONG_TIMEOUT_S, () => { loop.quit (); return false; }); loop.run (); Source.remove (source); action_group.disconnect (signal_name); @@ -479,7 +480,7 @@ static void test_update_visible (void *data) { return; } - source = Timeout.add_seconds (TIMEOUT_S, () => { loop.quit (); return false; }); + source = Timeout.add_seconds (LONG_TIMEOUT_S, () => { loop.quit (); return false; }); loop.run (); Source.remove (source); action_group.disconnect (signal_name); @@ -564,7 +565,7 @@ static void test_update_input_source (void *data) { return; } - source = Timeout.add_seconds (TIMEOUT_S, () => { loop.quit (); return false; }); + source = Timeout.add_seconds (LONG_TIMEOUT_S, () => { loop.quit (); return false; }); loop.run (); Source.remove (source); action_group.disconnect (signal_name); @@ -671,7 +672,7 @@ static void test_update_input_sources (void *data) { return; } - source = Timeout.add_seconds (TIMEOUT_S, () => { loop.quit (); return false; }); + source = Timeout.add_seconds (LONG_TIMEOUT_S, () => { loop.quit (); return false; }); loop.run (); Source.remove (source); section.disconnect (signal_name); -- cgit v1.2.3 From 30ca305b4d47476ef508fc461fd469df5655f5b0 Mon Sep 17 00:00:00 2001 From: William Hua Date: Thu, 22 Aug 2013 16:45:53 +0800 Subject: Kill running gvfs instance after tests finish. --- tests/indicator-keyboard-test.in | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'tests') diff --git a/tests/indicator-keyboard-test.in b/tests/indicator-keyboard-test.in index 1a78a2fc..621133dd 100644 --- a/tests/indicator-keyboard-test.in +++ b/tests/indicator-keyboard-test.in @@ -5,4 +5,9 @@ export DCONF_PROFILE="@abs_top_builddir@/tests/profiles/indicator-keyboard-test" export GSETTINGS_SCHEMA_DIR="@abs_top_builddir@/data" export XDG_RUNTIME_DIR="@abs_top_builddir@/tests" -xvfb-run -a ./indicator-keyboard-tests +if xvfb-run -a ./indicator-keyboard-tests +then + pkill -f tests/gvfs || exit 0 +else + pkill -f tests/gvfs && exit 1 +fi -- cgit v1.2.3