DIRAC 9.0.0a66__py3-none-any.whl → 9.0.0a68__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- DIRAC/ConfigurationSystem/Client/Helpers/Resources.py +11 -43
- DIRAC/ConfigurationSystem/Client/Helpers/test/Test_Helpers.py +0 -16
- DIRAC/ConfigurationSystem/Client/VOMS2CSSynchronizer.py +1 -1
- DIRAC/Core/Security/IAMService.py +4 -3
- DIRAC/Core/Utilities/ClassAd/ClassAdLight.py +4 -290
- DIRAC/Core/Utilities/DErrno.py +1 -1
- DIRAC/Core/Utilities/JDL.py +1 -195
- DIRAC/Core/Utilities/List.py +1 -127
- DIRAC/Core/Utilities/ReturnValues.py +2 -2
- DIRAC/Core/Utilities/StateMachine.py +12 -178
- DIRAC/Core/Utilities/TimeUtilities.py +10 -253
- DIRAC/Core/Utilities/test/Test_JDL.py +0 -3
- DIRAC/DataManagementSystem/DB/FTS3DB.py +3 -0
- DIRAC/RequestManagementSystem/DB/test/RMSTestScenari.py +2 -0
- DIRAC/Resources/Catalog/RucioFileCatalogClient.py +1 -1
- DIRAC/Resources/Computing/test/Test_PoolComputingElement.py +2 -1
- DIRAC/Workflow/Modules/test/Test_Modules.py +5 -0
- DIRAC/WorkloadManagementSystem/Agent/test/Test_Agent_JobAgent.py +2 -0
- DIRAC/WorkloadManagementSystem/Agent/test/Test_Agent_PushJobAgent.py +1 -0
- DIRAC/WorkloadManagementSystem/Client/JobState/JobManifest.py +32 -261
- DIRAC/WorkloadManagementSystem/Client/JobStatus.py +8 -93
- DIRAC/WorkloadManagementSystem/DB/JobDBUtils.py +18 -147
- DIRAC/WorkloadManagementSystem/JobWrapper/JobWrapper.py +4 -2
- DIRAC/WorkloadManagementSystem/JobWrapper/test/Test_JobWrapper.py +21 -5
- DIRAC/WorkloadManagementSystem/JobWrapper/test/Test_JobWrapperTemplate.py +4 -0
- DIRAC/WorkloadManagementSystem/Utilities/JobModel.py +28 -199
- DIRAC/WorkloadManagementSystem/Utilities/JobStatusUtility.py +1 -63
- DIRAC/WorkloadManagementSystem/Utilities/ParametricJob.py +7 -171
- DIRAC/WorkloadManagementSystem/Utilities/test/Test_JobModel.py +1 -5
- DIRAC/WorkloadManagementSystem/Utilities/test/Test_ParametricJob.py +45 -128
- {dirac-9.0.0a66.dist-info → dirac-9.0.0a68.dist-info}/METADATA +2 -2
- {dirac-9.0.0a66.dist-info → dirac-9.0.0a68.dist-info}/RECORD +36 -38
- DIRAC/Core/Utilities/test/Test_List.py +0 -150
- DIRAC/Core/Utilities/test/Test_Time.py +0 -88
- {dirac-9.0.0a66.dist-info → dirac-9.0.0a68.dist-info}/WHEEL +0 -0
- {dirac-9.0.0a66.dist-info → dirac-9.0.0a68.dist-info}/entry_points.txt +0 -0
- {dirac-9.0.0a66.dist-info → dirac-9.0.0a68.dist-info}/licenses/LICENSE +0 -0
- {dirac-9.0.0a66.dist-info → dirac-9.0.0a68.dist-info}/top_level.txt +0 -0
|
@@ -1,138 +1,55 @@
|
|
|
1
|
-
""" This is a test of the parametric job generation tools
|
|
2
|
-
"""
|
|
1
|
+
""" This is a test of the parametric job generation tools"""
|
|
3
2
|
# pylint: disable= missing-docstring
|
|
4
3
|
|
|
5
4
|
import pytest
|
|
6
5
|
|
|
6
|
+
# Test imports from DIRAC to verify backward compatibility
|
|
7
7
|
from DIRAC.WorkloadManagementSystem.Utilities.ParametricJob import generateParametricJobs, getParameterVectorLength
|
|
8
8
|
from DIRAC.Core.Utilities.ClassAd.ClassAdLight import ClassAd
|
|
9
9
|
|
|
10
|
-
TEST_JDL_NO_PARAMETERS = """
|
|
11
|
-
[
|
|
12
|
-
Executable = "my_executable";
|
|
13
|
-
Arguments = "%s";
|
|
14
|
-
JobName = "Test_%n";
|
|
15
|
-
]
|
|
16
|
-
"""
|
|
17
10
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
Executable = "my_executable";
|
|
21
|
-
Arguments = "%s";
|
|
22
|
-
JobName = "Test_%n";
|
|
23
|
-
Parameters = { "a", "b", "c" }
|
|
24
|
-
]
|
|
25
|
-
"""
|
|
26
|
-
|
|
27
|
-
TEST_JDL_SIMPLE_BUNCH = """
|
|
28
|
-
[
|
|
29
|
-
Executable = "my_executable";
|
|
30
|
-
Arguments = "%s";
|
|
31
|
-
JobName = "Test_%n";
|
|
32
|
-
Parameters = 3;
|
|
33
|
-
ParameterStart = 5;
|
|
34
|
-
]
|
|
35
|
-
"""
|
|
36
|
-
|
|
37
|
-
TEST_JDL_SIMPLE_PROGRESSION = """
|
|
38
|
-
[
|
|
39
|
-
Executable = "my_executable";
|
|
40
|
-
Arguments = "%s";
|
|
41
|
-
JobName = "Test_%n";
|
|
42
|
-
Parameters = 3;
|
|
43
|
-
ParameterStart = 1;
|
|
44
|
-
ParameterStep = 1;
|
|
45
|
-
ParameterFactor = 2;
|
|
46
|
-
]
|
|
47
|
-
"""
|
|
48
|
-
|
|
49
|
-
TEST_JDL_MULTI = """
|
|
50
|
-
[
|
|
51
|
-
Executable = "my_executable";
|
|
52
|
-
Arguments = "%(A)s %(B)s";
|
|
53
|
-
JobName = "Test_%n";
|
|
54
|
-
Parameters = 3;
|
|
55
|
-
ParameterStart.A = 1;
|
|
56
|
-
ParameterStep.A = 1;
|
|
57
|
-
ParameterFactor.A = 2;
|
|
58
|
-
Parameters.B = { "a","b","c" };
|
|
59
|
-
]
|
|
60
|
-
"""
|
|
61
|
-
|
|
62
|
-
TEST_JDL_MULTI_BAD = """
|
|
63
|
-
[
|
|
64
|
-
Executable = "my_executable";
|
|
65
|
-
Arguments = "%(A)s %(B)s";
|
|
66
|
-
JobName = "Test_%n";
|
|
67
|
-
Parameters = 3;
|
|
68
|
-
ParameterStart.A = 1;
|
|
69
|
-
ParameterStep.A = 1;
|
|
70
|
-
ParameterFactor.A = 2;
|
|
71
|
-
Parameters.B = { "a","b","c","d" };
|
|
72
|
-
]
|
|
73
|
-
"""
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
@pytest.mark.parametrize(
|
|
77
|
-
"jdl, expectedArguments",
|
|
78
|
-
[
|
|
79
|
-
(TEST_JDL_SIMPLE, ["a", "b", "c"]),
|
|
80
|
-
(TEST_JDL_SIMPLE_BUNCH, ["5", "5", "5"]),
|
|
81
|
-
(TEST_JDL_SIMPLE_PROGRESSION, ["1", "3", "7"]),
|
|
82
|
-
(TEST_JDL_MULTI, ["1 a", "3 b", "7 c"]),
|
|
83
|
-
(TEST_JDL_NO_PARAMETERS, []),
|
|
84
|
-
],
|
|
85
|
-
)
|
|
86
|
-
def test_getParameterVectorLength_successful(jdl: str, expectedArguments: list[str]):
|
|
11
|
+
def test_backward_compatibility_import():
|
|
12
|
+
"""Test that imports from DIRAC still work (backward compatibility)"""
|
|
87
13
|
# Arrange
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
# Act
|
|
91
|
-
result = getParameterVectorLength(jobDescription)
|
|
92
|
-
|
|
93
|
-
# Assert
|
|
94
|
-
assert result["OK"], result["Message"]
|
|
95
|
-
if expectedArguments:
|
|
96
|
-
assert result["Value"] == len(expectedArguments)
|
|
97
|
-
else:
|
|
98
|
-
assert result["Value"] == None
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
@pytest.mark.parametrize("jdl", [TEST_JDL_MULTI_BAD])
|
|
102
|
-
def test_getParameterVectorLength_unsuccessful(jdl: str):
|
|
103
|
-
# Arrange
|
|
104
|
-
jobDescription = ClassAd(jdl)
|
|
105
|
-
|
|
106
|
-
# Act
|
|
107
|
-
result = getParameterVectorLength(jobDescription)
|
|
108
|
-
|
|
109
|
-
# Assert
|
|
110
|
-
assert not result["OK"], result["Value"]
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
@pytest.mark.parametrize(
|
|
114
|
-
"jdl, expectedArguments",
|
|
14
|
+
jdl = """
|
|
115
15
|
[
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
]
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
#
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
assert
|
|
131
|
-
assert
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
16
|
+
Executable = "my_executable";
|
|
17
|
+
Arguments = "%s";
|
|
18
|
+
JobName = "Test_%n";
|
|
19
|
+
Parameters = { "a", "b", "c" }
|
|
20
|
+
]
|
|
21
|
+
"""
|
|
22
|
+
|
|
23
|
+
# Act - Test that we can import and use the functions from DIRAC
|
|
24
|
+
jobDescription = ClassAd(jdl)
|
|
25
|
+
vector_result = getParameterVectorLength(jobDescription)
|
|
26
|
+
generate_result = generateParametricJobs(jobDescription)
|
|
27
|
+
|
|
28
|
+
# Assert - Verify functions work correctly
|
|
29
|
+
assert vector_result["OK"]
|
|
30
|
+
assert vector_result["Value"] == 3
|
|
31
|
+
assert generate_result["OK"]
|
|
32
|
+
assert len(generate_result["Value"]) == 3
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
# Import and run the comprehensive tests from DIRACCommon to avoid duplication
|
|
36
|
+
# This ensures the DIRAC re-exports work with the full test suite
|
|
37
|
+
try:
|
|
38
|
+
from DIRACCommon.tests.WorkloadManagementSystem.Utilities.test_ParametricJob import (
|
|
39
|
+
test_getParameterVectorLength_successful,
|
|
40
|
+
test_getParameterVectorLength_unsuccessful,
|
|
41
|
+
test_generateParametricJobs,
|
|
42
|
+
)
|
|
43
|
+
|
|
44
|
+
# Re-export the DIRACCommon tests so they run as part of DIRAC test suite
|
|
45
|
+
# This validates that the backward compatibility imports work correctly
|
|
46
|
+
__all__ = [
|
|
47
|
+
"test_backward_compatibility_import",
|
|
48
|
+
"test_getParameterVectorLength_successful",
|
|
49
|
+
"test_getParameterVectorLength_unsuccessful",
|
|
50
|
+
"test_generateParametricJobs",
|
|
51
|
+
]
|
|
52
|
+
|
|
53
|
+
except ImportError:
|
|
54
|
+
# If DIRACCommon tests can't be imported, just run the backward compatibility test
|
|
55
|
+
__all__ = ["test_backward_compatibility_import"]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: DIRAC
|
|
3
|
-
Version: 9.0.
|
|
3
|
+
Version: 9.0.0a68
|
|
4
4
|
Summary: DIRAC is an interware, meaning a software framework for distributed computing.
|
|
5
5
|
Home-page: https://github.com/DIRACGrid/DIRAC/
|
|
6
6
|
License: GPL-3.0-only
|
|
@@ -19,7 +19,7 @@ Requires-Dist: cachetools
|
|
|
19
19
|
Requires-Dist: certifi
|
|
20
20
|
Requires-Dist: cwltool
|
|
21
21
|
Requires-Dist: diraccfg
|
|
22
|
-
Requires-Dist: DIRACCommon==v9.0.
|
|
22
|
+
Requires-Dist: DIRACCommon==v9.0.0a68
|
|
23
23
|
Requires-Dist: diracx-client>=v0.0.1a18
|
|
24
24
|
Requires-Dist: diracx-core>=v0.0.1a18
|
|
25
25
|
Requires-Dist: db12
|
|
@@ -61,16 +61,16 @@ DIRAC/ConfigurationSystem/Client/ConfigurationData.py,sha256=3BhUZUne2KiMKSNqs1e
|
|
|
61
61
|
DIRAC/ConfigurationSystem/Client/LocalConfiguration.py,sha256=KaVGD4YVEfxCspVavddAEQpcetynvek-msfFIquawE4,32442
|
|
62
62
|
DIRAC/ConfigurationSystem/Client/PathFinder.py,sha256=wxOWC0_UznF7XJc0LP9DX8y3yltOApJXwZehx1ghgpU,11054
|
|
63
63
|
DIRAC/ConfigurationSystem/Client/Utilities.py,sha256=lQepoCgaAvg9GW3_-s-IXkWb3fN3HJJP95pYhNEC2_4,27200
|
|
64
|
-
DIRAC/ConfigurationSystem/Client/VOMS2CSSynchronizer.py,sha256=
|
|
64
|
+
DIRAC/ConfigurationSystem/Client/VOMS2CSSynchronizer.py,sha256=7gcA6eqKIeRBLxETR5CjCdqXHZeQMVDNZfHkz28W20k,31433
|
|
65
65
|
DIRAC/ConfigurationSystem/Client/__init__.py,sha256=Jkxofl9cI04MqJcu_ZP8Wdk3WXOmiESFJS9e81LnG2Y,52
|
|
66
66
|
DIRAC/ConfigurationSystem/Client/Helpers/CSGlobals.py,sha256=_txOWvYqcRzK4n4VVEwvECe_B45PmqiYHTxjEIOP6MQ,1053
|
|
67
67
|
DIRAC/ConfigurationSystem/Client/Helpers/Operations.py,sha256=jrpeauEwV6_xXQwVEbs6DDboB8oUmzkZkB_Xg8ZgdBQ,5991
|
|
68
68
|
DIRAC/ConfigurationSystem/Client/Helpers/Path.py,sha256=ghRMD2qNaKejwg4RZ3m4LzfCG5bg1afvTnwJQydl94w,930
|
|
69
69
|
DIRAC/ConfigurationSystem/Client/Helpers/Registry.py,sha256=svibVaHyRKRKPEs-k4pXgcTzr74qe72m4jo2Ue9Xqts,20775
|
|
70
|
-
DIRAC/ConfigurationSystem/Client/Helpers/Resources.py,sha256=
|
|
70
|
+
DIRAC/ConfigurationSystem/Client/Helpers/Resources.py,sha256=g6ZRdAydAnyKHjL9Gh6VS-jP5zb64q7uMOohtn8rin8,15604
|
|
71
71
|
DIRAC/ConfigurationSystem/Client/Helpers/ResourcesDefaults.py,sha256=m6s-ZvjtYcLGsuu6mkCpIzxA8rEUYnwOOw1HvjecuJQ,3314
|
|
72
72
|
DIRAC/ConfigurationSystem/Client/Helpers/__init__.py,sha256=syOASwgkZHn6b6ybYYu15wO8mrZXj7T-gIHk3EDlpjc,206
|
|
73
|
-
DIRAC/ConfigurationSystem/Client/Helpers/test/Test_Helpers.py,sha256=
|
|
73
|
+
DIRAC/ConfigurationSystem/Client/Helpers/test/Test_Helpers.py,sha256=_pfEyd5tw5OGCluNWT8cN2PIX_XEr1gLZPHPXEG0zXs,5543
|
|
74
74
|
DIRAC/ConfigurationSystem/Client/SyncPlugins/CERNLDAPSyncPlugin.py,sha256=p1gSEKMY85dMQvJST5oDQiUeeMedMCSUdXyRThE8hgo,3376
|
|
75
75
|
DIRAC/ConfigurationSystem/Client/SyncPlugins/DummySyncPlugin.py,sha256=hGXcNMxh3r7sCXkTs5r1Mlvz6FjlZ1lBo9NzavQzoBo,1420
|
|
76
76
|
DIRAC/ConfigurationSystem/Client/SyncPlugins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -155,7 +155,7 @@ DIRAC/Core/LCG/GOCDBClient.py,sha256=FTxnwJqd3j99vfLkC2ouyrCsnVLFEwg_GHaq6zY1Db8
|
|
|
155
155
|
DIRAC/Core/LCG/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
156
156
|
DIRAC/Core/LCG/test/Test_LCG.py,sha256=2VsUEgyWDC6BC2KsMz9tB6TsMHYmpg0Qfjs3utiXKcg,32871
|
|
157
157
|
DIRAC/Core/Security/DiracX.py,sha256=lMnqdhgONZYr96YHTwx8g0dwDgfejT5kJBicS4E3IWw,5022
|
|
158
|
-
DIRAC/Core/Security/IAMService.py,sha256=
|
|
158
|
+
DIRAC/Core/Security/IAMService.py,sha256=7LQs3PuDz1KM6r6rMefjiV_9FCpXL-sDUNm8-rrdGOE,6911
|
|
159
159
|
DIRAC/Core/Security/Locations.py,sha256=Ew1-J4tAwfbgkW1_MAlIIkeBi6_MJLsefNAL8vBi7_k,8031
|
|
160
160
|
DIRAC/Core/Security/Properties.py,sha256=CjHN-YQwBiAdZyTos9b6Zpg5a6Sh_hFNUvpszxzEgnE,6180
|
|
161
161
|
DIRAC/Core/Security/ProxyFile.py,sha256=nN4WnEpr9oZsPBhsIwQFWvf83wYIajN1E7SirEKefvk,3876
|
|
@@ -223,7 +223,7 @@ DIRAC/Core/Utilities/CGroups2.py,sha256=dKJf0yAACpcO5wIGsOgvf5Sh7ZZNua_gSn_u95gj
|
|
|
223
223
|
DIRAC/Core/Utilities/CountryMapping.py,sha256=6OfH_sYS0F3qrJn-Hp_YSR0l7WWNsglHtH6AIDGR58A,1080
|
|
224
224
|
DIRAC/Core/Utilities/DAG.py,sha256=ME-oxtsV2PYIuWikL8-571RR3U21siHxo1hFQGi3s9Q,3587
|
|
225
225
|
DIRAC/Core/Utilities/DEncode.py,sha256=O-5Yi185V05tBNyXCxoourRQkuOCP6pTyDYaRgNdi8w,15578
|
|
226
|
-
DIRAC/Core/Utilities/DErrno.py,sha256=
|
|
226
|
+
DIRAC/Core/Utilities/DErrno.py,sha256=tQ2NoVdA_Ff0vrWHgFFC35To6KQaJb95xX2Li-VXsGI,3202
|
|
227
227
|
DIRAC/Core/Utilities/DIRACSingleton.py,sha256=UqJHJNJyX4ehCB5PGDuA74FuCaoih6V979ftr8KboH4,1219
|
|
228
228
|
DIRAC/Core/Utilities/Decorators.py,sha256=WAYke0p9VKov24stHO-S4HEia-HGCSA1c1XDyxxZtw8,7153
|
|
229
229
|
DIRAC/Core/Utilities/Devloader.py,sha256=nPEinBId-NzyG1zcjcnUQOO-pWmNJsmWkj-Xkt5dn_c,2572
|
|
@@ -237,9 +237,9 @@ DIRAC/Core/Utilities/Extensions.py,sha256=k0kgUjc50oFZ1e2XwOERJLQMSSCbnx3HwBO_xF
|
|
|
237
237
|
DIRAC/Core/Utilities/File.py,sha256=XWaxGr_kdoQgznQr20fzWNsvkurJVfd7GMnOqRlwvJQ,8264
|
|
238
238
|
DIRAC/Core/Utilities/Glue2.py,sha256=OCxTfdKnqf-Hkt60Jz5Y0Ww0ZvA7jW-f485UVo8YrUE,16058
|
|
239
239
|
DIRAC/Core/Utilities/Grid.py,sha256=1Jf889thLUGV56k-YkzxLN0nJ3j_FIlIIkS781-0Hy0,2824
|
|
240
|
-
DIRAC/Core/Utilities/JDL.py,sha256=
|
|
240
|
+
DIRAC/Core/Utilities/JDL.py,sha256=H36fvJQr0p4jgD8dr387xrPE2YDs3von6ovP8syjNVM,7107
|
|
241
241
|
DIRAC/Core/Utilities/JEncode.py,sha256=5SGVhHqFnjsyOB5yAmvM_GFw_bFzCYMrB-Yb8-68Abw,7459
|
|
242
|
-
DIRAC/Core/Utilities/List.py,sha256=
|
|
242
|
+
DIRAC/Core/Utilities/List.py,sha256=Iz3GOZ0hjnxOqlUIEBYzsxFK-myIt5Idyug2cMltY1A,65
|
|
243
243
|
DIRAC/Core/Utilities/LockRing.py,sha256=vCZHHCyNwZYDTIZB72TpmSVOJ8UMTZsVSzaUq_4AJoQ,3234
|
|
244
244
|
DIRAC/Core/Utilities/Mail.py,sha256=DQB7Qd5Hkz-cLuyYPCrx5JZ8H3fevvyBC6skJMlEJRw,4110
|
|
245
245
|
DIRAC/Core/Utilities/MixedEncode.py,sha256=jM_ypRT5YfO3mP9cOBe4F6ewOGUdZV0DpVxfcSTH1VA,974
|
|
@@ -254,19 +254,19 @@ DIRAC/Core/Utilities/ProcessPool.py,sha256=AQ-ABejCKbdYVn4SD_Qy2DWZYA39fIt_3Occp
|
|
|
254
254
|
DIRAC/Core/Utilities/Profiler.py,sha256=sSMe9Mp-C1lNT_AkMbZMcOsD2vxlKNWGa-eMSCp4t4c,7531
|
|
255
255
|
DIRAC/Core/Utilities/PromptUser.py,sha256=Pg51ZPZwXLYk8ncwrVvpimXfelWKxCeocRekRlqs2fQ,1441
|
|
256
256
|
DIRAC/Core/Utilities/Proxy.py,sha256=BDAq_PXcuN6AlGX1gs9n8_yY9xT7JOtlKIO2cdTS24I,9816
|
|
257
|
-
DIRAC/Core/Utilities/ReturnValues.py,sha256=
|
|
257
|
+
DIRAC/Core/Utilities/ReturnValues.py,sha256=EHtnn1I3Lvq6RO9tTVZMlf19a8QGX1B6Qa7lbM1mBlY,456
|
|
258
258
|
DIRAC/Core/Utilities/Shifter.py,sha256=EkJGPR_zbL0SS3E2_cq1-MjkTH91ZaFJlh-tQ2PxDGk,2571
|
|
259
259
|
DIRAC/Core/Utilities/SiteSEMapping.py,sha256=Uynx_evXQPmfbMKH-TfqzLq4e_7APVrP6gC20cJEBYs,5683
|
|
260
|
-
DIRAC/Core/Utilities/StateMachine.py,sha256=
|
|
260
|
+
DIRAC/Core/Utilities/StateMachine.py,sha256=e1rc0X6J8Cf_W9HlLnLgroLkdrksUQUxdkH_qSoZVoA,769
|
|
261
261
|
DIRAC/Core/Utilities/Subprocess.py,sha256=FcdEKKEySh_62S8VLjWp_HnuFYkKAjqsS8FLpPMS1b8,22756
|
|
262
262
|
DIRAC/Core/Utilities/ThreadPool.py,sha256=tETtgUdW1dlq_7xp_nQUTxNC87jAkrNnwvuDpGS3ffE,11484
|
|
263
263
|
DIRAC/Core/Utilities/ThreadSafe.py,sha256=EAxEMqEuYlzDvAaupW3fi2MY-3kGZJ0zbK9i7JhEmt4,1117
|
|
264
264
|
DIRAC/Core/Utilities/ThreadScheduler.py,sha256=IzyS59NF0ZhQwGYLpZ-yMX8_6kXFSGL9FQapylnoPLE,6212
|
|
265
|
-
DIRAC/Core/Utilities/TimeUtilities.py,sha256=
|
|
265
|
+
DIRAC/Core/Utilities/TimeUtilities.py,sha256=oelYaWawcyhdBZ11af9LP1gGL_X2evmFqHXjAXMn-Bo,573
|
|
266
266
|
DIRAC/Core/Utilities/Version.py,sha256=v3-IJMvV-GeiSBtVFP8EQtyi8I-j59VjQWAxjNVBCDY,822
|
|
267
267
|
DIRAC/Core/Utilities/__init__.py,sha256=O0Bn56QrIuI5wEWDrKcAZgmm8QWwHF6f9IBAMJbRCUM,40
|
|
268
268
|
DIRAC/Core/Utilities/exceptions.py,sha256=7oUzOe3amADdL4VpidE20xpBc1y9GjIGLKTKnD_SOho,413
|
|
269
|
-
DIRAC/Core/Utilities/ClassAd/ClassAdLight.py,sha256=
|
|
269
|
+
DIRAC/Core/Utilities/ClassAd/ClassAdLight.py,sha256=pAsBMotnGJzSGsPQNFwfMHGOIH0pC-1ILZsuu-eRMP8,280
|
|
270
270
|
DIRAC/Core/Utilities/ClassAd/__init__.py,sha256=turhp9pDVt5luiCwBR2j_d3LibAP8lZGl5PEkZf7CPc,38
|
|
271
271
|
DIRAC/Core/Utilities/Graphs/BarGraph.py,sha256=MNQFJOFYvUjoa4ZpCkAifdVlnVaSFpD5MAIX2AFara4,6520
|
|
272
272
|
DIRAC/Core/Utilities/Graphs/CurveGraph.py,sha256=x1g-vYO4FsHaOxR7-1C0q7QLizhJGx50sckxJi6XwZc,5407
|
|
@@ -295,8 +295,7 @@ DIRAC/Core/Utilities/test/Test_Encode.py,sha256=nZZCl7Lwu23JYNg2J21B6gEFLeRQy5OV
|
|
|
295
295
|
DIRAC/Core/Utilities/test/Test_ExecutorDispatcher.py,sha256=b1SonUM0cDULn1aByD96oy9vS8VxqUvWroiC6FJSDHE,3336
|
|
296
296
|
DIRAC/Core/Utilities/test/Test_Extensions.py,sha256=LKX5sX9h1HpdsxPhMMqbRPTWSY9YP49Sn_NtHkryoGE,1052
|
|
297
297
|
DIRAC/Core/Utilities/test/Test_File.py,sha256=tPtu1-wwPCLjIEvYdp6K5MNKfnRcwlza0cCsIbyFTEU,4393
|
|
298
|
-
DIRAC/Core/Utilities/test/Test_JDL.py,sha256=
|
|
299
|
-
DIRAC/Core/Utilities/test/Test_List.py,sha256=gtB3-RK47FwQZvgzmb_SLF_Sr5kgIdi4q-0Zu0DX_g0,4848
|
|
298
|
+
DIRAC/Core/Utilities/test/Test_JDL.py,sha256=WhquP7BtdIz6aonVPxySgQLaPG806IgWv9DPYcJQJHo,3753
|
|
300
299
|
DIRAC/Core/Utilities/test/Test_Mail.py,sha256=I-dn82uWXdY-W57FqiQEZPc-yrPvXWAl4uapsbVloXE,1631
|
|
301
300
|
DIRAC/Core/Utilities/test/Test_Network.py,sha256=n1m1OB9JIEqT4AGz_DKt9QOgMOsV6m5qH7N4xU5KOoM,1378
|
|
302
301
|
DIRAC/Core/Utilities/test/Test_ObjectLoader.py,sha256=PfDjfnPNNByC7Ropkfl8qrkjUWFJ702wRmH7_0_Qg9Q,968
|
|
@@ -305,7 +304,6 @@ DIRAC/Core/Utilities/test/Test_ProcessPool.py,sha256=NnfHNkhTOgADk-P9ds_ADuvcSNl
|
|
|
305
304
|
DIRAC/Core/Utilities/test/Test_Profiler.py,sha256=Y4h6GzIHJb0yvbNWYczj-GC5Ibx59ecEC4i1FLzlN-o,4115
|
|
306
305
|
DIRAC/Core/Utilities/test/Test_ReturnValues.py,sha256=w6Jz-Vblgu8RDXPzVi6BZjuFXcSmW-Zb0mcBgW1RWOw,1926
|
|
307
306
|
DIRAC/Core/Utilities/test/Test_Subprocess.py,sha256=nAiVF5oMnle-4E8ijlWF-ilBfgN2VGkkFQQSKhIKN2o,2141
|
|
308
|
-
DIRAC/Core/Utilities/test/Test_Time.py,sha256=qI_yDD2iu-QBJJ_1em3uxrX5y0ZKLtb2zp2yNDxZiZw,2225
|
|
309
307
|
DIRAC/Core/Utilities/test/Test_entrypoints.py,sha256=z_3f7m59v3W6ZsqgeCFbJoBnMY-cKR_blKbPqcV7528,413
|
|
310
308
|
DIRAC/Core/Utilities/test/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
311
309
|
DIRAC/Core/Workflow/Module.py,sha256=XF_iDyJ1wIwUesHLfDGz9BywHgEuOwqzC2f7fY3E7r4,12631
|
|
@@ -383,7 +381,7 @@ DIRAC/DataManagementSystem/Client/test/mock_DM.py,sha256=S7qWHjN3ZyjqKIjHkXwuUWJ
|
|
|
383
381
|
DIRAC/DataManagementSystem/Client/test/new_dir_completion.py,sha256=_Km7jE4IRe-pY8BJ62hK6IbwRROoj0wxvL7WMClEJ0E,1212
|
|
384
382
|
DIRAC/DataManagementSystem/DB/DataIntegrityDB.py,sha256=JlYwiVMzB_aVrnntqKk9Aoxoxma6rJhQV9rk8FS3PXY,7098
|
|
385
383
|
DIRAC/DataManagementSystem/DB/DataIntegrityDB.sql,sha256=JCIf2aFsHnP0APlg5KyUVWwviZX4ulmkHnShuK8Afx4,104
|
|
386
|
-
DIRAC/DataManagementSystem/DB/FTS3DB.py,sha256=
|
|
384
|
+
DIRAC/DataManagementSystem/DB/FTS3DB.py,sha256=6_-qv_4m07DCzAlfcSCkIDhzszHnwC6iiqILzAS5cjQ,28254
|
|
387
385
|
DIRAC/DataManagementSystem/DB/FTS3DB.sql,sha256=byMsj37tHh1D8gPE39zgpV89JFcOJ235Nf_q4fmLNw8,95
|
|
388
386
|
DIRAC/DataManagementSystem/DB/FileCatalogDB.py,sha256=qcrGv0KCiJUCbRcUt_RKIMrb1MG2IAivu7JkcTJGQVQ,43679
|
|
389
387
|
DIRAC/DataManagementSystem/DB/FileCatalogDB.sql,sha256=9OETQKhQTW_BDfJhLZuJwzZAMK8nZd8-RISV07g7msk,9025
|
|
@@ -755,7 +753,7 @@ DIRAC/RequestManagementSystem/Client/test/Test_Request.py,sha256=OhAhi-UZaeGSn5o
|
|
|
755
753
|
DIRAC/RequestManagementSystem/DB/ReqDB.sql,sha256=E-AQ53JIoNhYtzl7aF3EVdrhjFahg9lYVgWIqQGlbJU,94
|
|
756
754
|
DIRAC/RequestManagementSystem/DB/RequestDB.py,sha256=FOksr3bOYrbqLoOSI0dblHWP3-6DnQfYAT2s4al3wR0,40213
|
|
757
755
|
DIRAC/RequestManagementSystem/DB/__init__.py,sha256=yDBlSu9WrDcUPCz29rWiLH8Zk-_Al3ek5vNAZF0JGHQ,52
|
|
758
|
-
DIRAC/RequestManagementSystem/DB/test/RMSTestScenari.py,sha256
|
|
756
|
+
DIRAC/RequestManagementSystem/DB/test/RMSTestScenari.py,sha256=DlmKqwNWCoQwpvEHjf1Vw0Fa-GLlXGlEdQzlNatsk8U,4954
|
|
759
757
|
DIRAC/RequestManagementSystem/DB/test/Test_RequestDB.py,sha256=GENVd4ke9AL8Eb_XBoYtJ7WdA9bB5CwbmHg0LGW8L_A,1409
|
|
760
758
|
DIRAC/RequestManagementSystem/DB/test/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
761
759
|
DIRAC/RequestManagementSystem/Service/ReqManagerHandler.py,sha256=JL6gXqhrpWRbcVoMhVFKAtmuBFp1LxtIkPYoxdraXO0,13764
|
|
@@ -883,7 +881,7 @@ DIRAC/Resources/Catalog/FileCatalogClientBase.py,sha256=sZXbEukvq30-C9jp_YW2AoER
|
|
|
883
881
|
DIRAC/Resources/Catalog/FileCatalogFactory.py,sha256=INrO5vWB4B3a5lCphRO58d8jaoE9jck2kweah-2QC_4,2189
|
|
884
882
|
DIRAC/Resources/Catalog/PoolXMLCatalog.py,sha256=ktbI-r86l5GaZlfs4apxAsUV7AV-L53LVNmyBdf3dEw,11774
|
|
885
883
|
DIRAC/Resources/Catalog/PoolXMLFile.py,sha256=Hri5LvSXhxHBDtRkliGO75w-I1K0zffvoCK8EvcvVMk,4833
|
|
886
|
-
DIRAC/Resources/Catalog/RucioFileCatalogClient.py,sha256=
|
|
884
|
+
DIRAC/Resources/Catalog/RucioFileCatalogClient.py,sha256=I1E0vOpfYtD7gywBu5AZqlIpVURDrNMAk3SWNDgnSic,39869
|
|
887
885
|
DIRAC/Resources/Catalog/TSCatalogClient.py,sha256=4ELbmGsyBaUIkIBMhOnI4fV7JAGggoTIlCPp8rKBsX4,1788
|
|
888
886
|
DIRAC/Resources/Catalog/Utilities.py,sha256=cJTQbjyD986kWG72MMdV3YAKDaTkIVOGwnqQyXZKDss,3020
|
|
889
887
|
DIRAC/Resources/Catalog/__init__.py,sha256=rIskCijf47o4q20IiOEqEtkmq3-zHWJzyc4Vlvdw-ik,40
|
|
@@ -944,7 +942,7 @@ DIRAC/Resources/Computing/test/Test_AREXComputingElement.py,sha256=00DdLY_PLsGVo
|
|
|
944
942
|
DIRAC/Resources/Computing/test/Test_ComputingElement.py,sha256=lIVHO8ottEU1z0B4X_-V2Uqf6C9bJoDa-Tgh6-DVwYM,1541
|
|
945
943
|
DIRAC/Resources/Computing/test/Test_HTCondorCEComputingElement.py,sha256=7x8SqbOHfnn-c-fzyc2FK00_cJ25A3ed-oR9rfkwKXw,8193
|
|
946
944
|
DIRAC/Resources/Computing/test/Test_InProcessComputingElement.py,sha256=j_ESF_f7-Aov48rtAZUjZclQvXSlKMs3SIpPu4uTJZ0,2067
|
|
947
|
-
DIRAC/Resources/Computing/test/Test_PoolComputingElement.py,sha256=
|
|
945
|
+
DIRAC/Resources/Computing/test/Test_PoolComputingElement.py,sha256=Vmil6Z9bazv_AKeenma7LznzJAdrUf2xKMQ6HP0PhLE,11860
|
|
948
946
|
DIRAC/Resources/Computing/test/Test_SSHComputingElement.py,sha256=ahYUZ9hySaEXik3nvUMWJ7eP87xj6u-LMDpX7A1OQd4,2425
|
|
949
947
|
DIRAC/Resources/Computing/test/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
950
948
|
DIRAC/Resources/IdProvider/CheckInIdProvider.py,sha256=xMGhVQGGuiouxtuH4jJSsfqd53yk67p4oSNn_-gDft8,879
|
|
@@ -1115,7 +1113,7 @@ DIRAC/Workflow/Modules/FailoverRequest.py,sha256=QFv_YXtItXMzfGGKAIk_UJMSK1Maze3
|
|
|
1115
1113
|
DIRAC/Workflow/Modules/ModuleBase.py,sha256=hkK0D_VErhYTIu5U1R1Yu5zLen4OhPL86PHIp-8bvZM,23412
|
|
1116
1114
|
DIRAC/Workflow/Modules/Script.py,sha256=yOteb-YkfNe2R8lyjV4zmaFKcmXFcAqtko9FReStF7g,5142
|
|
1117
1115
|
DIRAC/Workflow/Modules/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1118
|
-
DIRAC/Workflow/Modules/test/Test_Modules.py,sha256=
|
|
1116
|
+
DIRAC/Workflow/Modules/test/Test_Modules.py,sha256=d92bA2SpF7Wwg9gy3roEvPt_7QlnBT4yLXEhjYohTUM,32435
|
|
1119
1117
|
DIRAC/Workflow/Utilities/Utils.py,sha256=9f395ylWaLRaaC6EExPAyvOhPK3FXD7I_XGevqueRkM,2545
|
|
1120
1118
|
DIRAC/Workflow/Utilities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1121
1119
|
DIRAC/Workflow/Utilities/test/Test_Utilities.py,sha256=DNjFPpBmpojwCWhZSUSoG3AIhMQvqyiZdSuVkrHkOtk,2595
|
|
@@ -1132,11 +1130,11 @@ DIRAC/WorkloadManagementSystem/Agent/StalledJobAgent.py,sha256=foEbmRotEmfeQG6ny
|
|
|
1132
1130
|
DIRAC/WorkloadManagementSystem/Agent/StatesAccountingAgent.py,sha256=iNIlWQEDBk6R1S8oHOIusZUwxOwLtgwuzR_4s32-o5w,8707
|
|
1133
1131
|
DIRAC/WorkloadManagementSystem/Agent/TaskQueuesAgent.py,sha256=ypsmo233TFXq9IC5uz6pum7_joOh2gFPUYNmmCpukAY,943
|
|
1134
1132
|
DIRAC/WorkloadManagementSystem/Agent/__init__.py,sha256=Pp2qIXA0zZxJXBQwPEDUt23Y_ct5cjs77w8ZEV6Ll6M,56
|
|
1135
|
-
DIRAC/WorkloadManagementSystem/Agent/test/Test_Agent_JobAgent.py,sha256=
|
|
1133
|
+
DIRAC/WorkloadManagementSystem/Agent/test/Test_Agent_JobAgent.py,sha256=4NO_gGL0uQODuniFxInQblAa_wZQtQenrAJkqgn8YG4,30722
|
|
1136
1134
|
DIRAC/WorkloadManagementSystem/Agent/test/Test_Agent_JobCleaningAgent.py,sha256=VwD3lGCEYeQuT-5wo02Yk11lR0dXmg0ObNCEvBZ-QSA,5415
|
|
1137
1135
|
DIRAC/WorkloadManagementSystem/Agent/test/Test_Agent_PilotLoggingAgent.py,sha256=KpvaqAaTaCXUpbdBpA_n7At3284XKYwx8GpC3Ah7cHg,8611
|
|
1138
1136
|
DIRAC/WorkloadManagementSystem/Agent/test/Test_Agent_PilotStatusAgent.py,sha256=qOA_U2NYvJprLdrUJirbEVSnvEF9-FuRXNi78MBoffc,2806
|
|
1139
|
-
DIRAC/WorkloadManagementSystem/Agent/test/Test_Agent_PushJobAgent.py,sha256=
|
|
1137
|
+
DIRAC/WorkloadManagementSystem/Agent/test/Test_Agent_PushJobAgent.py,sha256=Uf5jlnw8mWvQJcOnJXEASEf3Ryo63wZKv8IavQVaOVY,14887
|
|
1140
1138
|
DIRAC/WorkloadManagementSystem/Agent/test/Test_Agent_SiteDirector.py,sha256=ynC8NJobwWCRzKAKnQi2qhnPzwQypZRzBrwKGtUmmhs,11440
|
|
1141
1139
|
DIRAC/WorkloadManagementSystem/Agent/test/Test_Agent_StalledJobAgent.py,sha256=BgDP1um-5WLSJYDbyHgLUkZocN8TrrG6QvRcffzD02E,1829
|
|
1142
1140
|
DIRAC/WorkloadManagementSystem/Client/CPUNormalization.py,sha256=txBgRfnTAY5KykpKRrK1jp5x4FInWjv-Rja4R7Dqdis,5423
|
|
@@ -1148,7 +1146,7 @@ DIRAC/WorkloadManagementSystem/Client/JobMinorStatus.py,sha256=adfPJVGauByrHg1LL
|
|
|
1148
1146
|
DIRAC/WorkloadManagementSystem/Client/JobMonitoringClient.py,sha256=N_i0e5rzNpUJgPDm7HKHQ2OfX_fJQC-r8zU3yNIAyH4,2483
|
|
1149
1147
|
DIRAC/WorkloadManagementSystem/Client/JobReport.py,sha256=8jxCXdU1rHeYeHMkjc_5b2zAPBWT3VgNR4wkXB5E2NY,5870
|
|
1150
1148
|
DIRAC/WorkloadManagementSystem/Client/JobStateUpdateClient.py,sha256=H5nfOWhp5YlAh-bpndvebcDy60RXoB3nLIAKu4kMK4I,1130
|
|
1151
|
-
DIRAC/WorkloadManagementSystem/Client/JobStatus.py,sha256=
|
|
1149
|
+
DIRAC/WorkloadManagementSystem/Client/JobStatus.py,sha256=YtD0ya7_lq5PWrkiylkLYpvxuEakc96H0v-6HKIy44E,484
|
|
1152
1150
|
DIRAC/WorkloadManagementSystem/Client/Limiter.py,sha256=xnxR9d_TDb8Z6iAaUltCMxmpSmQBukXfFeEDf2-m6-o,10714
|
|
1153
1151
|
DIRAC/WorkloadManagementSystem/Client/Matcher.py,sha256=iw6COWP__53z6of5syU4ElmOUCtih0xWxh1VDrd-M8k,17285
|
|
1154
1152
|
DIRAC/WorkloadManagementSystem/Client/MatcherClient.py,sha256=E4Szdf-gNmDZnCmR3aiakBNqX7LU0lHlFXBTh2qpqp8,1362
|
|
@@ -1163,7 +1161,7 @@ DIRAC/WorkloadManagementSystem/Client/WMSAdministratorClient.py,sha256=cuf1LmCTS
|
|
|
1163
1161
|
DIRAC/WorkloadManagementSystem/Client/WMSClient.py,sha256=7C3Tq0Nz4gsIAUngPTaStRdWPp4rFCoEMws4e-COZoU,9307
|
|
1164
1162
|
DIRAC/WorkloadManagementSystem/Client/__init__.py,sha256=4gL5nAGDaZDdL0wlTFBQg6jCGQA2xHT3gD-gpY5MfH0,57
|
|
1165
1163
|
DIRAC/WorkloadManagementSystem/Client/JobState/CachedJobState.py,sha256=NVHsvGezMDWAsjPt5Lm1973ybleyH1kHWqhqiiMgquM,12849
|
|
1166
|
-
DIRAC/WorkloadManagementSystem/Client/JobState/JobManifest.py,sha256=
|
|
1164
|
+
DIRAC/WorkloadManagementSystem/Client/JobState/JobManifest.py,sha256=VJnoDJCQBw5oseudM5gTahcpamoVZ7xrM7qxCL3I_VE,1465
|
|
1167
1165
|
DIRAC/WorkloadManagementSystem/Client/JobState/JobState.py,sha256=onHJF-u9WTnvsXceNyQmfDb-i6n9KY4MnH_ZBamCw9E,12921
|
|
1168
1166
|
DIRAC/WorkloadManagementSystem/Client/JobState/__init__.py,sha256=4gL5nAGDaZDdL0wlTFBQg6jCGQA2xHT3gD-gpY5MfH0,57
|
|
1169
1167
|
DIRAC/WorkloadManagementSystem/Client/PilotLoggingPlugins/DownloadPlugin.py,sha256=Rw4kqFqlZj0I-xuNU_zFWXCvF9NK9cLYgyr2HG31TvA,863
|
|
@@ -1178,7 +1176,7 @@ DIRAC/WorkloadManagementSystem/Client/test/Test_JobReport.py,sha256=QYElAZiyPuMK
|
|
|
1178
1176
|
DIRAC/WorkloadManagementSystem/Client/test/Test_TornadoPilotLoggingClient.py,sha256=GRY5TA34FwLNmvVix5U2nT-5Jw1Cs8K5MJtzQ_ZlLBw,596
|
|
1179
1177
|
DIRAC/WorkloadManagementSystem/DB/JobDB.py,sha256=73PASIBNAu34Uz5QDnJ1-HoKlNMTZ3P69TH9CBHoDYs,57035
|
|
1180
1178
|
DIRAC/WorkloadManagementSystem/DB/JobDB.sql,sha256=Fo3cXMrVs6CKZgpTLGXfJrwq3VK0kdQmUf9MLYm3HbU,5444
|
|
1181
|
-
DIRAC/WorkloadManagementSystem/DB/JobDBUtils.py,sha256=
|
|
1179
|
+
DIRAC/WorkloadManagementSystem/DB/JobDBUtils.py,sha256=Tj7DrkKFrSZxkW9eqlw9_d66PgoeH83VAwWAqVVr_ZI,1595
|
|
1182
1180
|
DIRAC/WorkloadManagementSystem/DB/JobLoggingDB.py,sha256=YiXQQu6WvBWwkknTch9_z43Ubzj0aRhw18SFNzni2z8,7603
|
|
1183
1181
|
DIRAC/WorkloadManagementSystem/DB/JobLoggingDB.sql,sha256=hYmXOj5qGeLVSPZdipGjyVRaCcLmIxrFb7nXQ1QJrI0,1869
|
|
1184
1182
|
DIRAC/WorkloadManagementSystem/DB/JobParametersDB.py,sha256=t-q3NEO_dMTVHZ7LMI8wFWZr0ECZ_ChQskbfz-H-CU8,7791
|
|
@@ -1205,14 +1203,14 @@ DIRAC/WorkloadManagementSystem/FutureClient/JobMonitoringClient.py,sha256=3Mjq3h
|
|
|
1205
1203
|
DIRAC/WorkloadManagementSystem/FutureClient/JobStateUpdateClient.py,sha256=PG3JkQPgmPacjTLTCHTobZeKys4nxObs0D_Axfrl2Uw,6650
|
|
1206
1204
|
DIRAC/WorkloadManagementSystem/FutureClient/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1207
1205
|
DIRAC/WorkloadManagementSystem/JobWrapper/JobExecutionCoordinator.py,sha256=Y64YnkrKklOkXnV5wKsgzBONFljVJ0ByFVUMFNkiGAU,2461
|
|
1208
|
-
DIRAC/WorkloadManagementSystem/JobWrapper/JobWrapper.py,sha256=
|
|
1206
|
+
DIRAC/WorkloadManagementSystem/JobWrapper/JobWrapper.py,sha256=paoNJpBRRsB51f3PniXIb7vXnesu_xB7L-ZLnml0-LY,74804
|
|
1209
1207
|
DIRAC/WorkloadManagementSystem/JobWrapper/JobWrapperOfflineTemplate.py,sha256=wem5VDN9XiC7szAzdsbgHUxpIOQB2Hj36DIVMoV9px8,2490
|
|
1210
1208
|
DIRAC/WorkloadManagementSystem/JobWrapper/JobWrapperTemplate.py,sha256=4QgcFPMLRaTagP9e_Vvsla8pFH8HdewklHfS-gyS4-g,3313
|
|
1211
1209
|
DIRAC/WorkloadManagementSystem/JobWrapper/JobWrapperUtilities.py,sha256=5w_4PMnaHhuexChADDvt1L9Ih1PstdUuYWObnlv9Dto,10072
|
|
1212
1210
|
DIRAC/WorkloadManagementSystem/JobWrapper/Watchdog.py,sha256=wGpIdnyVzI5T9agxNp94gmPZPceXWREaJiEtZg1lAzk,39997
|
|
1213
1211
|
DIRAC/WorkloadManagementSystem/JobWrapper/__init__.py,sha256=e9Oa_ddNLweR3Lp_HOMK6WqqCWWj2SLPxF5UH4F19ic,61
|
|
1214
|
-
DIRAC/WorkloadManagementSystem/JobWrapper/test/Test_JobWrapper.py,sha256=
|
|
1215
|
-
DIRAC/WorkloadManagementSystem/JobWrapper/test/Test_JobWrapperTemplate.py,sha256=
|
|
1212
|
+
DIRAC/WorkloadManagementSystem/JobWrapper/test/Test_JobWrapper.py,sha256=qoj3Rb6VOTwilJ79DPjr4SKSvDwIuZSqPK9xjTfZpNc,38829
|
|
1213
|
+
DIRAC/WorkloadManagementSystem/JobWrapper/test/Test_JobWrapperTemplate.py,sha256=dC_SvC5Rlchlj2NvBfN7FH1ioXgC8bf9U8BQnEL5GYg,21982
|
|
1216
1214
|
DIRAC/WorkloadManagementSystem/JobWrapper/test/Test_Watchdog.py,sha256=a-QJ1E1ZcWObhOVgxZYD_nYjseCWsbjT0KxjZDNWyAQ,882
|
|
1217
1215
|
DIRAC/WorkloadManagementSystem/JobWrapper/test/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1218
1216
|
DIRAC/WorkloadManagementSystem/JobWrapper/test/jobDescription.xml,sha256=TFgcPFXiBfWuBdPHOAmy3IGgAx5Y24gM4mekMmzLXkA,4724
|
|
@@ -1238,10 +1236,10 @@ DIRAC/WorkloadManagementSystem/Service/TornadoWMSAdministratorHandler.py,sha256=
|
|
|
1238
1236
|
DIRAC/WorkloadManagementSystem/Service/WMSAdministratorHandler.py,sha256=Y63hqyLSH3PUzuHZpkFl1Y9MtJ8dm2RI10tRhPit7Rs,6119
|
|
1239
1237
|
DIRAC/WorkloadManagementSystem/Service/WMSUtilities.py,sha256=VMSOEHkpOrNB_VIGESnxMYdnDjkmR4Qbnf_H7Yp0m88,4528
|
|
1240
1238
|
DIRAC/WorkloadManagementSystem/Service/__init__.py,sha256=IRaXIxMoS1SbRehm7ONo87SD1l44VBmowjbfkChvdsc,58
|
|
1241
|
-
DIRAC/WorkloadManagementSystem/Utilities/JobModel.py,sha256=
|
|
1239
|
+
DIRAC/WorkloadManagementSystem/Utilities/JobModel.py,sha256=jN9sFbzMZo9tab6Kp7OeBCMCrfx21gCqRbm1XjLxong,1781
|
|
1242
1240
|
DIRAC/WorkloadManagementSystem/Utilities/JobParameters.py,sha256=JW3AAEtBJn1gIO_rm2Ft5qqjfLteIo3HpQtGNZBfhxE,8365
|
|
1243
|
-
DIRAC/WorkloadManagementSystem/Utilities/JobStatusUtility.py,sha256=
|
|
1244
|
-
DIRAC/WorkloadManagementSystem/Utilities/ParametricJob.py,sha256=
|
|
1241
|
+
DIRAC/WorkloadManagementSystem/Utilities/JobStatusUtility.py,sha256=WtGJzC7fHvydANh8JH6e1Kk_jebrCMPr2c5cw3ufjm8,7826
|
|
1242
|
+
DIRAC/WorkloadManagementSystem/Utilities/ParametricJob.py,sha256=FNUsGhvsFVrtmA7r8G-sd4QTMeBkqG1sdtwiBUKQyd0,605
|
|
1245
1243
|
DIRAC/WorkloadManagementSystem/Utilities/PilotCStoJSONSynchronizer.py,sha256=aJr2YdE5fb_gieejEyqOg_zcB9MFW5ikzVyKVjnGBN4,9838
|
|
1246
1244
|
DIRAC/WorkloadManagementSystem/Utilities/PilotWrapper.py,sha256=VcvQTpeyTbVYqSsPQDyAt37N2CaEAnIuvbR6yk4kYk8,15465
|
|
1247
1245
|
DIRAC/WorkloadManagementSystem/Utilities/QueueUtilities.py,sha256=J5-n_lvWbW_TRjrlqp8hx1SHEaXDW2Dxp3R1hBBrWnE,12082
|
|
@@ -1249,9 +1247,9 @@ DIRAC/WorkloadManagementSystem/Utilities/RemoteRunner.py,sha256=7FcEtlYSJMzdbLIF
|
|
|
1249
1247
|
DIRAC/WorkloadManagementSystem/Utilities/Utils.py,sha256=A6M-GnyC5LXeO0pJxwzqNdLjZLMC3WZ1o7dVFXumrsU,5331
|
|
1250
1248
|
DIRAC/WorkloadManagementSystem/Utilities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1251
1249
|
DIRAC/WorkloadManagementSystem/Utilities/jobAdministration.py,sha256=uLgB0QLFPKUlZoWCOJYtQHaKykgCpodalHnMWpGld4s,548
|
|
1252
|
-
DIRAC/WorkloadManagementSystem/Utilities/test/Test_JobModel.py,sha256=
|
|
1250
|
+
DIRAC/WorkloadManagementSystem/Utilities/test/Test_JobModel.py,sha256=coRtGksgrKIdodk7QFn-AjODBJBLfiH0Sf7I2F0rpbI,8040
|
|
1253
1251
|
DIRAC/WorkloadManagementSystem/Utilities/test/Test_JobStatusUtility.py,sha256=3Oj4zhiysp-Qiax1BsXK1fEyCuppln4tT5hmXx_BFxA,7931
|
|
1254
|
-
DIRAC/WorkloadManagementSystem/Utilities/test/Test_ParametricJob.py,sha256=
|
|
1252
|
+
DIRAC/WorkloadManagementSystem/Utilities/test/Test_ParametricJob.py,sha256=smq0bt323v4obfSeNQSTxSj1Gs0r_gSlyi7IBgvoBdw,1989
|
|
1255
1253
|
DIRAC/WorkloadManagementSystem/Utilities/test/Test_PilotCStoJSONSynchronizer.py,sha256=4yFC8lfYjIoCILErU8dW50gnGInFygeODcR0C5Ss5_w,4056
|
|
1256
1254
|
DIRAC/WorkloadManagementSystem/Utilities/test/Test_PilotWrapper.py,sha256=eXJaMUbA5TVGLoauO7BOttegWlv_KSXcqUluuQC09HU,5552
|
|
1257
1255
|
DIRAC/WorkloadManagementSystem/Utilities/test/Test_QueueUtilities.py,sha256=QVrq1RnCLEmI3mc-XTBr2w57bkJd-XAPccSenWffgj8,5805
|
|
@@ -1296,9 +1294,9 @@ DIRAC/tests/Workflow/Integration/exe-script.py,sha256=B_slYdTocEzqfQLRhwuPiLyYUn
|
|
|
1296
1294
|
DIRAC/tests/Workflow/Integration/helloWorld.py,sha256=tBgEHH3ZF7ZiTS57gtmm3DW-Qxgm_57HWHpM-Y8XSws,205
|
|
1297
1295
|
DIRAC/tests/Workflow/Regression/helloWorld.py,sha256=69eCgFuVSYo-mK3Dj2dw1c6g86sF5FksKCf8V2aGVoM,509
|
|
1298
1296
|
DIRAC/tests/Workflow/Regression/helloWorld.xml,sha256=xwydIcFTAHIX-YPfQfyxuQ7hzvIO3IhR3UAF7ORgkGg,5310
|
|
1299
|
-
dirac-9.0.
|
|
1300
|
-
dirac-9.0.
|
|
1301
|
-
dirac-9.0.
|
|
1302
|
-
dirac-9.0.
|
|
1303
|
-
dirac-9.0.
|
|
1304
|
-
dirac-9.0.
|
|
1297
|
+
dirac-9.0.0a68.dist-info/licenses/LICENSE,sha256=uyr4oV6jmjUeepXZPPjkJRwa5q5MrI7jqJz5sVXNblQ,32452
|
|
1298
|
+
dirac-9.0.0a68.dist-info/METADATA,sha256=lajHXRmL_O4jHTBhxb0BnpTkzbY-Fvco4bJO9j0puvg,10020
|
|
1299
|
+
dirac-9.0.0a68.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
1300
|
+
dirac-9.0.0a68.dist-info/entry_points.txt,sha256=hupzIL8aVmjK3nn7RLKdhcaiPmLOiD3Kulh3CSDHKmw,16492
|
|
1301
|
+
dirac-9.0.0a68.dist-info/top_level.txt,sha256=RISrnN9kb_mPqmVu8_o4jF-DSX8-h6AcgfkO9cgfkHA,6
|
|
1302
|
+
dirac-9.0.0a68.dist-info/RECORD,,
|
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
########################################################################
|
|
2
|
-
# Author: Krzysztof.Ciba@NOSPAMgmail.com
|
|
3
|
-
# Date: 2011/01/17 08:17:58
|
|
4
|
-
########################################################################
|
|
5
|
-
|
|
6
|
-
""".. module:: ListTestCase
|
|
7
|
-
|
|
8
|
-
Test cases for DIRAC.Core.Utilities.List module.
|
|
9
|
-
|
|
10
|
-
"""
|
|
11
|
-
import unittest
|
|
12
|
-
|
|
13
|
-
# sut
|
|
14
|
-
from DIRAC.Core.Utilities import List
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
########################################################################
|
|
18
|
-
class ListTestCase(unittest.TestCase):
|
|
19
|
-
"""py:class ListTestCase
|
|
20
|
-
Test case for DIRAC.Core.Utilities.List module.
|
|
21
|
-
"""
|
|
22
|
-
|
|
23
|
-
def testUniqueElements(self):
|
|
24
|
-
"""uniqueElements tests"""
|
|
25
|
-
# empty list
|
|
26
|
-
aList = []
|
|
27
|
-
self.assertEqual(List.uniqueElements(aList), [])
|
|
28
|
-
# redundant elements
|
|
29
|
-
aList = [1, 1, 2, 3]
|
|
30
|
-
self.assertEqual(List.uniqueElements(aList), [1, 2, 3])
|
|
31
|
-
|
|
32
|
-
def testAppendUnique(self):
|
|
33
|
-
"""appendUnique tests"""
|
|
34
|
-
# empty
|
|
35
|
-
aList = []
|
|
36
|
-
List.appendUnique(aList, None)
|
|
37
|
-
self.assertEqual(aList, [None])
|
|
38
|
-
# redundant element
|
|
39
|
-
aList = [1, 2, 3]
|
|
40
|
-
List.appendUnique(aList, 1)
|
|
41
|
-
self.assertEqual(aList, [1, 2, 3])
|
|
42
|
-
# all unique
|
|
43
|
-
aList = [1, 2]
|
|
44
|
-
List.appendUnique(aList, 3)
|
|
45
|
-
self.assertEqual(aList, [1, 2, 3])
|
|
46
|
-
|
|
47
|
-
def testRandomize(self):
|
|
48
|
-
"""randomize tests"""
|
|
49
|
-
# empty list
|
|
50
|
-
aList = []
|
|
51
|
-
randList = List.randomize(aList)
|
|
52
|
-
self.assertEqual(randList, [])
|
|
53
|
-
# non empty
|
|
54
|
-
aList = ["1", "2", "3"]
|
|
55
|
-
randList = List.randomize(aList)
|
|
56
|
-
self.assertEqual(len(aList), len(randList))
|
|
57
|
-
for x in aList:
|
|
58
|
-
self.assertEqual(x in randList, True)
|
|
59
|
-
for x in randList:
|
|
60
|
-
self.assertEqual(x in aList, True)
|
|
61
|
-
|
|
62
|
-
def testPop(self):
|
|
63
|
-
"""pop tests"""
|
|
64
|
-
# empty list
|
|
65
|
-
aList = []
|
|
66
|
-
x = List.pop(aList, 1)
|
|
67
|
-
self.assertEqual(aList, [])
|
|
68
|
-
self.assertEqual(x, None)
|
|
69
|
-
# pop
|
|
70
|
-
aList = [1, 2, 3]
|
|
71
|
-
x = List.pop(aList, 2)
|
|
72
|
-
self.assertEqual(x, 2)
|
|
73
|
-
self.assertEqual(aList, [1, 3])
|
|
74
|
-
|
|
75
|
-
def testStringListToString(self):
|
|
76
|
-
"""stringListToString tests"""
|
|
77
|
-
# empty list
|
|
78
|
-
aList = []
|
|
79
|
-
aStr = List.stringListToString(aList)
|
|
80
|
-
self.assertEqual(aStr, "")
|
|
81
|
-
# not string elements (should it raise an exception???)
|
|
82
|
-
aList = ["a", 1]
|
|
83
|
-
aStr = List.stringListToString(aList)
|
|
84
|
-
self.assertEqual(aStr, "'a','1'")
|
|
85
|
-
# normal list
|
|
86
|
-
aList = ["a", "b", "c"]
|
|
87
|
-
aStr = List.stringListToString(aList)
|
|
88
|
-
self.assertEqual(aStr, "'a','b','c'")
|
|
89
|
-
|
|
90
|
-
def testIntListToString(self):
|
|
91
|
-
"""intListToString"""
|
|
92
|
-
# empty list
|
|
93
|
-
aList = []
|
|
94
|
-
aStr = List.intListToString(aList)
|
|
95
|
-
self.assertEqual(aStr, "")
|
|
96
|
-
# int list
|
|
97
|
-
aList = [1, 2, 3]
|
|
98
|
-
aStr = List.intListToString(aList)
|
|
99
|
-
self.assertEqual(aStr, "1,2,3")
|
|
100
|
-
# mixture elements (should it raise an exception???)
|
|
101
|
-
aList = ["1", 2, 3]
|
|
102
|
-
aStr = List.intListToString(aList)
|
|
103
|
-
self.assertEqual(aStr, "1,2,3")
|
|
104
|
-
|
|
105
|
-
def testFromChar(self):
|
|
106
|
-
"""fromChar tests"""
|
|
107
|
-
# empty string
|
|
108
|
-
aStr = ""
|
|
109
|
-
self.assertEqual(List.fromChar(aStr, "-"), [])
|
|
110
|
-
# wrong sep (should it raise an exception???)
|
|
111
|
-
aStr = "a:b:c"
|
|
112
|
-
self.assertEqual(List.fromChar(aStr, "-"), ["a:b:c"])
|
|
113
|
-
# norman behavior
|
|
114
|
-
aStr = "a:b:c"
|
|
115
|
-
self.assertEqual(List.fromChar(aStr, ":"), ["a", "b", "c"])
|
|
116
|
-
# only sep
|
|
117
|
-
aStr = ","
|
|
118
|
-
self.assertEqual(List.fromChar(aStr, ","), [])
|
|
119
|
-
# too many separators
|
|
120
|
-
aStr = "a,,b,,c,,,"
|
|
121
|
-
self.assertEqual(List.fromChar(aStr, ","), ["a", "b", "c"])
|
|
122
|
-
|
|
123
|
-
def testBreakListIntoChunks(self):
|
|
124
|
-
"""breakListIntoChunks tests"""
|
|
125
|
-
# empty list
|
|
126
|
-
aList = []
|
|
127
|
-
self.assertEqual(List.breakListIntoChunks(aList, 5), [])
|
|
128
|
-
# negative number of chunks
|
|
129
|
-
try:
|
|
130
|
-
List.breakListIntoChunks([], -2)
|
|
131
|
-
except Exception as val:
|
|
132
|
-
self.assertEqual(isinstance(val, RuntimeError), True)
|
|
133
|
-
self.assertEqual(str(val), "chunkSize cannot be less than 1")
|
|
134
|
-
|
|
135
|
-
# normal behavior
|
|
136
|
-
aList = list(range(10))
|
|
137
|
-
self.assertEqual(List.breakListIntoChunks(aList, 5), [[0, 1, 2, 3, 4], [5, 6, 7, 8, 9]])
|
|
138
|
-
# and once again this time with a rest
|
|
139
|
-
aList = list(range(10))
|
|
140
|
-
self.assertEqual(List.breakListIntoChunks(aList, 4), [[0, 1, 2, 3], [4, 5, 6, 7], [8, 9]])
|
|
141
|
-
# almost empty list, too many chunks
|
|
142
|
-
aList = [1]
|
|
143
|
-
self.assertEqual(List.breakListIntoChunks(aList, 2), [[1]])
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
# test suite execution
|
|
147
|
-
if __name__ == "__main__":
|
|
148
|
-
TESTLOADER = unittest.TestLoader()
|
|
149
|
-
SUITE = TESTLOADER.loadTestsFromTestCase(ListTestCase)
|
|
150
|
-
unittest.TextTestRunner(verbosity=3).run(SUITE)
|