54 lines
1.3 KiB
Python
54 lines
1.3 KiB
Python
# 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 mozunit
|
|
import pytest
|
|
from moztest.results import TestContext, TestResult, TestResultCollection
|
|
|
|
|
|
def test_results():
|
|
with pytest.raises(AssertionError):
|
|
TestResult("test", result_expected="hello")
|
|
t = TestResult("test")
|
|
with pytest.raises(ValueError):
|
|
t.finish(result="good bye")
|
|
|
|
|
|
def test_time():
|
|
now = time.time()
|
|
t = TestResult("test")
|
|
time.sleep(1)
|
|
t.finish("PASS")
|
|
duration = time.time() - now
|
|
assert math.fabs(duration - t.duration) < 1
|
|
|
|
|
|
def test_custom_time():
|
|
t = TestResult("test", time_start=0)
|
|
t.finish(result="PASS", time_end=1000)
|
|
assert t.duration == 1000
|
|
|
|
|
|
def test_unique_contexts():
|
|
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)
|
|
|
|
collection = TestResultCollection("tests")
|
|
collection.extend([t1, t2, t3, t4])
|
|
|
|
assert len(collection.contexts) == 2
|
|
|
|
|
|
if __name__ == "__main__":
|
|
mozunit.main()
|