bm_main.py 1.08 KB
Newer Older
facebook-github-bot's avatar
facebook-github-bot committed
1
2
3
4
#!/usr/bin/env python3
# Copyright (c) Facebook, Inc. and its affiliates. All rights reserved.

import glob
Christoph Lassner's avatar
Christoph Lassner committed
5
6
7
8
import os
import subprocess
import sys
from os.path import dirname, isfile, join
facebook-github-bot's avatar
facebook-github-bot committed
9

10

facebook-github-bot's avatar
facebook-github-bot committed
11
12
13
14
15
if __name__ == "__main__":
    # pyre-ignore[16]
    if len(sys.argv) > 1:
        # Parse from flags.
        # pyre-ignore[16]
Christoph Lassner's avatar
Christoph Lassner committed
16
17
18
        file_names = [
            join(dirname(__file__), n) for n in sys.argv if n.startswith("bm_")
        ]
facebook-github-bot's avatar
facebook-github-bot committed
19
20
21
    else:
        # Get all the benchmark files (starting with "bm_").
        bm_files = glob.glob(join(dirname(__file__), "bm_*.py"))
Christoph Lassner's avatar
Christoph Lassner committed
22
23
24
        file_names = sorted(
            f for f in bm_files if isfile(f) and not f.endswith("bm_main.py")
        )
facebook-github-bot's avatar
facebook-github-bot committed
25

Christoph Lassner's avatar
Christoph Lassner committed
26
27
28
29
30
31
32
33
34
    # Forward all important path information to the subprocesses through the
    # environment.
    os.environ["PATH"] = sys.path[0] + ":" + os.environ.get("PATH", "")
    os.environ["LD_LIBRARY_PATH"] = (
        sys.path[0] + ":" + os.environ.get("LD_LIBRARY_PATH", "")
    )
    os.environ["PYTHONPATH"] = ":".join(sys.path)
    for file_name in file_names:
        subprocess.check_call([sys.executable, file_name])