diff options
author | 2018-01-16 18:21:16 -0800 | |
---|---|---|
committer | 2018-01-16 18:22:48 -0800 | |
commit | 7ac7b63c658509fd335db6f0149da8e2786c488a (patch) | |
tree | 04bf7c852fc0137ace91ce568c7a4a268396ed79 /src/test | |
parent | 6f95124c3453006149eac955d7620540c7d6bda4 (diff) |
Codec for Location.
* Moves SingletonCodec to third_party.
PiperOrigin-RevId: 182143153
Diffstat (limited to 'src/test')
4 files changed, 37 insertions, 1 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/BUILD b/src/test/java/com/google/devtools/build/lib/BUILD index efec300e17..f3dd57262d 100644 --- a/src/test/java/com/google/devtools/build/lib/BUILD +++ b/src/test/java/com/google/devtools/build/lib/BUILD @@ -224,6 +224,7 @@ java_test( ":testutil", "//src/main/java/com/google/devtools/build/lib:events", "//src/main/java/com/google/devtools/build/lib:io", + "//src/main/java/com/google/devtools/build/lib/skyframe/serialization/testutils", "//src/main/java/com/google/devtools/build/lib/vfs:pathfragment", ], ) @@ -940,6 +941,7 @@ java_test( "//src/main/java/com/google/devtools/build/lib/collect", "//src/main/java/com/google/devtools/build/lib/collect/nestedset", "//src/main/java/com/google/devtools/build/lib/concurrent", + "//src/main/java/com/google/devtools/build/lib/skyframe/serialization/testutils", "//src/main/java/com/google/devtools/build/lib/vfs", "//third_party:jsr305", ], diff --git a/src/test/java/com/google/devtools/build/lib/events/LocationTest.java b/src/test/java/com/google/devtools/build/lib/events/LocationTest.java index 481ca8d0d0..2b32a63024 100644 --- a/src/test/java/com/google/devtools/build/lib/events/LocationTest.java +++ b/src/test/java/com/google/devtools/build/lib/events/LocationTest.java @@ -15,6 +15,7 @@ package com.google.devtools.build.lib.events; import static com.google.common.truth.Truth.assertThat; +import com.google.devtools.build.lib.skyframe.serialization.testutils.ObjectCodecTester; import com.google.devtools.build.lib.vfs.PathFragment; import org.junit.Test; import org.junit.runner.RunWith; @@ -33,7 +34,7 @@ public class LocationTest extends EventTestTemplate { assertThat(location.getEndLineAndColumn()).isNull(); assertThat(location.print()).isEqualTo(path + ":1"); } - + @Test public void testPrintRelative() throws Exception { Location location = Location.fromPathFragment(path); @@ -53,4 +54,14 @@ public class LocationTest extends EventTestTemplate { PathFragment.create("new"))) .isEqualTo("new:1"); } + + @Test + public void testCodec() throws Exception { + ObjectCodecTester.newBuilder(Location.CODEC) + .addSubjects( + Location.fromPathFragment(path), + Location.fromPathAndStartColumn(path, 0, 100, new Location.LineAndColumn(20, 25)), + Location.BUILTIN) + .buildAndRunTests(); + } } diff --git a/src/test/java/com/google/devtools/build/lib/syntax/LexerTest.java b/src/test/java/com/google/devtools/build/lib/syntax/LexerTest.java index 8d9318f071..c07d44b2d5 100644 --- a/src/test/java/com/google/devtools/build/lib/syntax/LexerTest.java +++ b/src/test/java/com/google/devtools/build/lib/syntax/LexerTest.java @@ -21,6 +21,7 @@ import com.google.devtools.build.lib.events.EventHandler; import com.google.devtools.build.lib.events.EventKind; import com.google.devtools.build.lib.events.Location; import com.google.devtools.build.lib.events.Reporter; +import com.google.devtools.build.lib.skyframe.serialization.testutils.ObjectCodecTester; import com.google.devtools.build.lib.vfs.PathFragment; import org.junit.Test; import org.junit.runner.RunWith; @@ -494,4 +495,11 @@ public class LexerTest { assertThat(names(tokens("r'\\"))).isEqualTo("STRING NEWLINE EOF"); assertThat(lastError).isEqualTo("/some/path.txt:1: unterminated string literal at eof"); } + + @Test + public void testLexerLocationCodec() throws Exception { + ObjectCodecTester.newBuilder(Location.CODEC) + .addSubjects(createLexer("foo").createLocation(0, 2)) + .buildAndRunTests(); + } } diff --git a/src/test/java/com/google/devtools/build/lib/syntax/LineNumberTableTest.java b/src/test/java/com/google/devtools/build/lib/syntax/LineNumberTableTest.java index e7b4964f6a..5397b93549 100644 --- a/src/test/java/com/google/devtools/build/lib/syntax/LineNumberTableTest.java +++ b/src/test/java/com/google/devtools/build/lib/syntax/LineNumberTableTest.java @@ -16,6 +16,7 @@ package com.google.devtools.build.lib.syntax; import static com.google.common.truth.Truth.assertThat; import com.google.devtools.build.lib.events.Location.LineAndColumn; +import com.google.devtools.build.lib.skyframe.serialization.testutils.ObjectCodecTester; import com.google.devtools.build.lib.util.Pair; import com.google.devtools.build.lib.vfs.PathFragment; import org.junit.Test; @@ -118,4 +119,18 @@ public class LineNumberTableTest { assertThat(table.getOffsetsForLine(42)).isEqualTo(Pair.of(0, 0)); } + @Test + public void testCodec() throws Exception { + ObjectCodecTester.newBuilder(LineNumberTable.CODEC) + .addSubjects( + create( + "#\n" + + "#line 67 \"/foo\"\n" + + "cc_binary(name='a',\n" + + " srcs=[])\n" + + "#line 23 \"/ba.r\"\n" + + "vardef(x,y)\n"), + create("\ntwo\nthree\n\nfive\n")) + .buildAndRunTests(); + } } |