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

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

Merge "aconfig: add a storage file read api to get file version number" into main

parents 3ac66146 05cf662d
Loading
Loading
Loading
Loading
+12 −1
Original line number Diff line number Diff line
@@ -172,7 +172,7 @@ mod tests {

    pub fn create_test_flag_table() -> FlagTable {
        let header = FlagTableHeader {
            version: crate::FILE_VERSION,
            version: 1234,
            container: String::from("system"),
            file_size: 320,
            num_flags: 8,
@@ -231,4 +231,15 @@ mod tests {
        assert!(reinterpreted_table.is_ok());
        assert_eq!(&flag_table, &reinterpreted_table.unwrap());
    }

    #[test]
    // this test point locks down that version number should be at the top of serialized
    // bytes
    fn test_version_number() {
        let flag_table = create_test_flag_table();
        let bytes = &flag_table.as_bytes();
        let mut head = 0;
        let version = read_u32_from_bytes(bytes, &mut head).unwrap();
        assert_eq!(version, 1234)
    }
}
+12 −1
Original line number Diff line number Diff line
@@ -92,7 +92,7 @@ mod tests {

    pub fn create_test_flag_value_list() -> FlagValueList {
        let header = FlagValueHeader {
            version: crate::FILE_VERSION,
            version: 1234,
            container: String::from("system"),
            file_size: 34,
            num_flags: 8,
@@ -116,4 +116,15 @@ mod tests {
        assert!(reinterpreted_value_list.is_ok());
        assert_eq!(&flag_value_list, &reinterpreted_value_list.unwrap());
    }

    #[test]
    // this test point locks down that version number should be at the top of serialized
    // bytes
    fn test_version_number() {
        let flag_value_list = create_test_flag_value_list();
        let bytes = &flag_value_list.as_bytes();
        let mut head = 0;
        let version = read_u32_from_bytes(bytes, &mut head).unwrap();
        assert_eq!(version, 1234)
    }
}
+12 −1
Original line number Diff line number Diff line
@@ -159,7 +159,7 @@ mod tests {

    pub fn create_test_package_table() -> PackageTable {
        let header = PackageTableHeader {
            version: crate::FILE_VERSION,
            version: 1234,
            container: String::from("system"),
            file_size: 208,
            num_packages: 3,
@@ -208,4 +208,15 @@ mod tests {
        assert!(reinterpreted_table.is_ok());
        assert_eq!(&package_table, &reinterpreted_table.unwrap());
    }

    #[test]
    // this test point locks down that version number should be at the top of serialized
    // bytes
    fn test_version_number() {
        let package_table = create_test_package_table();
        let bytes = &package_table.as_bytes();
        let mut head = 0;
        let version = read_u32_from_bytes(bytes, &mut head).unwrap();
        assert_eq!(version, 1234)
    }
}
+21 −21
Original line number Diff line number Diff line
@@ -60,27 +60,6 @@ cc_library_static {
    host_supported: true,
}

genrule {
    name: "ro.package.map",
    out: ["tests/tmp.ro.package.map"],
    srcs: ["tests/package.map"],
    cmd: "rm -f $(out);cp -f $(in) $(out);chmod -w $(out)",
}

genrule {
    name: "ro.flag.map",
    out: ["tests/tmp.ro.flag.map"],
    srcs: ["tests/flag.map"],
    cmd: "rm -f $(out);cp -f $(in) $(out);chmod -w $(out)",
}

genrule {
    name: "ro.flag.val",
    out: ["tests/tmp.ro.flag.val"],
    srcs: ["tests/flag.val"],
    cmd: "rm -f $(out);cp -f $(in) $(out);chmod -w $(out)",
}

// cxx source codegen from rust api
genrule {
    name: "libcxx_aconfig_storage_read_api_bridge_code",
@@ -119,3 +98,24 @@ cc_library_static {
    whole_static_libs: ["libaconfig_storage_read_api_cxx_bridge"],
    export_include_dirs: ["include"],
}

genrule {
    name: "ro.package.map",
    out: ["tests/tmp.ro.package.map"],
    srcs: ["tests/package.map"],
    cmd: "rm -f $(out);cp -f $(in) $(out);chmod -w $(out)",
}

genrule {
    name: "ro.flag.map",
    out: ["tests/tmp.ro.flag.map"],
    srcs: ["tests/flag.map"],
    cmd: "rm -f $(out);cp -f $(in) $(out);chmod -w $(out)",
}

genrule {
    name: "ro.flag.val",
    out: ["tests/tmp.ro.flag.val"],
    srcs: ["tests/flag.val"],
    cmd: "rm -f $(out);cp -f $(in) $(out);chmod -w $(out)",
}
+14 −3
Original line number Diff line number Diff line
@@ -4,6 +4,17 @@
#include "aconfig_storage/lib.rs.h"

namespace aconfig_storage {
/// Get storage file version number
VersionNumberQuery get_storage_file_version(
    std::string const& file_path) {
  auto version_cxx = get_storage_file_version_cxx(
      rust::Str(file_path.c_str()));
  auto version = VersionNumberQuery();
  version.query_success = version_cxx.query_success;
  version.error_message = std::string(version_cxx.error_message.c_str());
  version.version_number = version_cxx.version_number;
  return version;
}

/// Get package offset
PackageOffsetQuery get_package_offset(
Loading