diff options
author | 2024-01-24 14:09:11 -0500 | |
---|---|---|
committer | 2024-01-29 14:13:57 -0500 | |
commit | 864dd43c07ec24241edcd6056f716bed549255b4 (patch) | |
tree | df1963ee30ee262e18fa4ca41028ed4e9ebed80f | |
parent | f67a6e81144d9b4459a1d03fcc582134d4a798af (diff) |
Update benchmarks to handle cog workflows
Test: run ./build/make/tools/benchmarks in a cog workspace
Change-Id: I421d1d08b4e90a79b8416486025229d4f3263fbe
-rwxr-xr-x | tools/perf/benchmarks | 8 | ||||
-rw-r--r-- | tools/perf/utils.py | 6 |
2 files changed, 11 insertions, 3 deletions
diff --git a/tools/perf/benchmarks b/tools/perf/benchmarks index 61bf888431..06e0009b82 100755 --- a/tools/perf/benchmarks +++ b/tools/perf/benchmarks @@ -131,8 +131,14 @@ def Clean(): """Remove the out directory.""" def remove_out(): out_dir = utils.get_out_dir() + #only remove actual contents, in case out is a symlink (as is the case for cog) if os.path.exists(out_dir): - shutil.rmtree(out_dir) + for filename in os.listdir(out_dir): + p = os.path.join(out_dir, filename) + if os.path.isfile(p) or os.path.islink(p): + os.remove(p) + elif os.path.isdir(p): + shutil.rmtree(p) return Change(label="Remove out", change=remove_out, undo=lambda: None) diff --git a/tools/perf/utils.py b/tools/perf/utils.py index 934130dc86..0e66d4cd24 100644 --- a/tools/perf/utils.py +++ b/tools/perf/utils.py @@ -19,9 +19,11 @@ DEFAULT_REPORT_DIR = "benchmarks" def get_root(): top_dir = os.environ.get("ANDROID_BUILD_TOP") - if top_dir: - return pathlib.Path(top_dir).resolve() d = pathlib.Path.cwd() + # with cog, someone may have a new workspace and new source tree top, but + # not run lunch yet, resulting in a misleading ANDROID_BUILD_TOP value + if top_dir and d.is_relative_to(top_dir): + return pathlib.Path(top_dir).resolve() while True: if d.joinpath("build", "soong", "soong_ui.bash").exists(): return d.resolve().absolute() |