Exemplo n.º 1
0
 def test_kill_1(self):
     jobs = [make_script(["sleep 100"])]
     jobid = LoadSharingFacility.sub(jobs,
                                     hold=True,
                                     name=inspect.stack()[0][3],
                                     shell="/bin/sh")
     time.sleep(5)
     self.assertTrue(LoadSharingFacility.stat(jobid))
     LoadSharingFacility.kill(jobid)
     for f in jobs:
         os.unlink(f)
Exemplo n.º 2
0
 def test_hold_1(self):
     jobs = [make_script(["sleep 100"])]
     jobid = LoadSharingFacility.sub(jobs,
                                     hold=False,
                                     name=inspect.stack()[0][3],
                                     shell="/bin/sh")
     time.sleep(5)
     LoadSharingFacility.hold(jobid)
     LoadSharingFacility.kill(jobid)
     for f in jobs:
         os.unlink(f)
Exemplo n.º 3
0
 def test_stat_1(self):
     jobs = [make_script(["sleep 100"])]
     jobid = LoadSharingFacility.sub(jobs,
                                     hold=True,
                                     name=inspect.stack()[0][3],
                                     shell="/bin/sh")
     time.sleep(5)
     data = LoadSharingFacility.stat(jobid)
     self.assertTrue(data)
     self.assertEqual(jobid, int(data['job_number']))
     LoadSharingFacility.kill(jobid)
     for f in jobs:
         os.unlink(f)
Exemplo n.º 4
0
 def test_sub_3(self):
     jobs = [make_script(["sleep 1"]) for _ in range(5)]
     array_script, array_jobs = prep_array_script(
         jobs, os.getcwd(), LoadSharingFacility.TASK_ID)
     jobid = LoadSharingFacility.sub(array_script,
                                     array=[1, 5],
                                     hold=True,
                                     log=os.devnull,
                                     name=inspect.stack()[0][3],
                                     shell="/bin/sh")
     time.sleep(5)
     self.assertTrue(LoadSharingFacility.stat(jobid))
     LoadSharingFacility.kill(jobid)
     for f in jobs + [array_script, array_jobs]:
         os.unlink(f)
Exemplo n.º 5
0
 def test_sub_2(self):
     assert "PYJOB_ENV" not in os.environ
     os.environ["PYJOB_ENV"] = "pyjob_random"
     jobs = [make_script(["echo $PYJOB_ENV"], directory=os.getcwd())]
     log = jobs[0].replace(".sh", ".log")
     jobid = LoadSharingFacility.sub(jobs,
                                     log=log,
                                     directory=os.getcwd(),
                                     name=inspect.stack()[0][3],
                                     shell="/bin/sh")
     time.sleep(5)
     while LoadSharingFacility.stat(jobid):
         time.sleep(1)
     self.assertTrue(os.path.isfile(log))
     self.assertTrue(open(log).read().strip(), "pyjob_random")
     for f in jobs + [log]:
         os.unlink(f)
Exemplo n.º 6
0
 def test_sub_6(self):
     jobs = [
         make_script(["echo $LSF_BINDIR"], directory=os.getcwd())
         for _ in range(2)
     ]
     array_script, array_jobs = prep_array_script(
         jobs, os.getcwd(), LoadSharingFacility.TASK_ID)
     jobid = LoadSharingFacility.sub(array_script,
                                     array=[1, 2],
                                     log=os.devnull,
                                     name=inspect.stack()[0][3],
                                     shell="/bin/sh")
     while LoadSharingFacility.stat(jobid):
         time.sleep(1)
     for i, j in enumerate(jobs):
         f = j.replace(".sh", ".log")
         self.assertTrue(os.path.isfile(f))
         self.assertEqual(os.environ["LSF_BINDIR"], open(f).read().strip())
         os.unlink(f)
     for f in jobs + [array_script, array_jobs]:
         os.unlink(f)
Exemplo n.º 7
0
 def test_sub_5(self):
     directory = os.getcwd()
     jobs = [
         make_script(['echo "file {0}"'.format(i)], directory=directory)
         for i in range(100)
     ]
     array_script, array_jobs = prep_array_script(
         jobs, directory, LoadSharingFacility.TASK_ID)
     jobid = LoadSharingFacility.sub(array_script,
                                     array=[1, 100],
                                     log=os.devnull,
                                     name=inspect.stack()[0][3],
                                     shell="/bin/sh")
     while LoadSharingFacility.stat(jobid):
         time.sleep(1)
     for i, j in enumerate(jobs):
         f = j.replace(".sh", ".log")
         self.assertTrue(os.path.isfile(f))
         self.assertEqual("file {0}".format(i), open(f).read().strip())
         os.unlink(f)
     for f in jobs + [array_script, array_jobs]:
         os.unlink(f)
Exemplo n.º 8
0
 def test_rls_1(self):
     jobs = [make_script(["touch", "pyjob_rls_test_1"])]
     jobid = LoadSharingFacility.sub(jobs,
                                     hold=True,
                                     name=inspect.stack()[0][3],
                                     shell="/bin/sh")
     time.sleep(5)
     LoadSharingFacility.rls(jobid)
     start, timeout = time.time(), False
     while LoadSharingFacility.stat(jobid):
         # Don't wait too long, one minute, then fail
         if ((time.time() - start) // 60) >= 1:
             LoadSharingFacility.kill(jobid)
             timeout = True
         time.sleep(10)
     for f in jobs:
         os.unlink(f)
     if timeout:
         self.assertEqual(1, 0, "Timeout")
     else:
         self.assertTrue(os.path.isfile('pyjob_rls_test_1'))
         os.unlink('pyjob_rls_test_1')