@@ -83,7 +83,7 @@ def createAndDelete():
8383def test_submit_and_shutdown (createAndDelete ):
8484 time .sleep (0.5 )
8585
86- ceParameters = {"WholeNode" : True , "NumberOfProcessors" : 4 }
86+ ceParameters = {"WholeNode" : True , "NumberOfProcessors" : 4 , "MaxRAM" : 4 }
8787 ce = PoolComputingElement ("TestPoolCE" )
8888 ce .setParameters (ceParameters )
8989
@@ -371,28 +371,38 @@ def test_executeJob_WholeNodeJobs(createAndDelete):
371371
372372
373373@pytest .mark .parametrize (
374- "processorsPerTask, kwargs, expected " ,
374+ "processorsPerTask, ramPerTask, kwargs, expected_processors, expected_memory " ,
375375 [
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 , "8GB_MAX" : True }, 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 ),
389394 ],
390395)
391- def test__getProcessorsForJobs (processorsPerTask , kwargs , expected ):
396+ def test__getLimitsForJobs (processorsPerTask , ramPerTask , kwargs , expected_processors , expected_memory ):
392397 ce = PoolComputingElement ("TestPoolCE" )
393398 ce .processors = 16
399+ ce .ram = 32
394400
395401 if processorsPerTask :
396402 ce .processorsPerTask = processorsPerTask
403+ if ramPerTask :
404+ ce .ramPerTask = ramPerTask
397405 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