Skip to content

Commit be9564b

Browse files
committed
Bug 1582122 - Do not fail if config line without "=" r=glob
Reviewers: glob Reviewed By: glob Bug #: 1582122 Differential Revision: https://phabricator.services.mozilla.com/D46757
1 parent f24103f commit be9564b

2 files changed

Lines changed: 25 additions & 1 deletion

File tree

moz-phab

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -416,7 +416,11 @@ def parse_config(config_list, filter_func=None):
416416
except UnicodeDecodeError:
417417
pass
418418

419-
name, value = line.split("=", 1)
419+
try:
420+
name, value = line.split("=", 1)
421+
except ValueError:
422+
continue
423+
420424
name = name.strip()
421425
value = value.strip()
422426
if filter_func is None or (callable(filter_func) and filter_func(name, value)):

tests/test_helpers.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -416,3 +416,23 @@ def test_simple_cache():
416416

417417
cache.delete("something")
418418
assert cache.get("something") is None
419+
420+
421+
def test_parse_config():
422+
res = mozphab.parse_config(
423+
["key=value 1", "key2 = value2 ", "key3=", "key4=one=two=three"]
424+
)
425+
assert res == dict(key="value 1", key2="value2", key3="", key4="one=two=three")
426+
427+
428+
def test_parse_config_key_only():
429+
assert mozphab.parse_config(["key"]) == dict()
430+
431+
432+
def test_parse_config_with_filter():
433+
def _filter(name, value):
434+
if name != "out":
435+
return True
436+
437+
res = mozphab.parse_config(["imin=I'm in", "out=not here"], _filter)
438+
assert res == dict(imin="I'm in")

0 commit comments

Comments
 (0)