Migrate more tests to use Starlark cc_toolchain configuration

Issue #5380

RELNOTES: None.
PiperOrigin-RevId: 239352742
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/mock/cc_toolchain_config.bzl b/src/test/java/com/google/devtools/build/lib/analysis/mock/cc_toolchain_config.bzl
index c213def..153a857 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/mock/cc_toolchain_config.bzl
+++ b/src/test/java/com/google/devtools/build/lib/analysis/mock/cc_toolchain_config.bzl
@@ -24,6 +24,7 @@
     "feature_set",
     "flag_group",
     "flag_set",
+    "make_variable",
     "tool",
     "tool_path",
     "with_feature_set",
@@ -70,6 +71,7 @@
     targets_windows = "targets_windows",
     static_link_cpp_runtimes = "static_link_cpp_runtimes",
     simple_compile_feature = "simple_compile_feature",
+    simple_link_feature = "simple_link_feature",
     link_env = "link_env",
     dynamic_linking_mode = "dynamic_linking_mode",
     static_linking_mode = "static_linking_mode",
@@ -85,6 +87,14 @@
     absolute_path_directories = "absolute_path_directories",
     from_package = "from_package",
     change_tool = "change_tool",
+    module_map_without_extern_module = "module_map_without_extern_module",
+    generate_submodules = "generate_submodules",
+    foo = "foo_feature",
+    library_search_directories = "library_search_directories",
+    runtime_library_search_directories = "runtime_library_search_directories",
+    uses_ifso_variables = "uses_ifso_variables",
+    def_feature = "def",
+    strip_debug_symbols = "strip_debug_symbols",
 )
 
 _no_legacy_features_feature = feature(name = _FEATURE_NAMES.no_legacy_features)
@@ -632,6 +642,18 @@
     ],
 )
 
+_simple_link_feature = feature(
+    name = _FEATURE_NAMES.simple_link_feature,
+    flag_sets = [
+        flag_set(
+            actions = [ACTION_NAMES.cpp_link_executable],
+            flag_groups = [
+                flag_group(flags = ["testlinkopt"]),
+            ],
+        ),
+    ],
+)
+
 _link_env_feature = feature(
     name = _FEATURE_NAMES.link_env,
     env_sets = [
@@ -846,6 +868,14 @@
     name = _FEATURE_NAMES.change_tool,
 )
 
+_module_map_without_extern_module_feature = feature(
+    name = _FEATURE_NAMES.module_map_without_extern_module,
+)
+
+_generate_submodules_feature = feature(
+    name = _FEATURE_NAMES.generate_submodules,
+)
+
 _multiple_tools_action_config = action_config(
     action_name = ACTION_NAMES.cpp_compile,
     tools = [
@@ -859,6 +889,92 @@
     ],
 )
 
+_foo_feature = feature(
+    name = _FEATURE_NAMES.foo,
+)
+
+_library_search_directories_feature = feature(
+    name = _FEATURE_NAMES.library_search_directories,
+    enabled = True,
+    flag_sets = [
+        flag_set(
+            actions = [ACTION_NAMES.cpp_link_executable],
+            flag_groups = [
+                flag_group(
+                    expand_if_available = "library_search_directories",
+                    iterate_over = "library_search_directories",
+                    flags = ["--library=%{library_search_directories}"],
+                ),
+            ],
+        ),
+    ],
+)
+
+_runtime_library_search_directories_feature = feature(
+    name = _FEATURE_NAMES.runtime_library_search_directories,
+    enabled = True,
+    flag_sets = [
+        flag_set(
+            actions = [ACTION_NAMES.cpp_link_executable],
+            flag_groups = [
+                flag_group(
+                    expand_if_available = "runtime_library_search_directories",
+                    iterate_over = "runtime_library_search_directories",
+                    flags = ["--runtime_library=%{runtime_library_search_directories}"],
+                ),
+            ],
+        ),
+    ],
+)
+
+_uses_ifso_variables_feature = feature(
+    name = _FEATURE_NAMES.uses_ifso_variables,
+    enabled = True,
+    flag_sets = [
+        flag_set(
+            actions = [ACTION_NAMES.cpp_link_dynamic_library],
+            flag_groups = [
+                flag_group(
+                    expand_if_available = "generate_interface_library",
+                    flags = ["--generate_interface_library_was_available"],
+                ),
+            ],
+        ),
+    ],
+)
+
+_def_feature = feature(
+    name = _FEATURE_NAMES.def_feature,
+    enabled = True,
+    flag_sets = [
+        flag_set(
+            actions = [ACTION_NAMES.cpp_link_executable],
+            flag_groups = [
+                flag_group(
+                    expand_if_available = "def_file_path",
+                    flags = ["-qux_%{def_file_path}"],
+                ),
+            ],
+        ),
+    ],
+)
+
+_strip_debug_symbols_feature = feature(
+    name = _FEATURE_NAMES.strip_debug_symbols,
+    enabled = True,
+    flag_sets = [
+        flag_set(
+            actions = [ACTION_NAMES.cpp_link_executable],
+            flag_groups = [
+                flag_group(
+                    expand_if_available = "strip_debug_symbols",
+                    flags = ["-strip_stuff"],
+                ),
+            ],
+        ),
+    ],
+)
+
 _feature_name_to_feature = {
     _FEATURE_NAMES.no_legacy_features: _no_legacy_features_feature,
     _FEATURE_NAMES.do_not_split_linking_cmdline: _do_not_split_linking_cmdline_feature,
@@ -892,6 +1008,7 @@
     _FEATURE_NAMES.module_maps: _module_maps_feature,
     _FEATURE_NAMES.static_link_cpp_runtimes: _static_link_cpp_runtimes_feature,
     _FEATURE_NAMES.simple_compile_feature: _simple_compile_feature,
+    _FEATURE_NAMES.simple_link_feature: _simple_link_feature,
     _FEATURE_NAMES.link_env: _link_env_feature,
     _FEATURE_NAMES.static_linking_mode: _static_linking_mode_feature,
     _FEATURE_NAMES.dynamic_linking_mode: _dynamic_linking_mode_feature,
@@ -903,6 +1020,14 @@
     _FEATURE_NAMES.from_package: _from_package_feature,
     _FEATURE_NAMES.absolute_path_directories: _absolute_path_directories_feature,
     _FEATURE_NAMES.change_tool: _change_tool_feature,
+    _FEATURE_NAMES.module_map_without_extern_module: _module_map_without_extern_module_feature,
+    _FEATURE_NAMES.foo: _foo_feature,
+    _FEATURE_NAMES.library_search_directories: _library_search_directories_feature,
+    _FEATURE_NAMES.runtime_library_search_directories: _runtime_library_search_directories_feature,
+    _FEATURE_NAMES.generate_submodules: _generate_submodules_feature,
+    _FEATURE_NAMES.uses_ifso_variables: _uses_ifso_variables_feature,
+    _FEATURE_NAMES.def_feature: _def_feature,
+    _FEATURE_NAMES.strip_debug_symbols: _strip_debug_symbols_feature,
     "header_modules_feature_configuration": _header_modules_feature_configuration,
     "env_var_feature_configuration": _env_var_feature_configuration,
     "host_and_nonhost_configuration": _host_and_nonhost_configuration,
@@ -1019,7 +1144,10 @@
     if should_add_multiple_tools_action_config:
         action_configs.append(_multiple_tools_action_config)
 
-    make_variables = []
+    make_variables = [
+        make_variable(name = name, value = value)
+        for name, value in ctx.attr.make_variables.items()
+    ]
 
     if ctx.attr.tool_paths == {}:
         tool_paths = [
@@ -1090,6 +1218,7 @@
         "builtin_sysroot": attr.string(default = "/usr/grte/v1"),
         "tool_paths": attr.string_dict(),
         "cxx_builtin_include_directories": attr.string_list(),
+        "make_variables": attr.string_dict(),
     },
     provides = [CcToolchainConfigInfo],
     executable = True,
diff --git a/src/test/java/com/google/devtools/build/lib/packages/util/Crosstool.java b/src/test/java/com/google/devtools/build/lib/packages/util/Crosstool.java
index 8102770..9482dd2 100644
--- a/src/test/java/com/google/devtools/build/lib/packages/util/Crosstool.java
+++ b/src/test/java/com/google/devtools/build/lib/packages/util/Crosstool.java
@@ -57,6 +57,7 @@
     private final ImmutableList<ImmutableList<String>> artifactNamePatterns;
     private final ImmutableList<Pair<String, String>> toolPaths;
     private final ImmutableList<String> cxxBuiltinIncludeDirectories;
+    private final ImmutableList<Pair<String, String>> makeVariables;
 
     private CcToolchainConfig(
         String cpu,
@@ -72,7 +73,8 @@
         ImmutableList<String> actionConfigs,
         ImmutableList<ImmutableList<String>> artifactNamePatterns,
         ImmutableList<Pair<String, String>> toolPaths,
-        ImmutableList<String> cxxBuiltinIncludeDirectories) {
+        ImmutableList<String> cxxBuiltinIncludeDirectories,
+        ImmutableList<Pair<String, String>> makeVariables) {
       this.cpu = cpu;
       this.compiler = compiler;
       this.toolchainIdentifier = toolchainIdentifier;
@@ -87,6 +89,7 @@
       this.toolPaths = toolPaths;
       this.builtinSysroot = builtinSysroot;
       this.cxxBuiltinIncludeDirectories = cxxBuiltinIncludeDirectories;
+      this.makeVariables = makeVariables;
     }
 
     public static Builder builder() {
@@ -101,6 +104,7 @@
       private ImmutableList<Pair<String, String>> toolPaths = ImmutableList.of();
       private String builtinSysroot = "/usr/grte/v1";
       private ImmutableList<String> cxxBuiltinIncludeDirectories = ImmutableList.of();
+      private ImmutableList<Pair<String, String>> makeVariables = ImmutableList.of();
 
       public Builder withFeatures(String... features) {
         this.features = ImmutableList.copyOf(features);
@@ -138,6 +142,11 @@
         return this;
       }
 
+      public Builder withMakeVariables(Pair<String, String>... makeVariables) {
+        this.makeVariables = ImmutableList.copyOf(makeVariables);
+        return this;
+      }
+
       public CcToolchainConfig build() {
         return new CcToolchainConfig(
             /* cpu= */ "k8",
@@ -153,7 +162,8 @@
             actionConfigs,
             artifactNamePatterns,
             toolPaths,
-            cxxBuiltinIncludeDirectories);
+            cxxBuiltinIncludeDirectories,
+            makeVariables);
       }
     }
 
@@ -188,7 +198,8 @@
           /* actionConfigs= */ ImmutableList.of(),
           /* artifactNamePatterns= */ ImmutableList.of(),
           /* toolPaths= */ ImmutableList.of(),
-          /* cxxBuiltinIncludeDirectories= */ ImmutableList.of());
+          /* cxxBuiltinIncludeDirectories= */ ImmutableList.of(),
+          /* makeVariables= */ ImmutableList.of());
     }
 
     public static CcToolchainConfig getDefaultCcToolchainConfig() {
@@ -219,6 +230,10 @@
           cxxBuiltinIncludeDirectories.stream()
               .map(directory -> "'" + directory + "'")
               .collect(ImmutableList.toImmutableList());
+      ImmutableList<String> makeVariablesList =
+          makeVariables.stream()
+              .map(variable -> String.format("'%s': '%s'", variable.first, variable.second))
+              .collect(ImmutableList.toImmutableList());
 
       return Joiner.on("\n")
           .join(
@@ -240,8 +255,10 @@
               String.format("  tool_paths = {%s},", Joiner.on(",\n    ").join(toolPathsList)),
               "  builtin_sysroot = '" + builtinSysroot + "',",
               String.format(
-                  "  cxx_builtin_include_directories = [%s]",
+                  "  cxx_builtin_include_directories = [%s],",
                   Joiner.on(",\n    ").join(directoriesList)),
+              String.format(
+                  "  make_variables = {%s},", Joiner.on(",\n    ").join(makeVariablesList)),
               "  )");
     }
   }
@@ -329,7 +346,8 @@
                 /* actionConfigs= */ ImmutableList.of(),
                 /* artifactNamePatterns= */ ImmutableList.of(),
                 /* toolPaths= */ ImmutableList.of(),
-                /* cxxBuiltinIncludeDirectories= */ ImmutableList.of()));
+                /* cxxBuiltinIncludeDirectories= */ ImmutableList.of(),
+                /* makeVariables= */ ImmutableList.of()));
       }
       ccToolchainConfigs = toolchainConfigInfoBuilder.build();
     }
diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/SkylarkCcCommonTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/SkylarkCcCommonTest.java
index d159149..e7f29e2 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/cpp/SkylarkCcCommonTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/SkylarkCcCommonTest.java
@@ -29,7 +29,7 @@
 import com.google.devtools.build.lib.analysis.util.BuildViewTestCase;
 import com.google.devtools.build.lib.packages.SkylarkInfo;
 import com.google.devtools.build.lib.packages.StructImpl;
-import com.google.devtools.build.lib.packages.util.MockCcSupport;
+import com.google.devtools.build.lib.packages.util.Crosstool.CcToolchainConfig;
 import com.google.devtools.build.lib.packages.util.ResourceLoader;
 import com.google.devtools.build.lib.rules.cpp.CcToolchainFeatures.ActionConfig;
 import com.google.devtools.build.lib.rules.cpp.CcToolchainFeatures.ArtifactNamePattern;
@@ -144,7 +144,8 @@
   public void testFeatureConfigurationWithAdditionalEnabledFeature() throws Exception {
     AnalysisMock.get()
         .ccSupport()
-        .setupCrosstool(mockToolsConfig, "feature { name: 'foo_feature' }");
+        .setupCcToolchainConfig(
+            mockToolsConfig, CcToolchainConfig.builder().withFeatures("foo_feature"));
     useConfiguration();
     scratch.file(
         "a/BUILD",
@@ -181,7 +182,8 @@
   public void testFeatureConfigurationWithAdditionalUnsupportedFeature() throws Exception {
     AnalysisMock.get()
         .ccSupport()
-        .setupCrosstool(mockToolsConfig, "feature { name: 'foo_feature' }");
+        .setupCcToolchainConfig(
+            mockToolsConfig, CcToolchainConfig.builder().withFeatures("foo_feature"));
     useConfiguration("--features=foo_feature");
     scratch.file(
         "a/BUILD",
@@ -466,7 +468,9 @@
     AnalysisMock.get()
         .ccSupport()
         .setupCrosstool(mockToolsConfig, "compiler_flag: '-foo'", "cxx_flag: '-foo_for_cxx_only'");
-    useConfiguration("--noincompatible_disable_legacy_crosstool_fields");
+    useConfiguration(
+        "--noincompatible_disable_legacy_crosstool_fields",
+        "--noincompatible_disable_crosstool_file");
     SkylarkList<String> commandLine =
         commandLineForVariables(
             CppActionNames.CPP_COMPILE,
@@ -483,7 +487,9 @@
     AnalysisMock.get()
         .ccSupport()
         .setupCrosstool(mockToolsConfig, "compiler_flag: '-foo'", "cxx_flag: '-foo_for_cxx_only'");
-    useConfiguration("--noincompatible_disable_legacy_crosstool_fields");
+    useConfiguration(
+        "--noincompatible_disable_legacy_crosstool_fields",
+        "--noincompatible_disable_crosstool_file");
     assertThat(
             commandLineForVariables(
                 CppActionNames.CPP_COMPILE,
@@ -552,10 +558,12 @@
 
   @Test
   public void testCompileBuildVariablesForPic() throws Exception {
-    getAnalysisMock()
+    AnalysisMock.get()
         .ccSupport()
-        .setupCrosstool(
-            mockToolsConfig, MockCcSupport.SUPPORTS_PIC_FEATURE, MockCcSupport.PIC_FEATURE);
+        .setupCcToolchainConfig(
+            mockToolsConfig,
+            CcToolchainConfig.builder()
+                .withFeatures(CppRuleClasses.SUPPORTS_PIC, CppRuleClasses.PIC));
     useConfiguration();
     assertThat(
             commandLineForVariables(
@@ -628,7 +636,8 @@
   public void testEmptyLinkVariablesContainSysroot() throws Exception {
     AnalysisMock.get()
         .ccSupport()
-        .setupCrosstool(mockToolsConfig, "builtin_sysroot: '/foo/bar/sysroot'");
+        .setupCcToolchainConfig(
+            mockToolsConfig, CcToolchainConfig.builder().withSysroot("/foo/bar/sysroot"));
     useConfiguration();
     assertThat(
             commandLineForVariables(
@@ -644,20 +653,9 @@
   public void testLibrarySearchDirectoriesLinkVariables() throws Exception {
     AnalysisMock.get()
         .ccSupport()
-        .setupCrosstool(
+        .setupCcToolchainConfig(
             mockToolsConfig,
-            "feature {",
-            "  name: 'library_search_directories'",
-            "  enabled: true",
-            "  flag_set {",
-            "    action: 'c++-link-executable'",
-            "    flag_group {",
-            "      expand_if_all_available: 'library_search_directories'",
-            "      iterate_over: 'library_search_directories'",
-            "      flag: '--library=%{library_search_directories}'",
-            "    }",
-            "  }",
-            "}");
+            CcToolchainConfig.builder().withFeatures("library_search_directories"));
     useConfiguration();
     assertThat(
             commandLineForVariables(
@@ -675,20 +673,9 @@
   public void testRuntimeLibrarySearchDirectoriesLinkVariables() throws Exception {
     AnalysisMock.get()
         .ccSupport()
-        .setupCrosstool(
+        .setupCcToolchainConfig(
             mockToolsConfig,
-            "feature {",
-            "  name: 'runtime_library_search_directories'",
-            "  enabled: true",
-            "  flag_set {",
-            "    action: 'c++-link-executable'",
-            "    flag_group {",
-            "      expand_if_all_available: 'runtime_library_search_directories'",
-            "      iterate_over: 'runtime_library_search_directories'",
-            "      flag: '--runtime_library=%{runtime_library_search_directories}'",
-            "    }",
-            "  }",
-            "}");
+            CcToolchainConfig.builder().withFeatures("runtime_library_search_directories"));
     useConfiguration();
     assertThat(
             commandLineForVariables(
@@ -749,19 +736,8 @@
   public void testIfsoRelatedVariablesAreNotExposed() throws Exception {
     AnalysisMock.get()
         .ccSupport()
-        .setupCrosstool(
-            mockToolsConfig,
-            "feature {",
-            "  name: 'uses_ifso_variables'",
-            "  enabled: true",
-            "  flag_set {",
-            "    action: 'c++-link-dynamic-library'",
-            "    flag_group {",
-            "      expand_if_all_available: 'generate_interface_library'",
-            "      flag: '--generate_interface_library_was_available'",
-            "    }",
-            "  }",
-            "}");
+        .setupCcToolchainConfig(
+            mockToolsConfig, CcToolchainConfig.builder().withFeatures("uses_ifso_variables"));
     useConfiguration();
     assertThat(
             commandLineForVariables(
@@ -790,8 +766,9 @@
   public void testParamFileLinkVariables() throws Exception {
     AnalysisMock.get()
         .ccSupport()
-        .setupCrosstool(
-            mockToolsConfig, "feature {", "  name: 'do_not_split_linking_cmdline'", "}");
+        .setupCcToolchainConfig(
+            mockToolsConfig,
+            CcToolchainConfig.builder().withFeatures(CppRuleClasses.DO_NOT_SPLIT_LINKING_CMDLINE));
     assertThat(
             commandLineForVariables(
                 CppActionNames.CPP_LINK_EXECUTABLE,
@@ -807,19 +784,7 @@
   public void testDefFileLinkVariables() throws Exception {
     AnalysisMock.get()
         .ccSupport()
-        .setupCrosstool(
-            mockToolsConfig,
-            "feature {",
-            "  name: 'def'",
-            "  enabled: true",
-            "  flag_set {",
-            "    action: 'c++-link-executable'",
-            "    flag_group {",
-            "      expand_if_all_available: 'def_file_path'",
-            "      flag: '-qux_%{def_file_path}'",
-            "    }",
-            "  }",
-            "}");
+        .setupCcToolchainConfig(mockToolsConfig, CcToolchainConfig.builder().withFeatures("def"));
     useConfiguration();
     assertThat(
             commandLineForVariables(
@@ -836,19 +801,9 @@
   public void testMustKeepDebugLinkVariables() throws Exception {
     AnalysisMock.get()
         .ccSupport()
-        .setupCrosstool(
-            mockToolsConfig,
-            "feature {",
-            "  name: 'strip_debug_symbols'",
-            "  enabled: true",
-            "  flag_set {",
-            "    action: 'c++-link-executable'",
-            "    flag_group {",
-            "      expand_if_all_available: 'strip_debug_symbols'",
-            "      flag: '-strip_stuff'",
-            "    }",
-            "  }",
-            "}");
+        .setupCcToolchainConfig(
+            mockToolsConfig, CcToolchainConfig.builder().withFeatures("strip_debug_symbols"));
+
     useConfiguration();
     assertThat(
             commandLineForVariables(
@@ -930,7 +885,9 @@
     AnalysisMock.get()
         .ccSupport()
         .setupCrosstool(mockToolsConfig, "test_only_linker_flag: '-im_only_testing_flag'");
-    useConfiguration("--noincompatible_disable_legacy_crosstool_fields");
+    useConfiguration(
+        "--noincompatible_disable_legacy_crosstool_fields",
+        "--noincompatible_disable_crosstool_file");
     assertThat(
             commandLineForVariables(
                 CppActionNames.CPP_LINK_EXECUTABLE,
@@ -967,7 +924,9 @@
             "  mode: DYNAMIC",
             "  linker_flag: '-dynamic_linking_mode_flag'",
             "}");
-    useConfiguration("--noincompatible_disable_legacy_crosstool_fields");
+    useConfiguration(
+        "--noincompatible_disable_legacy_crosstool_fields",
+        "--noincompatible_disable_crosstool_file");
     SkylarkList<String> staticLinkingModeFlags =
         commandLineForVariables(
             CppActionNames.CPP_LINK_EXECUTABLE,
@@ -1200,11 +1159,13 @@
   public void testCcLinkingContextOnWindows() throws Exception {
     AnalysisMock.get()
         .ccSupport()
-        .setupCrosstool(
+        .setupCcToolchainConfig(
             mockToolsConfig,
-            MockCcSupport.COPY_DYNAMIC_LIBRARIES_TO_BINARY_CONFIGURATION,
-            MockCcSupport.TARGETS_WINDOWS_CONFIGURATION,
-            MockCcSupport.SUPPORTS_DYNAMIC_LINKER_FEATURE);
+            CcToolchainConfig.builder()
+                .withFeatures(
+                    CppRuleClasses.COPY_DYNAMIC_LIBRARIES_TO_BINARY,
+                    CppRuleClasses.TARGETS_WINDOWS,
+                    CppRuleClasses.SUPPORTS_DYNAMIC_LINKER));
     doTestCcLinkingContext(
         ImmutableList.of("a.a", "libdep2.a", "b.a", "c.a", "d.a", "libdep1.a"),
         ImmutableList.of("a.pic.a", "b.pic.a", "c.pic.a", "e.pic.a"),
@@ -1215,11 +1176,13 @@
   public void testCcLinkingContext() throws Exception {
     AnalysisMock.get()
         .ccSupport()
-        .setupCrosstool(
+        .setupCcToolchainConfig(
             mockToolsConfig,
-            MockCcSupport.PIC_FEATURE,
-            MockCcSupport.SUPPORTS_PIC_FEATURE,
-            MockCcSupport.SUPPORTS_DYNAMIC_LINKER_FEATURE);
+            CcToolchainConfig.builder()
+                .withFeatures(
+                    CppRuleClasses.PIC,
+                    CppRuleClasses.SUPPORTS_PIC,
+                    CppRuleClasses.SUPPORTS_DYNAMIC_LINKER));
     doTestCcLinkingContext(
         ImmutableList.of("a.a", "b.a", "c.a", "d.a"),
         ImmutableList.of("a.pic.a", "libdep2.a", "b.pic.a", "c.pic.a", "e.pic.a", "libdep1.a"),
@@ -4613,12 +4576,10 @@
   public void testGetLegacyCcFlagsMakeVariable() throws Exception {
     AnalysisMock.get()
         .ccSupport()
-        .setupCrosstool(
+        .setupCcToolchainConfig(
             mockToolsConfig,
-            "make_variable {",
-            "  name: 'CC_FLAGS'",
-            "  value: '-test-cflag1 -testcflag2'",
-            "}");
+            CcToolchainConfig.builder()
+                .withMakeVariables(Pair.of("CC_FLAGS", "-test-cflag1 -testcflag2")));
     useConfiguration("--incompatible_disable_genrule_cc_toolchain_dependency");
 
     loadCcToolchainConfigLib();