aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build/lib/packages/util/PackageLoadingTestCase.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/packages/util/PackageLoadingTestCase.java')
-rw-r--r--src/test/java/com/google/devtools/build/lib/packages/util/PackageLoadingTestCase.java30
1 files changed, 25 insertions, 5 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/packages/util/PackageLoadingTestCase.java b/src/test/java/com/google/devtools/build/lib/packages/util/PackageLoadingTestCase.java
index 56d37d5529..975160dc0d 100644
--- a/src/test/java/com/google/devtools/build/lib/packages/util/PackageLoadingTestCase.java
+++ b/src/test/java/com/google/devtools/build/lib/packages/util/PackageLoadingTestCase.java
@@ -40,6 +40,7 @@ import com.google.devtools.build.lib.skyframe.PrecomputedValue;
import com.google.devtools.build.lib.skyframe.SequencedSkyframeExecutor;
import com.google.devtools.build.lib.skyframe.SkyValueDirtinessChecker;
import com.google.devtools.build.lib.skyframe.SkyframeExecutor;
+import com.google.devtools.build.lib.syntax.SkylarkSemanticsOptions;
import com.google.devtools.build.lib.testutil.FoundationTestCase;
import com.google.devtools.build.lib.testutil.TestRuleClassProvider;
import com.google.devtools.build.lib.util.BlazeClock;
@@ -65,6 +66,8 @@ public abstract class PackageLoadingTestCase extends FoundationTestCase {
private static final int GLOBBING_THREADS = 7;
protected LoadingMock loadingMock;
+ private PackageCacheOptions packageCacheOptions;
+ private SkylarkSemanticsOptions skylarkSemanticsOptions;
protected ConfiguredRuleClassProvider ruleClassProvider;
protected PackageFactory packageFactory;
protected SkyframeExecutor skyframeExecutor;
@@ -72,6 +75,8 @@ public abstract class PackageLoadingTestCase extends FoundationTestCase {
@Before
public final void initializeSkyframeExecutor() throws Exception {
loadingMock = LoadingMock.get();
+ packageCacheOptions = parsePackageCacheOptions();
+ skylarkSemanticsOptions = parseSkylarkSemanticsOptions();
List<RuleDefinition> extraRules = getExtraRules();
if (!extraRules.isEmpty()) {
ConfiguredRuleClassProvider.Builder builder = new ConfiguredRuleClassProvider.Builder();
@@ -88,7 +93,7 @@ public abstract class PackageLoadingTestCase extends FoundationTestCase {
.getPackageFactoryForTesting()
.create(ruleClassProvider, null, getEnvironmentExtensions(), scratch.getFileSystem());
skyframeExecutor = createSkyframeExecutor();
- setUpSkyframe(parsePackageCacheOptions());
+ setUpSkyframe();
}
/** Allows subclasses to augment the {@link RuleDefinition}s available in this test. */
@@ -128,6 +133,7 @@ public abstract class PackageLoadingTestCase extends FoundationTestCase {
skyframeExecutor.preparePackageLoading(
new PathPackageLocator(outputBase, ImmutableList.of(rootDirectory)),
packageCacheOptions,
+ Options.getDefaults(SkylarkSemanticsOptions.class),
defaultsPackageContents,
UUID.randomUUID(),
ImmutableMap.<String, String>of(),
@@ -135,7 +141,7 @@ public abstract class PackageLoadingTestCase extends FoundationTestCase {
new TimestampGranularityMonitor(BlazeClock.instance()));
}
- private void setUpSkyframe(PackageCacheOptions packageCacheOptions) {
+ private void setUpSkyframe() {
PathPackageLocator pkgLocator = PathPackageLocator.create(
outputBase, packageCacheOptions.packagePath, reporter, rootDirectory, rootDirectory);
packageCacheOptions.showLoadingProgress = true;
@@ -143,6 +149,7 @@ public abstract class PackageLoadingTestCase extends FoundationTestCase {
skyframeExecutor.preparePackageLoading(
pkgLocator,
packageCacheOptions,
+ skylarkSemanticsOptions,
loadingMock.getDefaultsPackageContent(),
UUID.randomUUID(),
ImmutableMap.<String, String>of(),
@@ -152,15 +159,28 @@ public abstract class PackageLoadingTestCase extends FoundationTestCase {
ImmutableSet.copyOf(packageCacheOptions.getDeletedPackages()));
}
- private PackageCacheOptions parsePackageCacheOptions(String... options) throws Exception {
+ private static PackageCacheOptions parsePackageCacheOptions(String... options) throws Exception {
OptionsParser parser = OptionsParser.newOptionsParser(PackageCacheOptions.class);
- parser.parse(new String[] { "--default_visibility=public" });
+ parser.parse("--default_visibility=public");
parser.parse(options);
return parser.getOptions(PackageCacheOptions.class);
}
+ private static SkylarkSemanticsOptions parseSkylarkSemanticsOptions(String... options)
+ throws Exception {
+ OptionsParser parser = OptionsParser.newOptionsParser(SkylarkSemanticsOptions.class);
+ parser.parse(options);
+ return parser.getOptions(SkylarkSemanticsOptions.class);
+ }
+
protected void setPackageCacheOptions(String... options) throws Exception {
- setUpSkyframe(parsePackageCacheOptions(options));
+ packageCacheOptions = parsePackageCacheOptions(options);
+ setUpSkyframe();
+ }
+
+ protected void setSkylarkSemanticsOptions(String... options) throws Exception {
+ skylarkSemanticsOptions = parseSkylarkSemanticsOptions(options);
+ setUpSkyframe();
}
protected Target getTarget(String label)