ridljar/test/com/sun/star/lib/uno/environments/remote/JobQueue_Test.java | 4 ++-- ridljar/test/com/sun/star/lib/uno/environments/remote/TestWorkAt.java | 6 +++++- ridljar/test/com/sun/star/lib/uno/environments/remote/ThreadPool_Test.java | 8 ++++---- 3 files changed, 11 insertions(+), 7 deletions(-)
New commits: commit ee118a5e6977343a03064a0a1a54aee919296a36 Author: Noel Grandin <noel.gran...@collabora.co.uk> AuthorDate: Thu Feb 22 12:28:44 2024 +0200 Commit: Noel Grandin <noel.gran...@collabora.co.uk> CommitDate: Thu Feb 22 17:48:23 2024 +0100 fix dodgy unit test Testing a field which is being modified inside a synchronized block, outside of such a block, is going to lead to weird ordering issues when running a highly parallel test like this, so test the flag inside a synchronized block. Failure manifested as: JUnit version 4.13.2 ........E........... Time: 17,27 There was 1 failure: 1) testStaticThreadExecutesAsyncs(com.sun.star.lib.uno.environments.remote.JobQueue_Test) java.lang.AssertionError: expected:<35> but was:<34> at org.junit.Assert.fail(Assert.java:89) at org.junit.Assert.failNotEquals(Assert.java:835) at org.junit.Assert.assertEquals(Assert.java:647) at org.junit.Assert.assertEquals(Assert.java:633) at com.sun.star.lib.uno.environments.remote.TestWorkAt.passedAsyncTest(TestWorkAt.java:75) at com.sun.star.lib.uno.environments.remote.JobQueue_Test.testAsyncJobQueue(JobQueue_Test.java:180) at com.sun.star.lib.uno.environments.remote.JobQueue_Test.testStaticThreadExecutesAsyncs(JobQueue_Test.java:121) FAILURES!!! Tests run: 19, Failures: 1 Change-Id: Iad980aea1245bfd8ee89887b175eb9dc17643778 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163727 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> diff --git a/ridljar/test/com/sun/star/lib/uno/environments/remote/JobQueue_Test.java b/ridljar/test/com/sun/star/lib/uno/environments/remote/JobQueue_Test.java index a63c9c7ed6ba..aae787fed040 100644 --- a/ridljar/test/com/sun/star/lib/uno/environments/remote/JobQueue_Test.java +++ b/ridljar/test/com/sun/star/lib/uno/environments/remote/JobQueue_Test.java @@ -150,7 +150,7 @@ public final class JobQueue_Test { "notifyme"), true, null, false, null, null)), null); - while (!workAt._notified) { + while (!workAt.isNotified()) { workAt.wait(); } } @@ -173,7 +173,7 @@ public final class JobQueue_Test { __workAt_td.getMethodDescription("notifyme"), true, null, false, null, null)), null); - while (!workAt._notified) { + while (!workAt.isNotified()) { workAt.wait(); } } diff --git a/ridljar/test/com/sun/star/lib/uno/environments/remote/TestWorkAt.java b/ridljar/test/com/sun/star/lib/uno/environments/remote/TestWorkAt.java index 93297815cb9e..8f91e4ba3c54 100644 --- a/ridljar/test/com/sun/star/lib/uno/environments/remote/TestWorkAt.java +++ b/ridljar/test/com/sun/star/lib/uno/environments/remote/TestWorkAt.java @@ -36,7 +36,7 @@ class TestWorkAt implements TestIWorkAt { int _async_counter; private boolean _passedAsync = true; - boolean _notified = false; + private boolean _notified = false; public synchronized void syncCall() throws Throwable { ++ _sync_counter; @@ -71,6 +71,10 @@ class TestWorkAt implements TestIWorkAt { _notified = true; } + public synchronized boolean isNotified() { + return _notified; + } + public synchronized boolean passedAsyncTest() { assertEquals(MESSAGES, _sync_counter); assertTrue(_passedAsync); diff --git a/ridljar/test/com/sun/star/lib/uno/environments/remote/ThreadPool_Test.java b/ridljar/test/com/sun/star/lib/uno/environments/remote/ThreadPool_Test.java index 7da68db23f0e..c97ebd0c209c 100644 --- a/ridljar/test/com/sun/star/lib/uno/environments/remote/ThreadPool_Test.java +++ b/ridljar/test/com/sun/star/lib/uno/environments/remote/ThreadPool_Test.java @@ -74,7 +74,7 @@ public class ThreadPool_Test { synchronized(workAt) { putJob(workAt, false, threadId, "notifyme"); - while(!workAt._notified) { + while(!workAt.isNotified()) { workAt.wait(); } } @@ -96,7 +96,7 @@ public class ThreadPool_Test { synchronized(workAt) { putJob(workAt, true, threadId, "notifyme"); - while(!workAt._notified) { + while(!workAt.isNotified()) { workAt.wait(); } } @@ -164,7 +164,7 @@ public class ThreadPool_Test { synchronized(workAt) { putJob(workAt, true, threadId, "notifyme"); - while(!workAt._notified) { + while(!workAt.isNotified()) { workAt.wait(); } } @@ -326,7 +326,7 @@ public class ThreadPool_Test { synchronized(workAt) { putJob(workAt, false, threadId, "notifyme"); - while(!workAt._notified) { + while(!workAt.isNotified()) { workAt.wait(); } }