aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test
diff options
context:
space:
mode:
authorGravatar Ulf Adams <ulfjack@google.com>2015-10-22 12:02:28 +0000
committerGravatar Kristina Chodorow <kchodorow@google.com>2015-10-22 15:17:29 +0000
commitc708f96b4d23a1b6b03bed50013dd437ff40e92d (patch)
tree9547253098856fee4eb7ff04128f9af52439c031 /src/test
parentfac21e564c9a9fe5288431f05e4ae6b5c19d35bf (diff)
Assert the specific type of event, not just the existence of any event.
Also remove a bunch of custom uses of EventCollector, and use the (already existing) EventCollectionApparatus instead. -- MOS_MIGRATED_REVID=106047665
Diffstat (limited to 'src/test')
-rw-r--r--src/test/java/com/google/devtools/build/lib/events/util/EventCollectionApparatus.java49
-rw-r--r--src/test/java/com/google/devtools/build/lib/packages/ExportsFilesTest.java2
-rw-r--r--src/test/java/com/google/devtools/build/lib/packages/PackageGroupTest.java8
-rw-r--r--src/test/java/com/google/devtools/build/lib/syntax/BuildFileASTTest.java10
-rw-r--r--src/test/java/com/google/devtools/build/lib/syntax/EvaluationTest.java2
-rw-r--r--src/test/java/com/google/devtools/build/lib/syntax/FunctionTest.java2
-rw-r--r--src/test/java/com/google/devtools/build/lib/syntax/ParserTest.java105
-rw-r--r--src/test/java/com/google/devtools/build/lib/syntax/SkylarkEvaluationTest.java6
-rw-r--r--src/test/java/com/google/devtools/build/lib/syntax/ValidationTest.java4
-rw-r--r--src/test/java/com/google/devtools/build/lib/syntax/util/EvaluationTestCase.java8
10 files changed, 113 insertions, 83 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/events/util/EventCollectionApparatus.java b/src/test/java/com/google/devtools/build/lib/events/util/EventCollectionApparatus.java
index 9235115b0b..d64b9a4604 100644
--- a/src/test/java/com/google/devtools/build/lib/events/util/EventCollectionApparatus.java
+++ b/src/test/java/com/google/devtools/build/lib/events/util/EventCollectionApparatus.java
@@ -29,6 +29,10 @@ import java.util.Set;
* An apparatus for reporting / collecting events.
*/
public class EventCollectionApparatus {
+ private EventCollector eventCollector;
+ private Reporter reporter;
+ private PrintingEventHandler printingEventHandler;
+
/**
* Determine which events the {@link #collector()} created by this apparatus
* will collect. Default: {@link EventKind#ERRORS_AND_WARNINGS}.
@@ -46,13 +50,9 @@ public class EventCollectionApparatus {
this(EventKind.ERRORS_AND_WARNINGS);
}
- /* ---- Settings for the apparatus (configuration for creating state) ---- */
-
- /* ---------- State that the apparatus initializes / operates on --------- */
- private EventCollector eventCollector;
- private Reporter reporter;
- private PrintingEventHandler printingEventHandler;
-
+ public void clear() {
+ eventCollector.clear();
+ }
/**
* Determine whether the {#link reporter()} created by this apparatus will
@@ -82,6 +82,14 @@ public class EventCollectionApparatus {
return eventCollector;
}
+ public Iterable<Event> errors() {
+ return eventCollector.filtered(EventKind.ERROR);
+ }
+
+ public Iterable<Event> warnings() {
+ return eventCollector.filtered(EventKind.WARNING);
+ }
+
/**
* Redirects all output to the specified OutErr stream pair.
* Returns the previous OutErr.
@@ -103,11 +111,26 @@ public class EventCollectionApparatus {
/**
* Utility method: Assert that the {@link #collector()} has received an
- * event with the {@code expectedMessage}.
+ * info message with the {@code expectedMessage}.
+ */
+ public Event assertContainsInfo(String expectedMessage) {
+ return MoreAsserts.assertContainsEvent(eventCollector, expectedMessage, EventKind.INFO);
+ }
+
+ /**
+ * Utility method: Assert that the {@link #collector()} has received an
+ * error with the {@code expectedMessage}.
*/
- public Event assertContainsEvent(String expectedMessage) {
- return MoreAsserts.assertContainsEvent(eventCollector,
- expectedMessage);
+ public Event assertContainsError(String expectedMessage) {
+ return MoreAsserts.assertContainsEvent(eventCollector, expectedMessage, EventKind.ERROR);
+ }
+
+ /**
+ * Utility method: Assert that the {@link #collector()} has received a
+ * warning with the {@code expectedMessage}.
+ */
+ public Event assertContainsWarning(String expectedMessage) {
+ return MoreAsserts.assertContainsEvent(eventCollector, expectedMessage, EventKind.WARNING);
}
public List<Event> assertContainsEventWithFrequency(String expectedMessage,
@@ -125,4 +148,8 @@ public class EventCollectionApparatus {
return MoreAsserts.assertContainsEventWithWordsInQuotes(
eventCollector, words);
}
+
+ public void assertDoesNotContainEvent(String unexpectedEvent) {
+ MoreAsserts.assertDoesNotContainEvent(eventCollector, unexpectedEvent);
+ }
}
diff --git a/src/test/java/com/google/devtools/build/lib/packages/ExportsFilesTest.java b/src/test/java/com/google/devtools/build/lib/packages/ExportsFilesTest.java
index 75124fbcac..c8afeea69a 100644
--- a/src/test/java/com/google/devtools/build/lib/packages/ExportsFilesTest.java
+++ b/src/test/java/com/google/devtools/build/lib/packages/ExportsFilesTest.java
@@ -95,7 +95,7 @@ public class ExportsFilesTest {
"genrule(name = 'foo', srcs = ['bar'], outs = [],",
" cmd = '/bin/true')");
Package pkg = packages.createPackage("pkg2", buildFile);
- events.assertContainsEvent("rule 'foo' in package 'pkg2' conflicts with "
+ events.assertContainsError("rule 'foo' in package 'pkg2' conflicts with "
+ "existing source file");
assertTrue(pkg.getTarget("foo") instanceof InputFile);
}
diff --git a/src/test/java/com/google/devtools/build/lib/packages/PackageGroupTest.java b/src/test/java/com/google/devtools/build/lib/packages/PackageGroupTest.java
index 9d501fcdad..5d2ab8d8bf 100644
--- a/src/test/java/com/google/devtools/build/lib/packages/PackageGroupTest.java
+++ b/src/test/java/com/google/devtools/build/lib/packages/PackageGroupTest.java
@@ -51,7 +51,7 @@ public class PackageGroupTest {
events.setFailFast(false);
getPackage("strawberry");
- events.assertContainsEvent("package group has invalid name");
+ events.assertContainsError("package group has invalid name");
}
@Test
@@ -81,7 +81,7 @@ public class PackageGroupTest {
events.setFailFast(false);
getPackageGroup("fruits", "apple");
- events.assertContainsEvent("invalid package label: vegetables");
+ events.assertContainsError("invalid package label: vegetables");
}
@Test
@@ -96,7 +96,7 @@ public class PackageGroupTest {
events.setFailFast(false);
getPackageGroup("fruits", "apple");
- events.assertContainsEvent("invalid package label: //vegetables:carrot");
+ events.assertContainsError("invalid package label: //vegetables:carrot");
}
@Test
@@ -109,7 +109,7 @@ public class PackageGroupTest {
events.setFailFast(false);
getPackageGroup("fruits", "apple");
- events.assertContainsEvent("invalid package label: :carrot");
+ events.assertContainsError("invalid package label: :carrot");
}
@Test
diff --git a/src/test/java/com/google/devtools/build/lib/syntax/BuildFileASTTest.java b/src/test/java/com/google/devtools/build/lib/syntax/BuildFileASTTest.java
index 85880c767e..86e0bddd3b 100644
--- a/src/test/java/com/google/devtools/build/lib/syntax/BuildFileASTTest.java
+++ b/src/test/java/com/google/devtools/build/lib/syntax/BuildFileASTTest.java
@@ -95,7 +95,7 @@ public class BuildFileASTTest extends EvaluationTestCase {
BuildFileAST buildfile = BuildFileAST.parseBuildFile(buildFile, getEventHandler(), false);
assertFalse(buildfile.exec(env, getEventHandler()));
- Event e = assertContainsEvent("unsupported operand type(s) for +: 'int' and 'list'");
+ Event e = assertContainsError("unsupported operand type(s) for +: 'int' and 'list'");
assertEquals(4, e.getLocation().getStartLineAndColumn().getLine());
}
@@ -115,7 +115,7 @@ public class BuildFileASTTest extends EvaluationTestCase {
BuildFileAST buildFileAST =
parseBuildFile("foo() bar() something = baz() bar()");
- Event event = assertContainsEvent("syntax error at \'bar\': expected newline");
+ Event event = assertContainsError("syntax error at \'bar\': expected newline");
assertEquals("/a/build/file/BUILD",
event.getLocation().getPath().toString());
assertEquals(1, event.getLocation().getStartLineAndColumn().getLine());
@@ -126,7 +126,7 @@ public class BuildFileASTTest extends EvaluationTestCase {
public void testImplicitStringConcatenationFails() throws Exception {
setFailFast(false);
BuildFileAST buildFileAST = parseBuildFile("a = 'foo' 'bar'");
- Event event = assertContainsEvent(
+ Event event = assertContainsError(
"Implicit string concatenation is forbidden, use the + operator");
assertEquals("/a/build/file/BUILD",
event.getLocation().getPath().toString());
@@ -140,7 +140,7 @@ public class BuildFileASTTest extends EvaluationTestCase {
setFailFast(false);
BuildFileAST buildFileAST = parseBuildFile("a = 'foo'\n 'bar'");
- Event event = assertContainsEvent("indentation error");
+ Event event = assertContainsError("indentation error");
assertEquals("/a/build/file/BUILD",
event.getLocation().getPath().toString());
assertEquals(2, event.getLocation().getStartLineAndColumn().getLine());
@@ -175,7 +175,7 @@ public class BuildFileASTTest extends EvaluationTestCase {
" srcs = libs,",
" includes = [ abi + opt_level + '/include' ])");
assertTrue(buildFile.containsErrors());
- assertContainsEvent("syntax error at '+': expected expression");
+ assertContainsError("syntax error at '+': expected expression");
assertFalse(buildFile.exec(env, getEventHandler()));
assertNull(findEvent(getEventCollector(), "$error$"));
// This message should not be printed anymore.
diff --git a/src/test/java/com/google/devtools/build/lib/syntax/EvaluationTest.java b/src/test/java/com/google/devtools/build/lib/syntax/EvaluationTest.java
index 3816c4b2c6..5a578e8e27 100644
--- a/src/test/java/com/google/devtools/build/lib/syntax/EvaluationTest.java
+++ b/src/test/java/com/google/devtools/build/lib/syntax/EvaluationTest.java
@@ -196,7 +196,7 @@ public class EvaluationTest extends EvaluationTestCase {
setFailFast(false);
parseExpression("1 if 2");
- assertContainsEvent(
+ assertContainsError(
"missing else clause in conditional expression or semicolon before if");
}
diff --git a/src/test/java/com/google/devtools/build/lib/syntax/FunctionTest.java b/src/test/java/com/google/devtools/build/lib/syntax/FunctionTest.java
index 37f3b95351..d5d393702b 100644
--- a/src/test/java/com/google/devtools/build/lib/syntax/FunctionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/syntax/FunctionTest.java
@@ -52,7 +52,7 @@ public class FunctionTest extends EvaluationTestCase {
setFailFast(false);
parseFile("def func(a,b,a):",
" a = 1\n");
- assertContainsEvent("duplicate parameter name in function definition");
+ assertContainsError("duplicate parameter name in function definition");
}
@Test
diff --git a/src/test/java/com/google/devtools/build/lib/syntax/ParserTest.java b/src/test/java/com/google/devtools/build/lib/syntax/ParserTest.java
index d1ac350fe5..8407823ad6 100644
--- a/src/test/java/com/google/devtools/build/lib/syntax/ParserTest.java
+++ b/src/test/java/com/google/devtools/build/lib/syntax/ParserTest.java
@@ -288,7 +288,7 @@ public class ParserTest extends EvaluationTestCase {
String expr = "f(1, [x for foo foo foo foo], 3)";
FuncallExpression e = (FuncallExpression) parseExpression(expr);
- assertContainsEvent("syntax error at 'foo'");
+ assertContainsError("syntax error at 'foo'");
// Test that the actual parameters are: (1, $error$, 3):
@@ -327,8 +327,7 @@ public class ParserTest extends EvaluationTestCase {
parseExpression("f(1, ), 3)");
parseExpression("[ ) for v in 3)");
- assertContainsEvent(""); // "" matches any;
- // i.e. there were some events
+ assertContainsError(""); // "" matches any, i.e., there were some events
}
@Test
@@ -358,23 +357,23 @@ public class ParserTest extends EvaluationTestCase {
public void testAssignKeyword() {
setFailFast(false);
parseExpression("with = 4");
- assertContainsEvent("keyword 'with' not supported");
- assertContainsEvent("syntax error at 'with': expected expression");
+ assertContainsError("keyword 'with' not supported");
+ assertContainsError("syntax error at 'with': expected expression");
}
@Test
public void testBreak() {
setFailFast(false);
parseExpression("break");
- assertContainsEvent("syntax error at 'break': expected expression");
+ assertContainsError("syntax error at 'break': expected expression");
}
@Test
public void testTry() {
setFailFast(false);
parseExpression("try: 1 + 1");
- assertContainsEvent("'try' not supported, all exceptions are fatal");
- assertContainsEvent("syntax error at 'try': expected expression");
+ assertContainsError("'try' not supported, all exceptions are fatal");
+ assertContainsError("syntax error at 'try': expected expression");
}
@Test
@@ -398,7 +397,7 @@ public class ParserTest extends EvaluationTestCase {
public void testInvalidAssign() {
setFailFast(false);
parseExpression("1 + (b = c)");
- assertContainsEvent("syntax error");
+ assertContainsError("syntax error");
clearEvents();
}
@@ -624,23 +623,23 @@ public class ParserTest extends EvaluationTestCase {
setFailFast(false);
parseExpression("[x for");
- assertContainsEvent("syntax error at 'newline'");
+ assertContainsError("syntax error at 'newline'");
clearEvents();
parseExpression("[x for x");
- assertContainsEvent("syntax error at 'newline'");
+ assertContainsError("syntax error at 'newline'");
clearEvents();
parseExpression("[x for x in");
- assertContainsEvent("syntax error at 'newline'");
+ assertContainsError("syntax error at 'newline'");
clearEvents();
parseExpression("[x for x in []");
- assertContainsEvent("syntax error at 'newline'");
+ assertContainsError("syntax error at 'newline'");
clearEvents();
parseExpression("[x for x for y in ['a']]");
- assertContainsEvent("syntax error at 'for'");
+ assertContainsError("syntax error at 'for'");
clearEvents();
}
@@ -689,9 +688,9 @@ public class ParserTest extends EvaluationTestCase {
"");
assertThat(getEventCollector()).hasSize(3);
- assertContainsEvent("syntax error at 'for': expected newline");
- assertContainsEvent("syntax error at 'ada': expected newline");
- assertContainsEvent("syntax error at '+': expected expression");
+ assertContainsError("syntax error at 'for': expected newline");
+ assertContainsError("syntax error at 'ada': expected newline");
+ assertContainsError("syntax error at '+': expected expression");
assertThat(statements).hasSize(3);
}
@@ -699,7 +698,7 @@ public class ParserTest extends EvaluationTestCase {
public void testParserContainsErrorsIfSyntaxException() throws Exception {
setFailFast(false);
parseExpression("'foo' %%");
- assertContainsEvent("syntax error at '%'");
+ assertContainsError("syntax error at '%'");
}
@Test
@@ -711,7 +710,7 @@ public class ParserTest extends EvaluationTestCase {
public void testParserContainsErrors() throws Exception {
setFailFast(false);
parseFile("+");
- assertContainsEvent("syntax error at '+'");
+ assertContainsError("syntax error at '+'");
}
@Test
@@ -730,7 +729,7 @@ public class ParserTest extends EvaluationTestCase {
"foo='foo' error(bar)",
"",
"");
- assertContainsEvent("syntax error at 'error'");
+ assertContainsError("syntax error at 'error'");
assertThat(stmts).hasSize(1);
}
@@ -830,7 +829,7 @@ public class ParserTest extends EvaluationTestCase {
// Note: missing comma after name='foo'
parseFile("genrule(name = 'foo'\n"
+ " srcs = ['in'])");
- assertContainsEvent("syntax error at 'srcs'");
+ assertContainsError("syntax error at 'srcs'");
}
@Test
@@ -838,7 +837,7 @@ public class ParserTest extends EvaluationTestCase {
setFailFast(false);
// Regression test.
parseFile("x = 1; ; x = 2;");
- assertContainsEvent("syntax error at ';'");
+ assertContainsError("syntax error at ';'");
}
@Test
@@ -902,7 +901,7 @@ public class ParserTest extends EvaluationTestCase {
"def foo(x):",
"x = 2;\n");
assertThat(stmts).hasSize(2);
- assertContainsEvent("expected an indented block");
+ assertContainsError("expected an indented block");
}
@Test
@@ -912,7 +911,7 @@ public class ParserTest extends EvaluationTestCase {
"x = 1;",
"def foo(x)",
"x = 2;\n");
- assertContainsEvent("syntax error at 'EOF'");
+ assertContainsError("syntax error at 'EOF'");
}
@Test
@@ -963,7 +962,7 @@ public class ParserTest extends EvaluationTestCase {
" x = 2",
"x = 3;\n");
assertThat(stmts).hasSize(2);
- assertContainsEvent("This is not supported in BUILD files");
+ assertContainsError("This is not supported in BUILD files");
}
@Test
@@ -1012,28 +1011,28 @@ public class ParserTest extends EvaluationTestCase {
public void testForLoopBadSyntax() throws Exception {
setFailFast(false);
parseFile("[1 for (a, b, c in var]\n");
- assertContainsEvent("syntax error");
+ assertContainsError("syntax error");
}
@Test
public void testForLoopBadSyntax2() throws Exception {
setFailFast(false);
parseFile("[1 for in var]\n");
- assertContainsEvent("syntax error");
+ assertContainsError("syntax error");
}
@Test
public void testFunCallBadSyntax() throws Exception {
setFailFast(false);
parseFile("f(1,\n");
- assertContainsEvent("syntax error");
+ assertContainsError("syntax error");
}
@Test
public void testFunCallBadSyntax2() throws Exception {
setFailFast(false);
parseFile("f(1, 5, ,)\n");
- assertContainsEvent("syntax error");
+ assertContainsError("syntax error");
}
private static final String DOUBLE_SLASH_LOAD = "load('//foo/bar/file', 'test')\n";
@@ -1045,21 +1044,21 @@ public class ParserTest extends EvaluationTestCase {
public void testLoadDoubleSlashBuild() throws Exception {
setFailFast(false);
parseFile(DOUBLE_SLASH_LOAD);
- assertContainsEvent(DOUBLE_SLASH_ERROR);
+ assertContainsError(DOUBLE_SLASH_ERROR);
}
@Test
public void testLoadDoubleSlashSkylark() throws Exception {
setFailFast(false);
parseFileForSkylark(DOUBLE_SLASH_LOAD);
- assertContainsEvent(DOUBLE_SLASH_ERROR);
+ assertContainsError(DOUBLE_SLASH_ERROR);
}
@Test
public void testLoadNoSymbol() throws Exception {
setFailFast(false);
parseFileForSkylark("load('/foo/bar/file')\n");
- assertContainsEvent("syntax error");
+ assertContainsError("syntax error");
}
@Test
@@ -1093,21 +1092,21 @@ public class ParserTest extends EvaluationTestCase {
public void testLoadSyntaxError() throws Exception {
setFailFast(false);
parseFileForSkylark("load(non_quoted, 'a')\n");
- assertContainsEvent("syntax error");
+ assertContainsError("syntax error");
}
@Test
public void testLoadSyntaxError2() throws Exception {
setFailFast(false);
parseFileForSkylark("load('non_quoted', a)\n");
- assertContainsEvent("syntax error");
+ assertContainsError("syntax error");
}
@Test
public void testLoadNotAtTopLevel() throws Exception {
setFailFast(false);
parseFileForSkylark("if 1: load(8)\n");
- assertContainsEvent("function 'load' does not exist");
+ assertContainsError("function 'load' does not exist");
}
@Test
@@ -1142,48 +1141,48 @@ public class ParserTest extends EvaluationTestCase {
public void testLoadAliasSyntaxError() throws Exception {
setFailFast(false);
parseFileForSkylark("load('/foo', test1 = )\n");
- assertContainsEvent("syntax error at ')': expected string");
+ assertContainsError("syntax error at ')': expected string");
parseFileForSkylark("load('/foo', test2 = 1)\n");
- assertContainsEvent("syntax error at '1': expected string");
+ assertContainsError("syntax error at '1': expected string");
parseFileForSkylark("load('/foo', test3 = old)\n");
- assertContainsEvent("syntax error at 'old': expected string");
+ assertContainsError("syntax error at 'old': expected string");
}
@Test
public void testParseErrorNotComparison() throws Exception {
setFailFast(false);
parseFile("2 < not 3");
- assertContainsEvent("syntax error at 'not'");
+ assertContainsError("syntax error at 'not'");
}
@Test
public void testNotWithArithmeticOperatorsBadSyntax() throws Exception {
setFailFast(false);
parseFile("0 + not 0");
- assertContainsEvent("syntax error at 'not'");
+ assertContainsError("syntax error at 'not'");
}
@Test
public void testKwargsForbidden() throws Exception {
setFailFast(false);
parseFile("func(**dict)");
- assertContainsEvent("**kwargs arguments are not allowed in BUILD files");
+ assertContainsError("**kwargs arguments are not allowed in BUILD files");
}
@Test
public void testArgsForbidden() throws Exception {
setFailFast(false);
parseFile("func(*array)");
- assertContainsEvent("*args arguments are not allowed in BUILD files");
+ assertContainsError("*args arguments are not allowed in BUILD files");
}
@Test
public void testOptionalArgBeforeMandatoryArgInFuncDef() throws Exception {
setFailFast(false);
parseFileForSkylark("def func(a, b = 'a', c):\n return 0\n");
- assertContainsEvent(
+ assertContainsError(
"a mandatory positional parameter must not follow an optional parameter");
}
@@ -1193,7 +1192,7 @@ public class ParserTest extends EvaluationTestCase {
parseFileForSkylark(
"def func(a, b): return a + b",
"func(**{'b': 1}, 'a')");
- assertContainsEvent("unexpected tokens after kwarg");
+ assertContainsError("unexpected tokens after kwarg");
}
@Test
@@ -1202,7 +1201,7 @@ public class ParserTest extends EvaluationTestCase {
parseFileForSkylark(
"def func(a, b): return a + b",
"func(**{'b': 1}, **{'a': 2})");
- assertContainsEvent("unexpected tokens after kwarg");
+ assertContainsError("unexpected tokens after kwarg");
}
@Test
@@ -1228,7 +1227,7 @@ public class ParserTest extends EvaluationTestCase {
public void testTopLevelForFails() throws Exception {
setFailFast(false);
parseFileForSkylark("for i in []: 0\n");
- assertContainsEvent(
+ assertContainsError(
"for loops are not allowed on top-level. Put it into a function");
}
@@ -1240,7 +1239,7 @@ public class ParserTest extends EvaluationTestCase {
" def bar(): return 0",
" return bar()",
"");
- assertContainsEvent(
+ assertContainsError(
"nested functions are not allowed. Move the function to top-level");
}
@@ -1251,42 +1250,42 @@ public class ParserTest extends EvaluationTestCase {
"def func(a):",
// no if
" else: return a");
- assertContainsEvent("syntax error at 'else'");
+ assertContainsError("syntax error at 'else'");
}
@Test
public void testTryStatementInBuild() throws Exception {
setFailFast(false);
parseFile("try: pass");
- assertContainsEvent("syntax error at 'try': Try statements are not supported.");
+ assertContainsError("syntax error at 'try': Try statements are not supported.");
}
@Test
public void testTryStatementInSkylark() throws Exception {
setFailFast(false);
parseFileForSkylark("try: pass");
- assertContainsEvent("syntax error at 'try': Try statements are not supported.");
+ assertContainsError("syntax error at 'try': Try statements are not supported.");
}
@Test
public void testClassDefinitionInBuild() throws Exception {
setFailFast(false);
parseFile("class test(object): pass");
- assertContainsEvent("syntax error at 'class': Class definitions are not supported.");
+ assertContainsError("syntax error at 'class': Class definitions are not supported.");
}
@Test
public void testClassDefinitionInSkylark() throws Exception {
setFailFast(false);
parseFileForSkylark("class test(object): pass");
- assertContainsEvent("syntax error at 'class': Class definitions are not supported.");
+ assertContainsError("syntax error at 'class': Class definitions are not supported.");
}
@Test
public void testDefInBuild() throws Exception {
setFailFast(false);
parseFile("def func(): pass");
- assertContainsEvent("syntax error at 'def': This is not supported in BUILD files. "
+ assertContainsError("syntax error at 'def': This is not supported in BUILD files. "
+ "Move the block to a .bzl file and load it");
}
}
diff --git a/src/test/java/com/google/devtools/build/lib/syntax/SkylarkEvaluationTest.java b/src/test/java/com/google/devtools/build/lib/syntax/SkylarkEvaluationTest.java
index eb0f0959e2..1412c5afe7 100644
--- a/src/test/java/com/google/devtools/build/lib/syntax/SkylarkEvaluationTest.java
+++ b/src/test/java/com/google/devtools/build/lib/syntax/SkylarkEvaluationTest.java
@@ -972,11 +972,11 @@ public class SkylarkEvaluationTest extends EvaluationTest {
// TODO(fwe): cannot be handled by current testing suite
setFailFast(false);
eval("print('hello')");
- assertContainsEvent("hello");
+ assertContainsWarning("hello");
eval("print('a', 'b')");
- assertContainsEvent("a b");
+ assertContainsWarning("a b");
eval("print('a', 'b', sep='x')");
- assertContainsEvent("axb");
+ assertContainsWarning("axb");
}
@Test
diff --git a/src/test/java/com/google/devtools/build/lib/syntax/ValidationTest.java b/src/test/java/com/google/devtools/build/lib/syntax/ValidationTest.java
index 5f9a71208c..0f7473596d 100644
--- a/src/test/java/com/google/devtools/build/lib/syntax/ValidationTest.java
+++ b/src/test/java/com/google/devtools/build/lib/syntax/ValidationTest.java
@@ -291,7 +291,7 @@ public class ValidationTest extends EvaluationTestCase {
setFailFast(false);
parseFile(
"def GenerateMapNames():", " a = 2", " b = [3, 4]", " if a not b:", " print(a)");
- assertContainsEvent("syntax error at 'b': expected in");
+ assertContainsError("syntax error at 'b': expected in");
// Parser uses "$error" symbol for error recovery.
// It should not be used in error messages.
for (Event event : getEventCollector()) {
@@ -383,6 +383,6 @@ public class ValidationTest extends EvaluationTestCase {
private void checkError(String errorMsg, String... lines) {
setFailFast(false);
parseFile(lines);
- assertContainsEvent(errorMsg);
+ assertContainsError(errorMsg);
}
}
diff --git a/src/test/java/com/google/devtools/build/lib/syntax/util/EvaluationTestCase.java b/src/test/java/com/google/devtools/build/lib/syntax/util/EvaluationTestCase.java
index e8c73c7268..6e668a36cf 100644
--- a/src/test/java/com/google/devtools/build/lib/syntax/util/EvaluationTestCase.java
+++ b/src/test/java/com/google/devtools/build/lib/syntax/util/EvaluationTestCase.java
@@ -198,8 +198,12 @@ public class EvaluationTestCase {
return eventCollectionApparatus.collector();
}
- public Event assertContainsEvent(String expectedMessage) {
- return eventCollectionApparatus.assertContainsEvent(expectedMessage);
+ public Event assertContainsError(String expectedMessage) {
+ return eventCollectionApparatus.assertContainsError(expectedMessage);
+ }
+
+ public Event assertContainsWarning(String expectedMessage) {
+ return eventCollectionApparatus.assertContainsWarning(expectedMessage);
}
public List<Event> assertContainsEventWithFrequency(