Tweak the CUJ scripts to make it work in CI.
Bug: 318706915 Test: manual test Change-Id: I0982d1d724ec05aee7a0d6bdaa05497745421674
This commit is contained in:
@@ -130,8 +130,9 @@ def Snapshot(filename):
|
||||
def Clean():
|
||||
"""Remove the out directory."""
|
||||
def remove_out():
|
||||
if os.path.exists("out"):
|
||||
shutil.rmtree("out")
|
||||
out_dir = utils.get_out_dir()
|
||||
if os.path.exists(out_dir):
|
||||
shutil.rmtree(out_dir)
|
||||
return Change(label="Remove out", change=remove_out, undo=lambda: None)
|
||||
|
||||
|
||||
@@ -270,7 +271,7 @@ class Runner():
|
||||
|
||||
def _run_benchmark(self, lunch, benchmark, iteration):
|
||||
"""Run a single benchmark."""
|
||||
benchmark_log_subdir = self._log_dir(lunch, benchmark, iteration)
|
||||
benchmark_log_subdir = self._benchmark_log_dir(lunch, benchmark, iteration)
|
||||
benchmark_log_dir = self._options.LogDir().joinpath(benchmark_log_subdir)
|
||||
|
||||
sys.stderr.write(f"STARTING BENCHMARK: {benchmark.id}\n")
|
||||
@@ -298,7 +299,7 @@ class Runner():
|
||||
dist_one = self._options.DistOne()
|
||||
if dist_one:
|
||||
# If we're disting just one benchmark, save the logs and we can stop here.
|
||||
self._dist(dist_one)
|
||||
self._dist(utils.get_dist_dir())
|
||||
else:
|
||||
# Postroll builds
|
||||
for i in range(benchmark.preroll):
|
||||
@@ -315,7 +316,7 @@ class Runner():
|
||||
self._write_summary()
|
||||
sys.stderr.write(f"FINISHED BENCHMARK: {benchmark.id}\n")
|
||||
|
||||
def _log_dir(self, lunch, benchmark, iteration):
|
||||
def _benchmark_log_dir(self, lunch, benchmark, iteration):
|
||||
"""Construct the log directory fir a benchmark run."""
|
||||
path = f"{lunch.Combine()}/{benchmark.id}"
|
||||
# Zero pad to the correct length for correct alpha sorting
|
||||
@@ -355,8 +356,8 @@ class Runner():
|
||||
return after_ns - before_ns
|
||||
|
||||
def _dist(self, dist_dir):
|
||||
out_dir = pathlib.Path("out")
|
||||
dest_dir = pathlib.Path(dist_dir).joinpath("logs")
|
||||
out_dir = utils.get_out_dir()
|
||||
dest_dir = dist_dir.joinpath("logs")
|
||||
os.makedirs(dest_dir, exist_ok=True)
|
||||
basenames = [
|
||||
"build.trace.gz",
|
||||
|
@@ -28,3 +28,15 @@ def get_root():
|
||||
d = d.parent
|
||||
if d == pathlib.Path("/"):
|
||||
return None
|
||||
|
||||
def get_dist_dir():
|
||||
dist_dir = os.getenv("DIST_DIR")
|
||||
if dist_dir:
|
||||
return pathlib.Path(dist_dir).resolve()
|
||||
return get_out_dir().joinpath("dist")
|
||||
|
||||
def get_out_dir():
|
||||
out_dir = os.getenv("OUT_DIR")
|
||||
if not out_dir:
|
||||
out_dir = "out"
|
||||
return pathlib.Path(out_dir).resolve()
|
||||
|
Reference in New Issue
Block a user