summaryrefslogtreecommitdiff
path: root/subplot/contractor.py
blob: a2569dd90040b7e5c0704d30639b707f6a9a53ff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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)