diff options
Diffstat (limited to 'testing/mozbase/moztest/tests/test.py')
-rw-r--r-- | testing/mozbase/moztest/tests/test.py | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/testing/mozbase/moztest/tests/test.py b/testing/mozbase/moztest/tests/test.py new file mode 100644 index 0000000000..a2ad07ad79 --- /dev/null +++ b/testing/mozbase/moztest/tests/test.py @@ -0,0 +1,58 @@ +# 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 __future__ import absolute_import + +import math +import time +import unittest + +import mozunit + +from moztest.results import TestContext, TestResult, TestResultCollection + + +class Result(unittest.TestCase): + def test_results(self): + self.assertRaises( + AssertionError, lambda: TestResult("test", result_expected="hello") + ) + t = TestResult("test") + self.assertRaises(ValueError, lambda: t.finish(result="good bye")) + + def test_time(self): + now = time.time() + t = TestResult("test") + time.sleep(1) + t.finish("PASS") + duration = time.time() - now + self.assertTrue(math.fabs(duration - t.duration) < 1) + + def test_custom_time(self): + t = TestResult("test", time_start=0) + t.finish(result="PASS", time_end=1000) + self.assertEqual(t.duration, 1000) + + +class Collection(unittest.TestCase): + def setUp(self): + c1 = TestContext("host1") + c2 = TestContext("host2") + c3 = TestContext("host2") + c4 = TestContext("host1") + + t1 = TestResult("t1", context=c1) + t2 = TestResult("t2", context=c2) + t3 = TestResult("t3", context=c3) + t4 = TestResult("t4", context=c4) + + self.collection = TestResultCollection("tests") + self.collection.extend([t1, t2, t3, t4]) + + def test_unique_contexts(self): + self.assertEqual(len(self.collection.contexts), 2) + + +if __name__ == "__main__": + mozunit.main() |