diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2024-02-22 12:28:44 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2024-02-22 17:48:23 +0100 |
commit | ee118a5e6977343a03064a0a1a54aee919296a36 (patch) | |
tree | 2cfb12589f16a3f22190b961119d7ad2f3b7a9ce /ridljar | |
parent | ac1bb5eda15dd3033c549a3df9c2c7b4862a6bbc (diff) |
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.grandin@collabora.co.uk>
Diffstat (limited to 'ridljar')
3 files changed, 11 insertions, 7 deletions
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(); } } |