diff options
author | 2016-03-31 07:37:39 +0000 | |
---|---|---|
committer | 2016-03-31 11:44:39 +0000 | |
commit | c671350661634a8958e4441aaf666a7edb89fd2e (patch) | |
tree | f343c0e660d87a8ef502c6789af4cb5b896bfa55 /src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java | |
parent | 877ec1e39db6810b4206ef75834c243e7816f575 (diff) |
Enable the configuration sanity check for a subset of tests.
Also remove a try-catch block, which was converting all configuration
creation errors to IllegalStateException.
This uncovered a bug in CppOptions, which wasn't adding host_grte_top to the
set of explicit labels.
--
MOS_MIGRATED_REVID=118654358
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java')
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java | 49 |
1 files changed, 24 insertions, 25 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java b/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java index 6430c55455..dd799993e6 100644 --- a/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java +++ b/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java @@ -80,7 +80,6 @@ import com.google.devtools.build.lib.analysis.config.BuildConfiguration; import com.google.devtools.build.lib.analysis.config.BuildConfigurationCollection; import com.google.devtools.build.lib.analysis.config.BuildOptions; import com.google.devtools.build.lib.analysis.config.ConfigurationFactory; -import com.google.devtools.build.lib.analysis.config.InvalidConfigurationException; import com.google.devtools.build.lib.buildtool.BuildRequest; import com.google.devtools.build.lib.cmdline.Label; import com.google.devtools.build.lib.cmdline.LabelSyntaxException; @@ -140,7 +139,6 @@ import com.google.devtools.build.lib.vfs.PathFragment; import com.google.devtools.build.skyframe.SkyFunction; import com.google.devtools.common.options.Options; import com.google.devtools.common.options.OptionsParser; -import com.google.devtools.common.options.OptionsParsingException; import org.junit.Before; @@ -266,33 +264,34 @@ public abstract class BuildViewTestCase extends FoundationTestCase { protected final BuildConfigurationCollection createConfigurations(String... args) throws Exception { + return createConfigurations(false, args); + } + + protected final BuildConfigurationCollection createConfigurations( + boolean sanityCheck, String... args) throws Exception { optionsParser = OptionsParser.newOptionsParser(Iterables.concat(Arrays.asList( ExecutionOptions.class, BuildRequest.BuildRequestOptions.class), ruleClassProvider.getConfigurationOptions())); - try { - List<String> configurationArgs = new ArrayList<>(); - // TODO(dmarting): Add --stamp option only to test that requires it. - configurationArgs.add("--stamp"); // Stamp is now defaulted to false. - configurationArgs.add("--experimental_extended_sanity_checks"); - configurationArgs.addAll(getAnalysisMock().getOptionOverrides()); - - optionsParser.parse(configurationArgs); - optionsParser.parse(args); - - InvocationPolicyEnforcer optionsPolicyEnforcer = - new InvocationPolicyEnforcer(TestConstants.TEST_INVOCATION_POLICY); - optionsPolicyEnforcer.enforce(optionsParser, ""); - - configurationFactory.forbidSanityCheck(); - BuildOptions buildOptions = ruleClassProvider.createBuildOptions(optionsParser); - ensureTargetsVisited(buildOptions.getAllLabels().values()); - skyframeExecutor.invalidateConfigurationCollection(); - return skyframeExecutor.createConfigurations(reporter, configurationFactory, buildOptions, - directories, ImmutableSet.<String>of(), false); - } catch (InvalidConfigurationException | OptionsParsingException e) { - throw new IllegalArgumentException(e); - } + List<String> configurationArgs = new ArrayList<>(); + // TODO(dmarting): Add --stamp option only to test that requires it. + configurationArgs.add("--stamp"); // Stamp is now defaulted to false. + configurationArgs.add("--experimental_extended_sanity_checks"); + configurationArgs.addAll(getAnalysisMock().getOptionOverrides()); + + optionsParser.parse(configurationArgs); + optionsParser.parse(args); + + InvocationPolicyEnforcer optionsPolicyEnforcer = + new InvocationPolicyEnforcer(TestConstants.TEST_INVOCATION_POLICY); + optionsPolicyEnforcer.enforce(optionsParser, ""); + + configurationFactory.setSanityCheck(sanityCheck); + BuildOptions buildOptions = ruleClassProvider.createBuildOptions(optionsParser); + ensureTargetsVisited(buildOptions.getAllLabels().values()); + skyframeExecutor.invalidateConfigurationCollection(); + return skyframeExecutor.createConfigurations(reporter, configurationFactory, buildOptions, + directories, ImmutableSet.<String>of(), false); } protected Target getTarget(String label) |