Skip to content

Commit f848d98

Browse files
committed
fix: kae: module artifact restoration for ir/bc
1 parent 234b399 commit f848d98

File tree

2 files changed

+25
-16
lines changed

2 files changed

+25
-16
lines changed

src/lake/Lake/Build/Module.lean

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -617,9 +617,9 @@ private def Module.restoreAllArtifacts (mod : Module) (cached : ModuleOutputArti
617617
oleanServer? := ← restoreSome mod.oleanServerFile cached.oleanServer?
618618
oleanPrivate? := ← restoreSome mod.oleanPrivateFile cached.oleanPrivate?
619619
ilean := ← restoreModuleArtifact mod.ileanFile cached.ilean
620-
ir? := ← restoreSome mod.oleanFile cached.ir?
620+
ir? := ← restoreSome mod.irFile cached.ir?
621621
c := ← restoreModuleArtifact mod.cFile cached.c
622-
bc? := ← restoreSome mod.oleanFile cached.bc?
622+
bc? := ← restoreSome mod.bcFile cached.bc?
623623
}
624624
where
625625
@[inline] restoreSome file art? :=

src/lake/tests/cache/test.sh

Lines changed: 23 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -136,22 +136,31 @@ test_cmd_eq 6 wc -l < .lake/outputs.jsonl
136136

137137
# Verify all artifacts end up in the cache directory with `restoreAllArtifacts`
138138
test_cmd cp -r "$CACHE_DIR" .lake/cache-backup
139-
test_cmd rm -rf "$CACHE_DIR"
139+
test_cmd rm -rf "$CACHE_DIR" .lake/build
140140
test_run build -R -KrestoreAll=true \
141141
test:exe Test:static Test:shared +Test:o.export +Test:o.noexport +Module
142-
test_cached test:exe !
143-
test_cached Test:static !
144-
test_cached Test:shared !
145-
test_cached +Test:o.export !
146-
test_cached +Test:o.noexport !
147-
test_cached +Test:dynlib !
148-
test_cached +Test:olean !
149-
test_cached +Test:ilean !
150-
test_cached +Test:c !
151-
test_cached +Module:olean !
152-
test_cached +Module:olean.server !
153-
test_cached +Module:olean.private !
154-
test_cached +Module:ir !
142+
test_restored() {
143+
target="$1"; shift
144+
art="$($LAKE query $target)"
145+
echo "! artifact cached: $target -> $art"
146+
test ! "$(norm_dirname "$art")" = "$CACHE_DIR/artifacts"
147+
if [ -n "${1:-}" ]; then
148+
test "$(basename "$art")" = "$1"
149+
fi
150+
}
151+
test_restored test:exe
152+
test_restored Test:static
153+
test_restored Test:shared
154+
test_restored +Test:o.export Test.c.o.export
155+
test_restored +Test:o.noexport Test.c.o.noexport
156+
test_restored +Test:dynlib
157+
test_restored +Test:olean Test.olean
158+
test_restored +Test:ilean Test.ilean
159+
test_restored +Test:c Test.c
160+
test_restored +Module:olean Module.olean
161+
test_restored +Module:olean.server Module.olean.server
162+
test_restored +Module:olean.private Module.olean.private
163+
test_restored +Module:ir Module.ir
155164

156165
# Verify that invalid outputs do not break Lake
157166
if command -v jq > /dev/null; then # skip if no jq found

0 commit comments

Comments
 (0)