summaryrefslogtreecommitdiffstats
path: root/testing/mozbase/moztest/tests/test.py
diff options
context:
space:
mode:
Diffstat (limited to 'testing/mozbase/moztest/tests/test.py')
-rw-r--r--testing/mozbase/moztest/tests/test.py55
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()