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:
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user