Add test mode support for rust_aconfig_library

Test: atest aconfig.test_mode.test.rust
Change-Id: I3ef774bdc0f8b842106367c91221a2c227585c75
diff --git a/aconfig/rust_aconfig_library.go b/aconfig/rust_aconfig_library.go
index 8b16372..de41776 100644
--- a/aconfig/rust_aconfig_library.go
+++ b/aconfig/rust_aconfig_library.go
@@ -6,6 +6,7 @@
 	"fmt"
 
 	"github.com/google/blueprint"
+	"github.com/google/blueprint/proptools"
 )
 
 type rustDeclarationsTagType struct {
@@ -17,6 +18,7 @@
 type RustAconfigLibraryProperties struct {
 	// name of the aconfig_declarations module to generate a library for
 	Aconfig_declarations string
+	Test                 *bool
 }
 
 type aconfigDecorator struct {
@@ -58,6 +60,11 @@
 	}
 	declarations := ctx.OtherModuleProvider(declarationsModules[0], declarationsProviderKey).(declarationsProviderData)
 
+	mode := "production"
+	if proptools.Bool(a.Properties.Test) {
+		mode = "test"
+	}
+
 	ctx.Build(pctx, android.BuildParams{
 		Rule:  rustRule,
 		Input: declarations.IntermediatePath,
@@ -67,8 +74,7 @@
 		Description: "rust_aconfig_library",
 		Args: map[string]string{
 			"gendir": generatedDir.String(),
-			// TODO: Add test mode
-			"mode": "production",
+			"mode":   mode,
 		},
 	})
 	a.BaseSourceProvider.OutputFiles = android.Paths{generatedSource}