summaryrefslogtreecommitdiffstats
path: root/toolkit/xre/test/marionette/test_exitcode.py
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/xre/test/marionette/test_exitcode.py')
-rw-r--r--toolkit/xre/test/marionette/test_exitcode.py33
1 files changed, 33 insertions, 0 deletions
diff --git a/toolkit/xre/test/marionette/test_exitcode.py b/toolkit/xre/test/marionette/test_exitcode.py
new file mode 100644
index 0000000000..32fd3d2bc0
--- /dev/null
+++ b/toolkit/xre/test/marionette/test_exitcode.py
@@ -0,0 +1,33 @@
+from marionette_harness import MarionetteTestCase
+
+
+class TestFissionAutostart(MarionetteTestCase):
+ def test_normal_exit(self):
+ self.marionette.set_context(self.marionette.CONTEXT_CHROME)
+
+ def call_quit():
+ self.marionette.execute_script(
+ """
+ const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm");
+ Services.startup.quit(Ci.nsIAppStartup.eAttemptQuit);
+ """,
+ sandbox="system",
+ )
+
+ self.marionette.quit(in_app=True, callback=call_quit)
+ self.assertEqual(self.marionette.instance.runner.returncode, 0)
+
+ def test_exit_code(self):
+ self.marionette.set_context(self.marionette.CONTEXT_CHROME)
+
+ def call_quit():
+ self.marionette.execute_script(
+ """
+ const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm");
+ Services.startup.quit(Ci.nsIAppStartup.eAttemptQuit, 5);
+ """,
+ sandbox="system",
+ )
+
+ self.marionette.quit(in_app=True, callback=call_quit)
+ self.assertEqual(self.marionette.instance.runner.returncode, 5)