Loading tools/aconfig/aconfig/src/storage/mod.rs +47 −1 Original line number Diff line number Diff line Loading @@ -83,7 +83,7 @@ where p.boolean_start_index = boolean_start_index; boolean_start_index += p.boolean_flags.len() as u32; if version > 2 { if version >= 2 { let mut flag_names_vec = p.flag_names.clone().into_iter().map(String::from).collect::<Vec<_>>(); let fingerprint = compute_flags_fingerprint(&mut flag_names_vec); Loading Loading @@ -202,6 +202,7 @@ mod tests { assert!(packages[0].flag_names.contains("disabled_rw")); assert!(packages[0].flag_names.contains("enabled_ro")); assert_eq!(packages[0].boolean_start_index, 0); assert_eq!(packages[0].fingerprint, 0); assert_eq!(packages[1].package_name, "com.android.aconfig.storage.test_2"); assert_eq!(packages[1].package_id, 1); Loading @@ -210,6 +211,7 @@ mod tests { assert!(packages[1].flag_names.contains("disabled_rw")); assert!(packages[1].flag_names.contains("enabled_fixed_ro")); assert_eq!(packages[1].boolean_start_index, 3); assert_eq!(packages[0].fingerprint, 0); assert_eq!(packages[2].package_name, "com.android.aconfig.storage.test_4"); assert_eq!(packages[2].package_id, 2); Loading @@ -217,5 +219,49 @@ mod tests { assert!(packages[2].flag_names.contains("enabled_rw")); assert!(packages[2].flag_names.contains("enabled_fixed_ro")); assert_eq!(packages[2].boolean_start_index, 6); assert_eq!(packages[2].fingerprint, 0); } #[test] fn test_flag_package_with_fingerprint() { let caches = parse_all_test_flags(); let packages = group_flags_by_package(caches.iter(), 2); for pkg in packages.iter() { let pkg_name = pkg.package_name; assert_eq!(pkg.flag_names.len(), pkg.boolean_flags.len()); for pf in pkg.boolean_flags.iter() { assert!(pkg.flag_names.contains(pf.name())); assert_eq!(pf.package(), pkg_name); } } assert_eq!(packages.len(), 3); assert_eq!(packages[0].package_name, "com.android.aconfig.storage.test_1"); assert_eq!(packages[0].package_id, 0); assert_eq!(packages[0].flag_names.len(), 3); assert!(packages[0].flag_names.contains("enabled_rw")); assert!(packages[0].flag_names.contains("disabled_rw")); assert!(packages[0].flag_names.contains("enabled_ro")); assert_eq!(packages[0].boolean_start_index, 0); assert_eq!(packages[0].fingerprint, 15248948510590158086u64); assert_eq!(packages[1].package_name, "com.android.aconfig.storage.test_2"); assert_eq!(packages[1].package_id, 1); assert_eq!(packages[1].flag_names.len(), 3); assert!(packages[1].flag_names.contains("enabled_ro")); assert!(packages[1].flag_names.contains("disabled_rw")); assert!(packages[1].flag_names.contains("enabled_fixed_ro")); assert_eq!(packages[1].boolean_start_index, 3); assert_eq!(packages[1].fingerprint, 4431940502274857964u64); assert_eq!(packages[2].package_name, "com.android.aconfig.storage.test_4"); assert_eq!(packages[2].package_id, 2); assert_eq!(packages[2].flag_names.len(), 2); assert!(packages[2].flag_names.contains("enabled_rw")); assert!(packages[2].flag_names.contains("enabled_fixed_ro")); assert_eq!(packages[2].boolean_start_index, 6); assert_eq!(packages[2].fingerprint, 16233229917711622375u64); } } Loading
tools/aconfig/aconfig/src/storage/mod.rs +47 −1 Original line number Diff line number Diff line Loading @@ -83,7 +83,7 @@ where p.boolean_start_index = boolean_start_index; boolean_start_index += p.boolean_flags.len() as u32; if version > 2 { if version >= 2 { let mut flag_names_vec = p.flag_names.clone().into_iter().map(String::from).collect::<Vec<_>>(); let fingerprint = compute_flags_fingerprint(&mut flag_names_vec); Loading Loading @@ -202,6 +202,7 @@ mod tests { assert!(packages[0].flag_names.contains("disabled_rw")); assert!(packages[0].flag_names.contains("enabled_ro")); assert_eq!(packages[0].boolean_start_index, 0); assert_eq!(packages[0].fingerprint, 0); assert_eq!(packages[1].package_name, "com.android.aconfig.storage.test_2"); assert_eq!(packages[1].package_id, 1); Loading @@ -210,6 +211,7 @@ mod tests { assert!(packages[1].flag_names.contains("disabled_rw")); assert!(packages[1].flag_names.contains("enabled_fixed_ro")); assert_eq!(packages[1].boolean_start_index, 3); assert_eq!(packages[0].fingerprint, 0); assert_eq!(packages[2].package_name, "com.android.aconfig.storage.test_4"); assert_eq!(packages[2].package_id, 2); Loading @@ -217,5 +219,49 @@ mod tests { assert!(packages[2].flag_names.contains("enabled_rw")); assert!(packages[2].flag_names.contains("enabled_fixed_ro")); assert_eq!(packages[2].boolean_start_index, 6); assert_eq!(packages[2].fingerprint, 0); } #[test] fn test_flag_package_with_fingerprint() { let caches = parse_all_test_flags(); let packages = group_flags_by_package(caches.iter(), 2); for pkg in packages.iter() { let pkg_name = pkg.package_name; assert_eq!(pkg.flag_names.len(), pkg.boolean_flags.len()); for pf in pkg.boolean_flags.iter() { assert!(pkg.flag_names.contains(pf.name())); assert_eq!(pf.package(), pkg_name); } } assert_eq!(packages.len(), 3); assert_eq!(packages[0].package_name, "com.android.aconfig.storage.test_1"); assert_eq!(packages[0].package_id, 0); assert_eq!(packages[0].flag_names.len(), 3); assert!(packages[0].flag_names.contains("enabled_rw")); assert!(packages[0].flag_names.contains("disabled_rw")); assert!(packages[0].flag_names.contains("enabled_ro")); assert_eq!(packages[0].boolean_start_index, 0); assert_eq!(packages[0].fingerprint, 15248948510590158086u64); assert_eq!(packages[1].package_name, "com.android.aconfig.storage.test_2"); assert_eq!(packages[1].package_id, 1); assert_eq!(packages[1].flag_names.len(), 3); assert!(packages[1].flag_names.contains("enabled_ro")); assert!(packages[1].flag_names.contains("disabled_rw")); assert!(packages[1].flag_names.contains("enabled_fixed_ro")); assert_eq!(packages[1].boolean_start_index, 3); assert_eq!(packages[1].fingerprint, 4431940502274857964u64); assert_eq!(packages[2].package_name, "com.android.aconfig.storage.test_4"); assert_eq!(packages[2].package_id, 2); assert_eq!(packages[2].flag_names.len(), 2); assert!(packages[2].flag_names.contains("enabled_rw")); assert!(packages[2].flag_names.contains("enabled_fixed_ro")); assert_eq!(packages[2].boolean_start_index, 6); assert_eq!(packages[2].fingerprint, 16233229917711622375u64); } }