@@ -83,7 +83,7 @@ def createAndDelete():
83
83
def test_submit_and_shutdown (createAndDelete ):
84
84
time .sleep (0.5 )
85
85
86
- ceParameters = {"WholeNode" : True , "NumberOfProcessors" : 4 }
86
+ ceParameters = {"WholeNode" : True , "NumberOfProcessors" : 4 , "MaxRAM" : 4 }
87
87
ce = PoolComputingElement ("TestPoolCE" )
88
88
ce .setParameters (ceParameters )
89
89
@@ -371,28 +371,38 @@ def test_executeJob_WholeNodeJobs(createAndDelete):
371
371
372
372
373
373
@pytest .mark .parametrize (
374
- "processorsPerTask, kwargs, expected " ,
374
+ "processorsPerTask, ramPerTask, kwargs, expected_processors, expected_memory " ,
375
375
[
376
- (None , {}, 1 ),
377
- (None , {"mpTag" : False }, 1 ),
378
- (None , {"mpTag" : True }, 1 ),
379
- (None , {"mpTag" : True , "wholeNode" : True }, 16 ),
380
- (None , {"mpTag" : True , "wholeNode" : False }, 1 ),
381
- (None , {"mpTag" : True , "numberOfProcessors" : 4 }, 4 ),
382
- (None , {"mpTag" : True , "numberOfProcessors" : 4 , "maxNumberOfProcessors" : 8 }, 8 ),
383
- (None , {"mpTag" : True , "numberOfProcessors" : 4 , "maxNumberOfProcessors" : 32 }, 16 ),
384
- ({1 : 4 }, {"mpTag" : True , "wholeNode" : True }, 0 ),
385
- ({1 : 4 }, {"mpTag" : True , "wholeNode" : False }, 1 ),
386
- ({1 : 4 }, {"mpTag" : True , "numberOfProcessors" : 2 }, 2 ),
387
- ({1 : 4 }, {"mpTag" : True , "maxNumberOfProcessors" : 2 }, 2 ),
388
- ({1 : 4 }, {"mpTag" : True , "maxNumberOfProcessors" : 16 }, 12 ),
376
+ (None , None , {}, 1 , 0 ),
377
+ (None , None , {"mpTag" : False }, 1 , 0 ),
378
+ (None , None , {"mpTag" : True , "8GB" : True }, 1 , 8 ),
379
+ (None , None , {"mpTag" : True , "wholeNode" : True }, 16 , 0 ),
380
+ (None , None , {"mpTag" : True , "wholeNode" : False }, 1 , 0 ),
381
+ (None , None , {"mpTag" : True , "numberOfProcessors" : 4 , "4GB" : True }, 4 , 4 ),
382
+ (None , None , {"mpTag" : True , "numberOfProcessors" : 4 , "maxNumberOfProcessors" : 8 }, 8 , 0 ),
383
+ (None , None , {"mpTag" : True , "4GB" : True , "MaxRAM" : 8 }, 1 , 8 ),
384
+ (None , None , {"mpTag" : True , "numberOfProcessors" : 4 , "maxNumberOfProcessors" : 32 }, 16 , 0 ),
385
+ ({1 : 4 }, {1 : 4 }, {"mpTag" : True , "wholeNode" : True }, 0 , 0 ),
386
+ ({1 : 4 }, {1 : 4 }, {"mpTag" : True , "wholeNode" : False }, 1 , 0 ),
387
+ ({1 : 4 }, {1 : 4 }, {"mpTag" : True , "numberOfProcessors" : 2 , "8GB" : True }, 2 , 8 ),
388
+ ({1 : 4 }, {1 : 4 }, {"mpTag" : True , "numberOfProcessors" : 16 , "12GB" : True }, 0 , 12 ),
389
+ ({1 : 4 }, {1 : 4 }, {"mpTag" : True , "maxNumberOfProcessors" : 2 , "16GB" : True }, 2 , 16 ),
390
+ ({1 : 4 }, {1 : 4 }, {"mpTag" : True , "maxNumberOfProcessors" : 16 , "32GB" : True }, 12 , None ),
391
+ ({1 : 4 , 2 : 8 }, {1 : 4 }, {"mpTag" : True , "numberOfProcessors" : 2 }, 2 , 0 ),
392
+ ({1 : 4 , 2 : 8 }, {1 : 4 }, {"mpTag" : True , "numberOfProcessors" : 4 }, 4 , 0 ),
393
+ ({1 : 4 , 2 : 8 , 3 : 8 }, {1 : 4 }, {"mpTag" : True , "numberOfProcessors" : 4 }, 0 , 0 ),
389
394
],
390
395
)
391
- def test__getProcessorsForJobs (processorsPerTask , kwargs , expected ):
396
+ def test__getLimitsForJobs (processorsPerTask , ramPerTask , kwargs , expected_processors , expected_memory ):
392
397
ce = PoolComputingElement ("TestPoolCE" )
393
398
ce .processors = 16
399
+ ce .ram = 32
394
400
395
401
if processorsPerTask :
396
402
ce .processorsPerTask = processorsPerTask
403
+ if ramPerTask :
404
+ ce .ramPerTask = ramPerTask
397
405
res = ce ._getProcessorsForJobs (kwargs )
398
- assert res == expected
406
+ assert res == expected_processors
407
+ res = ce ._getMemoryForJobs (kwargs )
408
+ assert res == expected_memory
0 commit comments