Code Duplication    Length = 9-13 lines in 3 locations

smartdispatch/tests/test_job_generator.py 3 locations

@@ 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)