Add rust_test with rust_aconfig_library in test mode

Using test mode in aconfig  allows us to override the flag for unit
testing

Test: atest aconfig.test_mode.test.rust
Change-Id: I890fb20fd8cf83e6033defc7093430e3a77e4de4
This commit is contained in:
Vinh Tran
2023-08-11 17:34:12 -04:00
parent 36fcf63c4e
commit 906405f5c9
3 changed files with 42 additions and 2 deletions

View File

@@ -160,11 +160,28 @@ rust_aconfig_library {
} }
rust_test { rust_test {
name: "aconfig.test.rust", name: "aconfig.prod_mode.test.rust",
srcs: [ srcs: [
"tests/aconfig_test.rs" "tests/aconfig_prod_mode_test.rs"
], ],
rustlibs: [ rustlibs: [
"libaconfig_test_rust_library", "libaconfig_test_rust_library",
], ],
} }
rust_aconfig_library {
name: "libaconfig_test_rust_library_with_test_mode",
crate_name: "aconfig_test_rust_library",
aconfig_declarations: "aconfig.test.flags",
test: true,
}
rust_test {
name: "aconfig.test_mode.test.rust",
srcs: [
"tests/aconfig_test_mode_test.rs"
],
rustlibs: [
"libaconfig_test_rust_library_with_test_mode",
],
}

View File

@@ -0,0 +1,23 @@
#[test]
fn test_flags() {
assert!(!aconfig_test_rust_library::disabled_ro());
assert!(!aconfig_test_rust_library::disabled_rw());
// TODO: Fix template to not default both disabled and enabled to false
assert!(!aconfig_test_rust_library::enabled_ro());
assert!(!aconfig_test_rust_library::enabled_rw());
aconfig_test_rust_library::set_disabled_ro(true);
assert!(aconfig_test_rust_library::disabled_ro());
aconfig_test_rust_library::set_disabled_rw(true);
assert!(aconfig_test_rust_library::disabled_rw());
aconfig_test_rust_library::set_enabled_ro(true);
assert!(aconfig_test_rust_library::enabled_ro());
aconfig_test_rust_library::set_enabled_rw(true);
assert!(aconfig_test_rust_library::enabled_rw());
aconfig_test_rust_library::reset_flags();
assert!(!aconfig_test_rust_library::disabled_ro());
assert!(!aconfig_test_rust_library::disabled_rw());
assert!(!aconfig_test_rust_library::enabled_ro());
assert!(!aconfig_test_rust_library::enabled_rw());
}