From 6ef40dbce67058111550b6f28f91212efc0f16ee Mon Sep 17 00:00:00 2001 From: Ted Bauer Date: Fri, 29 Mar 2024 14:04:10 +0000 Subject: [PATCH] Add logging dependencies to Rust aconfig APIs Test: go test Change-Id: I17c098f6b83c442554e49b6b802f11c97f94ec76 --- aconfig/codegen/rust_aconfig_library.go | 4 ++- aconfig/codegen/rust_aconfig_library_test.go | 30 ++++++++++++++++ apex/aconfig_test.go | 36 ++++++++++++++++++++ apex/apex_test.go | 28 ++++++++++++--- 4 files changed, 92 insertions(+), 6 deletions(-) diff --git a/aconfig/codegen/rust_aconfig_library.go b/aconfig/codegen/rust_aconfig_library.go index a0a2a546b..ad8d632a9 100644 --- a/aconfig/codegen/rust_aconfig_library.go +++ b/aconfig/codegen/rust_aconfig_library.go @@ -99,9 +99,11 @@ func (a *aconfigDecorator) GenerateSource(ctx rust.ModuleContext, deps rust.Path func (a *aconfigDecorator) SourceProviderDeps(ctx rust.DepsContext, deps rust.Deps) rust.Deps { deps = a.BaseSourceProvider.SourceProviderDeps(ctx, deps) + deps.Rustlibs = append(deps.Rustlibs, "libaconfig_storage_read_api") deps.Rustlibs = append(deps.Rustlibs, "libflags_rust") deps.Rustlibs = append(deps.Rustlibs, "liblazy_static") - deps.Rustlibs = append(deps.Rustlibs, "libaconfig_storage_read_api") + deps.Rustlibs = append(deps.Rustlibs, "liblogger") + deps.Rustlibs = append(deps.Rustlibs, "liblog_rust") ctx.AddDependency(ctx.Module(), rustDeclarationsTag, a.Properties.Aconfig_declarations) return deps } diff --git a/aconfig/codegen/rust_aconfig_library_test.go b/aconfig/codegen/rust_aconfig_library_test.go index 330cecd73..1bd53971f 100644 --- a/aconfig/codegen/rust_aconfig_library_test.go +++ b/aconfig/codegen/rust_aconfig_library_test.go @@ -33,6 +33,16 @@ func TestRustAconfigLibrary(t *testing.T) { crate_name: "aconfig_storage_read_api", srcs: ["lib.rs"], } + rust_library { + name: "liblogger", // test mock + crate_name: "logger", + srcs: ["lib.rs"], + } + rust_library { + name: "liblog_rust", // test mock + crate_name: "log_rust", + srcs: ["lib.rs"], + } aconfig_declarations { name: "my_aconfig_declarations", package: "com.example.package", @@ -108,6 +118,16 @@ func testRustCodegenModeHelper(t *testing.T, bpMode string, ruleMode string) { crate_name: "aconfig_storage_read_api", srcs: ["lib.rs"], } + rust_library { + name: "liblogger", // test mock + crate_name: "logger", + srcs: ["lib.rs"], + } + rust_library { + name: "liblog_rust", // test mock + crate_name: "log_rust", + srcs: ["lib.rs"], + } aconfig_declarations { name: "my_aconfig_declarations", package: "com.example.package", @@ -160,6 +180,16 @@ func testIncorrectRustCodegenModeHelper(t *testing.T, bpMode string, err string) crate_name: "aconfig_storage_read_api", srcs: ["lib.rs"], } + rust_library { + name: "liblogger", // test mock + crate_name: "logger", + srcs: ["lib.rs"], + } + rust_library { + name: "liblog_rust", // test mock + crate_name: "log_rust", + srcs: ["lib.rs"], + } aconfig_declarations { name: "my_aconfig_declarations", package: "com.example.package", diff --git a/apex/aconfig_test.go b/apex/aconfig_test.go index 515b2fdd0..3e44f0b1b 100644 --- a/apex/aconfig_test.go +++ b/apex/aconfig_test.go @@ -223,6 +223,18 @@ func TestValidationAcrossContainersExportedPass(t *testing.T) { srcs: ["src/lib.rs"], apex_available: ["myapex"], } + rust_library { + name: "liblogger", // test mock + crate_name: "logger", + srcs: ["src/lib.rs"], + apex_available: ["myapex"], + } + rust_library { + name: "liblog_rust", // test mock + crate_name: "log_rust", + srcs: ["src/lib.rs"], + apex_available: ["myapex"], + } rust_ffi_shared { name: "libmy_rust_library", srcs: ["src/lib.rs"], @@ -492,6 +504,18 @@ func TestValidationAcrossContainersNotExportedFail(t *testing.T) { srcs: ["src/lib.rs"], apex_available: ["myapex"], } + rust_library { + name: "liblogger", // test mock + crate_name: "logger", + srcs: ["src/lib.rs"], + apex_available: ["myapex"], + } + rust_library { + name: "liblog_rust", // test mock + crate_name: "log_rust", + srcs: ["src/lib.rs"], + apex_available: ["myapex"], + } rust_ffi_shared { name: "libmy_rust_library", srcs: ["src/lib.rs"], @@ -542,6 +566,18 @@ func TestValidationAcrossContainersNotExportedFail(t *testing.T) { srcs: ["src/lib.rs"], apex_available: ["myapex"], } + rust_library { + name: "liblogger", // test mock + crate_name: "logger", + srcs: ["src/lib.rs"], + apex_available: ["myapex"], + } + rust_library { + name: "liblog_rust", // test mock + crate_name: "log_rust", + srcs: ["src/lib.rs"], + apex_available: ["myapex"], + } rust_binary { name: "my_rust_binary", srcs: ["foo/bar/MyClass.rs"], diff --git a/apex/apex_test.go b/apex/apex_test.go index 3e9f2468b..67bb55e0f 100644 --- a/apex/apex_test.go +++ b/apex/apex_test.go @@ -10910,6 +10910,24 @@ func TestAconfigFilesRustDeps(t *testing.T) { ], } + rust_library { + name: "liblogger", // test mock + crate_name: "logger", + srcs: ["src/lib.rs"], + apex_available: [ + "myapex", + ], + } + + rust_library { + name: "liblog_rust", // test mock + crate_name: "log_rust", + srcs: ["src/lib.rs"], + apex_available: [ + "myapex", + ], + } + rust_ffi_shared { name: "libmy_rust_library", srcs: ["src/lib.rs"], @@ -10994,14 +11012,14 @@ func TestAconfigFilesRustDeps(t *testing.T) { mod := ctx.ModuleForTests("myapex", "android_common_myapex") s := mod.Rule("apexRule").Args["copy_commands"] copyCmds := regexp.MustCompile(" *&& *").Split(s, -1) - if len(copyCmds) != 28 { + if len(copyCmds) != 32 { t.Fatalf("Expected 28 commands, got %d in:\n%s", len(copyCmds), s) } - ensureMatches(t, copyCmds[24], "^cp -f .*/aconfig_flags.pb .*/image.apex/etc$") - ensureMatches(t, copyCmds[25], "^cp -f .*/package.map .*/image.apex/etc$") - ensureMatches(t, copyCmds[26], "^cp -f .*/flag.map .*/image.apex/etc$") - ensureMatches(t, copyCmds[27], "^cp -f .*/flag.val .*/image.apex/etc$") + ensureMatches(t, copyCmds[28], "^cp -f .*/aconfig_flags.pb .*/image.apex/etc$") + ensureMatches(t, copyCmds[29], "^cp -f .*/package.map .*/image.apex/etc$") + ensureMatches(t, copyCmds[30], "^cp -f .*/flag.map .*/image.apex/etc$") + ensureMatches(t, copyCmds[31], "^cp -f .*/flag.val .*/image.apex/etc$") inputs := []string{ "my_aconfig_declarations_foo/intermediate.pb",