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()