Skip to content

Commit ee48692

Browse files
committed
Fix compile_cache_test fragility by filtering cache files for jit_train_step.
Previously, test_train_step_cache_hit asserted that the compilation cache contained exactly 1 file, assuming only would be cached. However, in some environments (like nightly workflows), JAX also caches other compiled functions (like ), causing the test to fail. This fix changes the assertion to filter the cache files for the prefix before verifying that only one compilation occurred, making the test robust against other functions being cached.
1 parent 85690da commit ee48692

1 file changed

Lines changed: 5 additions & 2 deletions

File tree

tests/unit/compile_cache_test.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,8 +106,11 @@ def test_train_step_cache_hit():
106106
"cache was not writeable or the JAX cache configuration was ignored."
107107
)
108108

109-
assert len(cache_files) == 1, (
110-
f"Expected exactly 1 JAX compilation cache file, but found {len(cache_files)}: {cache_files}. "
109+
train_step_cache_files = [f for f in cache_files if f.startswith("jit_train_step")]
110+
assert len(train_step_cache_files) == 1, (
111+
f"Expected exactly 1 JAX compilation cache file for 'jit_train_step', "
112+
f"but found {len(train_step_cache_files)}: {train_step_cache_files} "
113+
f"(all cache files: {cache_files}). "
111114
"This indicates a cache miss where AOT compilation and runtime execution generated different keys, "
112115
"causing train_step to be compiled twice (double-compilation regression)."
113116
)

0 commit comments

Comments
 (0)