[matter_yamltests] Replace python 3.9 list/tuple syntax with typing.List/typing.Tuple (#26873)
diff --git a/scripts/py_matter_yamltests/matter_yamltests/constraints.py b/scripts/py_matter_yamltests/matter_yamltests/constraints.py
index fb0ecd8..572da63 100644
--- a/scripts/py_matter_yamltests/matter_yamltests/constraints.py
+++ b/scripts/py_matter_yamltests/matter_yamltests/constraints.py
@@ -18,6 +18,7 @@
import re
import string
from abc import ABC, abstractmethod
+from typing import List
from .errors import TestStepError
@@ -759,7 +760,7 @@
return f'The response value "{value}" is not a value from {self._any_of}.'
-def get_constraints(constraints: dict) -> list[BaseConstraint]:
+def get_constraints(constraints: dict) -> List[BaseConstraint]:
_constraints = []
context = constraints
diff --git a/scripts/py_matter_yamltests/matter_yamltests/definitions.py b/scripts/py_matter_yamltests/matter_yamltests/definitions.py
index 23995fa..8597262 100644
--- a/scripts/py_matter_yamltests/matter_yamltests/definitions.py
+++ b/scripts/py_matter_yamltests/matter_yamltests/definitions.py
@@ -161,17 +161,17 @@
return None
- def get_command_names(self, cluster_name: str) -> list[str]:
+ def get_command_names(self, cluster_name: str) -> List[str]:
targets = self.__get_targets_by_cluster_name(
cluster_name, _ItemType.Request)
return [] if targets is None else [name for name in targets]
- def get_event_names(self, cluster_name: str) -> list[str]:
+ def get_event_names(self, cluster_name: str) -> List[str]:
targets = self.__get_targets_by_cluster_name(
cluster_name, _ItemType.Event)
return [] if targets is None else [name for name in targets]
- def get_attribute_names(self, cluster_name: str) -> list[str]:
+ def get_attribute_names(self, cluster_name: str) -> List[str]:
targets = self.__get_targets_by_cluster_name(
cluster_name, _ItemType.Attribute)
return [] if targets is None else [name for name in targets]
diff --git a/scripts/py_matter_yamltests/matter_yamltests/parser_builder.py b/scripts/py_matter_yamltests/matter_yamltests/parser_builder.py
index 2305900..70a4eb0 100644
--- a/scripts/py_matter_yamltests/matter_yamltests/parser_builder.py
+++ b/scripts/py_matter_yamltests/matter_yamltests/parser_builder.py
@@ -16,6 +16,7 @@
import copy
import time
from dataclasses import dataclass, field
+from typing import List
from .hooks import TestParserHooks
from .parser import TestParser, TestParserConfig
@@ -50,7 +51,7 @@
parsing. It may may allow the callers to gain insights about the
current parsing state.
"""
- tests: list[str] = field(default_factory=list)
+ tests: List[str] = field(default_factory=list)
parser_config: TestParserConfig = field(default_factory=TestParserConfig)
hooks: TestParserHooks = TestParserHooks()
options: TestParserBuilderOptions = field(
diff --git a/scripts/py_matter_yamltests/matter_yamltests/pics_checker.py b/scripts/py_matter_yamltests/matter_yamltests/pics_checker.py
index e349761..af43210 100644
--- a/scripts/py_matter_yamltests/matter_yamltests/pics_checker.py
+++ b/scripts/py_matter_yamltests/matter_yamltests/pics_checker.py
@@ -14,6 +14,7 @@
# limitations under the License.
import unicodedata
+from typing import List
_COMMENT_CHARACTER = '#'
_VALUE_SEPARATOR = '='
@@ -78,7 +79,7 @@
line = f.readline()
return pics
- def __evaluate_expression(self, tokens: list[str], pics: dict):
+ def __evaluate_expression(self, tokens: List[str], pics: dict):
leftExpr = self.__evaluate_sub_expression(tokens, pics)
if self.__expression_index >= len(tokens):
return leftExpr
@@ -102,7 +103,7 @@
raise InvalidPICSParsingError(f'Unknown token: {token}')
- def __evaluate_sub_expression(self, tokens: list[str], pics: dict):
+ def __evaluate_sub_expression(self, tokens: List[str], pics: dict):
token = tokens[self.__expression_index]
if token == '(':
self.__expression_index += 1
diff --git a/scripts/py_matter_yamltests/matter_yamltests/pseudo_clusters/pseudo_clusters.py b/scripts/py_matter_yamltests/matter_yamltests/pseudo_clusters/pseudo_clusters.py
index 2f453c0..eabd286 100644
--- a/scripts/py_matter_yamltests/matter_yamltests/pseudo_clusters/pseudo_clusters.py
+++ b/scripts/py_matter_yamltests/matter_yamltests/pseudo_clusters/pseudo_clusters.py
@@ -12,6 +12,8 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+from typing import List
+
from .clusters.commissioner_commands import CommissionerCommands
from .clusters.delay_commands import DelayCommands
from .clusters.discovery_commands import DiscoveryCommands
@@ -22,7 +24,7 @@
class PseudoClusters:
- def __init__(self, clusters: list[PseudoCluster]):
+ def __init__(self, clusters: List[PseudoCluster]):
self.clusters = clusters
def supports(self, request) -> bool:
diff --git a/scripts/py_matter_yamltests/matter_yamltests/yaml_loader.py b/scripts/py_matter_yamltests/matter_yamltests/yaml_loader.py
index 33fd8b9..a8cf541 100644
--- a/scripts/py_matter_yamltests/matter_yamltests/yaml_loader.py
+++ b/scripts/py_matter_yamltests/matter_yamltests/yaml_loader.py
@@ -13,7 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-from typing import Union
+from typing import Tuple, Union
from .errors import (TestStepError, TestStepGroupResponseError, TestStepInvalidTypeError, TestStepKeyError,
TestStepNodeIdAndGroupIdError, TestStepValueAndValuesError, TestStepVerificationStandaloneError,
@@ -33,7 +33,7 @@
class YamlLoader:
"""This class loads a file from the disk and validates that the content is a well formed yaml test."""
- def load(self, yaml_file: str) -> tuple[str, Union[list, str], dict, list]:
+ def load(self, yaml_file: str) -> Tuple[str, Union[list, str], dict, list]:
filename = ''
name = ''
pics = None
diff --git a/scripts/tests/yaml/chiptool.py b/scripts/tests/yaml/chiptool.py
index eb24257..f36e29f 100755
--- a/scripts/tests/yaml/chiptool.py
+++ b/scripts/tests/yaml/chiptool.py
@@ -19,6 +19,7 @@
import asyncio
import json
import sys
+from typing import List
import click
from matter_chip_tool_adapter.decoder import MatterLog
@@ -31,7 +32,7 @@
@click.pass_context
-def send_yaml_command(ctx, test_name: str, server_path: str, server_arguments: str, pics: str, additional_pseudo_clusters_directory: str, commands: list[str]):
+def send_yaml_command(ctx, test_name: str, server_path: str, server_arguments: str, pics: str, additional_pseudo_clusters_directory: str, commands: List[str]):
kwargs = {'test_name': test_name, 'pics': pics, 'additional_pseudo_clusters_directory': additional_pseudo_clusters_directory}
index = 0
@@ -125,7 +126,7 @@
@click.argument('commands', nargs=-1)
@chiptool_runner_options
@click.pass_context
-def chiptool_py(ctx, commands: list[str], server_path: str, server_name: str, server_arguments: str, trace_file: str, trace_decode: bool, delay_in_ms: int, continueonfailure: bool, pics: str, additional_pseudo_clusters_directory: str):
+def chiptool_py(ctx, commands: List[str], server_path: str, server_name: str, server_arguments: str, trace_file: str, trace_decode: bool, delay_in_ms: int, continueonfailure: bool, pics: str, additional_pseudo_clusters_directory: str):
success = False
server_arguments = maybe_update_server_arguments(ctx)
diff --git a/scripts/tests/yaml/tests_finder.py b/scripts/tests/yaml/tests_finder.py
index 0eaa43f..99ee4a1 100755
--- a/scripts/tests/yaml/tests_finder.py
+++ b/scripts/tests/yaml/tests_finder.py
@@ -15,6 +15,7 @@
import json
import os.path
+from typing import List
import click
@@ -40,7 +41,7 @@
def get_default_configuration_name() -> str:
return _CI_CONFIGURATION_NAME
- def get(self, test_name: str) -> list[str]:
+ def get(self, test_name: str) -> List[str]:
test_names = []
if self.__test_collections and test_name == _KEYWORD_ALL_TESTS:
@@ -54,7 +55,7 @@
return self.__get_paths(test_names)
- def __get_collections(self, configuration_directory: str, configuration_name: str) -> list[str]:
+ def __get_collections(self, configuration_directory: str, configuration_name: str) -> List[str]:
if os.path.isfile(configuration_name):
configuration_filepath = configuration_name
elif os.path.isfile(os.path.join(configuration_directory, configuration_name + _JSON_FILE_EXTENSION)):
@@ -82,7 +83,7 @@
return collections
- def __get_paths(self, test_names: list[str]) -> list[str]:
+ def __get_paths(self, test_names: List[str]) -> List[str]:
paths = []
for name in test_names: