@@ 76-88 (lines=13) @@ | ||
73 | command_params = {'nb_gpus_per_command': self.gpus // 2} |
|
74 | job_generator = JobGenerator(self.queue_gpu, self.commands, command_params=command_params) |
|
75 | assert_equal(len(job_generator.pbs_list), 2) |
|
76 | assert_equal(job_generator.pbs_list[0].commands, self.commands[:2]) |
|
77 | assert_equal(job_generator.pbs_list[1].commands, self.commands[2:]) |
|
78 | ||
79 | def test_generate_pbs4_gpu(self): |
|
80 | # Should needs four PBS files |
|
81 | command_params = {'nb_gpus_per_command': self.gpus} |
|
82 | job_generator = JobGenerator(self.queue_gpu, self.commands, command_params=command_params) |
|
83 | assert_equal(len(job_generator.pbs_list), 4) |
|
84 | assert_equal([pbs.commands[0] for pbs in job_generator.pbs_list], self.commands) |
|
85 | ||
86 | # Since queue has gpus it should be specified in PBS resource `nodes` |
|
87 | assert_true('gpus' in job_generator.pbs_list[0].resources['nodes']) |
|
88 | ||
89 | # Test modules to load |
|
90 | # Check if needed modules for this queue are included in the PBS file |
|
91 | assert_equal(job_generator.pbs_list[0].modules, self.modules) |
|
@@ 53-65 (lines=13) @@ | ||
50 | command_params = {'nb_cores_per_command': self.cores // 2} |
|
51 | job_generator = JobGenerator(self.queue, self.commands, command_params=command_params) |
|
52 | assert_equal(len(job_generator.pbs_list), 2) |
|
53 | assert_equal(job_generator.pbs_list[0].commands, self.commands[:2]) |
|
54 | assert_equal(job_generator.pbs_list[1].commands, self.commands[2:]) |
|
55 | ||
56 | def test_generate_pbs4_cpu(self): |
|
57 | # Should needs four PBS file |
|
58 | command_params = {'nb_cores_per_command': self.cores} |
|
59 | job_generator = JobGenerator(self.queue, self.commands, command_params=command_params) |
|
60 | assert_equal(len(job_generator.pbs_list), 4) |
|
61 | assert_equal([pbs.commands[0] for pbs in job_generator.pbs_list], self.commands) |
|
62 | ||
63 | # Since queue has no gpus it should not be specified in PBS resource `nodes` |
|
64 | assert_true('gpus' not in job_generator.pbs_list[0].resources['nodes']) |
|
65 | ||
66 | # Test modules to load |
|
67 | # Check if needed modules for this queue are included in the PBS file |
|
68 | assert_equal(job_generator.pbs_list[0].modules, self.modules) |
|
@@ 35-43 (lines=9) @@ | ||
32 | self.prolog = ["echo prolog"] |
|
33 | self.epilog = ["echo epilog"] |
|
34 | ||
35 | def tearDown(self): |
|
36 | shutil.rmtree(self.testing_dir) |
|
37 | ||
38 | def test_generate_pbs(self): |
|
39 | job_generator = JobGenerator(self.queue, self.commands, prolog=self.prolog, epilog=self.epilog) |
|
40 | ||
41 | # Test nb_cores_per_command argument |
|
42 | # Should needs one PBS file |
|
43 | assert_equal(len(job_generator.pbs_list), 1) |
|
44 | assert_equal(job_generator.pbs_list[0].commands, self.commands) |
|
45 | assert_equal(job_generator.pbs_list[0].prolog, self.prolog) |
|
46 | assert_equal(job_generator.pbs_list[0].epilog, self.epilog) |