diff options
Diffstat (limited to 'testing/mozbase/moztest/tests/test.py')
-rw-r--r-- | testing/mozbase/moztest/tests/test.py | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/testing/mozbase/moztest/tests/test.py b/testing/mozbase/moztest/tests/test.py new file mode 100644 index 000000000..93096ec2a --- /dev/null +++ b/testing/mozbase/moztest/tests/test.py @@ -0,0 +1,55 @@ +# 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/. + +import math +import time +import unittest + +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') + c3.os = 'B2G' + 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), 3) + +if __name__ == '__main__': + unittest.main() |