Fix "RuntimeError: dictionary keys changed during iteration" when parsing "library.json" dependencies

This commit is contained in:
Ivan Kravets
2020-06-27 12:46:04 +03:00
parent 29fb803be1
commit b046f21e0d
2 changed files with 2 additions and 4 deletions

View File

@ -384,8 +384,6 @@ class LibraryJsonManifestParser(BaseManifestParser):
for k, v in dependency.items():
if k not in ("platforms", "frameworks", "authors"):
continue
if "*" in v:
del raw[i][k]
raw[i][k] = util.items_to_list(v)
else:
raw[i] = {"name": dependency}

View File

@ -83,7 +83,7 @@ def test_library_json_parser():
},
"dependencies": [
{"name": "deps1", "version": "1.0.0"},
{"name": "@owner/deps2", "version": "1.0.0", "platforms": "atmelavr, espressif32", "frameworks": "arduino, espidf"},
{"name": "@owner/deps2", "version": "1.0.0", "platforms": "*", "frameworks": "arduino, espidf"},
{"name": "deps3", "version": "1.0.0", "platforms": ["ststm32", "sifive"]}
]
}
@ -101,7 +101,7 @@ def test_library_json_parser():
{
"name": "@owner/deps2",
"version": "1.0.0",
"platforms": ["atmelavr", "espressif32"],
"platforms": ["*"],
"frameworks": ["arduino", "espidf"],
},
{"name": "deps1", "version": "1.0.0"},