Skip to content

Commit 849fe07

Browse files
오원석오원석
오원석
authored and
오원석
committed
update unregister for benchmarks
1 parent 1591252 commit 849fe07

File tree

3 files changed

+92
-0
lines changed

3 files changed

+92
-0
lines changed

kaprese/benchmarks/c.py

+36
Original file line numberDiff line numberDiff line change
@@ -36,3 +36,39 @@ def register_benchmarks(overwrite: bool = False) -> None:
3636
for bench in [*flexs, *flints, *spearmints]:
3737
logger.info(f"Registering c benchmark {bench.name}")
3838
bench.register(overwrite=overwrite)
39+
40+
41+
def unregister_benchmarks(delete_image: bool = False) -> None:
42+
flexs = [
43+
Benchmark(
44+
f"flex-{i}",
45+
f"ghcr.io/kupl/starlab-benchmarks/c:flex-{i}",
46+
language_command="cat metadata.json | jq -r .language",
47+
workdir_command="cd $(cat metadata.json | jq -r .buggyPath) && pwd",
48+
)
49+
for i in range(1, 7)
50+
]
51+
52+
flints = [
53+
Benchmark(
54+
f"flint-{i}",
55+
f"ghcr.io/kupl/starlab-benchmarks/c:flint-{i}",
56+
language_command="cat metadata.json | jq -r .language",
57+
workdir_command="cd $(cat metadata.json | jq -r .buggyPath) && pwd",
58+
)
59+
for i in range(1, 2)
60+
]
61+
62+
spearmints = [
63+
Benchmark(
64+
f"spearmint-{i}",
65+
f"ghcr.io/kupl/starlab-benchmarks/c:spearmint-{i}",
66+
language_command="export DEBIAN_FRONTEND=non-interactive && apt-get update >/dev/null 2>&1 && apt-get install -y --no-install-recommends jq >/dev/null 2>&1 && cat metadata.json | jq -r .language",
67+
workdir_command="export DEBIAN_FRONTEND=non-interactive && apt-get update >/dev/null 2>&1 && apt-get install -y --no-install-recommends jq >/dev/null 2>&1 && cd $(cat metadata.json | jq -r .buggyPath) && pwd",
68+
)
69+
for i in range(1, 2)
70+
]
71+
72+
for bench in [*flexs, *flints, *spearmints]:
73+
logger.info(f"Unregistering c benchmark {bench.name}")
74+
bench.unregister(delete_image=delete_image)

kaprese/benchmarks/ocaml.py

+36
Original file line numberDiff line numberDiff line change
@@ -36,3 +36,39 @@ def register_benchmarks(overwrite: bool = False) -> None:
3636
for bench in [*formulas, *diffs, *lambdas]:
3737
logger.info(f"Registering ocaml benchmark {bench.name}")
3838
bench.register(overwrite=overwrite)
39+
40+
41+
def unregister_benchmarks(delete_image: bool = False) -> None:
42+
formulas = [
43+
Benchmark(
44+
f"formula-{i}",
45+
f"ghcr.io/kupl/starlab-benchmarks/ocaml:formula-{i}",
46+
language_command="export DEBIAN_FRONTEND=non-interactive && apt-get update >/dev/null 2>&1 && apt-get install -y --no-install-recommends jq >/dev/null 2>&1 && cat metadata.json | jq -r .language",
47+
workdir_command="export DEBIAN_FRONTEND=non-interactive && apt-get update >/dev/null 2>&1 && apt-get install -y --no-install-recommends jq >/dev/null 2>&1 && cd $(cat metadata.json | jq -r .buggyPath) && pwd",
48+
)
49+
for i in range(1, 101)
50+
]
51+
52+
diffs = [
53+
Benchmark(
54+
f"diff-{i}",
55+
f"ghcr.io/kupl/starlab-benchmarks/ocaml:diff-{i}",
56+
language_command="export DEBIAN_FRONTEND=non-interactive && apt-get update >/dev/null 2>&1 && apt-get install -y --no-install-recommends jq >/dev/null 2>&1 && cat metadata.json | jq -r .language",
57+
workdir_command="export DEBIAN_FRONTEND=non-interactive && apt-get update >/dev/null 2>&1 && apt-get install -y --no-install-recommends jq >/dev/null 2>&1 && cd $(cat metadata.json | jq -r .buggyPath) && pwd",
58+
)
59+
for i in range(1, 101)
60+
]
61+
62+
lambdas = [
63+
Benchmark(
64+
f"lambda-{i}",
65+
f"ghcr.io/kupl/starlab-benchmarks/ocaml:lambda-{i}",
66+
language_command="export DEBIAN_FRONTEND=non-interactive && apt-get update >/dev/null 2>&1 && apt-get install -y --no-install-recommends jq >/dev/null 2>&1 && cat metadata.json | jq -r .language",
67+
workdir_command="export DEBIAN_FRONTEND=non-interactive && apt-get update >/dev/null 2>&1 && apt-get install -y --no-install-recommends jq >/dev/null 2>&1 && cd $(cat metadata.json | jq -r .buggyPath) && pwd",
68+
)
69+
for i in range(1, 101)
70+
]
71+
72+
for bench in [*formulas, *diffs, *lambdas]:
73+
logger.info(f"Unregistering ocaml benchmark {bench.name}")
74+
bench.unregister(delete_image=delete_image)

kaprese/bin/kaprese_benchmark.py

+20
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,13 @@ def main(
4444
help="preset benchmarks to add",
4545
)
4646

47+
preset_parser.add_argument(
48+
"delete",
49+
nargs="*",
50+
choices=["all", "ocaml", "c"],
51+
help="preset benchmarks to delete",
52+
)
53+
4754
prepare_parser = subparsers.add_parser("prepare", help="prepare benchmarks")
4855
prepare_parser.add_argument(
4956
"-f", "--force", action="store_true", help="force prepare benchmarks"
@@ -129,6 +136,19 @@ def main(
129136
for register in registers:
130137
register(args.overwrite)
131138

139+
elif args.subcommand == "delete":
140+
if len(args.delete) == 0:
141+
preset_parser.print_help()
142+
sys.exit(1)
143+
registers: list[Callable[[bool], None]] = []
144+
if "ocaml" in args.delete or "all" in args.delete:
145+
registers.append(register_ocaml_benchmarks)
146+
if "c" in args.delete or "all" in args.delete:
147+
registers.append(register_c_benchmarks)
148+
149+
for register in registers:
150+
register(delete_image=False)
151+
132152
elif args.subcommand == "prepare":
133153
if len(args.benchmark) == 0:
134154
prepare_parser.print_help()

0 commit comments

Comments
 (0)