diff --git a/rust/benchmark.go b/rust/benchmark.go
index b417a2d..0e84243 100644
--- a/rust/benchmark.go
+++ b/rust/benchmark.go
@@ -112,14 +112,12 @@
 }
 
 func (benchmark *benchmarkDecorator) install(ctx ModuleContext) {
-	benchmark.testConfig = tradefed.NewMaybeAutoGenTestConfigBuilder(ctx).
-		SetTestConfigProp(benchmark.Properties.Test_config).
-		SetTestTemplateConfigProp(benchmark.Properties.Test_config_template).
-		SetTestSuites(benchmark.Properties.Test_suites).
-		SetAutoGenConfig(benchmark.Properties.Auto_gen_config).
-		SetDeviceTemplate("${RustDeviceBenchmarkConfigTemplate}").
-		SetHostTemplate("${RustHostBenchmarkConfigTemplate}").
-		Build()
+	benchmark.testConfig = tradefed.AutoGenRustBenchmarkConfig(ctx,
+		benchmark.Properties.Test_config,
+		benchmark.Properties.Test_config_template,
+		benchmark.Properties.Test_suites,
+		nil,
+		benchmark.Properties.Auto_gen_config)
 
 	// default relative install path is module name
 	if !Bool(benchmark.Properties.No_named_install_directory) {
diff --git a/rust/test.go b/rust/test.go
index ecc7d5d..0cc3bca 100644
--- a/rust/test.go
+++ b/rust/test.go
@@ -130,16 +130,13 @@
 		configs = append(configs, tradefed.Object{"target_preparer", "com.android.tradefed.targetprep.RootTargetPreparer", options})
 	}
 
-	test.testConfig = tradefed.NewMaybeAutoGenTestConfigBuilder(ctx).
-		SetTestConfigProp(test.Properties.Test_config).
-		SetTestTemplateConfigProp(test.Properties.Test_config_template).
-		SetTestSuites(test.Properties.Test_suites).
-		SetConfig(configs).
-		SetAutoGenConfig(test.Properties.Auto_gen_config).
-		SetTestInstallBase(testInstallBase).
-		SetDeviceTemplate("${RustDeviceTestConfigTemplate}").
-		SetHostTemplate("${RustHostTestConfigTemplate}").
-		Build()
+	test.testConfig = tradefed.AutoGenRustTestConfig(ctx,
+		test.Properties.Test_config,
+		test.Properties.Test_config_template,
+		test.Properties.Test_suites,
+		configs,
+		test.Properties.Auto_gen_config,
+		testInstallBase)
 
 	dataSrcPaths := android.PathsForModuleSrc(ctx, test.Properties.Data)
 
