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)