diff options
author | dslomov <dslomov@google.com> | 2017-04-25 17:46:17 +0200 |
---|---|---|
committer | Vladimir Moskva <vladmos@google.com> | 2017-04-25 20:38:54 +0200 |
commit | 99ea6b466b9562bb720de1ab264687295f7da0e4 (patch) | |
tree | f9baae383a6342ec234209dba859335735f27679 /src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestCase.java | |
parent | 641318ac48dd4f110184c42b4b75485ee61416a8 (diff) |
Native aspects can opt-in to apply to files.
Only works for top-level targets.
RELNOTES: None.
PiperOrigin-RevId: 154176914
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestCase.java')
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestCase.java | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestCase.java b/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestCase.java index 1cd568596b..7aa206f881 100644 --- a/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestCase.java +++ b/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestCase.java @@ -41,6 +41,7 @@ import com.google.devtools.build.lib.cmdline.LabelSyntaxException; import com.google.devtools.build.lib.cmdline.RepositoryName; import com.google.devtools.build.lib.exec.ExecutionOptions; import com.google.devtools.build.lib.flags.InvocationPolicyEnforcer; +import com.google.devtools.build.lib.packages.NativeAspectClass; import com.google.devtools.build.lib.packages.PackageFactory; import com.google.devtools.build.lib.packages.Target; import com.google.devtools.build.lib.packages.util.MockToolsConfig; @@ -465,11 +466,28 @@ public abstract class AnalysisTestCase extends FoundationTestCase { /** * Makes {@code rules} available in tests, in addition to all the rules available to Blaze at * running time (e.g., java_library). + * + * Also see {@link AnalysisTestCase#setRulesAndAspectsAvailableInTests(Iterable, Iterable)}. */ protected final void setRulesAvailableInTests(RuleDefinition... rules) throws Exception { + setRulesAndAspectsAvailableInTests( + ImmutableList.<NativeAspectClass>of(), + ImmutableList.copyOf(rules)); + } + + /** + * Makes {@code aspects} and {@code rules} available in tests, in addition to + * all the rules available to Blaze at running time (e.g., java_library). + */ + protected final void setRulesAndAspectsAvailableInTests( + Iterable<NativeAspectClass> aspects, + Iterable<RuleDefinition> rules) throws Exception { ConfiguredRuleClassProvider.Builder builder = new ConfiguredRuleClassProvider.Builder(); TestRuleClassProvider.addStandardRules(builder); + for (NativeAspectClass aspect : aspects) { + builder.addNativeAspectClass(aspect); + } for (RuleDefinition rule : rules) { builder.addRuleDefinition(rule); } |