20
20
from datetime import datetime
22
22
from abrek.testdef import AbrekTestRunner
25
class testAbrekTestInstaller(unittest.TestCase):
23
from imposters import OutputImposter
24
from fixtures import TestCaseWithFixtures
26
def makerunner(**kwargs):
27
return AbrekTestRunner(**kwargs)
29
class testAbrekTestRunner(unittest.TestCase):
27
31
self.origdir = os.path.abspath(os.curdir)
28
32
self.tmpdir = tempfile.mkdtemp()
33
37
os.chdir(self.origdir)
34
38
shutil.rmtree(self.tmpdir)
36
def makerunner(self,**kwargs):
37
return AbrekTestRunner(**kwargs)
39
40
def test_starttime(self):
40
runner = self.makerunner()
41
42
runner.run(self.tmpdir)
42
43
self.assertTrue(isinstance(runner.starttime, datetime))
44
45
def test_endtime(self):
45
runner = self.makerunner()
46
47
runner.run(self.tmpdir)
47
48
self.assertTrue(isinstance(runner.endtime, datetime))
49
50
def test_timediff(self):
50
51
steps = ['sleep 2']
51
runner = self.makerunner(steps=steps)
52
runner = makerunner(steps=steps)
52
53
runner.run(self.tmpdir)
53
54
self.assertNotEqual(runner.starttime, runner.endtime)
55
56
def test_runsteps(self):
56
57
steps = ["echo test > foo"]
57
runner = self.makerunner(steps=steps)
58
runner = makerunner(steps=steps)
58
59
runner._runsteps(self.tmpdir)
59
60
self.assertTrue(os.path.exists("./foo"))
61
62
def test_logoutput(self):
62
63
steps = ["echo test > foo"]
63
runner = self.makerunner(steps=steps)
64
runner = makerunner(steps=steps)
64
65
runner._runsteps(self.tmpdir)
65
66
self.assertTrue(os.path.exists("./testoutput.log"))
68
class testAbrekTestRunnerVerbosity(TestCaseWithFixtures):
70
super(testAbrekTestRunnerVerbosity, self).setUp()
71
self.origdir = os.path.abspath(os.curdir)
72
self.tmpdir = tempfile.mkdtemp()
73
self.filename = os.path.abspath(__file__)
75
self.out = self.add_fixture(OutputImposter())
78
super(testAbrekTestRunnerVerbosity, self).tearDown()
79
os.chdir(self.origdir)
80
shutil.rmtree(self.tmpdir)
82
def test_runsteps_quiet_true(self):
84
runner = makerunner(steps=steps)
85
runner._runsteps(self.tmpdir, quiet=True)
86
self.assertEqual("", self.out.getvalue().strip())
88
def test_runsteps_quiet_false(self):
90
runner = makerunner(steps=steps)
91
runner._runsteps(self.tmpdir, quiet=False)
92
self.assertEqual("test", self.out.getvalue().strip())
94
def test_run_quiet_true(self):
96
runner = makerunner(steps=steps)
97
runner.run(self.tmpdir, quiet=True)
98
self.assertEqual("", self.out.getvalue().strip())
100
def test_run_quiet_false(self):
101
steps = ["echo test"]
102
runner = makerunner(steps=steps)
103
runner.run(self.tmpdir, quiet=False)
104
self.assertEqual("test", self.out.getvalue().strip())