diff options
author | nharmata <nharmata@google.com> | 2017-04-04 17:11:39 +0000 |
---|---|---|
committer | Damien Martin-Guillerez <dmarting@google.com> | 2017-04-05 15:18:20 +0200 |
commit | b4060b6e53944a7c3bdc5e62b288e7293a87652a (patch) | |
tree | 59b0f1f3d3e8e99412e060bb98b5a37fe90d9b6e /src/test/java/com/google/devtools/build/lib/cmdline | |
parent | 3ac77cb94a4cf1bd1993a97fe79f2005b2b1a711 (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')
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()) |