summaryrefslogtreecommitdiff
path: root/subplot/contractor.py
diff options
context:
space:
mode:
Diffstat (limited to 'subplot/contractor.py')
-rw-r--r--subplot/contractor.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/subplot/contractor.py b/subplot/contractor.py
new file mode 100644
index 0000000..a2569dd
--- /dev/null
+++ b/subplot/contractor.py
@@ -0,0 +1,25 @@
+import json
+import logging
+import os
+import yaml
+
+
+def run_contractor_dump(ctx, filename=None):
+ runcmd_run = globals()["runcmd_run"]
+ srcdir = globals()["srcdir"]
+ argv = [os.path.join(srcdir, "target", "debug", "contractor"), "dump", filename]
+ runcmd_run(ctx, argv)
+
+
+def stdout_json_matches_yaml_file(ctx, filename=None):
+ runcmd_get_stdout = globals()["runcmd_get_stdout"]
+ assert_dict_eq = globals()["assert_dict_eq"]
+
+ stdout = runcmd_get_stdout(ctx)
+ logging.debug(f"stdout: {stdout!r}")
+ obj_json = json.loads(stdout)
+ logging.info(f"object from stdout: {obj_json!r}")
+
+ obj_yaml = yaml.safe_load(open(filename))
+ logging.info(f"object from yaml: {obj_yaml!r}")
+ assert_dict_eq(obj_json, obj_yaml)