diff options
Diffstat (limited to 'testing/marionette/harness/marionette_harness/tests/unit/test_simpletest_sanity.py')
-rw-r--r-- | testing/marionette/harness/marionette_harness/tests/unit/test_simpletest_sanity.py | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/testing/marionette/harness/marionette_harness/tests/unit/test_simpletest_sanity.py b/testing/marionette/harness/marionette_harness/tests/unit/test_simpletest_sanity.py new file mode 100644 index 000000000..8f9728561 --- /dev/null +++ b/testing/marionette/harness/marionette_harness/tests/unit/test_simpletest_sanity.py @@ -0,0 +1,107 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this file, +# You can obtain one at http://mozilla.org/MPL/2.0/. + +from marionette_harness import MarionetteTestCase + + +class SimpletestSanityTest(MarionetteTestCase): + callFinish = "return finish();" + + def run_sync(self, test): + return self.marionette.execute_js_script(test, async=False) + + def run_async(self, test): + return self.marionette.execute_js_script(test) + + def test_is(self): + def runtests(): + sentFail1 = "is(true, false, 'isTest1', TEST_UNEXPECTED_FAIL, TEST_PASS);" + self.callFinish + sentFail2 = "is(true, false, 'isTest2', TEST_UNEXPECTED_FAIL, TEST_PASS);" + self.callFinish + sentPass1 = "is(true, true, 'isTest3');" + self.callFinish + sentPass2 = "is(true, true, 'isTest4');" + self.callFinish + + self.assertEqual(1, len(self.run_sync(sentFail1)["failures"])) + self.assertEqual(0, self.run_sync(sentFail2)["passed"]) + self.assertEqual(1, self.run_sync(sentPass1)["passed"]) + self.assertEqual(0, len(self.run_sync(sentPass2)["failures"])) + + self.marionette.timeout.script = 1 + self.assertEqual(1, len(self.run_async(sentFail1)["failures"])) + self.assertEqual(0, self.run_async(sentFail2)["passed"]) + self.assertEqual(1, self.run_async(sentPass1)["passed"]) + self.assertEqual(0, len(self.run_async(sentPass2)["failures"])) + + self.marionette.set_context("content") + runtests() + self.marionette.set_context("chrome") + runtests() + + def test_isnot(self): + def runtests(): + sentFail1 = "isnot(true, true, 'isnotTest3', TEST_UNEXPECTED_FAIL, TEST_PASS);" + self.callFinish + sentFail2 = "isnot(true, true, 'isnotTest4', TEST_UNEXPECTED_FAIL, TEST_PASS);" + self.callFinish + sentPass1 = "isnot(true, false, 'isnotTest1');" + self.callFinish + sentPass2 = "isnot(true, false, 'isnotTest2');" + self.callFinish + + self.assertEqual(1, len(self.run_sync(sentFail1)["failures"])); + self.assertEqual(0, self.run_sync(sentFail2)["passed"]); + self.assertEqual(0, len(self.run_sync(sentPass1)["failures"])); + self.assertEqual(1, self.run_sync(sentPass2)["passed"]); + + self.marionette.timeout.script = 1 + self.assertEqual(1, len(self.run_async(sentFail1)["failures"])); + self.assertEqual(0, self.run_async(sentFail2)["passed"]); + self.assertEqual(0, len(self.run_async(sentPass1)["failures"])); + self.assertEqual(1, self.run_async(sentPass2)["passed"]); + + self.marionette.set_context("content") + runtests() + self.marionette.set_context("chrome") + runtests() + + def test_ok(self): + def runtests(): + sentFail1 = "ok(1==2, 'testOk1', TEST_UNEXPECTED_FAIL, TEST_PASS);" + self.callFinish + sentFail2 = "ok(1==2, 'testOk2', TEST_UNEXPECTED_FAIL, TEST_PASS);" + self.callFinish + sentPass1 = "ok(1==1, 'testOk3');" + self.callFinish + sentPass2 = "ok(1==1, 'testOk4');" + self.callFinish + + self.assertEqual(1, len(self.run_sync(sentFail1)["failures"])); + self.assertEqual(0, self.run_sync(sentFail2)["passed"]); + self.assertEqual(0, len(self.run_sync(sentPass1)["failures"])); + self.assertEqual(1, self.run_sync(sentPass2)["passed"]); + + self.marionette.timeout.script = 1 + self.assertEqual(1, len(self.run_async(sentFail1)["failures"])); + self.assertEqual(0, self.run_async(sentFail2)["passed"]); + self.assertEqual(0, len(self.run_async(sentPass1)["failures"])); + self.assertEqual(1, self.run_async(sentPass2)["passed"]); + + self.marionette.set_context("content") + runtests() + self.marionette.set_context("chrome") + runtests() + + def test_todo(self): + def runtests(): + sentFail1 = "todo(1==1, 'testTodo1', TEST_UNEXPECTED_PASS, TEST_KNOWN_FAIL);" + self.callFinish + sentFail2 = "todo(1==1, 'testTodo2', TEST_UNEXPECTED_PASS, TEST_KNOWN_FAIL);" + self.callFinish + sentPass1 = "todo(1==2, 'testTodo3');" + self.callFinish + sentPass2 = "todo(1==2, 'testTodo4');" + self.callFinish + + self.assertEqual(1, len(self.run_sync(sentFail1)["unexpectedSuccesses"])); + self.assertEqual(0, len(self.run_sync(sentFail2)["expectedFailures"])); + self.assertEqual(0, len(self.run_sync(sentPass1)["unexpectedSuccesses"])); + self.assertEqual(1, len(self.run_sync(sentPass2)["expectedFailures"])); + + self.marionette.timeout.script = 1 + self.assertEqual(1, len(self.run_async(sentFail1)["unexpectedSuccesses"])); + self.assertEqual(0, len(self.run_async(sentFail2)["expectedFailures"])); + self.assertEqual(0, len(self.run_async(sentPass1)["unexpectedSuccesses"])); + self.assertEqual(1, len(self.run_async(sentPass2)["expectedFailures"])); + + self.marionette.set_context("content") + runtests() + self.marionette.set_context("chrome") + runtests() |