aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build/lib
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib')
-rw-r--r--src/test/java/com/google/devtools/build/lib/runtime/BuildEventStreamerTest.java14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/runtime/BuildEventStreamerTest.java b/src/test/java/com/google/devtools/build/lib/runtime/BuildEventStreamerTest.java
index a3b5b7e4e1..cda02a7eff 100644
--- a/src/test/java/com/google/devtools/build/lib/runtime/BuildEventStreamerTest.java
+++ b/src/test/java/com/google/devtools/build/lib/runtime/BuildEventStreamerTest.java
@@ -269,7 +269,9 @@ public class BuildEventStreamerTest extends FoundationTestCase {
@Test(timeout = 5000)
public void testSimpleStream() {
// Verify that a well-formed event is passed through and that completion of the
- // build clears the pending progress-update event.
+ // build clears the pending progress-update event. However, there is no guarantee
+ // on the order of the flushed events.
+ // Additionally, assert that the actual last event has the last_message flag set.
EventBusHandler handler = new EventBusHandler();
eventBus.register(handler);
@@ -295,8 +297,14 @@ public class BuildEventStreamerTest extends FoundationTestCase {
List<BuildEvent> finalStream = transport.getEvents();
assertThat(finalStream).hasSize(3);
- assertThat(finalStream.get(1).getEventId()).isEqualTo(BuildEventId.buildFinished());
- assertThat(finalStream.get(2).getEventId()).isEqualTo(ProgressEvent.INITIAL_PROGRESS_UPDATE);
+ assertThat(ImmutableSet.of(finalStream.get(1).getEventId(), finalStream.get(2).getEventId()))
+ .isEqualTo(
+ ImmutableSet.of(BuildEventId.buildFinished(), ProgressEvent.INITIAL_PROGRESS_UPDATE));
+
+ // verify the "last_message" flag.
+ assertThat(transport.getEventProtos().get(0).getLastMessage()).isFalse();
+ assertThat(transport.getEventProtos().get(1).getLastMessage()).isFalse();
+ assertThat(transport.getEventProtos().get(2).getLastMessage()).isTrue();
while (!handler.transportSet.isEmpty()) {
LockSupport.parkNanos(TimeUnit.MILLISECONDS.toNanos(100));