diff options
author | plf <plf@google.com> | 2018-08-03 01:47:22 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-08-03 01:48:53 -0700 |
commit | 7e41f9bd7000a8e51101d91b0c72ce7e6775068e (patch) | |
tree | 5e037fb9512bd09415fd1bec1f0420ab78d90ae2 /src/test/java/com/google/devtools/build/lib/rules | |
parent | 3081fd98eae4bcd27bad71762835d9610d41eef0 (diff) |
C++: Change Skylark API whitelisting to be part of flag.
This uses SkylarkSemantics now instead of the C++ configuration. The flag is:
--experimental_cc_skylark_api_enabled_packages
RELNOTES:none
PiperOrigin-RevId: 207235431
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/rules')
4 files changed, 21 insertions, 24 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/BUILD b/src/test/java/com/google/devtools/build/lib/rules/cpp/BUILD index e15d4584cd..71cfffb053 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/cpp/BUILD +++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/BUILD @@ -96,6 +96,7 @@ java_library( name = "CcImportBaseConfiguredTargetTest", srcs = ["CcImportBaseConfiguredTargetTest.java"], deps = [ + ":SkylarkCcCommonTestHelper", "//src/main/java/com/google/devtools/build/lib:build-base", "//src/main/java/com/google/devtools/build/lib/actions", "//src/main/java/com/google/devtools/build/lib/rules/cpp", diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcImportBaseConfiguredTargetTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcImportBaseConfiguredTargetTest.java index 548bf8e09f..41bdb5679d 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcImportBaseConfiguredTargetTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcImportBaseConfiguredTargetTest.java @@ -34,7 +34,9 @@ public abstract class CcImportBaseConfiguredTargetTest extends BuildViewTestCase protected String skylarkImplementationLoadStatement = ""; @Before - public void setSkylarkImplementationLoadStatement() { + public void setSkylarkImplementationLoadStatement() throws Exception { + setSkylarkSemanticsOptions(SkylarkCcCommonTestHelper.CC_SKYLARK_WHITELIST_FLAG); + invalidatePackages(); setIsSkylarkImplementation(); } 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 61f2058fdb..6bd4f038b3 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 @@ -45,8 +45,9 @@ import org.junit.runners.JUnit4; public class SkylarkCcCommonTest extends BuildViewTestCase { @Before - public void setConfiguration() throws Exception { - useConfiguration("--experimental_enable_cc_skylark_api"); + public void setSkylarkSemanticsOptions() throws Exception { + setSkylarkSemanticsOptions(SkylarkCcCommonTestHelper.CC_SKYLARK_WHITELIST_FLAG); + invalidatePackages(); } @Test @@ -134,7 +135,7 @@ public class SkylarkCcCommonTest extends BuildViewTestCase { AnalysisMock.get() .ccSupport() .setupCrosstool(mockToolsConfig, "feature { name: 'foo_feature' }"); - useConfiguration("--features=foo_feature", "--experimental_enable_cc_skylark_api"); + useConfiguration("--features=foo_feature"); scratch.file( "a/BUILD", "load(':rule.bzl', 'crule')", @@ -733,7 +734,7 @@ public class SkylarkCcCommonTest extends BuildViewTestCase { @Test public void testIsLinkingDynamicLibraryLinkVariables() throws Exception { - useConfiguration("--linkopt=-pie", "--experimental_enable_cc_skylark_api"); + useConfiguration("--linkopt=-pie"); assertThat( commandLineForVariables( CppActionNames.CPP_LINK_EXECUTABLE, @@ -758,9 +759,7 @@ public class SkylarkCcCommonTest extends BuildViewTestCase { @Test public void testIsUsingLinkerLinkVariables() throws Exception { - useConfiguration( - "--linkopt=-i_dont_want_to_see_this_on_archiver_command_line", - "--experimental_enable_cc_skylark_api"); + useConfiguration("--linkopt=-i_dont_want_to_see_this_on_archiver_command_line"); assertThat( commandLineForVariables( CppActionNames.CPP_LINK_EXECUTABLE, @@ -1064,15 +1063,15 @@ public class SkylarkCcCommonTest extends BuildViewTestCase { } @Test - public void testCcLinkingProviderParamsWithoutFlag() throws Exception { - useConfiguration("--noexperimental_enable_cc_skylark_api"); - setUpCcLinkingProviderParamsTest(); + public void testFlagWhitelist() throws Exception { + setSkylarkSemanticsOptions("--experimental_cc_skylark_api_enabled_packages=\"\""); + SkylarkCcCommonTestHelper.createFiles(scratch, "foo/bar"); reporter.removeHandler(failFastHandler); - getConfiguredTarget("//a:r"); + getConfiguredTarget("//foo:bin"); assertContainsEvent( - "Pass --experimental_enable_cc_skylark_api in order to " - + "use the C++ API. Beware that we will be making breaking changes to this API " - + "without prior warning."); + "You can try it out by passing " + + "--experimental_cc_skylark_api_enabled_packages=<list of packages>. Beware that we " + + "will be making breaking changes to this API without prior warning."); } @Test @@ -1082,7 +1081,7 @@ public class SkylarkCcCommonTest extends BuildViewTestCase { .setupCrosstool( mockToolsConfig, "supports_interface_shared_objects: false"); - useConfiguration("--experimental_enable_cc_skylark_api"); + useConfiguration(); setUpCcLinkingProviderParamsTest(); ConfiguredTarget r = getConfiguredTarget("//a:r"); @@ -1251,14 +1250,6 @@ public class SkylarkCcCommonTest extends BuildViewTestCase { } @Test - public void testWhitelist() throws Exception { - SkylarkCcCommonTestHelper.createFiles(scratch, "foo/bar"); - reporter.removeHandler(failFastHandler); - getConfiguredTarget("//foo:bin"); - assertContainsEvent("C++ Skylark API is for the time being"); - } - - @Test public void testCopts() throws Exception { SkylarkCcCommonTestHelper.createFilesForTestingCompilation( scratch, "tools/build_defs/foo", "copts=depset(['-COMPILATION_OPTION'])"); diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/SkylarkCcCommonTestHelper.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/SkylarkCcCommonTestHelper.java index 1aafab17b2..0a4dc6b95e 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/cpp/SkylarkCcCommonTestHelper.java +++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/SkylarkCcCommonTestHelper.java @@ -19,6 +19,9 @@ import com.google.devtools.build.lib.testutil.Scratch; /** Methods useful for tests testing the C++ Skylark API. */ public final class SkylarkCcCommonTestHelper { + public static final String CC_SKYLARK_WHITELIST_FLAG = + "--experimental_cc_skylark_api_enabled_packages=tools/build_defs,experimental"; + public static void createFilesForTestingCompilation( Scratch scratch, String bzlFilePath, String compileProviderLines) throws Exception { createFiles(scratch, bzlFilePath, compileProviderLines, ""); |