i don't think the assumption in that method is correct btw:
https://github.com/apache/netbeans/blob/f117b5568a12b59e085be02076bc2df1be489258/platform/openide.util/test/unit/src/org/openide/util/TaskTest.java#L171
sleep does not make any guarantees that it wakes up right after the
timeout. It only attempts to sleep for at least the timeout - assuming
now RT kernels are in use.
if (delta < 900 || delta > 1100) {
this is going to fail for various load related reasons, even without
having CPU bugs. delta < 900 makes somewhat sense to test for desync
issue I suppose.
-mbien
On 13.05.22 01:06, Łukasz Bownik wrote:
I will create a separate test calling only this method.
On Thu, May 12, 2022, 3:21 PM Michael Bien <[email protected]> wrote:
Hi Lukasz,
I don't know why its there but if i can make a guess:
early multi core CPUs had often timing desyncs between cores (likely
between sockets too). This was somewhat of a problem for realtime
applications like game engines since the time could appear to run
backwards.
once travis is working again, you could change the skipping logic to
fail() and see if it fails somewhere.
if it doesn't for a while, we could remove the code with more
confidence, unless someone thinks we should keep it.
best regards,
michael
On 13.05.22 00:04, Łukasz Bownik wrote:
> Hi.
>
> I stated to clean and extend test cases for
org.openide.util.Task class.
> In the test case I found the canWait1s() method
>
>
https://github.com/apache/netbeans/blob/f117b5568a12b59e085be02076bc2df1be489258/platform/openide.util/test/unit/src/org/openide/util/TaskTest.java#L171
>
> which is used in
>
https://github.com/apache/netbeans/blob/f117b5568a12b59e085be02076bc2df1be489258/platform/openide.util/test/unit/src/org/openide/util/TaskTest.java#L74
>
> to skip the test with the message
> "Skipping
>
testWaitWithTimeOutReturnsAfterTimeOutWhenTheTaskIsNotComputedAtAll,
as the
> computer is not able to wait 1s!"
>
> does anybody know what is the history of this? does it concern
currently
> supported platforms?
>