Merge lp:~pwlars/lava-test/test-id-after-run into lp:lava-test/0.0

Proposed by Paul Larson
Status: Merged
Merged at revision: 49
Proposed branch: lp:~pwlars/lava-test/test-id-after-run
Merge into: lp:lava-test/0.0
Diff against target: 95 lines (+55/-0)
3 files modified
abrek/testdef.py (+6/-0)
tests/__init__.py (+1/-0)
tests/test_abrektest.py (+48/-0)
To merge this branch: bzr merge lp:~pwlars/lava-test/test-id-after-run
Reviewer Review Type Date Requested Status
James Westby (community) Approve
Review via email: mp+38547@code.launchpad.net

Description of the change

Add output at the end of test runs to let the user know the result id

To post a comment you must log in.
Revision history for this message
James Westby (james-w) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'abrek/testdef.py'
2--- abrek/testdef.py 2010-10-07 15:44:19 +0000
3+++ abrek/testdef.py 2010-10-15 15:12:59 +0000
4@@ -75,6 +75,8 @@
5 self.uninstall()
6 raise RuntimeError("An error was detected during",
7 "installation, cleaning up: %s" % strerror)
8+ finally:
9+ os.chdir(self.origdir)
10
11 def uninstall(self):
12 """Uninstall the test suite.
13@@ -122,6 +124,9 @@
14 os.chdir(installdir)
15 self.runner.run(self.resultsdir, quiet=quiet)
16 self._savetestdata()
17+ os.chdir(self.origdir)
18+ print("ABREK TEST RUN COMPLETE: Result id is '%s'" %
19+ os.path.basename(self.resultsdir))
20
21 def parse(self, resultname):
22 if not self.parser:
23@@ -131,6 +136,7 @@
24 resultsdir = os.path.join(config.resultsdir, resultname)
25 os.chdir(resultsdir)
26 self.parser.parse()
27+ os.chdir(self.origdir)
28
29
30 class AbrekTestInstaller(object):
31
32=== modified file 'tests/__init__.py'
33--- tests/__init__.py 2010-09-15 20:28:14 +0000
34+++ tests/__init__.py 2010-10-15 15:12:59 +0000
35@@ -17,6 +17,7 @@
36
37 def test_suite():
38 module_names = ['tests.test_abrekcmd',
39+ 'tests.test_abrektest',
40 'tests.test_abrektestinstaller',
41 'tests.test_abrektestparser',
42 'tests.test_abrektestrunner',
43
44=== added file 'tests/test_abrektest.py'
45--- tests/test_abrektest.py 1970-01-01 00:00:00 +0000
46+++ tests/test_abrektest.py 2010-10-15 15:12:59 +0000
47@@ -0,0 +1,48 @@
48+# Copyright (c) 2010 Linaro
49+#
50+# This program is free software: you can redistribute it and/or modify
51+# it under the terms of the GNU General Public License as published by
52+# the Free Software Foundation, either version 3 of the License, or
53+# (at your option) any later version.
54+#
55+# This program is distributed in the hope that it will be useful,
56+# but WITHOUT ANY WARRANTY; without even the implied warranty of
57+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
58+# GNU General Public License for more details.
59+#
60+# You should have received a copy of the GNU General Public License
61+# along with this program. If not, see <http://www.gnu.org/licenses/>.
62+
63+import re
64+
65+from abrek.testdef import AbrekTest, AbrekTestInstaller, AbrekTestRunner
66+from imposters import OutputImposter, ConfigImposter
67+from fixtures import TestCaseWithFixtures
68+
69+def maketest(name="foo", version="", installer=None, runner=None, parser=None):
70+ if installer is None:
71+ installer = makeinstaller()
72+ return AbrekTest(name, version, installer, runner, parser)
73+
74+def makerunner(**kwargs):
75+ return AbrekTestRunner(**kwargs)
76+
77+def makeinstaller(**kwargs):
78+ return AbrekTestInstaller(**kwargs)
79+
80+class AbrekTestConfigOutput(TestCaseWithFixtures):
81+ def setUp(self):
82+ super(AbrekTestConfigOutput, self).setUp()
83+ self.config = self.add_fixture(ConfigImposter())
84+ self.out = self.add_fixture(OutputImposter())
85+
86+ def test_run(self):
87+ testrunner = makerunner(steps=["echo foo"])
88+ test = maketest(name="foo", runner=testrunner)
89+ test.install()
90+ test.run()
91+ self.assertEqual("foo", self.out.getvalue().splitlines()[0])
92+ completion_message = self.out.getvalue().splitlines()[1]
93+ completion_pattern = "ABREK TEST RUN COMPLETE: Result id is 'foo\d+\.0'"
94+ self.assertTrue(re.match(completion_pattern, completion_message))
95+

Subscribers

People subscribed via source and target branches