osmo-gsm-tester/selftest/suite_test.py

55 lines
1.8 KiB
Python
Executable File

#!/usr/bin/env python3
import os
import _prep
from osmo_gsm_tester import log, suite, config, report
config.ENV_CONF = './suite_test'
#log.style_change(trace=True)
print('- non-existing suite dir')
assert(log.run_logging_exceptions(suite.load, 'does_not_exist') == None)
print('- no suite.conf')
assert(log.run_logging_exceptions(suite.load, 'empty_dir') == None)
print('- valid suite dir')
example_suite_dir = os.path.join('test_suite')
s_def = suite.load(example_suite_dir)
assert(isinstance(s_def, suite.SuiteDefinition))
print(config.tostr(s_def.conf))
print('- run hello world test')
s = suite.SuiteRun(None, 'test_suite', s_def)
results = s.run_tests('hello_world.py')
print(report.suite_to_text(s))
log.style_change(src=True)
#log.style_change(trace=True)
print('\n- a test with an error')
results = s.run_tests('test_error.py')
output = report.suite_to_text(s)
assert 'FAIL: [test_suite] 1 failed ' in output
assert 'FAIL: [test_error.py]' in output
assert "type:'AssertionError' message: AssertionError()" in output
assert 'assert False' in output
print('\n- a test with a failure')
results = s.run_tests('test_fail.py')
output = report.suite_to_text(s)
assert 'FAIL: [test_suite] 1 failed ' in output
assert 'FAIL: [test_fail.py]' in output
assert "type:'EpicFail' message: This failure is expected" in output
assert "test.set_fail('EpicFail', 'This failure is expected')" in output
print('\n- a test with a raised failure')
results = s.run_tests('test_fail_raise.py')
output = report.suite_to_text(s)
assert 'FAIL: [test_suite] 1 failed ' in output
assert 'FAIL: [test_fail_raise.py]' in output
assert "type:'EpicFail' message: This failure is expected" in output
assert "raise Failure('EpicFail', 'This failure is expected')" in output
print('\n- graceful exit.')
# vim: expandtab tabstop=4 shiftwidth=4