aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar Ulf Adams <ulfjack@google.com>2015-10-27 10:11:06 +0000
committerGravatar Florian Weikert <fwe@google.com>2015-10-27 11:51:25 +0000
commit1a90e50a90055fa75ab6ab2c41fd344934be5a96 (patch)
treee9c9b052d05424e8ef30795c3b846938615dc246 /src
parent52b3868d9723758696e8c96ce952e975271d2c68 (diff)
Clean up tests to use EventCollectionApparatus more widely.
-- MOS_MIGRATED_REVID=106382513
Diffstat (limited to 'src')
-rw-r--r--src/main/java/com/google/devtools/build/lib/events/EventCollector.java8
-rw-r--r--src/test/java/com/google/devtools/build/lib/actions/ActionExecutionStatusReporterTest.java24
-rw-r--r--src/test/java/com/google/devtools/build/lib/events/EventCollectorTest.java7
-rw-r--r--src/test/java/com/google/devtools/build/lib/events/util/EventCollectionApparatus.java8
4 files changed, 29 insertions, 18 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/events/EventCollector.java b/src/main/java/com/google/devtools/build/lib/events/EventCollector.java
index b45bca2bb3..581d8ed7fa 100644
--- a/src/main/java/com/google/devtools/build/lib/events/EventCollector.java
+++ b/src/main/java/com/google/devtools/build/lib/events/EventCollector.java
@@ -14,6 +14,7 @@
package com.google.devtools.build.lib.events;
import com.google.common.base.Predicate;
+import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Iterables;
import java.util.ArrayList;
@@ -39,6 +40,13 @@ public class EventCollector extends AbstractEventHandler implements Iterable<Eve
}
/**
+ * This collector will collect all events that match the event mask.
+ */
+ public EventCollector(EventKind... mask) {
+ this(ImmutableSet.copyOf(mask), new ArrayList<Event>());
+ }
+
+ /**
* This collector will save the Event instances in the provided
* collection.
*/
diff --git a/src/test/java/com/google/devtools/build/lib/actions/ActionExecutionStatusReporterTest.java b/src/test/java/com/google/devtools/build/lib/actions/ActionExecutionStatusReporterTest.java
index 5e727cae02..3fde9e3a5a 100644
--- a/src/test/java/com/google/devtools/build/lib/actions/ActionExecutionStatusReporterTest.java
+++ b/src/test/java/com/google/devtools/build/lib/actions/ActionExecutionStatusReporterTest.java
@@ -22,9 +22,8 @@ import com.google.common.base.Splitter;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Iterables;
import com.google.common.eventbus.EventBus;
-import com.google.devtools.build.lib.events.EventCollector;
import com.google.devtools.build.lib.events.EventKind;
-import com.google.devtools.build.lib.events.Reporter;
+import com.google.devtools.build.lib.events.util.EventCollectionApparatus;
import com.google.devtools.build.lib.util.Clock;
import org.junit.Before;
@@ -66,7 +65,7 @@ public class ActionExecutionStatusReporterTest {
}
}
- private EventCollector collector;
+ private EventCollectionApparatus events;
private ActionExecutionStatusReporter statusReporter;
private EventBus eventBus;
private MockClock clock = new MockClock();
@@ -85,33 +84,32 @@ public class ActionExecutionStatusReporterTest {
@Before
public void setUp() throws Exception {
- collector = new EventCollector(EventKind.ALL_EVENTS);
- Reporter reporter = new Reporter();
- reporter.addHandler(collector);
- statusReporter = ActionExecutionStatusReporter.create(reporter, clock);
+ events = new EventCollectionApparatus(EventKind.ALL_EVENTS);
+ statusReporter = ActionExecutionStatusReporter.create(events.reporter(), clock);
eventBus = new EventBus();
eventBus.register(statusReporter);
}
private void verifyNoOutput() {
- collector.clear();
+ events.clear();
statusReporter.showCurrentlyExecutingActions("");
- assertEquals(0, collector.count());
+ assertThat(events.collector()).isEmpty();
}
private void verifyOutput(String... lines) throws Exception {
- collector.clear();
+ events.clear();
statusReporter.showCurrentlyExecutingActions("");
assertThat(Splitter.on('\n').omitEmptyStrings().trimResults().split(
- Iterables.getOnlyElement(collector).getMessage().replaceAll(" +", " ")))
+ Iterables.getOnlyElement(events.collector()).getMessage().replaceAll(" +", " ")))
.containsExactlyElementsIn(Arrays.asList(lines)).inOrder();
}
private void verifyWarningOutput(String... lines) throws Exception {
- collector.clear();
+ events.setFailFast(false);
+ events.clear();
statusReporter.warnAboutCurrentlyExecutingActions();
assertThat(Splitter.on('\n').omitEmptyStrings().trimResults().split(
- Iterables.getOnlyElement(collector).getMessage().replaceAll(" +", " ")))
+ Iterables.getOnlyElement(events.collector()).getMessage().replaceAll(" +", " ")))
.containsExactlyElementsIn(Arrays.asList(lines)).inOrder();
}
diff --git a/src/test/java/com/google/devtools/build/lib/events/EventCollectorTest.java b/src/test/java/com/google/devtools/build/lib/events/EventCollectorTest.java
index 7962692e56..df9d72cb9e 100644
--- a/src/test/java/com/google/devtools/build/lib/events/EventCollectorTest.java
+++ b/src/test/java/com/google/devtools/build/lib/events/EventCollectorTest.java
@@ -36,8 +36,7 @@ public class EventCollectorTest extends EventTestTemplate {
@Test
public void usesPassedInCollection() {
Collection<Event> events = new ArrayList<>();
- EventCollector collector =
- new EventCollector(EventKind.ERRORS_AND_WARNINGS, events);
+ EventCollector collector = new EventCollector(EventKind.ERRORS_AND_WARNINGS, events);
collector.handle(event);
Event onlyEvent = events.iterator().next();
assertEquals(event.getMessage(), onlyEvent.getMessage());
@@ -51,8 +50,7 @@ public class EventCollectorTest extends EventTestTemplate {
@Test
public void collectsEvents() {
- EventCollector collector =
- new EventCollector(EventKind.ERRORS_AND_WARNINGS);
+ EventCollector collector = new EventCollector(EventKind.ERRORS_AND_WARNINGS);
collector.handle(event);
Iterator<Event> collectedEventIt = collector.iterator();
Event onlyEvent = collectedEventIt.next();
@@ -63,5 +61,4 @@ public class EventCollectorTest extends EventTestTemplate {
onlyEvent.getLocation().getStartOffset());
assertFalse(collectedEventIt.hasNext());
}
-
}
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 d2fdc5a7c1..d29fea839b 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
@@ -135,6 +135,14 @@ public class EventCollectionApparatus {
return MoreAsserts.assertContainsEvent(eventCollector, expectedMessage, EventKind.WARNING);
}
+ /**
+ * Utility method: Assert that the {@link #collector()} has received an event of the given type
+ * and with the {@code expectedMessage}.
+ */
+ public Event assertContainsEvent(EventKind kind, String expectedMessage) {
+ return MoreAsserts.assertContainsEvent(eventCollector, expectedMessage, kind);
+ }
+
public List<Event> assertContainsEventWithFrequency(String expectedMessage,
int expectedFrequency) {
return MoreAsserts.assertContainsEventWithFrequency(eventCollector, expectedMessage,