scripts: twister: drop support for space-separated lists
Support for space-separated lists was deprecated a long time ago
a91620f5bb
so it is time to remove
support for them.
Any project that has not migrated can still use
`scripts/utils/twister_to_list.py` to automatically migrate twister
files.
Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
This commit is contained in:
parent
d4a67e321b
commit
714e193340
2 changed files with 16 additions and 35 deletions
|
@ -106,10 +106,8 @@ class TwisterConfigParser:
|
|||
return data
|
||||
|
||||
def _cast_value(self, value, typestr):
|
||||
if isinstance(value, str):
|
||||
v = value.strip()
|
||||
if typestr == "str":
|
||||
return v
|
||||
return value.strip()
|
||||
|
||||
elif typestr == "float":
|
||||
return float(value)
|
||||
|
@ -124,19 +122,8 @@ class TwisterConfigParser:
|
|||
if isinstance(value, list):
|
||||
return value
|
||||
elif isinstance(value, str):
|
||||
vs = v.split()
|
||||
|
||||
if len(vs) > 1:
|
||||
warnings.warn(
|
||||
"Space-separated lists are deprecated, use YAML lists instead",
|
||||
DeprecationWarning,
|
||||
stacklevel=2
|
||||
)
|
||||
|
||||
if len(typestr) > 4 and typestr[4] == ":":
|
||||
return [self._cast_value(vsi, typestr[5:]) for vsi in vs]
|
||||
else:
|
||||
return vs
|
||||
value = value.strip()
|
||||
return [value] if value else list()
|
||||
else:
|
||||
raise ValueError
|
||||
|
||||
|
@ -144,19 +131,8 @@ class TwisterConfigParser:
|
|||
if isinstance(value, list):
|
||||
return set(value)
|
||||
elif isinstance(value, str):
|
||||
vs = v.split()
|
||||
|
||||
if len(vs) > 1:
|
||||
warnings.warn(
|
||||
"Space-separated lists are deprecated, use YAML lists instead",
|
||||
DeprecationWarning,
|
||||
stacklevel=2
|
||||
)
|
||||
|
||||
if len(typestr) > 3 and typestr[3] == ":":
|
||||
return {self._cast_value(vsi, typestr[4:]) for vsi in vs}
|
||||
else:
|
||||
return set(vs)
|
||||
value = value.strip()
|
||||
return {value} if value else set()
|
||||
else:
|
||||
raise ValueError
|
||||
|
||||
|
@ -201,13 +177,20 @@ class TwisterConfigParser:
|
|||
elif k not in ("extra_conf_files", "extra_overlay_confs",
|
||||
"extra_dtc_overlay_files"):
|
||||
if isinstance(d[k], str) and isinstance(v, list):
|
||||
d[k] = d[k].split() + v
|
||||
d[k] = [d[k]] + v
|
||||
elif isinstance(d[k], list) and isinstance(v, str):
|
||||
d[k] += v.split()
|
||||
d[k] += [v]
|
||||
elif isinstance(d[k], list) and isinstance(v, list):
|
||||
d[k] += v
|
||||
elif isinstance(d[k], str) and isinstance(v, str):
|
||||
d[k] += " " + v
|
||||
# overwrite if type is string, otherwise merge into a list
|
||||
type = self.testsuite_valid_keys[k]["type"]
|
||||
if type == "str":
|
||||
d[k] = v
|
||||
elif type in ("list", "set"):
|
||||
d[k] = [d[k], v]
|
||||
else:
|
||||
raise ValueError
|
||||
else:
|
||||
# replace value if not str/list (e.g. integer)
|
||||
d[k] = v
|
||||
|
|
|
@ -141,12 +141,10 @@ def test_default_values(zephyr_base):
|
|||
('key: val', 'map', 'key: val', None), # do-nothing cast
|
||||
('test', 'int', ValueError, None),
|
||||
('test', 'unknown', ConfigurationError, None),
|
||||
('1 2 2 3', 'list', ['1', '2', '2','3'], ('Space-separated lists are deprecated, use YAML lists instead', DeprecationWarning)),
|
||||
('1 2 2 3', 'set', {'1', '2', '3'}, ('Space-separated lists are deprecated, use YAML lists instead', DeprecationWarning)),
|
||||
([ '1', '2', '3' ], 'set', { '1', '2', '2','3' }, None),
|
||||
],
|
||||
ids=['str to str', 'str to float', 'str to int', 'str to bool', 'str to map',
|
||||
'invalid', 'to unknown', "str to list", "str to set", "list to set"]
|
||||
'invalid', 'to unknown', "list to set"]
|
||||
)
|
||||
|
||||
def test_cast_value(zephyr_base, value, typestr, expected, expected_warning):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue