mirror of
https://github.com/github/codeql.git
synced 2025-12-16 16:53:25 +01:00
28 lines
1.1 KiB
Python
28 lines
1.1 KiB
Python
import os
|
|
import subprocess
|
|
|
|
from tests.test_utils import ExtractorTest, environment
|
|
|
|
class ProjectLayoutUseTest(ExtractorTest):
|
|
|
|
def __init__(self, name):
|
|
super(ProjectLayoutUseTest, self).__init__(name)
|
|
self.module_path = os.path.abspath(os.path.join(self.here, "project_layout"))
|
|
self.src_path = os.path.join(self.module_path, "src")
|
|
self.src_archive = os.path.join(self.module_path, "src_archive")
|
|
|
|
def test_layout(self):
|
|
with environment("SEMMLE_PATH_TRANSFORMER", "tests/project_layout/project-layout"):
|
|
self.run_extractor("-R", self.src_path)
|
|
self.check_only_traps_exists_and_clear("mod1")
|
|
self.check_source_exists_and_clear(os.path.join(self.src_archive, "target", "src", "mod1.py"))
|
|
|
|
def test_invalid_layout(self):
|
|
try:
|
|
with environment("CODEQL_PATH_TRANSFORMER", "nonsuch/project-layout"):
|
|
self.run_extractor("-R", self.src_path)
|
|
except subprocess.CalledProcessError as ex:
|
|
self.assertEqual(ex.returncode, 2)
|
|
else:
|
|
self.fail("Not cleanly halting on invalid path transformer")
|