[Piglit] [PATCH 2/3] framework/tests/summary_common_tests.py: Add tests for subtests in Names
baker.dylan.c at gmail.com
baker.dylan.c at gmail.com
Mon Oct 19 15:34:44 PDT 2015
From: Dylan Baker <baker.dylan.c at gmail.com>
There is currently a bug in summary.Names that means that subtests are
added to the 'all' page (index.html), but not to the subset pages
(fixes.html, problems.html, etc). These demonstrate that problem.
This introduces 7 expected failures to the piglit framework unittests.
Signed-off-by: Dylan Baker <dylanx.c.baker at intel.com>
---
framework/tests/summary_common_tests.py | 71 +++++++++++++++++++++++++++++----
1 file changed, 64 insertions(+), 7 deletions(-)
diff --git a/framework/tests/summary_common_tests.py b/framework/tests/summary_common_tests.py
index 1edaf5c..d350995 100644
--- a/framework/tests/summary_common_tests.py
+++ b/framework/tests/summary_common_tests.py
@@ -89,7 +89,7 @@ class TestResults(object):
def test_names_all(self):
"""summary.Names.all: contains a set of all tests"""
- baseline = {'foo', 'bar', 'oink', 'bonk', 'bor', 'tonk'}
+ baseline = {'foo', 'bar', 'oink', 'bonk', 'bor', 'tonk'}
nt.assert_set_equal(self.test.names.all, baseline)
def test_names_changes_all(self):
@@ -219,30 +219,87 @@ class TestNamesSubtests(object):
res1.tests['bar'] = results.TestResult('fail')
res1.tests['oink'] = results.TestResult('crash')
res1.tests['bonk'] = results.TestResult('warn')
- res1.tests['bor'] = results.TestResult('skip')
- res1.tests['bor'].subtests['1'] = 'skip'
+ res1.tests['bor'] = results.TestResult('crash')
+ res1.tests['bor'].subtests['1'] = 'pass'
res1.tests['bor'].subtests['2'] = 'skip'
- res1.tests['bor'].subtests['3'] = 'skip'
+ res1.tests['bor'].subtests['3'] = 'fail'
+ res1.tests['bor'].subtests['4'] = 'pass'
res2 = results.TestrunResult()
res2.tests['foo'] = results.TestResult('fail')
res2.tests['bar'] = results.TestResult('pass')
res2.tests['oink'] = results.TestResult('crash')
res2.tests['tonk'] = results.TestResult('incomplete')
+ res2.tests['bor'] = results.TestResult('crash')
+ res2.tests['bor'].subtests['1'] = 'fail'
+ res2.tests['bor'].subtests['2'] = 'skip'
+ res2.tests['bor'].subtests['3'] = 'pass'
+ res2.tests['bor'].subtests['5'] = 'pass'
cls.test = summary.Results([res1, res2])
def test_all(self):
"""summary.Names.all: Handles subtests as groups"""
baseline = {'foo', 'bar', 'oink', 'bonk', 'oink', 'tonk'}
- for x in xrange(1, 4):
+ for x in xrange(1, 6):
baseline.add(grouptools.join('bor', str(x)))
nt.eq_(self.test.names.all, baseline)
- def test_sublcass_name(self):
+ def test_sublcass_names(self):
"""summary.Names.all: subtest in all"""
- nt.ok_(grouptools.join('bor', '1') in self.test.names.all)
+ expected = grouptools.join('bor', '1')
+ source = self.test.names.all
+
+ nt.ok_(expected in source,
+ msg='{} not found in {}'.format(expected, source))
+
+ @utils.nose_generator
+ def test_gen_tests(self):
+ """generate a bunch of different tests."""
+ def test(attr):
+ expected = grouptools.join('bor', '1')
+ source = getattr(self.test.names, attr)[1]
+
+ nt.ok_(expected in source,
+ msg='{} not found in "{}"'.format(expected, source))
+
+ desc = 'summary.Names.{}: tests added properly'
+ for attr in ['changes', 'problems', 'regressions']:
+ test.description = desc.format(attr)
+ yield test, attr
+
+ def test_names_fixes(self):
+ """summary.Names.fixes: subtests added properly"""
+ expected = grouptools.join('bor', '3')
+ source = self.test.names.fixes[1]
+
+ nt.ok_(expected in source,
+ msg='{} not found in "{}"'.format(expected, source))
+
+ def test_names_skips(self):
+ """summary.Names.skips: subtests added properly"""
+ expected = grouptools.join('bor', '2')
+ source = self.test.names.skips[1]
+
+ nt.ok_(expected in source,
+ msg='{} not found in "{}"'.format(expected, source))
+
+ def test_names_enabled(self):
+ """summary.Names.enabled: subtests added properly"""
+ expected = grouptools.join('bor', '5')
+ source = self.test.names.enabled[1]
+
+ nt.ok_(expected in source,
+ msg='{} not found in "{}"'.format(expected, source))
+
+ def test_names_disabled(self):
+ """summary.Names.disabled: subtests added properly"""
+ expected = grouptools.join('bor', '4')
+ source = self.test.names.disabled[1]
+
+ nt.ok_(expected in source,
+ msg='{} not found in "{}"'.format(expected, source))
class TestNamesSingle(object):
--
2.6.1
More information about the Piglit
mailing list