コード例 #1
0
class TestDetectOnlyExecution:
    # noinspection PyAttributeOutsideInit
    def setup(self):
        self.misuse = create_misuse("-misuse-", meta={"location": {"file": "a", "method": "m()"}})
        self.version = create_version("-version-", misuses=[self.misuse], project=create_project("-project-"))
        self.detector = Dummy("-detectors-")
        self.findings_base_path = "-findings-"

        self.logger = logging.getLogger("test")

        self.__orig_shell_exec = Shell.exec
        Shell.exec = MagicMock()

        self.uut = DetectOnlyExecution(
            self.detector, self.version, self.misuse, self.findings_base_path, PotentialHits(self.detector, self.misuse)
        )
        self.uut.save = MagicMock()

    def teardown(self):
        Shell.exec = self.__orig_shell_exec

    def test_execute_per_misuse(self):
        jar = join("-detectors-", "Dummy", "Dummy.jar")
        target = join("-findings-", "detect_only", "Dummy", "-project-", "-version-", "-misuse-", "findings.yml")
        run_info = join("-findings-", "detect_only", "Dummy", "-project-", "-version-", "-misuse-", "run.yml")
        training_src_path = join("-compiles-", "-project-", "-version-", "patterns-src", "-misuse-")
        training_classpath = join("-compiles-", "-project-", "-version-", "patterns-classes", "-misuse-")
        target_src_path = join("-compiles-", "-project-", "-version-", "misuse-src")
        target_classpath = join("-compiles-", "-project-", "-version-", "misuse-classes")

        self.uut.execute("-compiles-", 42, self.logger)

        Shell.exec.assert_called_with(
            'java -jar "{}" '.format(jar)
            + 'target "{}" '.format(target)
            + 'run_info "{}" '.format(run_info)
            + 'detector_mode "1" '
            + 'training_src_path "{}" '.format(training_src_path)
            + 'training_classpath "{}" '.format(training_classpath)
            + 'target_src_path "{}" '.format(target_src_path)
            + 'target_classpath "{}"'.format(target_classpath),
            logger=self.logger,
            timeout=42,
        )
コード例 #2
0
    def setup(self):
        self.misuse = create_misuse("-misuse-", meta={"location": {"file": "a", "method": "m()"}})
        self.version = create_version("-version-", misuses=[self.misuse], project=create_project("-project-"))
        self.detector = Dummy("-detectors-")
        self.findings_base_path = "-findings-"

        self.logger = logging.getLogger("test")

        self.__orig_shell_exec = Shell.exec
        Shell.exec = MagicMock()

        self.uut = DetectOnlyExecution(
            self.detector, self.version, self.misuse, self.findings_base_path, PotentialHits(self.detector, self.misuse)
        )
        self.uut.save = MagicMock()