Files
codeql/python/extractor/tests/test_use_projectlayout.py
Nora Dimitrijević 29b1a7403b Support CODEQL_PATH_TRANSFORMER env var in python path renamer
The new name is required by overlay support.
2025-10-06 11:37:02 +02:00

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