Exemplo n.º 1
0
 def test_kill_1(self):
     jobs = [make_script(["sleep 100"])]
     jobid = SunGridEngine.sub(jobs,
                               hold=True,
                               name=inspect.stack()[0][3],
                               shell="/bin/sh")
     time.sleep(5)
     self.assertTrue(SunGridEngine.stat(jobid))
     SunGridEngine.kill(jobid)
     for f in jobs:
         os.unlink(f)
Exemplo n.º 2
0
 def test_hold_1(self):
     jobs = [make_script(["sleep 100"])]
     jobid = SunGridEngine.sub(jobs,
                               hold=False,
                               name=inspect.stack()[0][3],
                               shell="/bin/sh",
                               log=os.devnull)
     time.sleep(5)
     SunGridEngine.hold(jobid)
     SunGridEngine.kill(jobid)
     map(os.unlink, jobs)
Exemplo n.º 3
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(),
                                                  SunGridEngine.TASK_ID)
     jobid = SunGridEngine.sub(array_script,
                               array=[1, 5],
                               hold=True,
                               name=inspect.stack()[0][3],
                               shell="/bin/sh")
     time.sleep(5)
     self.assertTrue(SunGridEngine.stat(jobid))
     SunGridEngine.kill(jobid)
     for f in jobs + [array_script, array_jobs]:
         os.unlink(f)
Exemplo n.º 4
0
 def test_rls_1(self):
     jobs = [make_script(["touch", "pyjob_rls_test_1"])]
     jobid = SunGridEngine.sub(jobs,
                               hold=True,
                               name=inspect.stack()[0][3],
                               shell="/bin/sh",
                               log=os.devnull)
     time.sleep(5)
     SunGridEngine.rls(jobid)
     while SunGridEngine.stat(jobid):
         time.sleep(1)
     self.assertTrue(os.path.isfile('pyjob_rls_test_1'))
     os.unlink('pyjob_rls_test_1')
     for f in 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"
     job = [make_script(["echo $PYJOB_ENV"])]
     log = job[0].replace(".sh", ".log")
     jobid = SunGridEngine.sub(job,
                               log=log,
                               name=inspect.stack()[0][3],
                               shell="/bin/sh")
     time.sleep(5)
     while SunGridEngine.stat(jobid):
         time.sleep(1)
     self.assertTrue(os.path.isfile(log))
     self.assertTrue(open(log).read().strip(), "pyjob_random")
     for f in job + [log]:
         os.unlink(f)
Exemplo n.º 6
0
 def test_stat_1(self):
     jobs = [make_script(["sleep 100"])]
     jobid = SunGridEngine.sub(jobs,
                               hold=True,
                               name=inspect.stack()[0][3],
                               shell="/bin/sh")
     time.sleep(5)
     data = SunGridEngine.stat(jobid)
     self.assertTrue(data)
     self.assertEqual(jobid, int(data['job_number']))
     self.assertTrue('sge_o_shell' in data)
     self.assertTrue('sge_o_workdir' in data)
     self.assertTrue('sge_o_host' in data)
     SunGridEngine.kill(jobid)
     for f in jobs:
         os.unlink(f)
Exemplo n.º 7
0
 def test_sub_6(self):
     jobs = [
         make_script(["echo $SGE_ROOT"], directory=os.getcwd())
         for _ in range(2)
     ]
     array_script, array_jobs = prep_array_script(jobs, os.getcwd(),
                                                  SunGridEngine.TASK_ID)
     jobid = SunGridEngine.sub(array_script,
                               array=[1, 2],
                               log=os.devnull,
                               name=inspect.stack()[0][3],
                               shell="/bin/sh")
     while SunGridEngine.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["SGE_ROOT"], open(f).read().strip())
         os.unlink(f)
     for f in jobs + [array_script, array_jobs]:
         os.unlink(f)
Exemplo n.º 8
0
 def test_stat_2(self):
     jobs = [make_script(["sleep 100"]) for _ in range(5)]
     array_script, array_jobs = prep_array_script(jobs, os.getcwd(),
                                                  SunGridEngine.TASK_ID)
     jobid = SunGridEngine.sub(array_script,
                               array=[1, 5],
                               hold=True,
                               name=inspect.stack()[0][3],
                               shell="/bin/sh")
     time.sleep(5)
     data = SunGridEngine.stat(jobid)
     SunGridEngine.kill(jobid)
     self.assertTrue(data)
     self.assertEqual(jobid, int(data['job_number']))
     self.assertTrue('sge_o_shell' in data)
     self.assertTrue('sge_o_workdir' in data)
     self.assertTrue('sge_o_host' in data)
     self.assertTrue('job-array tasks' in data)
     self.assertEqual("1-5:1", data['job-array tasks'].strip())
     for f in jobs + [array_script, array_jobs]:
         os.unlink(f)
Exemplo n.º 9
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,
                                                  SunGridEngine.TASK_ID)
     jobid = SunGridEngine.sub(array_script,
                               array=[1, 100],
                               log=os.devnull,
                               name=inspect.stack()[0][3],
                               shell="/bin/sh")
     while SunGridEngine.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.º 10
0
 def test_alt_1(self):
     jobs = [make_script(["sleep 100"])]
     jobid = SunGridEngine.sub(jobs,
                               hold=True,
                               name=inspect.stack()[0][3],
                               shell="/bin/sh")
     time.sleep(5)
     SunGridEngine.alt(jobid, priority=-1)
     data = SunGridEngine.stat(jobid)
     self.assertTrue(data)
     self.assertEqual(jobid, int(data['job_number']))
     self.assertEqual(-1, int(data['priority']))
     SunGridEngine.kill(jobid)
     for f in jobs:
         os.unlink(f)