Fix flaky test.
Change-Id: I5aea5b3ccf1db34d506a5f9f0dbb220c1e9aa8fb
diff --git a/src/test/java/com/googlesource/gerrit/plugins/automerger/DownstreamCreatorIT.java b/src/test/java/com/googlesource/gerrit/plugins/automerger/DownstreamCreatorIT.java
index 728ee7c..bd37fe2 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/automerger/DownstreamCreatorIT.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/automerger/DownstreamCreatorIT.java
@@ -138,7 +138,7 @@
List<ChangeInfo> changesInTopic =
gApi.changes()
.query("topic: " + gApi.changes().id(result.getChangeId()).topic())
- .withOption(ListChangesOption.CURRENT_REVISION)
+ .withOptions(ListChangesOption.CURRENT_REVISION, ListChangesOption.CURRENT_COMMIT)
.get();
assertThat(changesInTopic).hasSize(5);
// +2 and submit
@@ -186,12 +186,32 @@
.isEqualTo("[automerger] " + masterSubject + " am: " + shortMasterSha);
assertThat(rightChangeInfo.subject)
.isEqualTo("[automerger] " + masterSubject + " am: " + shortMasterSha);
- assertThat(bottomChangeInfoA.subject)
- .isEqualTo(
- "[automerger] " + masterSubject + " am: " + shortMasterSha + " am: " + shortLeftSha);
- assertThat(bottomChangeInfoB.subject)
- .isEqualTo(
- "[automerger] " + masterSubject + " am: " + shortMasterSha + " am: " + shortRightSha);
+
+ // Either bottomChangeInfoA came from left and bottomChangeInfoB came from right, or vice versa
+ // We don't know which, so we use the if condition to check
+ String bottomChangeInfoASecondParent =
+ bottomChangeInfoA
+ .revisions
+ .get(bottomChangeInfoA.currentRevision)
+ .commit
+ .parents
+ .get(1)
+ .commit;
+ if (bottomChangeInfoASecondParent.equals(leftChangeInfo.currentRevision)) {
+ assertThat(bottomChangeInfoA.subject)
+ .isEqualTo(
+ "[automerger] " + masterSubject + " am: " + shortMasterSha + " am: " + shortLeftSha);
+ assertThat(bottomChangeInfoB.subject)
+ .isEqualTo(
+ "[automerger] " + masterSubject + " am: " + shortMasterSha + " am: " + shortRightSha);
+ } else {
+ assertThat(bottomChangeInfoA.subject)
+ .isEqualTo(
+ "[automerger] " + masterSubject + " am: " + shortMasterSha + " am: " + shortRightSha);
+ assertThat(bottomChangeInfoB.subject)
+ .isEqualTo(
+ "[automerger] " + masterSubject + " am: " + shortMasterSha + " am: " + shortLeftSha);
+ }
}
@Test