def test__getProcessorsForJobs(processorsPerTask, kwargs, expected): ce = PoolComputingElement("TestPoolCE") ce.processors = 16 if processorsPerTask: ce.processorsPerTask = processorsPerTask res = ce._getProcessorsForJobs(kwargs) assert res == expected
def test__getProcessorsForJobs(): ce = PoolComputingElement('TestPoolCE') ce.processors = 16 kwargs = {} res = ce._getProcessorsForJobs(kwargs) assert res == 1 kwargs = {'mpTag': False} res = ce._getProcessorsForJobs(kwargs) assert res == 1 kwargs = {'mpTag': True} res = ce._getProcessorsForJobs(kwargs) assert res == 16 kwargs = {'mpTag': True, 'wholeNode': True} res = ce._getProcessorsForJobs(kwargs) assert res == 16 kwargs = {'mpTag': True, 'wholeNode': False} res = ce._getProcessorsForJobs(kwargs) assert res == 16 kwargs = {'mpTag': True, 'numberOfProcessors': 4} res = ce._getProcessorsForJobs(kwargs) assert res == 16 kwargs = { 'mpTag': True, 'numberOfProcessors': 4, 'maxNumberOfProcessors': 8 } res = ce._getProcessorsForJobs(kwargs) assert res == 8 kwargs = { 'mpTag': True, 'numberOfProcessors': 4, 'maxNumberOfProcessors': 32 } res = ce._getProcessorsForJobs(kwargs) assert res == 16 # something is in use ce.processorsPerTask = {1: 4} kwargs = {'mpTag': True, 'wholeNode': True} res = ce._getProcessorsForJobs(kwargs) assert res == 0 kwargs = {'mpTag': True, 'wholeNode': False} res = ce._getProcessorsForJobs(kwargs) assert res == 12 kwargs = {'mpTag': True, 'numberOfProcessors': 2} res = ce._getProcessorsForJobs(kwargs) assert res == 12 kwargs = {'mpTag': True, 'maxNumberOfProcessors': 2} res = ce._getProcessorsForJobs(kwargs) assert res == 2 kwargs = {'mpTag': True, 'maxNumberOfProcessors': 16} res = ce._getProcessorsForJobs(kwargs) assert res == 12