Skip to content

Commit

Permalink
test: added more tests
Browse files Browse the repository at this point in the history
  • Loading branch information
fstagni committed Sep 30, 2024
1 parent c9a660c commit ff6d18b
Show file tree
Hide file tree
Showing 3 changed files with 77 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,12 @@

taskDictSimpleInputs = {1: {"TransformationID": 1, "InputData": ["a1", "a2", "a3"]}}

taskDictSimpleRuns = {1: {"TransformationID": 1, "RunNumber": ["123", "456", "789"]}}

taskDictSimpleInputsAndRuns = {
1: {"TransformationID": 1, "InputData": ["a1", "a2", "a3"], "RunNumber": ["123", "456", "789"]}
}

taskDictNoInputs = {
1: {"TransformationID": 1, "a1": "aa1", "b1": "bb1", "Site": "MySite"},
2: {"TransformationID": 1, "a2": "aa2", "b2": "bb2"},
Expand All @@ -64,11 +70,29 @@
},
}

expectedBulkSimple = {
expectedBulkSimpleInputs = {
"OK": True,
"Value": {"BulkJobObject": "", 1: {"TransformationID": 1, "InputData": ["a1", "a2", "a3"], "JobType": "User"}},
}

expectedBulkSimpleRuns = {
"OK": True,
"Value": {"BulkJobObject": "", 1: {"TransformationID": 1, "RunNumber": ["123", "456", "789"], "JobType": "User"}},
}

expectedBulkSimpleInputsAndRuns = {
"OK": True,
"Value": {
"BulkJobObject": "",
1: {
"TransformationID": 1,
"InputData": ["a1", "a2", "a3"],
"RunNumber": ["123", "456", "789"],
"JobType": "User",
},
},
}

expectedBulk = {
"OK": True,
"Value": {
Expand All @@ -86,7 +110,9 @@
(taskDict, False, True, expected),
(taskDict, True, False, expectedBulk),
(taskDictSimple, True, True, expectedBulk),
(taskDictSimpleInputs, True, True, expectedBulkSimple),
(taskDictSimpleInputs, True, True, expectedBulkSimpleInputs),
(taskDictSimpleRuns, True, True, expectedBulkSimpleRuns),
(taskDictSimpleInputsAndRuns, True, True, expectedBulkSimpleInputsAndRuns),
(taskDictNoInputs, True, False, expectedBulk),
(taskDictNoInputsNoSite, True, True, expectedBulk),
],
Expand Down
41 changes: 41 additions & 0 deletions src/DIRAC/tests/Utilities/testJobDefinitions.py
Original file line number Diff line number Diff line change
Expand Up @@ -262,6 +262,47 @@ def parametricJob():
return endOfAllJobs(J)


def parametricJobInputData():
"""Creates a parametric job with 3 subjobs which are simple hello world jobs"""

J = baseToAllJobs("parametricJobInput")
try:
J.setInputSandbox([find_all("exe-script.py", rootPath, "DIRAC/tests/Workflow")[0]])
except IndexError:
try:
J.setInputSandbox([find_all("exe-script.py", ".", "DIRAC/tests/Workflow")[0]])
except IndexError: # we are in Jenkins
J.setInputSandbox([find_all("exe-script.py", os.environ["WORKSPACE"], "DIRAC/tests/Workflow")[0]])
J.setParameterSequence("args", ["one", "two", "three"])
J.setParameterSequence("iargs", [1, 2, 3])
J.setParameterSequence(
"InputData",
["/lhcb/user/f/fstagni/test/1.txt", "/lhcb/user/f/fstagni/test/2.txt", "/lhcb/user/f/fstagni/test/3.txt"],
)
J.setInputDataPolicy("download")
J.setExecutable("exe-script.py", arguments=": testing %(args)s %(iargs)s", logFile="helloWorld_%n.log")
return endOfAllJobs(J)


def parametricJobRuns():
"""Creates a parametric job with 3 subjobs which are simple hello world jobs (added RunNumber)"""

J = baseToAllJobs("parametricJobRunNumber")
try:
J.setInputSandbox([find_all("exe-script.py", rootPath, "DIRAC/tests/Workflow")[0]])
except IndexError:
try:
J.setInputSandbox([find_all("exe-script.py", ".", "DIRAC/tests/Workflow")[0]])
except IndexError: # we are in Jenkins
J.setInputSandbox([find_all("exe-script.py", os.environ["WORKSPACE"], "DIRAC/tests/Workflow")[0]])
J.setParameterSequence("args", ["one", "two", "three"])
J.setParameterSequence("iargs", [1, 2, 3])
J.setParameterSequence("RunNumber", [123, 456, 789])

J.setExecutable("exe-script.py", arguments=": testing %(args)s %(iargs)s", logFile="helloWorld_%n.log")
return endOfAllJobs(J)


def jobWithOutput():
"""Creates a job that uploads an output.
The output SE is not set here, so it would use the default /Resources/StorageElementGroups/SE-USER
Expand Down
8 changes: 8 additions & 0 deletions tests/System/unitTestUserJobs.py
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,14 @@ def test_submit(self):
self.assertTrue(res["OK"])
jobsSubmittedList.append(res["Value"])

res = parametricJobInputData()
self.assertTrue(res["OK"])
jobsSubmittedList.append(res["Value"])

res = parametricJobRuns()
self.assertTrue(res["OK"])
jobsSubmittedList.append(res["Value"])

res = jobWithOutput()
self.assertTrue(res["OK"])
jobsSubmittedList.append(res["Value"])
Expand Down

0 comments on commit ff6d18b

Please sign in to comment.