Beispiel #1
0
 def test_20_000_job_event_functions_invalid_args(self):
     with self.assertRaises(OSError) as cm:
         for event in job.event_watch(self.fh, 123):
             print(event)
     self.assertEqual(cm.exception.errno, errno.ENOENT)
     with self.assertRaises(OSError) as cm:
         job.event_wait(self.fh, 123, "start")
     self.assertEqual(cm.exception.errno, errno.ENOENT)
     with self.assertRaises(OSError) as cm:
         job.event_wait(None, 123, "start")
     self.assertEqual(cm.exception.errno, errno.EINVAL)
Beispiel #2
0
    def test_16_job_kill(self):
        self.sleep_jobspec = JobspecV1.from_command(["sleep", "1000"])
        jobid = job.submit(self.fh, self.sleep_jobspec, waitable=True)

        #  Wait for shell to fully start to avoid delay in signal
        job.event_wait(self.fh, jobid, name="start")
        job.event_wait(
            self.fh, jobid, name="shell.start", eventlog="guest.exec.eventlog"
        )
        job.kill(self.fh, jobid, signum=signal.SIGKILL)
        fut = job.wait_async(self.fh, jobid=jobid).wait_for(5.0)
        return_id, success, errmsg = fut.get_status()
        self.assertEqual(return_id, jobid)
        self.assertFalse(success)
Beispiel #3
0
 def test_20_006_job_event_wait(self):
     jobid = job.submit(self.fh, JobspecV1.from_command(["sleep", "0"]))
     self.assertTrue(jobid > 0)
     event = job.event_wait(self.fh, jobid, "start")
     self.assertIsInstance(event, job.EventLogEvent)
     self.assertEqual(event.name, "start")
     event = job.event_wait(
         self.fh, jobid, "shell.init", eventlog="guest.exec.eventlog"
     )
     self.assertIsInstance(event, job.EventLogEvent)
     self.assertEqual(event.name, "shell.init")
     event = job.event_wait(self.fh, jobid, "clean")
     self.assertIsInstance(event, job.EventLogEvent)
     self.assertEqual(event.name, "clean")
     with self.assertRaises(OSError):
         job.event_wait(self.fh, jobid, "foo")
Beispiel #4
0
 def test_20_007_job_event_wait_exception(self):
     event = None
     jobid = job.submit(
         self.fh, JobspecV1.from_command(["sleep", "0"], num_tasks=128)
     )
     self.assertTrue(jobid > 0)
     try:
         event = job.event_wait(self.fh, jobid, "start")
     except job.JobException as err:
         self.assertEqual(err.severity, 0)
         self.assertEqual(err.type, "alloc")
         self.assertGreater(err.timestamp, 0.0)
     self.assertIs(event, None)
     try:
         event = job.event_wait(self.fh, jobid, "start", raiseJobException=False)
     except OSError as err:
         self.assertEqual(err.errno, errno.ENODATA)
     self.assertIs(event, None)