aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build/lib/packages/EnvironmentGroupTest.java
diff options
context:
space:
mode:
authorGravatar janakr <janakr@google.com>2018-02-15 07:44:06 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2018-02-15 07:46:03 -0800
commitc0f7a2801e1d65cb533a658f82b486beacb480bf (patch)
treedfcb25e538a69fdde82826e9eba2e4aa98c6b944 /src/test/java/com/google/devtools/build/lib/packages/EnvironmentGroupTest.java
parentbb1d0856fffd1c57ed1fd74f3b3c3287f6b66f47 (diff)
Extract part of EnvironmentGroup that's necessary for constraint calculation, so we don't have to have the whole package.
Memory increase should be minimal because there aren't that many environment groups, but it's further minimized by breaking an inner class UnpackagedEnvironmentGroup out of EnvironmentGroup. Previously, each EnvironmentGroup cost 40 bytes (24 bytes for first three fields, 8 for next two, 8 for last field because of alignment). Each UnpackagedEnvironmentGroup costs 32 bytes (4 fields), while the EnvironmentGroup now costs 24 bytes. So a loss of 16 bytes per EnvironmentGroup: shouldn't be noticeable. PiperOrigin-RevId: 185837140
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/packages/EnvironmentGroupTest.java')
-rw-r--r--src/test/java/com/google/devtools/build/lib/packages/EnvironmentGroupTest.java16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/packages/EnvironmentGroupTest.java b/src/test/java/com/google/devtools/build/lib/packages/EnvironmentGroupTest.java
index f9dde14fbf..a1835bc70f 100644
--- a/src/test/java/com/google/devtools/build/lib/packages/EnvironmentGroupTest.java
+++ b/src/test/java/com/google/devtools/build/lib/packages/EnvironmentGroupTest.java
@@ -73,18 +73,20 @@ public class EnvironmentGroupTest extends PackageLoadingTestCase {
@Test
public void testIsDefault() throws Exception {
- assertThat(group.isDefault(Label.parseAbsolute("//pkg:foo"))).isTrue();
- assertThat(group.isDefault(Label.parseAbsolute("//pkg:bar"))).isFalse();
- assertThat(group.isDefault(Label.parseAbsolute("//pkg:baz"))).isFalse();
- assertThat(group.isDefault(Label.parseAbsolute("//pkg:not_in_group"))).isFalse();
+ EnvironmentLabels unpackedGroup = group.getEnvironmentLabels();
+ assertThat(unpackedGroup.isDefault(Label.parseAbsolute("//pkg:foo"))).isTrue();
+ assertThat(unpackedGroup.isDefault(Label.parseAbsolute("//pkg:bar"))).isFalse();
+ assertThat(unpackedGroup.isDefault(Label.parseAbsolute("//pkg:baz"))).isFalse();
+ assertThat(unpackedGroup.isDefault(Label.parseAbsolute("//pkg:not_in_group"))).isFalse();
}
@Test
public void testFulfillers() throws Exception {
- assertThat(group.getFulfillers(Label.parseAbsolute("//pkg:baz")))
+ EnvironmentLabels unpackedGroup = group.getEnvironmentLabels();
+ assertThat(unpackedGroup.getFulfillers(Label.parseAbsolute("//pkg:baz")))
.containsExactly(Label.parseAbsolute("//pkg:foo"), Label.parseAbsolute("//pkg:bar"));
- assertThat(group.getFulfillers(Label.parseAbsolute("//pkg:bar")))
+ assertThat(unpackedGroup.getFulfillers(Label.parseAbsolute("//pkg:bar")))
.containsExactly(Label.parseAbsolute("//pkg:foo"));
- assertThat(group.getFulfillers(Label.parseAbsolute("//pkg:foo"))).isEmpty();
+ assertThat(unpackedGroup.getFulfillers(Label.parseAbsolute("//pkg:foo"))).isEmpty();
}
}