def test_submission_template_nodes(self): cluster = { '_id': 'dummy', 'type': 'trad', 'name': 'dummy', 'config': { 'host': 'dummy', 'ssh': { 'user': '******', 'passphrase': 'its a secret' }, 'scheduler': { 'type': 'slurm' } } } job_id = '123432423' job_model = { '_id': job_id, 'queueJobId': '1', 'name': 'dummy', 'commands': ['ls', 'sleep 20', 'mpirun -n 1000000 parallel'], 'output': [{'tail': True, 'path': 'dummy/file/path'}] } # Just nodes specfied path = os.path.join(os.environ["CUMULUS_SOURCE_DIRECTORY"], 'tests', 'cases', 'fixtures', 'job', 'slurm_submission_script_nodes.sh') with open(path, 'r') as fp: expected = fp.read() job_params = { 'numberOfNodes': 12312312 } script = job._generate_submission_script(job_model, cluster, job_params) self.assertEqual(script, expected) # Nodes with number of cores path = os.path.join(os.environ["CUMULUS_SOURCE_DIRECTORY"], 'tests', 'cases', 'fixtures', 'job', 'slurm_submission_script_nodes_cores.sh') with open(path, 'r') as fp: expected = fp.read() job_params = { 'numberOfNodes': 12312312, 'numberOfCoresPerNode': 8 } script = job._generate_submission_script(job_model, cluster, job_params) self.assertEqual(script, expected)
def test_submission_template_nodes(self): cluster = { '_id': 'dummy', 'type': 'trad', 'name': 'dummy', 'config': { 'host': 'dummy', 'ssh': { 'user': '******', 'passphrase': 'its a secret' }, 'scheduler': { 'type': 'slurm' } } } job_id = '123432423' job_model = { '_id': job_id, 'queueJobId': '1', 'name': 'dummy', 'commands': ['ls', 'sleep 20', 'mpirun -n 1000000 parallel'], 'output': [{ 'tail': True, 'path': 'dummy/file/path' }] } # Just nodes specfied path = os.path.join(os.environ["CUMULUS_SOURCE_DIRECTORY"], 'tests', 'cases', 'fixtures', 'job', 'slurm_submission_script_nodes.sh') with open(path, 'r') as fp: expected = fp.read() job_params = {'numberOfNodes': 12312312} script = job._generate_submission_script(job_model, cluster, job_params) self.assertEqual(script, expected) # Nodes with number of cores path = os.path.join(os.environ["CUMULUS_SOURCE_DIRECTORY"], 'tests', 'cases', 'fixtures', 'job', 'slurm_submission_script_nodes_cores.sh') with open(path, 'r') as fp: expected = fp.read() job_params = {'numberOfNodes': 12312312, 'numberOfCoresPerNode': 8} script = job._generate_submission_script(job_model, cluster, job_params) self.assertEqual(script, expected)