diff options
author | 2025-03-14 12:34:43 -0700 | |
---|---|---|
committer | 2025-03-14 12:34:43 -0700 | |
commit | f37b29a60f582f94a83a197d44498bf328275d33 (patch) | |
tree | c31c5c8fb32054340c593608b3501188ebf894e9 /tools | |
parent | 70487557f703397c46495586986e7124635dd046 (diff) | |
parent | b0e1d2a3c4784e8d9874fcb97d46b96f7a5d0e7d (diff) |
Merge "aconfig: enforce all file versions are tested" into main
Diffstat (limited to 'tools')
4 files changed, 72 insertions, 152 deletions
diff --git a/tools/aconfig/aconfig_storage_file/src/flag_info.rs b/tools/aconfig/aconfig_storage_file/src/flag_info.rs index cf16834be2..a39b7edf90 100644 --- a/tools/aconfig/aconfig_storage_file/src/flag_info.rs +++ b/tools/aconfig/aconfig_storage_file/src/flag_info.rs @@ -199,49 +199,28 @@ mod tests { }; // this test point locks down the value list serialization - // TODO: b/376108268 - Use parameterized tests. #[test] - fn test_serialization_default() { - let flag_info_list = create_test_flag_info_list(DEFAULT_FILE_VERSION); - - let header: &FlagInfoHeader = &flag_info_list.header; - let reinterpreted_header = FlagInfoHeader::from_bytes(&header.into_bytes()); - assert!(reinterpreted_header.is_ok()); - assert_eq!(header, &reinterpreted_header.unwrap()); - - let nodes: &Vec<FlagInfoNode> = &flag_info_list.nodes; - for node in nodes.iter() { - let reinterpreted_node = FlagInfoNode::from_bytes(&node.into_bytes()).unwrap(); - assert_eq!(node, &reinterpreted_node); + fn test_serialization() { + for file_version in 1..=MAX_SUPPORTED_FILE_VERSION { + let flag_info_list = create_test_flag_info_list(file_version); + + let header: &FlagInfoHeader = &flag_info_list.header; + let reinterpreted_header = FlagInfoHeader::from_bytes(&header.into_bytes()); + assert!(reinterpreted_header.is_ok()); + assert_eq!(header, &reinterpreted_header.unwrap()); + + let nodes: &Vec<FlagInfoNode> = &flag_info_list.nodes; + for node in nodes.iter() { + let reinterpreted_node = FlagInfoNode::from_bytes(&node.into_bytes()).unwrap(); + assert_eq!(node, &reinterpreted_node); + } + + let flag_info_bytes = flag_info_list.into_bytes(); + let reinterpreted_info_list = FlagInfoList::from_bytes(&flag_info_bytes); + assert!(reinterpreted_info_list.is_ok()); + assert_eq!(&flag_info_list, &reinterpreted_info_list.unwrap()); + assert_eq!(flag_info_bytes.len() as u32, header.file_size); } - - let flag_info_bytes = flag_info_list.into_bytes(); - let reinterpreted_info_list = FlagInfoList::from_bytes(&flag_info_bytes); - assert!(reinterpreted_info_list.is_ok()); - assert_eq!(&flag_info_list, &reinterpreted_info_list.unwrap()); - assert_eq!(flag_info_bytes.len() as u32, header.file_size); - } - - #[test] - fn test_serialization_max() { - let flag_info_list = create_test_flag_info_list(MAX_SUPPORTED_FILE_VERSION); - - let header: &FlagInfoHeader = &flag_info_list.header; - let reinterpreted_header = FlagInfoHeader::from_bytes(&header.into_bytes()); - assert!(reinterpreted_header.is_ok()); - assert_eq!(header, &reinterpreted_header.unwrap()); - - let nodes: &Vec<FlagInfoNode> = &flag_info_list.nodes; - for node in nodes.iter() { - let reinterpreted_node = FlagInfoNode::from_bytes(&node.into_bytes()).unwrap(); - assert_eq!(node, &reinterpreted_node); - } - - let flag_info_bytes = flag_info_list.into_bytes(); - let reinterpreted_info_list = FlagInfoList::from_bytes(&flag_info_bytes); - assert!(reinterpreted_info_list.is_ok()); - assert_eq!(&flag_info_list, &reinterpreted_info_list.unwrap()); - assert_eq!(flag_info_bytes.len() as u32, header.file_size); } // this test point locks down that version number should be at the top of serialized diff --git a/tools/aconfig/aconfig_storage_file/src/flag_table.rs b/tools/aconfig/aconfig_storage_file/src/flag_table.rs index 6fbee023ce..1b70c494a6 100644 --- a/tools/aconfig/aconfig_storage_file/src/flag_table.rs +++ b/tools/aconfig/aconfig_storage_file/src/flag_table.rs @@ -225,49 +225,28 @@ mod tests { }; // this test point locks down the table serialization - // TODO: b/376108268 - Use parameterized tests. #[test] - fn test_serialization_default() { - let flag_table = create_test_flag_table(DEFAULT_FILE_VERSION); - - let header: &FlagTableHeader = &flag_table.header; - let reinterpreted_header = FlagTableHeader::from_bytes(&header.into_bytes()); - assert!(reinterpreted_header.is_ok()); - assert_eq!(header, &reinterpreted_header.unwrap()); - - let nodes: &Vec<FlagTableNode> = &flag_table.nodes; - for node in nodes.iter() { - let reinterpreted_node = FlagTableNode::from_bytes(&node.into_bytes()).unwrap(); - assert_eq!(node, &reinterpreted_node); - } + fn test_serialization() { + for file_version in 1..=MAX_SUPPORTED_FILE_VERSION { + let flag_table = create_test_flag_table(file_version); - let flag_table_bytes = flag_table.into_bytes(); - let reinterpreted_table = FlagTable::from_bytes(&flag_table_bytes); - assert!(reinterpreted_table.is_ok()); - assert_eq!(&flag_table, &reinterpreted_table.unwrap()); - assert_eq!(flag_table_bytes.len() as u32, header.file_size); - } - - #[test] - fn test_serialization_max() { - let flag_table = create_test_flag_table(MAX_SUPPORTED_FILE_VERSION); + let header: &FlagTableHeader = &flag_table.header; + let reinterpreted_header = FlagTableHeader::from_bytes(&header.into_bytes()); + assert!(reinterpreted_header.is_ok()); + assert_eq!(header, &reinterpreted_header.unwrap()); - let header: &FlagTableHeader = &flag_table.header; - let reinterpreted_header = FlagTableHeader::from_bytes(&header.into_bytes()); - assert!(reinterpreted_header.is_ok()); - assert_eq!(header, &reinterpreted_header.unwrap()); + let nodes: &Vec<FlagTableNode> = &flag_table.nodes; + for node in nodes.iter() { + let reinterpreted_node = FlagTableNode::from_bytes(&node.into_bytes()).unwrap(); + assert_eq!(node, &reinterpreted_node); + } - let nodes: &Vec<FlagTableNode> = &flag_table.nodes; - for node in nodes.iter() { - let reinterpreted_node = FlagTableNode::from_bytes(&node.into_bytes()).unwrap(); - assert_eq!(node, &reinterpreted_node); + let flag_table_bytes = flag_table.into_bytes(); + let reinterpreted_table = FlagTable::from_bytes(&flag_table_bytes); + assert!(reinterpreted_table.is_ok()); + assert_eq!(&flag_table, &reinterpreted_table.unwrap()); + assert_eq!(flag_table_bytes.len() as u32, header.file_size); } - - let flag_table_bytes = flag_table.into_bytes(); - let reinterpreted_table = FlagTable::from_bytes(&flag_table_bytes); - assert!(reinterpreted_table.is_ok()); - assert_eq!(&flag_table, &reinterpreted_table.unwrap()); - assert_eq!(flag_table_bytes.len() as u32, header.file_size); } // this test point locks down that version number should be at the top of serialized diff --git a/tools/aconfig/aconfig_storage_file/src/flag_value.rs b/tools/aconfig/aconfig_storage_file/src/flag_value.rs index 9a14bec7de..d73bcfb262 100644 --- a/tools/aconfig/aconfig_storage_file/src/flag_value.rs +++ b/tools/aconfig/aconfig_storage_file/src/flag_value.rs @@ -138,37 +138,21 @@ mod tests { #[test] // this test point locks down the value list serialization - // TODO: b/376108268 - Use parameterized tests. - fn test_serialization_default() { - let flag_value_list = create_test_flag_value_list(DEFAULT_FILE_VERSION); - - let header: &FlagValueHeader = &flag_value_list.header; - let reinterpreted_header = FlagValueHeader::from_bytes(&header.into_bytes()); - assert!(reinterpreted_header.is_ok()); - assert_eq!(header, &reinterpreted_header.unwrap()); - - let flag_value_bytes = flag_value_list.into_bytes(); - let reinterpreted_value_list = FlagValueList::from_bytes(&flag_value_bytes); - assert!(reinterpreted_value_list.is_ok()); - assert_eq!(&flag_value_list, &reinterpreted_value_list.unwrap()); - assert_eq!(flag_value_bytes.len() as u32, header.file_size); - } - - #[test] - // this test point locks down the value list serialization - fn test_serialization_max() { - let flag_value_list = create_test_flag_value_list(MAX_SUPPORTED_FILE_VERSION); - - let header: &FlagValueHeader = &flag_value_list.header; - let reinterpreted_header = FlagValueHeader::from_bytes(&header.into_bytes()); - assert!(reinterpreted_header.is_ok()); - assert_eq!(header, &reinterpreted_header.unwrap()); - - let flag_value_bytes = flag_value_list.into_bytes(); - let reinterpreted_value_list = FlagValueList::from_bytes(&flag_value_bytes); - assert!(reinterpreted_value_list.is_ok()); - assert_eq!(&flag_value_list, &reinterpreted_value_list.unwrap()); - assert_eq!(flag_value_bytes.len() as u32, header.file_size); + fn test_serialization() { + for file_version in 1..=MAX_SUPPORTED_FILE_VERSION { + let flag_value_list = create_test_flag_value_list(file_version); + + let header: &FlagValueHeader = &flag_value_list.header; + let reinterpreted_header = FlagValueHeader::from_bytes(&header.into_bytes()); + assert!(reinterpreted_header.is_ok()); + assert_eq!(header, &reinterpreted_header.unwrap()); + + let flag_value_bytes = flag_value_list.into_bytes(); + let reinterpreted_value_list = FlagValueList::from_bytes(&flag_value_bytes); + assert!(reinterpreted_value_list.is_ok()); + assert_eq!(&flag_value_list, &reinterpreted_value_list.unwrap()); + assert_eq!(flag_value_bytes.len() as u32, header.file_size); + } } #[test] diff --git a/tools/aconfig/aconfig_storage_file/src/package_table.rs b/tools/aconfig/aconfig_storage_file/src/package_table.rs index 21357c7e4a..4d6bd91675 100644 --- a/tools/aconfig/aconfig_storage_file/src/package_table.rs +++ b/tools/aconfig/aconfig_storage_file/src/package_table.rs @@ -287,50 +287,28 @@ mod tests { #[test] // this test point locks down the table serialization - // TODO: b/376108268 - Use parameterized tests. - fn test_serialization_default() { - let package_table = create_test_package_table(DEFAULT_FILE_VERSION); - let header: &PackageTableHeader = &package_table.header; - let reinterpreted_header = PackageTableHeader::from_bytes(&header.into_bytes()); - assert!(reinterpreted_header.is_ok()); - assert_eq!(header, &reinterpreted_header.unwrap()); - - let nodes: &Vec<PackageTableNode> = &package_table.nodes; - for node in nodes.iter() { - let reinterpreted_node = - PackageTableNode::from_bytes(&node.into_bytes(header.version), header.version) - .unwrap(); - assert_eq!(node, &reinterpreted_node); - } - - let package_table_bytes = package_table.into_bytes(); - let reinterpreted_table = PackageTable::from_bytes(&package_table_bytes); - assert!(reinterpreted_table.is_ok()); - assert_eq!(&package_table, &reinterpreted_table.unwrap()); - assert_eq!(package_table_bytes.len() as u32, header.file_size); - } + fn test_serialization() { + for file_version in 1..=MAX_SUPPORTED_FILE_VERSION { + let package_table = create_test_package_table(file_version); + let header: &PackageTableHeader = &package_table.header; + let reinterpreted_header = PackageTableHeader::from_bytes(&header.into_bytes()); + assert!(reinterpreted_header.is_ok()); + assert_eq!(header, &reinterpreted_header.unwrap()); + + let nodes: &Vec<PackageTableNode> = &package_table.nodes; + for node in nodes.iter() { + let reinterpreted_node = + PackageTableNode::from_bytes(&node.into_bytes(header.version), header.version) + .unwrap(); + assert_eq!(node, &reinterpreted_node); + } - #[test] - fn test_serialization_max() { - let package_table = create_test_package_table(MAX_SUPPORTED_FILE_VERSION); - let header: &PackageTableHeader = &package_table.header; - let reinterpreted_header = PackageTableHeader::from_bytes(&header.into_bytes()); - assert!(reinterpreted_header.is_ok()); - assert_eq!(header, &reinterpreted_header.unwrap()); - - let nodes: &Vec<PackageTableNode> = &package_table.nodes; - for node in nodes.iter() { - let reinterpreted_node = - PackageTableNode::from_bytes(&node.into_bytes(header.version), header.version) - .unwrap(); - assert_eq!(node, &reinterpreted_node); + let package_table_bytes = package_table.into_bytes(); + let reinterpreted_table = PackageTable::from_bytes(&package_table_bytes); + assert!(reinterpreted_table.is_ok()); + assert_eq!(&package_table, &reinterpreted_table.unwrap()); + assert_eq!(package_table_bytes.len() as u32, header.file_size); } - - let package_table_bytes = package_table.into_bytes(); - let reinterpreted_table = PackageTable::from_bytes(&package_table_bytes); - assert!(reinterpreted_table.is_ok()); - assert_eq!(&package_table, &reinterpreted_table.unwrap()); - assert_eq!(package_table_bytes.len() as u32, header.file_size); } #[test] |