[Piglit] [PATCH 1/3] summary_tests.py: Add tests for subtest handling
Dylan Baker
baker.dylan.c at gmail.com
Thu Apr 24 17:20:40 PDT 2014
These tests are meant to show that subtest handling actually works.
---
framework/tests/summary_tests.py | 77 +++++++++++++++++++++++++++++++++++++++-
1 file changed, 76 insertions(+), 1 deletion(-)
diff --git a/framework/tests/summary_tests.py b/framework/tests/summary_tests.py
index 1ad51b5..bad1ba7 100644
--- a/framework/tests/summary_tests.py
+++ b/framework/tests/summary_tests.py
@@ -21,6 +21,7 @@
""" Module providing tests for the summary module """
+from __future__ import print_function
import json
import copy
import nose.tools as nt
@@ -67,6 +68,80 @@ def check_sets(old, ostat, new, nstat, set_):
with utils.with_tempfile(json.dumps(new)) as nfile:
summ = summary.Summary([ofile, nfile])
- print summ.tests
+ print(summ.tests)
nt.assert_equal(1, len(summ.tests[set_]),
msg="{0} was not appended".format(set_))
+
+
+def test_subtest_handling():
+ data = copy.deepcopy(utils.JSON_DATA)
+ data['tests']['with_subtests'] = {}
+ data['tests']['with_subtests']['result'] = 'pass'
+
+ data['tests']['with_subtests']['subtest'] = {}
+ data['tests']['with_subtests']['subtest']['subtest1'] = 'fail'
+ data['tests']['with_subtests']['subtest']['subtest2'] = 'warn'
+ data['tests']['with_subtests']['subtest']['subtest3'] = 'crash'
+ data['tests']['is_skip'] = {}
+ data['tests']['is_skip']['result'] = 'skip'
+
+ with utils.with_tempfile(json.dumps(data)) as sumfile:
+ summ = summary.Summary([sumfile])
+
+ check_subtests_are_tests.description = \
+ "Subtests should be treated as full tests "
+ yield check_subtests_are_tests, summ
+
+ check_tests_w_subtests_are_groups.description = \
+ "Tests with subtests should be a group"
+ yield check_tests_w_subtests_are_groups, summ
+
+ test_removed_from_all.description = \
+ "Tests with subtests should not be in the tests['all'] name"
+ yield test_removed_from_all, summ
+
+ subtest_not_skip_notrun.description = \
+ "Skip's should not become NotRun"
+ yield subtest_not_skip_notrun, summ
+
+
+ at nt.nottest
+def check_subtests_are_tests(summary_):
+ """ Subtests should be treated as full tests """
+ print(summary_.fractions)
+ nt.assert_equal(summary_.fractions['fake-tests']['with_subtests'], (0, 3),
+ msg="Summary.fraction['fake-tests']['with_subtests'] should "
+ "be (0, 3), but isn't")
+
+
+ at nt.nottest
+def check_tests_w_subtests_are_groups(summary_):
+ """ Tests with subtests should be a group
+
+ We know that the status will be 'pass' if it's not being overwritten, and
+ will be 'crash' if it has. (since we set the data that way)
+
+ """
+ print(summary_.status)
+ nt.assert_equal(
+ str(summary_.status['fake-tests']['with_subtests']), 'crash',
+ msg="Summary.status['fake-tests']['with_subtests'] should "
+ "be crash, but isn't")
+
+
+ at nt.nottest
+def test_removed_from_all(summary_):
+ """ Tests with subtests should not be in the all results """
+ print(summary_.tests['all'])
+ nt.assert_not_in('with_subtests', summary_.tests['all'],
+ msg="Test with subtests should have been removed from "
+ "self.tests['all'], but wasn't")
+
+
+ at nt.nottest
+def subtest_not_skip_notrun(summary_):
+ """ Ensure that skips are not changed to notruns """
+ print(summary_.status['fake-tests']['is_skip'])
+ print(summary_.results[0].tests['is_skip'])
+ nt.eq_(summary_.status['fake-tests']['is_skip'], 'skip',
+ msg="Status should be skip but was changed")
--
2.0.0.rc0
More information about the Piglit
mailing list