Loading tools/aconfig/aconfig/src/commands.rs +2 −2 Original line number Diff line number Diff line Loading @@ -31,7 +31,7 @@ use aconfig_protos::{ ParsedFlagExt, ProtoFlagMetadata, ProtoFlagPermission, ProtoFlagState, ProtoParsedFlag, ProtoParsedFlags, ProtoTracepoint, }; use aconfig_storage_file::StorageFileSelection; use aconfig_storage_file::StorageFileType; pub struct Input { pub source: String, Loading Loading @@ -237,7 +237,7 @@ pub fn create_rust_lib(mut input: Input, codegen_mode: CodegenMode) -> Result<Ou pub fn create_storage( caches: Vec<Input>, container: &str, file: &StorageFileSelection, file: &StorageFileType, ) -> Result<Vec<u8>> { let parsed_flags_vec: Vec<ProtoParsedFlags> = caches .into_iter() Loading tools/aconfig/aconfig/src/main.rs +3 −3 Original line number Diff line number Diff line Loading @@ -29,7 +29,7 @@ mod commands; mod dump; mod storage; use aconfig_storage_file::StorageFileSelection; use aconfig_storage_file::StorageFileType; use codegen::CodegenMode; use dump::DumpFormat; Loading Loading @@ -138,7 +138,7 @@ fn cli() -> Command { .arg( Arg::new("file") .long("file") .value_parser(|s: &str| StorageFileSelection::try_from(s)), .value_parser(|s: &str| StorageFileType::try_from(s)), ) .arg(Arg::new("cache").long("cache").action(ArgAction::Append).required(true)) .arg(Arg::new("out").long("out").required(true)), Loading Loading @@ -285,7 +285,7 @@ fn main() -> Result<()> { write_output_to_file_or_stdout(path, &output)?; } Some(("create-storage", sub_matches)) => { let file = get_required_arg::<StorageFileSelection>(sub_matches, "file") let file = get_required_arg::<StorageFileType>(sub_matches, "file") .context("Invalid storage file selection")?; let cache = open_zero_or_more_files(sub_matches, "cache")?; let container = get_required_arg::<String>(sub_matches, "container")?; Loading tools/aconfig/aconfig/src/storage/flag_table.rs +14 −12 Original line number Diff line number Diff line Loading @@ -17,7 +17,7 @@ use crate::commands::assign_flag_ids; use crate::storage::FlagPackage; use aconfig_storage_file::{ get_table_size, FlagTable, FlagTableHeader, FlagTableNode, FILE_VERSION, get_table_size, FlagTable, FlagTableHeader, FlagTableNode, FILE_VERSION, StorageFileType }; use anyhow::{anyhow, Result}; Loading @@ -25,6 +25,7 @@ fn new_header(container: &str, num_flags: u32) -> FlagTableHeader { FlagTableHeader { version: FILE_VERSION, container: String::from(container), file_type: StorageFileType::FlagMap as u8, file_size: 0, num_flags, bucket_offset: 0, Loading Loading @@ -168,31 +169,32 @@ mod tests { let expected_header = FlagTableHeader { version: FILE_VERSION, container: String::from("system"), file_size: 320, file_type: StorageFileType::FlagMap as u8, file_size: 321, num_flags: 8, bucket_offset: 30, node_offset: 98, bucket_offset: 31, node_offset: 99, }; assert_eq!(header, &expected_header); let buckets: &Vec<Option<u32>> = &flag_table.as_ref().unwrap().buckets; let expected_bucket: Vec<Option<u32>> = vec![ Some(98), Some(124), Some(99), Some(125), None, None, None, Some(177), Some(178), None, Some(203), Some(204), None, Some(261), Some(262), None, None, None, None, None, Some(293), Some(294), None, ]; assert_eq!(buckets, &expected_bucket); Loading @@ -201,10 +203,10 @@ mod tests { assert_eq!(nodes.len(), 8); assert_eq!(nodes[0], new_expected_node(0, "enabled_ro", 1, 1, None)); assert_eq!(nodes[1], new_expected_node(0, "enabled_rw", 1, 2, Some(150))); assert_eq!(nodes[1], new_expected_node(0, "enabled_rw", 1, 2, Some(151))); assert_eq!(nodes[2], new_expected_node(1, "disabled_ro", 1, 0, None)); assert_eq!(nodes[3], new_expected_node(2, "enabled_ro", 1, 1, None)); assert_eq!(nodes[4], new_expected_node(1, "enabled_fixed_ro", 1, 1, Some(235))); assert_eq!(nodes[4], new_expected_node(1, "enabled_fixed_ro", 1, 1, Some(236))); assert_eq!(nodes[5], new_expected_node(1, "enabled_ro", 1, 2, None)); assert_eq!(nodes[6], new_expected_node(2, "enabled_fixed_ro", 1, 0, None)); assert_eq!(nodes[7], new_expected_node(0, "disabled_rw", 1, 0, None)); Loading tools/aconfig/aconfig/src/storage/flag_value.rs +5 −3 Original line number Diff line number Diff line Loading @@ -17,13 +17,14 @@ use crate::commands::assign_flag_ids; use crate::storage::FlagPackage; use aconfig_protos::ProtoFlagState; use aconfig_storage_file::{FlagValueHeader, FlagValueList, FILE_VERSION}; use aconfig_storage_file::{FlagValueHeader, FlagValueList, FILE_VERSION, StorageFileType}; use anyhow::{anyhow, Result}; fn new_header(container: &str, num_flags: u32) -> FlagValueHeader { FlagValueHeader { version: FILE_VERSION, container: String::from(container), file_type: StorageFileType::FlagVal as u8, file_size: 0, num_flags, boolean_value_offset: 0, Loading Loading @@ -79,9 +80,10 @@ mod tests { let expected_header = FlagValueHeader { version: FILE_VERSION, container: String::from("system"), file_size: 34, file_type: StorageFileType::FlagVal as u8, file_size: 35, num_flags: 8, boolean_value_offset: 26, boolean_value_offset: 27, }; assert_eq!(header, &expected_header); Loading tools/aconfig/aconfig/src/storage/mod.rs +5 −5 Original line number Diff line number Diff line Loading @@ -26,7 +26,7 @@ use crate::storage::{ package_table::create_package_table, }; use aconfig_protos::{ProtoParsedFlag, ProtoParsedFlags}; use aconfig_storage_file::StorageFileSelection; use aconfig_storage_file::StorageFileType; pub struct FlagPackage<'a> { pub package_name: &'a str, Loading Loading @@ -87,7 +87,7 @@ where pub fn generate_storage_file<'a, I>( container: &str, parsed_flags_vec_iter: I, file: &StorageFileSelection, file: &StorageFileType, ) -> Result<Vec<u8>> where I: Iterator<Item = &'a ProtoParsedFlags>, Loading @@ -95,15 +95,15 @@ where let packages = group_flags_by_package(parsed_flags_vec_iter); match file { StorageFileSelection::PackageMap => { StorageFileType::PackageMap => { let package_table = create_package_table(container, &packages)?; Ok(package_table.as_bytes()) } StorageFileSelection::FlagMap => { StorageFileType::FlagMap => { let flag_table = create_flag_table(container, &packages)?; Ok(flag_table.as_bytes()) } StorageFileSelection::FlagVal => { StorageFileType::FlagVal => { let flag_value = create_flag_value(container, &packages)?; Ok(flag_value.as_bytes()) } Loading Loading
tools/aconfig/aconfig/src/commands.rs +2 −2 Original line number Diff line number Diff line Loading @@ -31,7 +31,7 @@ use aconfig_protos::{ ParsedFlagExt, ProtoFlagMetadata, ProtoFlagPermission, ProtoFlagState, ProtoParsedFlag, ProtoParsedFlags, ProtoTracepoint, }; use aconfig_storage_file::StorageFileSelection; use aconfig_storage_file::StorageFileType; pub struct Input { pub source: String, Loading Loading @@ -237,7 +237,7 @@ pub fn create_rust_lib(mut input: Input, codegen_mode: CodegenMode) -> Result<Ou pub fn create_storage( caches: Vec<Input>, container: &str, file: &StorageFileSelection, file: &StorageFileType, ) -> Result<Vec<u8>> { let parsed_flags_vec: Vec<ProtoParsedFlags> = caches .into_iter() Loading
tools/aconfig/aconfig/src/main.rs +3 −3 Original line number Diff line number Diff line Loading @@ -29,7 +29,7 @@ mod commands; mod dump; mod storage; use aconfig_storage_file::StorageFileSelection; use aconfig_storage_file::StorageFileType; use codegen::CodegenMode; use dump::DumpFormat; Loading Loading @@ -138,7 +138,7 @@ fn cli() -> Command { .arg( Arg::new("file") .long("file") .value_parser(|s: &str| StorageFileSelection::try_from(s)), .value_parser(|s: &str| StorageFileType::try_from(s)), ) .arg(Arg::new("cache").long("cache").action(ArgAction::Append).required(true)) .arg(Arg::new("out").long("out").required(true)), Loading Loading @@ -285,7 +285,7 @@ fn main() -> Result<()> { write_output_to_file_or_stdout(path, &output)?; } Some(("create-storage", sub_matches)) => { let file = get_required_arg::<StorageFileSelection>(sub_matches, "file") let file = get_required_arg::<StorageFileType>(sub_matches, "file") .context("Invalid storage file selection")?; let cache = open_zero_or_more_files(sub_matches, "cache")?; let container = get_required_arg::<String>(sub_matches, "container")?; Loading
tools/aconfig/aconfig/src/storage/flag_table.rs +14 −12 Original line number Diff line number Diff line Loading @@ -17,7 +17,7 @@ use crate::commands::assign_flag_ids; use crate::storage::FlagPackage; use aconfig_storage_file::{ get_table_size, FlagTable, FlagTableHeader, FlagTableNode, FILE_VERSION, get_table_size, FlagTable, FlagTableHeader, FlagTableNode, FILE_VERSION, StorageFileType }; use anyhow::{anyhow, Result}; Loading @@ -25,6 +25,7 @@ fn new_header(container: &str, num_flags: u32) -> FlagTableHeader { FlagTableHeader { version: FILE_VERSION, container: String::from(container), file_type: StorageFileType::FlagMap as u8, file_size: 0, num_flags, bucket_offset: 0, Loading Loading @@ -168,31 +169,32 @@ mod tests { let expected_header = FlagTableHeader { version: FILE_VERSION, container: String::from("system"), file_size: 320, file_type: StorageFileType::FlagMap as u8, file_size: 321, num_flags: 8, bucket_offset: 30, node_offset: 98, bucket_offset: 31, node_offset: 99, }; assert_eq!(header, &expected_header); let buckets: &Vec<Option<u32>> = &flag_table.as_ref().unwrap().buckets; let expected_bucket: Vec<Option<u32>> = vec![ Some(98), Some(124), Some(99), Some(125), None, None, None, Some(177), Some(178), None, Some(203), Some(204), None, Some(261), Some(262), None, None, None, None, None, Some(293), Some(294), None, ]; assert_eq!(buckets, &expected_bucket); Loading @@ -201,10 +203,10 @@ mod tests { assert_eq!(nodes.len(), 8); assert_eq!(nodes[0], new_expected_node(0, "enabled_ro", 1, 1, None)); assert_eq!(nodes[1], new_expected_node(0, "enabled_rw", 1, 2, Some(150))); assert_eq!(nodes[1], new_expected_node(0, "enabled_rw", 1, 2, Some(151))); assert_eq!(nodes[2], new_expected_node(1, "disabled_ro", 1, 0, None)); assert_eq!(nodes[3], new_expected_node(2, "enabled_ro", 1, 1, None)); assert_eq!(nodes[4], new_expected_node(1, "enabled_fixed_ro", 1, 1, Some(235))); assert_eq!(nodes[4], new_expected_node(1, "enabled_fixed_ro", 1, 1, Some(236))); assert_eq!(nodes[5], new_expected_node(1, "enabled_ro", 1, 2, None)); assert_eq!(nodes[6], new_expected_node(2, "enabled_fixed_ro", 1, 0, None)); assert_eq!(nodes[7], new_expected_node(0, "disabled_rw", 1, 0, None)); Loading
tools/aconfig/aconfig/src/storage/flag_value.rs +5 −3 Original line number Diff line number Diff line Loading @@ -17,13 +17,14 @@ use crate::commands::assign_flag_ids; use crate::storage::FlagPackage; use aconfig_protos::ProtoFlagState; use aconfig_storage_file::{FlagValueHeader, FlagValueList, FILE_VERSION}; use aconfig_storage_file::{FlagValueHeader, FlagValueList, FILE_VERSION, StorageFileType}; use anyhow::{anyhow, Result}; fn new_header(container: &str, num_flags: u32) -> FlagValueHeader { FlagValueHeader { version: FILE_VERSION, container: String::from(container), file_type: StorageFileType::FlagVal as u8, file_size: 0, num_flags, boolean_value_offset: 0, Loading Loading @@ -79,9 +80,10 @@ mod tests { let expected_header = FlagValueHeader { version: FILE_VERSION, container: String::from("system"), file_size: 34, file_type: StorageFileType::FlagVal as u8, file_size: 35, num_flags: 8, boolean_value_offset: 26, boolean_value_offset: 27, }; assert_eq!(header, &expected_header); Loading
tools/aconfig/aconfig/src/storage/mod.rs +5 −5 Original line number Diff line number Diff line Loading @@ -26,7 +26,7 @@ use crate::storage::{ package_table::create_package_table, }; use aconfig_protos::{ProtoParsedFlag, ProtoParsedFlags}; use aconfig_storage_file::StorageFileSelection; use aconfig_storage_file::StorageFileType; pub struct FlagPackage<'a> { pub package_name: &'a str, Loading Loading @@ -87,7 +87,7 @@ where pub fn generate_storage_file<'a, I>( container: &str, parsed_flags_vec_iter: I, file: &StorageFileSelection, file: &StorageFileType, ) -> Result<Vec<u8>> where I: Iterator<Item = &'a ProtoParsedFlags>, Loading @@ -95,15 +95,15 @@ where let packages = group_flags_by_package(parsed_flags_vec_iter); match file { StorageFileSelection::PackageMap => { StorageFileType::PackageMap => { let package_table = create_package_table(container, &packages)?; Ok(package_table.as_bytes()) } StorageFileSelection::FlagMap => { StorageFileType::FlagMap => { let flag_table = create_flag_table(container, &packages)?; Ok(flag_table.as_bytes()) } StorageFileSelection::FlagVal => { StorageFileType::FlagVal => { let flag_value = create_flag_value(container, &packages)?; Ok(flag_value.as_bytes()) } Loading