Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c89032cd authored by Dennis Shen's avatar Dennis Shen Committed by Gerrit Code Review
Browse files

Merge "aconfig: update aconfig_storage_file crate unit test to lockdown file size" into main

parents 933d07a1 7176a4fd
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -236,9 +236,11 @@ mod tests {
            assert_eq!(node, &reinterpreted_node);
        }

        let reinterpreted_table = FlagTable::from_bytes(&flag_table.as_bytes());
        let flag_table_bytes = flag_table.as_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]
+3 −1
Original line number Diff line number Diff line
@@ -143,9 +143,11 @@ mod tests {
        assert!(reinterpreted_header.is_ok());
        assert_eq!(header, &reinterpreted_header.unwrap());

        let reinterpreted_value_list = FlagValueList::from_bytes(&flag_value_list.as_bytes());
        let flag_value_bytes = flag_value_list.as_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]
+3 −1
Original line number Diff line number Diff line
@@ -235,9 +235,11 @@ mod tests {
            assert_eq!(node, &reinterpreted_node);
        }

        let reinterpreted_table = PackageTable::from_bytes(&package_table.as_bytes());
        let package_table_bytes = package_table.as_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]
+22 −22
Original line number Diff line number Diff line
@@ -17,7 +17,7 @@
use crate::flag_table::{FlagTable, FlagTableHeader, FlagTableNode};
use crate::flag_value::{FlagValueHeader, FlagValueList};
use crate::package_table::{PackageTable, PackageTableHeader, PackageTableNode};
use crate::AconfigStorageError;
use crate::{AconfigStorageError, StorageFileType};

use anyhow::anyhow;
use std::io::Write;
@@ -27,13 +27,13 @@ pub(crate) fn create_test_package_table() -> PackageTable {
    let header = PackageTableHeader {
        version: 1234,
        container: String::from("system"),
        file_type: 0,
        file_size: 208,
        file_type: StorageFileType::PackageMap as u8,
        file_size: 209,
        num_packages: 3,
        bucket_offset: 30,
        node_offset: 58,
        bucket_offset: 31,
        node_offset: 59,
    };
    let buckets: Vec<Option<u32>> = vec![Some(58), None, None, Some(108), None, None, None];
    let buckets: Vec<Option<u32>> = vec![Some(59), None, None, Some(109), None, None, None];
    let first_node = PackageTableNode {
        package_name: String::from("com.android.aconfig.storage.test_2"),
        package_id: 1,
@@ -44,7 +44,7 @@ pub(crate) fn create_test_package_table() -> PackageTable {
        package_name: String::from("com.android.aconfig.storage.test_1"),
        package_id: 0,
        boolean_offset: 0,
        next_offset: Some(158),
        next_offset: Some(159),
    };
    let third_node = PackageTableNode {
        package_name: String::from("com.android.aconfig.storage.test_4"),
@@ -73,37 +73,37 @@ pub(crate) fn create_test_flag_table() -> FlagTable {
    let header = FlagTableHeader {
        version: 1234,
        container: String::from("system"),
        file_type: 1,
        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,
    };
    let buckets: 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,
    ];
    let nodes = vec![
        FlagTableNode::new_expected(0, "enabled_ro", 1, 1, None),
        FlagTableNode::new_expected(0, "enabled_rw", 1, 2, Some(150)),
        FlagTableNode::new_expected(0, "enabled_rw", 1, 2, Some(151)),
        FlagTableNode::new_expected(1, "disabled_ro", 1, 0, None),
        FlagTableNode::new_expected(2, "enabled_ro", 1, 1, None),
        FlagTableNode::new_expected(1, "enabled_fixed_ro", 1, 1, Some(235)),
        FlagTableNode::new_expected(1, "enabled_fixed_ro", 1, 1, Some(236)),
        FlagTableNode::new_expected(1, "enabled_ro", 1, 2, None),
        FlagTableNode::new_expected(2, "enabled_fixed_ro", 1, 0, None),
        FlagTableNode::new_expected(0, "disabled_rw", 1, 0, None),
@@ -115,10 +115,10 @@ pub(crate) fn create_test_flag_value_list() -> FlagValueList {
    let header = FlagValueHeader {
        version: 1234,
        container: String::from("system"),
        file_type: 2,
        file_size: 34,
        file_type: StorageFileType::FlagVal as u8,
        file_size: 35,
        num_flags: 8,
        boolean_value_offset: 26,
        boolean_value_offset: 27,
    };
    let booleans: Vec<bool> = vec![false, true, false, false, true, true, false, true];
    FlagValueList { header, booleans }