aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build/lib/cmdline
diff options
context:
space:
mode:
authorGravatar nharmata <nharmata@google.com>2017-04-04 17:11:39 +0000
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2017-04-05 15:18:20 +0200
commitb4060b6e53944a7c3bdc5e62b288e7293a87652a (patch)
tree59b0f1f3d3e8e99412e060bb98b5a37fe90d9b6e /src/test/java/com/google/devtools/build/lib/cmdline
parent3ac77cb94a4cf1bd1993a97fe79f2005b2b1a711 (diff)
Refactor all ctor callsites of PathFragment to instead call a static 'create' method.
This paves the way for changing PathFragment to e.g. an abstract class with multiple subclasses. This way we can split out the windows-specific stuff into one of these concrete classes, making the code more readable and also saving memory (since the shallow heap size of the NonWindowsPathFragment subclass will hopefully be smaller than that of the current PathFragment). This also lets us pursue gc churn optimizations. We can now do interning in PathFragment#create and can also get rid of unnecessary intermediate PathFragment allocations. RELNOTES: None PiperOrigin-RevId: 152145768
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/cmdline')
-rw-r--r--src/test/java/com/google/devtools/build/lib/cmdline/LabelTest.java20
-rw-r--r--src/test/java/com/google/devtools/build/lib/cmdline/PackageIdentifierTest.java30
-rw-r--r--src/test/java/com/google/devtools/build/lib/cmdline/RepositoryNameTest.java2
3 files changed, 26 insertions, 26 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/cmdline/LabelTest.java b/src/test/java/com/google/devtools/build/lib/cmdline/LabelTest.java
index b98d61877f..74e1248723 100644
--- a/src/test/java/com/google/devtools/build/lib/cmdline/LabelTest.java
+++ b/src/test/java/com/google/devtools/build/lib/cmdline/LabelTest.java
@@ -62,7 +62,7 @@ public class LabelTest {
}
private static String parseCommandLine(String label, String prefix) throws LabelSyntaxException {
- return Label.parseCommandLineLabel(label, new PathFragment(prefix)).toString();
+ return Label.parseCommandLineLabel(label, PathFragment.create(prefix)).toString();
}
@Test
@@ -144,43 +144,43 @@ public class LabelTest {
@Test
public void testGetRelativeWithDifferentRepo() throws Exception {
- PackageIdentifier packageId = PackageIdentifier.create("@repo", new PathFragment("foo"));
+ PackageIdentifier packageId = PackageIdentifier.create("@repo", PathFragment.create("foo"));
Label base = Label.create(packageId, "bar");
Label relative = base.getRelative("@remote//x:y");
assertEquals(RepositoryName.create("@remote"), relative.getPackageIdentifier().getRepository());
- assertEquals(new PathFragment("x"), relative.getPackageFragment());
+ assertEquals(PathFragment.create("x"), relative.getPackageFragment());
assertEquals("y", relative.getName());
}
@Test
public void testGetRelativeWithRepoLocalAbsoluteLabel() throws Exception {
- PackageIdentifier packageId = PackageIdentifier.create("@repo", new PathFragment("foo"));
+ PackageIdentifier packageId = PackageIdentifier.create("@repo", PathFragment.create("foo"));
Label base = Label.create(packageId, "bar");
Label relative = base.getRelative("//x:y");
assertEquals(packageId.getRepository(), relative.getPackageIdentifier().getRepository());
- assertEquals(new PathFragment("x"), relative.getPackageFragment());
+ assertEquals(PathFragment.create("x"), relative.getPackageFragment());
assertEquals("y", relative.getName());
}
@Test
public void testGetRelativeWithLocalRepoRelativeLabel() throws Exception {
- PackageIdentifier packageId = PackageIdentifier.create("@repo", new PathFragment("foo"));
+ PackageIdentifier packageId = PackageIdentifier.create("@repo", PathFragment.create("foo"));
Label base = Label.create(packageId, "bar");
Label relative = base.getRelative(":y");
assertEquals(packageId.getRepository(), relative.getPackageIdentifier().getRepository());
- assertEquals(new PathFragment("foo"), relative.getPackageFragment());
+ assertEquals(PathFragment.create("foo"), relative.getPackageFragment());
assertEquals("y", relative.getName());
}
@Test
public void testGetRelativeWithRepoAndReservedPackage() throws Exception {
- PackageIdentifier packageId = PackageIdentifier.create("@repo", new PathFragment("foo"));
+ PackageIdentifier packageId = PackageIdentifier.create("@repo", PathFragment.create("foo"));
Label base = Label.create(packageId, "bar");
Label relative = base.getRelative("//conditions:default");
@@ -193,13 +193,13 @@ public class LabelTest {
@Test
public void testGetRelativeWithRemoteRepoToDefaultRepo() throws Exception {
- PackageIdentifier packageId = PackageIdentifier.create("@repo", new PathFragment("foo"));
+ PackageIdentifier packageId = PackageIdentifier.create("@repo", PathFragment.create("foo"));
Label base = Label.create(packageId, "bar");
Label relative = base.getRelative("@//x:y");
assertEquals(RepositoryName.create("@"), relative.getPackageIdentifier().getRepository());
- assertEquals(new PathFragment("x"), relative.getPackageFragment());
+ assertEquals(PathFragment.create("x"), relative.getPackageFragment());
assertEquals("y", relative.getName());
}
diff --git a/src/test/java/com/google/devtools/build/lib/cmdline/PackageIdentifierTest.java b/src/test/java/com/google/devtools/build/lib/cmdline/PackageIdentifierTest.java
index a19ef4b7a3..f01a48c1a1 100644
--- a/src/test/java/com/google/devtools/build/lib/cmdline/PackageIdentifierTest.java
+++ b/src/test/java/com/google/devtools/build/lib/cmdline/PackageIdentifierTest.java
@@ -40,7 +40,7 @@ public class PackageIdentifierTest {
assertThat(fooA.getRepository().strippedName()).isEqualTo("foo");
assertThat(fooA.getPackageFragment().getPathString()).isEqualTo("a");
assertThat(fooA.getRepository().getSourceRoot()).isEqualTo(
- new PathFragment("external/foo"));
+ PathFragment.create("external/foo"));
PackageIdentifier absoluteA = PackageIdentifier.parse("//a");
assertThat(absoluteA.getRepository().strippedName()).isEqualTo("");
@@ -58,18 +58,18 @@ public class PackageIdentifierTest {
@Test
public void testToString() throws Exception {
- PackageIdentifier local = PackageIdentifier.create("", new PathFragment("bar/baz"));
+ PackageIdentifier local = PackageIdentifier.create("", PathFragment.create("bar/baz"));
assertEquals("bar/baz", local.toString());
- PackageIdentifier external = PackageIdentifier.create("@foo", new PathFragment("bar/baz"));
+ PackageIdentifier external = PackageIdentifier.create("@foo", PathFragment.create("bar/baz"));
assertEquals("@foo//bar/baz", external.toString());
}
@Test
public void testCompareTo() throws Exception {
- PackageIdentifier foo1 = PackageIdentifier.create("@foo", new PathFragment("bar/baz"));
- PackageIdentifier foo2 = PackageIdentifier.create("@foo", new PathFragment("bar/baz"));
- PackageIdentifier foo3 = PackageIdentifier.create("@foo", new PathFragment("bar/bz"));
- PackageIdentifier bar = PackageIdentifier.create("@bar", new PathFragment("bar/baz"));
+ PackageIdentifier foo1 = PackageIdentifier.create("@foo", PathFragment.create("bar/baz"));
+ PackageIdentifier foo2 = PackageIdentifier.create("@foo", PathFragment.create("bar/baz"));
+ PackageIdentifier foo3 = PackageIdentifier.create("@foo", PathFragment.create("bar/bz"));
+ PackageIdentifier bar = PackageIdentifier.create("@bar", PathFragment.create("bar/baz"));
assertEquals(0, foo1.compareTo(foo2));
assertThat(foo1.compareTo(foo3)).isLessThan(0);
assertThat(foo1.compareTo(bar)).isGreaterThan(0);
@@ -78,12 +78,12 @@ public class PackageIdentifierTest {
@Test
public void testInvalidPackageName() throws Exception {
// This shouldn't throw an exception, package names aren't validated.
- PackageIdentifier.create("@foo", new PathFragment("bar.baz"));
+ PackageIdentifier.create("@foo", PathFragment.create("bar.baz"));
}
@Test
public void testSerialization() throws Exception {
- PackageIdentifier inId = PackageIdentifier.create("@foo", new PathFragment("bar/baz"));
+ PackageIdentifier inId = PackageIdentifier.create("@foo", PathFragment.create("bar/baz"));
ByteArrayOutputStream data = new ByteArrayOutputStream();
ObjectOutputStream out = new ObjectOutputStream(data);
out.writeObject(inId);
@@ -95,16 +95,16 @@ public class PackageIdentifierTest {
@Test
public void testPackageFragmentEquality() throws Exception {
// Make sure package fragments are canonicalized.
- PackageIdentifier p1 = PackageIdentifier.create("@whatever", new PathFragment("foo/bar"));
- PackageIdentifier p2 = PackageIdentifier.create("@whatever", new PathFragment("foo/bar"));
+ PackageIdentifier p1 = PackageIdentifier.create("@whatever", PathFragment.create("foo/bar"));
+ PackageIdentifier p2 = PackageIdentifier.create("@whatever", PathFragment.create("foo/bar"));
assertSame(p2.getPackageFragment(), p1.getPackageFragment());
}
@Test
public void testRunfilesDir() throws Exception {
- assertThat(PackageIdentifier.create("@foo", new PathFragment("bar/baz")).getRunfilesPath())
- .isEqualTo(new PathFragment("../foo/bar/baz"));
- assertThat(PackageIdentifier.create("@", new PathFragment("bar/baz")).getRunfilesPath())
- .isEqualTo(new PathFragment("bar/baz"));
+ assertThat(PackageIdentifier.create("@foo", PathFragment.create("bar/baz")).getRunfilesPath())
+ .isEqualTo(PathFragment.create("../foo/bar/baz"));
+ assertThat(PackageIdentifier.create("@", PathFragment.create("bar/baz")).getRunfilesPath())
+ .isEqualTo(PathFragment.create("bar/baz"));
}
}
diff --git a/src/test/java/com/google/devtools/build/lib/cmdline/RepositoryNameTest.java b/src/test/java/com/google/devtools/build/lib/cmdline/RepositoryNameTest.java
index 9a39bbfda1..6970b5e23b 100644
--- a/src/test/java/com/google/devtools/build/lib/cmdline/RepositoryNameTest.java
+++ b/src/test/java/com/google/devtools/build/lib/cmdline/RepositoryNameTest.java
@@ -60,7 +60,7 @@ public class RepositoryNameTest {
@Test
public void testRunfilesDir() throws Exception {
assertThat(RepositoryName.create("@foo").getRunfilesPath())
- .isEqualTo(new PathFragment("../foo"));
+ .isEqualTo(PathFragment.create("../foo"));
assertThat(RepositoryName.create("@").getRunfilesPath())
.isEqualTo(PathFragment.EMPTY_FRAGMENT);
assertThat(RepositoryName.create("").getRunfilesPath())