Spaces:
Running
Running
#!/usr/bin/env python3 | |
# Copyright (c) Meta Platforms, Inc. and affiliates. | |
# All rights reserved. | |
# | |
# This source code is licensed under the BSD-style license found in the | |
# LICENSE file in the root directory of this source tree. | |
import glob | |
import os | |
import subprocess | |
import sys | |
from os.path import dirname, isfile, join | |
def main() -> None: | |
# pyre-ignore[16] | |
if len(sys.argv) > 1: | |
# Parse from flags. | |
# pyre-ignore[16] | |
file_names = [ | |
join(dirname(__file__), n) for n in sys.argv if n.startswith("bm_") | |
] | |
else: | |
# Get all the benchmark files (starting with "bm_"). | |
bm_files = glob.glob(join(dirname(__file__), "bm_*.py")) | |
file_names = sorted( | |
f for f in bm_files if isfile(f) and not f.endswith("bm_main.py") | |
) | |
# 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]) | |
if __name__ == "__main__": | |
main() # pragma: no cover | |