Revision 30c945d0 test/ganeti.jqueue_unittest.py
b/test/ganeti.jqueue_unittest.py | ||
---|---|---|
669 | 669 |
for op in job.ops)) |
670 | 670 |
|
671 | 671 |
opexec = _FakeExecOpCodeForProc(queue, None, None) |
672 |
jqueue._JobProcessor(queue, opexec, job)() |
|
672 |
self.assert_(jqueue._JobProcessor(queue, opexec, job)()) |
|
673 |
|
|
674 |
# Check result |
|
675 |
self.assertEqual(job.CalcStatus(), constants.JOB_STATUS_CANCELED) |
|
676 |
self.assertEqual(job.GetInfo(["status"]), [constants.JOB_STATUS_CANCELED]) |
|
677 |
self.assertFalse(job.start_timestamp) |
|
678 |
self.assert_(job.end_timestamp) |
|
679 |
self.assertFalse(compat.any(op.start_timestamp or op.end_timestamp |
|
680 |
for op in job.ops)) |
|
681 |
self.assertEqual(job.GetInfo(["opstatus", "opresult"]), |
|
682 |
[[constants.OP_STATUS_CANCELED for _ in job.ops], |
|
683 |
["Job canceled by request" for _ in job.ops]]) |
|
684 |
|
|
685 |
def testCancelWhileWaitlockInQueue(self): |
|
686 |
queue = _FakeQueueForProc() |
|
687 |
|
|
688 |
ops = [opcodes.OpTestDummy(result="Res%s" % i, fail=False) |
|
689 |
for i in range(5)] |
|
690 |
|
|
691 |
# Create job |
|
692 |
job_id = 8645 |
|
693 |
job = self._CreateJob(queue, job_id, ops) |
|
694 |
|
|
695 |
self.assertEqual(job.CalcStatus(), constants.JOB_STATUS_QUEUED) |
|
696 |
|
|
697 |
job.ops[0].status = constants.OP_STATUS_WAITLOCK |
|
698 |
|
|
699 |
assert len(job.ops) == 5 |
|
700 |
|
|
701 |
self.assertEqual(job.CalcStatus(), constants.JOB_STATUS_WAITLOCK) |
|
702 |
|
|
703 |
# Mark as cancelling |
|
704 |
(success, _) = job.Cancel() |
|
705 |
self.assert_(success) |
|
706 |
|
|
707 |
self.assertRaises(IndexError, queue.GetNextUpdate) |
|
708 |
|
|
709 |
self.assert_(compat.all(op.status == constants.OP_STATUS_CANCELING |
|
710 |
for op in job.ops)) |
|
711 |
|
|
712 |
opexec = _FakeExecOpCodeForProc(queue, None, None) |
|
713 |
self.assert_(jqueue._JobProcessor(queue, opexec, job)()) |
|
673 | 714 |
|
674 | 715 |
# Check result |
675 | 716 |
self.assertEqual(job.CalcStatus(), constants.JOB_STATUS_CANCELED) |
Also available in: Unified diff