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