diff options
author | Kaushik Lingarkar <quic_kaushikl@quicinc.com> | 2023-03-06 16:01:18 -0800 |
---|---|---|
committer | Matthias Sohn <matthias.sohn@sap.com> | 2023-03-30 22:25:53 +0200 |
commit | d7400517bf2744937746ac2912c93eb8d172ed28 (patch) | |
tree | b74b6ff7bea4e0d6b3f05dbdbef7d95e11c84030 | |
parent | 47f2f3613c222c21b47b031316414e09a66c8a0c (diff) | |
download | jgit-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.java | 23 |
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 |