[NFVBENCH-7] Return errors when unknown options are passed
[nfvbench.git] / nfvbench / config.py
index b2972dd..a0587b6 100644 (file)
@@ -48,6 +48,24 @@ def config_loads(cfg_text, from_cfg=None):
     return cfg
 
 
+def get_err_config(subset, superset):
+    result = {}
+    for k, v in subset.items():
+        if k not in superset:
+            result.update({k: v})
+        elif v is not None and superset[k] is not None:
+            if not isinstance(v, type(superset[k])):
+                result.update({k: v})
+                continue
+        if isinstance(v, dict):
+            res = get_err_config(v, superset[k])
+            if res:
+                result.update({k: res})
+    if not result:
+        return None
+    return result
+
+
 def test_config():
     cfg = config_load('a1.yaml')
     cfg = config_load('a2.yaml', cfg)