Ejemplo n.º 1
0
 def test_determine_jobs_jobs_max(self):
     jobs_max = 3
     jobs = erjc.determine_jobs("_no_match_", "_no_variant_", jobs_max, 1)
     self.assertEqual(min(jobs_max, jobs), jobs)
     jobs_max = 30
     jobs = erjc.determine_jobs("_no_match_", "_no_variant_", jobs_max, 1)
     self.assertEqual(min(jobs_max, jobs), jobs)
Ejemplo n.º 2
0
 def test_determine_jobs_matching_machine(self):
     erjc.PLATFORM_MACHINE = "mymachine"
     erjc.MACHINE_TASK_FACTOR_OVERRIDES = {"mymachine": self.task_factors}
     jobs = erjc.determine_jobs(self.mytask, "myvariant", 0, 1)
     self.assertEqual(int(round(self.cpu_count * self.mytask_factor)), jobs)
     jobs = erjc.determine_jobs(self.regex, "myvariant", 0, 1)
     self.assertEqual(int(round(self.cpu_count * self.regex_factor)), jobs)
Ejemplo n.º 3
0
 def test_determine_jobs_matching_platform(self):
     erjc.SYS_PLATFORM = "myplatform"
     erjc.PLATFORM_TASK_FACTOR_OVERRIDES = {"myplatform": self.task_factors}
     jobs = erjc.determine_jobs(self.mytask, "myvariant", 0, 1)
     self.assertEqual(int(round(self.cpu_count * self.mytask_factor)), jobs)
     jobs = erjc.determine_jobs(self.regex, "myvariant", 0, 1)
     self.assertEqual(int(round(self.cpu_count * self.regex_factor)), jobs)
 def test_determine_jobs_matching_variant(self):
     under_test.VARIANT_TASK_FACTOR_OVERRIDES = {
         "myvariant": self.task_factors
     }
     jobs = under_test.determine_jobs(self.mytask, "myvariant", "mydistro",
                                      0, 1)
     self.assertEqual(int(round(self.cpu_count * self.mytask_factor)), jobs)
     jobs = under_test.determine_jobs(self.regex, "myvariant", "mydistro",
                                      0, 1)
     self.assertEqual(int(round(self.cpu_count * self.regex_factor)), jobs)
 def test_determine_jobs_matching_distro(self):
     old_multipliers = under_test.DISTRO_MULTIPLIERS
     try:
         under_test.DISTRO_MULTIPLIERS = {"mydistro": 3}
         under_test.VARIANT_TASK_FACTOR_OVERRIDES = {
             "myvariant": self.task_factors
         }
         jobs = under_test.determine_jobs(self.mytask, "myvariant",
                                          "mydistro", 0, 1)
         self.assertEqual(
             int(round(self.cpu_count * self.mytask_factor * 3)), jobs)
         jobs = under_test.determine_jobs(self.regex, "myvariant",
                                          "mydistro", 0, 1)
         self.assertEqual(
             int(round(self.cpu_count * self.regex_factor * 3)), jobs)
     finally:
         under_test.DISTRO_MULTIPLIERS = old_multipliers
Ejemplo n.º 6
0
 def test_determine_jobs_min_factor(self):
     erjc.PLATFORM_MACHINE = "mymachine"
     erjc.SYS_PLATFORM = "myplatform"
     mytask_factor_min = 0.5
     regex_factor_min = 0.25
     task_factors1 = [{"task": "mytask", "factor": mytask_factor_min + .5},
                      {"task": "regex.*", "factor": regex_factor_min + .5}]
     task_factors2 = [{"task": "mytask", "factor": mytask_factor_min + .25},
                      {"task": "regex.*", "factor": regex_factor_min + .25}]
     task_factors3 = [{"task": "mytask", "factor": mytask_factor_min},
                      {"task": "regex.*", "factor": regex_factor_min}]
     erjc.VARIANT_TASK_FACTOR_OVERRIDES = {"myvariant": task_factors1}
     erjc.MACHINE_TASK_FACTOR_OVERRIDES = {"mymachine": task_factors2}
     erjc.PLATFORM_TASK_FACTOR_OVERRIDES = {"myplatform": task_factors3}
     jobs = erjc.determine_jobs(self.mytask, "myvariant", 0, 1)
     self.assertEqual(int(round(self.cpu_count * mytask_factor_min)), jobs)
     jobs = erjc.determine_jobs(self.regex, "myvariant", 0, 1)
     self.assertEqual(int(round(self.cpu_count * regex_factor_min)), jobs)
Ejemplo n.º 7
0
    def test_determine_jobs_without_global_specification(self):
        task = "another_task"
        target_factor = 0.25
        jobs_default = 8
        under_test.CPU_COUNT = jobs_default
        under_test.GLOBAL_TASK_FACTOR_OVERRIDES = {
            r"matching.*": target_factor,
        }
        variant = "a_build_variant"

        job_count_matching = under_test.determine_jobs(task, variant, jobs_max=jobs_default)
        self.assertEqual(jobs_default, job_count_matching)
Ejemplo n.º 8
0
 def test_determine_jobs_factor(self):
     factor = 0.4
     jobs = erjc.determine_jobs("_no_match_", "_no_variant_", 0, factor)
     self.assertEqual(int(round(self.cpu_count * factor)), jobs)
 def test_determine_jobs_matching_variant(self):
     erjc.VARIANT_TASK_FACTOR_OVERRIDES = {"myvariant": self.task_factors}
     jobs = erjc.determine_jobs(self.mytask, "myvariant", 0, 1)
     self.assertEqual(int(round(self.cpu_count * self.mytask_factor)), jobs)
     jobs = erjc.determine_jobs(self.regex, "myvariant", 0, 1)
     self.assertEqual(int(round(self.cpu_count * self.regex_factor)), jobs)
Ejemplo n.º 10
0
 def test_determine_jobs_no_matching_task(self):
     jobs = erjc.determine_jobs("_no_match_", "_no_variant_", 0, 1)
     self.assertEqual(self.cpu_count, jobs)