aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestCase.java
diff options
context:
space:
mode:
authorGravatar dslomov <dslomov@google.com>2017-04-25 17:46:17 +0200
committerGravatar Vladimir Moskva <vladmos@google.com>2017-04-25 20:38:54 +0200
commit99ea6b466b9562bb720de1ab264687295f7da0e4 (patch)
treef9baae383a6342ec234209dba859335735f27679 /src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestCase.java
parent641318ac48dd4f110184c42b4b75485ee61416a8 (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.java18
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);
}