Skip to content

Commit 7cf391a

Browse files
committed
Spec parsing: Add in_progress DM XML
Have tests default to in_progress for the test events.
1 parent a999258 commit 7cf391a

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed

src/python_testing/TestSpecParsingSupport.py

+8-1
Original file line numberDiff line numberDiff line change
@@ -236,11 +236,18 @@ def test_build_xml_override(self):
236236
# checks that the 1.3 spec (default) does not contain in-progress clusters and the TOT does
237237
tot_xml_clusters, problems = build_xml_clusters(PrebuiltDataModelDirectory.kMaster)
238238
one_three_clusters, problems = build_xml_clusters(PrebuiltDataModelDirectory.k1_3)
239+
in_progress, problems = build_xml_clusters(PrebuiltDataModelDirectory.kInProgress)
239240
asserts.assert_greater(len(set(tot_xml_clusters.keys()) - set(one_three_clusters.keys())),
240-
0, "In progress dir does not contain any clusters not in 1.3")
241+
0, "Master dir does not contain any clusters not in 1.3")
242+
asserts.assert_greater(len(set(tot_xml_clusters.keys()) - set(in_progress.keys())),
243+
0, "Master dir does not contain any clusters not in in_progress")
244+
asserts.assert_greater(len(set(in_progress.keys()) - set(one_three_clusters.keys())),
245+
0, "in_progress dir does not contain any clusters not in 1.3")
241246
# only the pulse width modulation cluster was removed post 1.3
242247
asserts.assert_equal(set(one_three_clusters.keys()) - set(tot_xml_clusters.keys()),
243248
set([Clusters.PulseWidthModulation.id]), "There are some 1.3 clusters that are not included in the TOT spec")
249+
asserts.assert_equal(set(in_progress.keys())-set(tot_xml_clusters.keys()),
250+
set(), "There are some in_progress clusters that are not included in the TOT spec")
244251

245252
str_path = str(os.path.join(os.path.dirname(os.path.realpath(__file__)), '..', '..', 'data_model', 'master', 'clusters'))
246253
string_override_check, problems = build_xml_clusters(str_path)

src/python_testing/spec_parsing_support.py

+4-1
Original file line numberDiff line numberDiff line change
@@ -500,6 +500,7 @@ def check_clusters_for_unknown_commands(clusters: dict[int, XmlCluster], problem
500500

501501
class PrebuiltDataModelDirectory(Enum):
502502
k1_3 = auto()
503+
kInProgress = auto()
503504
kMaster = auto()
504505

505506

@@ -511,6 +512,8 @@ class DataModelLevel(str, Enum):
511512
def _get_data_model_directory(data_model_directory: typing.Union[PrebuiltDataModelDirectory, str], data_model_level: DataModelLevel) -> str:
512513
if data_model_directory == PrebuiltDataModelDirectory.k1_3:
513514
return os.path.join(os.path.dirname(os.path.realpath(__file__)), '..', '..', 'data_model', '1.3', data_model_level)
515+
elif data_model_directory == PrebuiltDataModelDirectory.kInProgress:
516+
return os.path.join(os.path.dirname(os.path.realpath(__file__)), '..', '..', 'data_model', 'in_progress', data_model_level)
514517
elif data_model_directory == PrebuiltDataModelDirectory.kMaster:
515518
return os.path.join(os.path.dirname(os.path.realpath(__file__)), '..', '..', 'data_model', 'master', data_model_level)
516519
else:
@@ -743,7 +746,7 @@ def parse_single_device_type(root: ElementTree.Element) -> tuple[list[ProblemNot
743746
return device_types, problems
744747

745748

746-
def build_xml_device_types(data_model_directory: typing.Union[PrebuiltDataModelDirectory, str] = PrebuiltDataModelDirectory.kMaster) -> tuple[dict[int, XmlDeviceType], list[ProblemNotice]]:
749+
def build_xml_device_types(data_model_directory: typing.Union[PrebuiltDataModelDirectory, str] = PrebuiltDataModelDirectory.kInProgress) -> tuple[dict[int, XmlDeviceType], list[ProblemNotice]]:
747750
dir = _get_data_model_directory(data_model_directory, DataModelLevel.kDeviceType)
748751
device_types: dict[int, XmlDeviceType] = {}
749752
problems = []

0 commit comments

Comments
 (0)