def do_test(log, check_errors=True): """ Test a single log. ``log`` - the url prefix of the log to test. Also searches for the result file with the same prefix. """ url = "file://{0}".format(SampleData().get_log_path( "{0}.txt.gz".format(log))) builder = BuildbotLogViewArtifactBuilder(url, check_errors=check_errors) lpc = ArtifactBuilderCollection(url, builders=builder) lpc.parse() act = lpc.artifacts[builder.name] # we can't compare the "logurl" field, because it's a fully qualified url, # so it will be different depending on the config it's run in. assert "logurl" in act del (act["logurl"]) exp = test_utils.load_exp("{0}.logview.json".format(log)) # :: use to create the ``exp`` files, if you're making a lot of them # with open(SampleData().get_log_path("{0}.logview.json".format(log)), "w") as f: # f.write(json.dumps(act, indent=4)) # log urls won't match in tests, since they're machine specific # but leave it in the exp file as an example of what the real structure # should look like. del (exp["logurl"]) assert act == exp # , diff(exp, act)
def do_test(log): """ Test a single log with the ``JobArtifactBuilder``. ``log`` - the url prefix of the log to test. Also searches for the result file with the same prefix. """ url = "file://{0}".format(SampleData().get_log_path( "{0}.txt.gz".format(log))) exp = test_utils.load_exp("{0}.jobartifact.json".format(log)) builder = BuildbotJobArtifactBuilder(url) lpc = ArtifactBuilderCollection(url, builders=builder) lpc.parse() act = lpc.artifacts[builder.name] # we can't compare the "logurl" field, because it's a fully qualified url, # so it will be different depending on the config it's run in. assert "logurl" in act del (act["logurl"]) # leaving the logurl in the exp files so they are a good example of the # expected structure. del (exp["logurl"]) # assert act == exp, diff(exp, act) # if you want to gather results for a new test, use this assert len(act) == len(exp) for index, artifact in act.items(): assert artifact == exp[index]
def do_test(log): """ Test a single log with the ``JobArtifactBuilder``. ``log`` - the url prefix of the log to test. Also searches for the result file with the same prefix. """ url = add_log_response("{}.txt.gz".format(log)) builder = BuildbotJobArtifactBuilder(url) lpc = ArtifactBuilderCollection(url, builders=builder) lpc.parse() act = lpc.artifacts[builder.name] exp = test_utils.load_exp("{0}.jobartifact.json".format(log)) # :: Uncomment to create the ``exp`` files, if you're making a lot of them # import json # from tests.sampledata import SampleData # with open(SampleData().get_log_path("{0}.jobartifact.json".format(log)), "w") as f: # f.write(json.dumps(act, indent=4)) # assert act == exp, diff(exp, act) # if you want to gather results for a new test, use this assert len(act) == len(exp) for index, artifact in act.items(): assert artifact == exp[index]
def do_test(log): """ Test a single log. ``log`` - the url prefix of the log to test. Also searches for the result file with the same prefix. """ url = add_log_response("{}.txt.gz".format(log)) builder = BuildbotLogViewArtifactBuilder(url) lpc = ArtifactBuilderCollection(url, builders=builder) lpc.parse() act = lpc.artifacts[builder.name] exp = test_utils.load_exp("{0}.logview.json".format(log)) # :: Uncomment to create the ``exp`` files, if you're making a lot of them # import json # from tests.sampledata import SampleData # with open(SampleData().get_log_path("{0}.logview.json".format(log)), "w") as f: # f.write(json.dumps(act, indent=4)) assert act == exp # , diff(exp, act)