MCPcopy Create free account
hub / github.com/apache/datafusion / test_entry_creation

Function test_entry_creation

datafusion/execution/src/cache/list_files_cache.rs:999–1024  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

997
998 #[test]
999 fn test_entry_creation() {
1000 // Test with empty vector
1001 let empty_list = CachedFileList::new(vec![]);
1002 let now = Instant::now();
1003 let entry = ListFilesEntry::try_new(empty_list, None, now);
1004 assert!(entry.is_none());
1005
1006 // Validate entry size
1007 let metas: Vec<ObjectMeta> = (0..5)
1008 .map(|i| create_test_object_meta(&format!("file{i}"), 30))
1009 .collect();
1010 let cached_list = CachedFileList::new(metas);
1011 let entry = ListFilesEntry::try_new(cached_list, None, now).unwrap();
1012 assert_eq!(entry.metas.files.len(), 5);
1013 // Size should be: capacity * sizeof(ObjectMeta) + (5 * 30) for heap bytes
1014 let expected_size = (entry.metas.files.capacity() * size_of::<ObjectMeta>())
1015 + (entry.metas.files.len() * 30);
1016 assert_eq!(entry.size_bytes, expected_size);
1017
1018 // Test with TTL
1019 let meta = create_test_object_meta("file", 50);
1020 let ttl = Duration::from_secs(10);
1021 let cached_list = CachedFileList::new(vec![meta]);
1022 let entry = ListFilesEntry::try_new(cached_list, Some(ttl), now).unwrap();
1023 assert!(entry.expires.unwrap() > now);
1024 }
1025
1026 #[test]
1027 fn test_memory_tracking() {

Callers

nothing calls this directly

Calls 6

newFunction · 0.85
collectMethod · 0.80
create_test_object_metaFunction · 0.70
mapMethod · 0.45
capacityMethod · 0.45
lenMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…