Skip to content

Commit d9df60c

Browse files
authored
Merge pull request #7282 from fstagni/cherry-pick-2-157cd6c32-integration
[sweep:integration] JobStatus: allow WAITING -> KILLED
2 parents ba9e6c5 + a5c1fbc commit d9df60c

File tree

2 files changed

+13
-8
lines changed

2 files changed

+13
-8
lines changed

src/DIRAC/WorkloadManagementSystem/Client/JobStatus.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ def __init__(self, state):
8888
RUNNING: State(8, [STALLED, DONE, FAILED, RESCHEDULED, COMPLETING, KILLED, RECEIVED], defState=RUNNING),
8989
RESCHEDULED: State(7, [WAITING, RECEIVED, DELETED, FAILED], defState=RESCHEDULED),
9090
MATCHED: State(6, [RUNNING, FAILED, RESCHEDULED, KILLED], defState=MATCHED),
91-
WAITING: State(5, [MATCHED, RESCHEDULED, DELETED], defState=WAITING),
91+
WAITING: State(5, [MATCHED, RESCHEDULED, DELETED, KILLED], defState=WAITING),
9292
STAGING: State(4, [CHECKING, WAITING, FAILED, KILLED], defState=STAGING),
9393
SCOUTING: State(3, [CHECKING, FAILED, STALLED, KILLED], defState=SCOUTING),
9494
CHECKING: State(2, [SCOUTING, STAGING, WAITING, RESCHEDULED, FAILED, DELETED], defState=CHECKING),

tests/Integration/WorkloadManagementSystem/Test_JobDB.py

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,14 @@
88

99
from datetime import datetime, timedelta
1010
from unittest.mock import MagicMock, patch
11-
import pytest
1211

1312
import DIRAC
13+
import pytest
1414

1515
DIRAC.initialize() # Initialize configuration
1616

1717
from DIRAC import S_OK, gLogger
18-
from DIRAC.WorkloadManagementSystem.Client import JobStatus
19-
from DIRAC.WorkloadManagementSystem.Client import JobMinorStatus
18+
from DIRAC.WorkloadManagementSystem.Client import JobMinorStatus, JobStatus
2019

2120
# sut
2221
from DIRAC.WorkloadManagementSystem.DB.JobDB import JobDB
@@ -356,15 +355,21 @@ def test_setJobsMajorStatus(jobDB):
356355
res = jobDB.setJobsMajorStatus([jobID_1], JobStatus.KILLED)
357356
assert res["OK"], res["Message"]
358357
res = jobDB.getJobsAttributes([jobID_1, jobID_2], ["Status"])
359-
assert res["OK"], res["Message"]
360-
assert res["Value"] == {jobID_1: {"Status": JobStatus.WAITING}, jobID_2: {"Status": JobStatus.CHECKING}}
358+
assert res["OK"] is True, res["Message"]
359+
assert res["Value"] == {jobID_1: {"Status": JobStatus.KILLED}, jobID_2: {"Status": JobStatus.CHECKING}}
361360

362-
res = jobDB.setJobsMajorStatus([jobID_1], JobStatus.KILLED, force=True)
363-
assert res["OK"], res["Message"]
361+
res = jobDB.setJobsMajorStatus([jobID_1], JobStatus.RUNNING)
362+
assert res["OK"] is True, res["Message"]
364363
res = jobDB.getJobsAttributes([jobID_1, jobID_2], ["Status"])
365364
assert res["OK"], res["Message"]
366365
assert res["Value"] == {jobID_1: {"Status": JobStatus.KILLED}, jobID_2: {"Status": JobStatus.CHECKING}}
367366

367+
res = jobDB.setJobsMajorStatus([jobID_1], JobStatus.RUNNING, force=True)
368+
assert res["OK"] is True, res["Message"]
369+
res = jobDB.getJobsAttributes([jobID_1, jobID_2], ["Status"])
370+
assert res["OK"] is True, res["Message"]
371+
assert res["Value"] == {jobID_1: {"Status": JobStatus.RUNNING}, jobID_2: {"Status": JobStatus.CHECKING}}
372+
368373

369374
def test_attributes(jobDB):
370375
res = jobDB.insertNewJobIntoDB(jdl, "owner", "ownerGroup", vo="vo")

0 commit comments

Comments
 (0)