summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaushik Lingarkar <quic_kaushikl@quicinc.com>2023-03-06 16:01:18 -0800
committerMatthias Sohn <matthias.sohn@sap.com>2023-03-30 22:25:53 +0200
commitd7400517bf2744937746ac2912c93eb8d172ed28 (patch)
treeb74b6ff7bea4e0d6b3f05dbdbef7d95e11c84030
parent47f2f3613c222c21b47b031316414e09a66c8a0c (diff)
downloadjgit-d7400517bf2744937746ac2912c93eb8d172ed28.tar.gz
jgit-d7400517bf2744937746ac2912c93eb8d172ed28.zip
Fix RefDirectoryTest.testGetRefs_LooseSorting_Bug_348834
Since the first attempt to read a ref is not expected to trigger a RefsChangedEvent, update the test to ensure 'lastNotifiedModCnt' is not 0 before we start the actual work. The test has been passing luckily because createBareRepository in setUp() happens to bump 'lastNotifiedModCnt'. Change-Id: Ibd981f677920e8c3b965aa742fe669c42b8c1c93 Signed-off-by: Kaushik Lingarkar <quic_kaushikl@quicinc.com>
-rw-r--r--org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/RefDirectoryTest.java23
1 files changed, 16 insertions, 7 deletions
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/RefDirectoryTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/RefDirectoryTest.java
index 4b80f18970..f2b4b484b6 100644
--- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/RefDirectoryTest.java
+++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/RefDirectoryTest.java
@@ -555,10 +555,6 @@ public class RefDirectoryTest extends LocalDiskRepositoryTestCase {
@Test
public void testGetRefs_LooseSorting_Bug_348834() throws IOException {
Map<String, Ref> refs;
-
- writeLooseRef("refs/heads/my/a+b", A);
- writeLooseRef("refs/heads/my/a/b/c", B);
-
final int[] count = new int[1];
ListenerHandle listener = Repository.getGlobalListenerList()
@@ -566,14 +562,27 @@ public class RefDirectoryTest extends LocalDiskRepositoryTestCase {
count[0]++;
});
+ // RefsChangedEvent on the first attempt to read a ref is not expected
+ // to be triggered (See Iea3a5035b0a1410b80b09cf53387b22b78b18018), so
+ // create an update and fire pending events to ensure subsequent events
+ // are fired.
+ writeLooseRef("refs/heads/test", A);
refs = refdir.getRefs(RefDatabase.ALL);
+ count[0] = 0;
+ int origSize = refs.size();
+
+ writeLooseRef("refs/heads/my/a+b", A);
+ writeLooseRef("refs/heads/my/a/b/c", B);
+
refs = refdir.getRefs(RefDatabase.ALL);
- listener.remove();
- assertEquals(1, count[0]); // Bug 348834 multiple RefsChangedEvents
- assertEquals(2, refs.size());
+ assertEquals(1, count[0]);
+ assertEquals(2, refs.size() - origSize);
assertEquals(A, refs.get("refs/heads/my/a+b").getObjectId());
assertEquals(B, refs.get("refs/heads/my/a/b/c").getObjectId());
+ refs = refdir.getRefs(RefDatabase.ALL);
+ assertEquals(1, count[0]); // Bug 348834 multiple RefsChangedEvents
+ listener.remove();
}
@Test