Esempio n. 1
0
    def test_skips_compile_if_not_needed(self):
        uut = CompileMisuseTask(self.compile_base_path, 0, force_compile=False)
        self.misuse_compile.needs_compile = lambda: False

        uut.run(self.misuse, self.compile)

        self.compile_mock.assert_not_called()
Esempio n. 2
0
    def test_compiles_correct_usages(self):
        uut = CompileMisuseTask(self.compile_base_path, 0, force_compile=False)

        uut.run(self.misuse, self.compile)

        self.compile_mock.assert_called_once_with(
            self.misuse_compile.correct_usage_sources_path,
            self.misuse_compile.correct_usage_classes_path,
            self.compile.get_full_classpath())
Esempio n. 3
0
    def test_forces_compile_correct_usages(self):
        uut = CompileMisuseTask(self.compile_base_path, 0, force_compile=True)
        self.misuse_compile.delete = MagicMock()
        self.misuse_compile.needs_compile = lambda: self.misuse_compile.delete.calls

        uut.run(self.misuse, self.compile)

        self.compile_mock.assert_called_once_with(
            self.misuse_compile.correct_usage_sources_path,
            self.misuse_compile.correct_usage_classes_path,
            self.compile.get_full_classpath())
Esempio n. 4
0
    def test_copies_misuse_sources(self):
        uut = CompileMisuseTask(self.compile_base_path, 0, force_compile=False)

        create_file(join(self.compile.original_sources_paths[0], "mu.file"))
        misuse = create_misuse("1",
                               meta={"location": {
                                   "file": "mu.file"
                               }},
                               project=self.project,
                               version=self.version)

        correct_usage_compile = uut.run(misuse, self.compile)

        assert exists(join(correct_usage_compile.misuse_source_path,
                           "mu.file"))
Esempio n. 5
0
    def test_force_compile_if_version_compile_is_more_recent(
            self, misuse_compile_timestamp_mock,
            version_compile_timestamp_mock):
        uut = CompileMisuseTask(self.compile_base_path, 0, force_compile=False)
        uut.force_compile = False
        self.misuse_compile.delete = MagicMock()
        self.misuse_compile.needs_compile = lambda: self.misuse_compile.delete.calls
        misuse_compile_timestamp_mock.return_value = 1
        version_compile_timestamp_mock.return_value = 2

        uut.run(self.misuse, self.compile)

        self.compile_mock.assert_called_once_with(
            self.misuse_compile.correct_usage_sources_path,
            self.misuse_compile.correct_usage_classes_path,
            self.compile.get_full_classpath())
Esempio n. 6
0
 def tasks(self, config) -> List:
     compile_version = CompileVersionTask(config.compiles_path,
                                          config.run_timestamp,
                                          config.force_compile,
                                          config.use_tmp_wrkdir)
     collect_misuses = CollectMisusesTask()
     compile_misuse = CompileMisuseTask(config.compiles_path,
                                        config.run_timestamp,
                                        config.force_compile)
     return CheckoutTaskConfiguration().tasks(config) + [
         compile_version, collect_misuses, compile_misuse
     ]
Esempio n. 7
0
 def tasks(self, config) -> List:
     compile_version = CompileVersionTask(config.compiles_path,
                                          config.run_timestamp,
                                          config.force_compile,
                                          config.use_tmp_wrkdir)
     collect_misuses = CollectMisusesTask()
     filter_misuses_without_correct_usages = FilterMisusesWithoutCorrectUsagesTask(
     )
     compile_misuse = CompileMisuseTask(config.compiles_path,
                                        config.run_timestamp,
                                        config.force_compile)
     load_detector = LoadDetectorTask(config.detectors_path,
                                      config.detector,
                                      config.requested_release,
                                      config.java_options)
     detect = DetectProvidedCorrectUsagesTask(config.findings_path,
                                              config.force_detect,
                                              config.timeout,
                                              config.run_timestamp)
     return [load_detector] + CheckoutTaskConfiguration().tasks(config) + [
         compile_version, collect_misuses,
         filter_misuses_without_correct_usages, compile_misuse, detect
     ]
Esempio n. 8
0
    def test_copies_correct_usage_sources(self):
        uut = CompileMisuseTask(self.compile_base_path, 0, force_compile=False)

        uut.run(self.misuse, self.compile)

        assert exists(self.misuse_compile.correct_usage_sources_path)