Skip to content

Commit 5de55f9

Browse files
committed
Add test
1 parent b620be1 commit 5de55f9

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed

packages/vm/src/modules/pinned_memory_cache.rs

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,51 @@ mod tests {
190190
assert!(!cache.has(&checksum));
191191
}
192192

193+
#[test]
194+
fn hit_metric_works() {
195+
let mut cache = PinnedMemoryCache::new();
196+
197+
// Create module
198+
let wasm = wat::parse_str(
199+
r#"(module
200+
(type $t0 (func (param i32) (result i32)))
201+
(func $add_one (export "add_one") (type $t0) (param $p0 i32) (result i32)
202+
local.get $p0
203+
i32.const 1
204+
i32.add)
205+
)"#,
206+
)
207+
.unwrap();
208+
let checksum = Checksum::generate(&wasm);
209+
210+
assert!(!cache.has(&checksum));
211+
212+
// Add
213+
let engine = make_compiling_engine(TESTING_MEMORY_LIMIT);
214+
let original = compile(&engine, &wasm).unwrap();
215+
let module = CachedModule {
216+
module: original,
217+
engine: make_runtime_engine(TESTING_MEMORY_LIMIT),
218+
size_estimate: 0,
219+
};
220+
cache.store(&checksum, module).unwrap();
221+
222+
let (_checksum, module) = cache
223+
.iter()
224+
.find(|(iter_checksum, _module)| **iter_checksum == checksum)
225+
.unwrap();
226+
227+
assert_eq!(module.hits, 0);
228+
229+
let _ = cache.load(&checksum).unwrap();
230+
let (_checksum, module) = cache
231+
.iter()
232+
.find(|(iter_checksum, _module)| **iter_checksum == checksum)
233+
.unwrap();
234+
235+
assert_eq!(module.hits, 1);
236+
}
237+
193238
#[test]
194239
fn len_works() {
195240
let mut cache = PinnedMemoryCache::new();

0 commit comments

Comments
 (0)