Added a bit more coverage in the client/bin/job unittest.
Signed-off-by: Jeremy Orlow <jorlow@google.com>
git-svn-id: http://test.kernel.org/svn/autotest/trunk@1705 592f7852-d20e-0410-864c-8624ca9c26a4
diff --git a/client/bin/job_unittest.py b/client/bin/job_unittest.py
index 77afdfd..bbed311 100644
--- a/client/bin/job_unittest.py
+++ b/client/bin/job_unittest.py
@@ -22,6 +22,7 @@
# stub out some stuff
self.god.stub_function(os.path, 'exists')
+ self.god.stub_function(os.path, 'isdir')
self.god.stub_function(os, 'mkdir')
self.god.stub_function(shutil, 'copyfile')
self.god.stub_function(job, 'open')
@@ -101,6 +102,7 @@
# check
self.god.check_playback()
+
def test_constructor(self):
self.construct_job(False)
@@ -120,6 +122,20 @@
self.god.check_playback()
+ def test_relitive_path(self):
+ self.construct_job(True)
+ dummy = "asdf"
+ ret = self.job.relative_path(os.path.join(self.job.resultdir, dummy))
+ self.assertEquals(ret, dummy)
+
+
+ def test_control_functions(self):
+ self.construct_job(True)
+ control_file = "blah"
+ self.job.control_set(control_file)
+ self.assertEquals(self.job.control_get(), os.path.abspath(control_file))
+
+
def test_harness_select(self):
self.construct_job(True)
@@ -160,5 +176,46 @@
self.god.check_playback()
+ def test_setup_dirs_raise(self):
+ self.construct_job(True)
+
+ # setup
+ results_dir = 'foo'
+ tmp_dir = 'bar'
+
+ # record
+ os.path.exists.expect_call(tmp_dir).and_return(True)
+ os.path.isdir.expect_call(tmp_dir).and_return(False)
+
+ # test
+ self.assertRaises(ValueError, self.job.setup_dirs, results_dir, tmp_dir)
+ self.god.check_playback()
+
+
+ def test_setup_dirs(self):
+ self.construct_job(True)
+
+ # setup
+ results_dir1 = os.path.join(self.job.resultdir, 'build')
+ results_dir2 = os.path.join(self.job.resultdir, 'build.2')
+ results_dir3 = os.path.join(self.job.resultdir, 'build.3')
+ tmp_dir = 'bar'
+
+ # record
+ os.path.exists.expect_call(tmp_dir).and_return(False)
+ os.mkdir.expect_call(tmp_dir)
+ os.path.isdir.expect_call(tmp_dir).and_return(True)
+ os.path.exists.expect_call(results_dir1).and_return(True)
+ os.path.exists.expect_call(results_dir2).and_return(True)
+ os.path.exists.expect_call(results_dir3).and_return(False)
+ os.path.exists.expect_call(results_dir3).and_return(False)
+ os.mkdir.expect_call(results_dir3)
+
+ # test
+ self.assertEqual(self.job.setup_dirs(None, tmp_dir),
+ (results_dir3, tmp_dir))
+ self.god.check_playback()
+
+
if __name__ == "__main__":
unittest.main()