From 9e9ade0043ef51544b83b3c364743617ca9c5159 Mon Sep 17 00:00:00 2001 From: Fu Hanxi Date: Thu, 17 Apr 2025 11:45:45 +0200 Subject: [PATCH] fix: typing.Literal not working in python 3.7 --- pytest-embedded-idf/pytest_embedded_idf/utils.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/pytest-embedded-idf/pytest_embedded_idf/utils.py b/pytest-embedded-idf/pytest_embedded_idf/utils.py index 533639c1..79bb96b7 100644 --- a/pytest-embedded-idf/pytest_embedded_idf/utils.py +++ b/pytest-embedded-idf/pytest_embedded_idf/utils.py @@ -1,3 +1,4 @@ +import sys import typing as t from contextvars import ContextVar @@ -9,6 +10,12 @@ preview_targets = ContextVar('preview_targets', default=PREVIEW_TARGETS) +if sys.version_info < (3, 8): + from typing_extensions import Literal +else: + from typing import Literal + + def _expand_target_values(values: t.List[t.List[t.Any]], target_index: int) -> t.List[t.List[t.Any]]: """ Expands target-specific values into individual test cases. @@ -93,7 +100,7 @@ def decorator(func): return decorator -ValidTargets = t.Literal['supported_targets', 'preview_targets', 'all'] +ValidTargets = Literal['supported_targets', 'preview_targets', 'all'] def soc_filtered_targets(soc_statement: str, targets: ValidTargets = 'all') -> t.List[str]: