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():
|
def Clean():
|
||||||
"""Remove the out directory."""
|
"""Remove the out directory."""
|
||||||
def remove_out():
|
def remove_out():
|
||||||
if os.path.exists("out"):
|
out_dir = utils.get_out_dir()
|
||||||
shutil.rmtree("out")
|
if os.path.exists(out_dir):
|
||||||
|
shutil.rmtree(out_dir)
|
||||||
return Change(label="Remove out", change=remove_out, undo=lambda: None)
|
return Change(label="Remove out", change=remove_out, undo=lambda: None)
|
||||||
|
|
||||||
|
|
||||||
@@ -270,7 +271,7 @@ class Runner():
|
|||||||
|
|
||||||
def _run_benchmark(self, lunch, benchmark, iteration):
|
def _run_benchmark(self, lunch, benchmark, iteration):
|
||||||
"""Run a single benchmark."""
|
"""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)
|
benchmark_log_dir = self._options.LogDir().joinpath(benchmark_log_subdir)
|
||||||
|
|
||||||
sys.stderr.write(f"STARTING BENCHMARK: {benchmark.id}\n")
|
sys.stderr.write(f"STARTING BENCHMARK: {benchmark.id}\n")
|
||||||
@@ -298,7 +299,7 @@ class Runner():
|
|||||||
dist_one = self._options.DistOne()
|
dist_one = self._options.DistOne()
|
||||||
if dist_one:
|
if dist_one:
|
||||||
# If we're disting just one benchmark, save the logs and we can stop here.
|
# 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:
|
else:
|
||||||
# Postroll builds
|
# Postroll builds
|
||||||
for i in range(benchmark.preroll):
|
for i in range(benchmark.preroll):
|
||||||
@@ -315,7 +316,7 @@ class Runner():
|
|||||||
self._write_summary()
|
self._write_summary()
|
||||||
sys.stderr.write(f"FINISHED BENCHMARK: {benchmark.id}\n")
|
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."""
|
"""Construct the log directory fir a benchmark run."""
|
||||||
path = f"{lunch.Combine()}/{benchmark.id}"
|
path = f"{lunch.Combine()}/{benchmark.id}"
|
||||||
# Zero pad to the correct length for correct alpha sorting
|
# Zero pad to the correct length for correct alpha sorting
|
||||||
@@ -355,8 +356,8 @@ class Runner():
|
|||||||
return after_ns - before_ns
|
return after_ns - before_ns
|
||||||
|
|
||||||
def _dist(self, dist_dir):
|
def _dist(self, dist_dir):
|
||||||
out_dir = pathlib.Path("out")
|
out_dir = utils.get_out_dir()
|
||||||
dest_dir = pathlib.Path(dist_dir).joinpath("logs")
|
dest_dir = dist_dir.joinpath("logs")
|
||||||
os.makedirs(dest_dir, exist_ok=True)
|
os.makedirs(dest_dir, exist_ok=True)
|
||||||
basenames = [
|
basenames = [
|
||||||
"build.trace.gz",
|
"build.trace.gz",
|
||||||
|
@@ -28,3 +28,15 @@ def get_root():
|
|||||||
d = d.parent
|
d = d.parent
|
||||||
if d == pathlib.Path("/"):
|
if d == pathlib.Path("/"):
|
||||||
return None
|
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