twister: normalize platform name when storing files/data

Convert slashes into underscores to allow saving of data related to
platforms on disk.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
This commit is contained in:
Anas Nashif
2024-02-22 07:35:49 -05:00
committed by Carles Cufi
parent 477c8b84dd
commit 01942f1d11
4 changed files with 12 additions and 11 deletions

View File

@@ -52,6 +52,7 @@ class Platform:
data = scp.data
self.name = data['identifier']
self.normalized_name = self.name.replace("/", "_")
self.twister = data.get("twister", True)
# if no RAM size is specified by the board, take a default of 128K
self.ram = data.get("ram", 128)

View File

@@ -545,13 +545,13 @@ class Reporting:
def target_report(self, json_file, outdir, suffix):
platforms = {inst.platform.name for _, inst in self.instances.items()}
platforms = {inst.platform for _, inst in self.instances.items()}
for platform in platforms:
if suffix:
filename = os.path.join(outdir,"{}_{}.xml".format(platform, suffix))
json_platform_file = os.path.join(outdir,"{}_{}.json".format(platform, suffix))
filename = os.path.join(outdir,"{}_{}.xml".format(platform.normalized_name, suffix))
json_platform_file = os.path.join(outdir,"{}_{}.json".format(platform.normalized_name, suffix))
else:
filename = os.path.join(outdir,"{}.xml".format(platform))
json_platform_file = os.path.join(outdir,"{}.json".format(platform))
self.xunit_report(json_file, filename, platform, full_report=True)
self.json_report(json_platform_file, version=self.env.version, platform=platform)
filename = os.path.join(outdir,"{}.xml".format(platform.normalized_name))
json_platform_file = os.path.join(outdir,"{}.json".format(platform.normalized_name))
self.xunit_report(json_file, filename, platform.name, full_report=True)
self.json_report(json_platform_file, version=self.env.version, platform=platform.name)

View File

@@ -56,14 +56,13 @@ class TestInstance:
self.name = os.path.join(platform.name, testsuite.name)
self.dut = None
clean_platform_name = platform.name.replace("/", "_")
if testsuite.detailed_test_id:
self.build_dir = os.path.join(outdir, clean_platform_name, testsuite.name)
self.build_dir = os.path.join(outdir, platform.normalized_name, testsuite.name)
else:
# if suite is not in zephyr, keep only the part after ".." in reconstructed dir structure
source_dir_rel = testsuite.source_dir_rel.rsplit(os.pardir+os.path.sep, 1)[-1]
self.build_dir = os.path.join(outdir, clean_platform_name, source_dir_rel, testsuite.name)
self.build_dir = os.path.join(outdir, platform.normalized_name, source_dir_rel, testsuite.name)
self.run_id = self._get_run_id()
self.domains = None

View File

@@ -459,6 +459,7 @@ class TestPlan:
platform_revision = copy.deepcopy(platform)
revision = revision.replace("_", ".")
platform_revision.name = f"{platform.name}@{revision}"
platform_revision.normalized_name = platform_revision.name.replace("/", "_")
platform_revision.default = False
self.platforms.append(platform_revision)