Expose ProductVariables from TestConfig

In preparation for unexporting ProductVariables, explicitly return a
pointer to the structure from TestConfig / TestArchConfig.

Bug: 76168832
Test: m blueprint_tools
Change-Id: Iccfb4c912f8e0ee3f620cc1ee00f0cdc5cba7735
diff --git a/android/config.go b/android/config.go
index e14f42e..642fa72 100644
--- a/android/config.go
+++ b/android/config.go
@@ -69,6 +69,9 @@
 	FileConfigurableOptions
 	ProductVariables productVariables
 
+	// Only available on configs created by TestConfig
+	TestProductVariables *productVariables
+
 	PrimaryBuilder           string
 	ConfigFileName           string
 	ProductVariablesFileName string
@@ -197,6 +200,7 @@
 	config.deviceConfig = &deviceConfig{
 		config: config,
 	}
+	config.TestProductVariables = &config.ProductVariables
 
 	if err := config.fromEnv(); err != nil {
 		panic(err)
diff --git a/cc/cc_test.go b/cc/cc_test.go
index d3ac43b..10c1aba 100644
--- a/cc/cc_test.go
+++ b/cc/cc_test.go
@@ -188,8 +188,8 @@
 func testCc(t *testing.T, bp string) *android.TestContext {
 	t.Helper()
 	config := android.TestArchConfig(buildDir, nil)
-	config.ProductVariables.DeviceVndkVersion = StringPtr("current")
-	config.ProductVariables.Platform_vndk_version = StringPtr("VER")
+	config.TestProductVariables.DeviceVndkVersion = StringPtr("current")
+	config.TestProductVariables.Platform_vndk_version = StringPtr("VER")
 
 	return testCcWithConfig(t, bp, config)
 }
@@ -197,7 +197,7 @@
 func testCcNoVndk(t *testing.T, bp string) *android.TestContext {
 	t.Helper()
 	config := android.TestArchConfig(buildDir, nil)
-	config.ProductVariables.Platform_vndk_version = StringPtr("VER")
+	config.TestProductVariables.Platform_vndk_version = StringPtr("VER")
 
 	return testCcWithConfig(t, bp, config)
 }
@@ -205,8 +205,8 @@
 func testCcError(t *testing.T, pattern string, bp string) {
 	t.Helper()
 	config := android.TestArchConfig(buildDir, nil)
-	config.ProductVariables.DeviceVndkVersion = StringPtr("current")
-	config.ProductVariables.Platform_vndk_version = StringPtr("VER")
+	config.TestProductVariables.DeviceVndkVersion = StringPtr("current")
+	config.TestProductVariables.Platform_vndk_version = StringPtr("VER")
 
 	ctx := createTestContext(t, config, bp)
 
diff --git a/java/app_test.go b/java/app_test.go
index d3216bf..ba017a1 100644
--- a/java/app_test.go
+++ b/java/app_test.go
@@ -188,12 +188,12 @@
 	for _, testCase := range testEnforceRROTests {
 		t.Run(testCase.name, func(t *testing.T) {
 			config := testConfig(nil)
-			config.ProductVariables.ResourceOverlays = &resourceOverlays
+			config.TestProductVariables.ResourceOverlays = &resourceOverlays
 			if testCase.enforceRROTargets != nil {
-				config.ProductVariables.EnforceRROTargets = &testCase.enforceRROTargets
+				config.TestProductVariables.EnforceRROTargets = &testCase.enforceRROTargets
 			}
 			if testCase.enforceRROExcludedOverlays != nil {
-				config.ProductVariables.EnforceRROExcludedOverlays = &testCase.enforceRROExcludedOverlays
+				config.TestProductVariables.EnforceRROExcludedOverlays = &testCase.enforceRROExcludedOverlays
 			}
 
 			ctx := testAppContext(config, bp, fs)
diff --git a/java/java_test.go b/java/java_test.go
index 64b6bf8..a85778f 100644
--- a/java/java_test.go
+++ b/java/java_test.go
@@ -60,7 +60,7 @@
 		env["ANDROID_JAVA8_HOME"] = "jdk8"
 	}
 	config := android.TestArchConfig(buildDir, env)
-	config.ProductVariables.DeviceSystemSdkVersions = &[]string{"14", "15"}
+	config.TestProductVariables.DeviceSystemSdkVersions = &[]string{"14", "15"}
 	return config
 
 }