def run()

in source/benchmark-sample/run-query.py [0:0]


def run(engine, db, fs):
    cmd = commands[engine.lower()] % db
    _, fmt, scale = db.split("_")[:3]
    fname = os.path.join(os.getcwd(), "{engine}.{fmt}.{fs}.{scale}.res".format(
        engine=engine, fmt=fmt, fs=fs, scale=scale))
    res = open(fname, "w")
    fcall([res.write, sys.stdout.write], "# filename, time, status\n")
    queries = glob.glob(os.path.join(queries_dir, "*.sql"))
    queries = sorted(queries, key=lambda n: int(re.findall(r'\d+', n)[0]))

    for q in queries:
        # Get the best result from n rounds
        name = f"{q}.{engine}.{fmt}.{fs}.{scale}"
        cmdl = f"{cmd} {q}"
        fwrite(f"{name}.cmd", cmdl)
        outs = [elapse(sh, f"{cmdl} > {name}.{i}.log 2>&1") for i in range(N)]
        durs = [r[0] for r in outs]
        rets = [r[1] for r in outs]
        success = not any(rets)
        if success:
            status = "success"
        else:
            status = "failed"
        cost = avg(durs)
        if success:
            fwrite(f"{name}.res", str(cost))
        fcall([res.write, sys.stdout.write], "%s %s(%d tries), %f\n" % (os.path.basename(q), status, N, cost))
        fcall([res.flush, sys.stdout.flush])
    res.close()