On Mon, 24 Mar 2025 10:13:34 GMT, Kevin Walls <kev...@openjdk.org> wrote:

> These tests have always silently permitted a -1 return value from 
> OperatingSystemMXBean CPU time methods.
> 
> They need to be stricter, but occasionally Windows 2019 returns a -1 for the 
> first few calls of these methods.  This seems to be a Windows 2019 bug or 
> peculiarity.  Other Windows versions are not affected.
> 
> GetProcessCpuLoad.java and GetSystemCpuLoad.java need to fail only if the CPU 
> time calls continually return -1.  They should permit -1 values, as long as 
> subsequently a value in the valid range is read.
> 
> The GetProcessCpuTime test also needs to retry enough times to expect no -1 
> values, and not just skip.  While updating this test: it has a maximum 
> expected value of Long.MAX_VALUE, which it may as well reduce to something 
> that does not look like a binary "all ones except for the high bit" value 
> (without creating an ongoing game where we keep increasing the value to avoid 
> failures in slow runs).

test/jdk/com/sun/management/OperatingSystemMXBean/GetProcessCpuLoad.java line 
43:

> 41:         double load;
> 42: 
> 43:         for(int i = 0; i < 10; i++) {

Suggestion:

        for (int i = 0; i < 10; i++) {

test/jdk/com/sun/management/OperatingSystemMXBean/GetSystemCpuLoad.java line 43:

> 41:         double load;
> 42: 
> 43:         for(int i = 0; i < 10; i++) {

Suggestion:

        for (int i = 0; i < 10; i++) {

test/jdk/com/sun/management/OperatingSystemMXBean/GetSystemCpuLoad.java line 49:

> 47:                 // Remember a -1 in case it never gets better.
> 48:                 ex = new RuntimeException("getSystemCpuLoad() returns " + 
> load
> 49:                          +  " which is not in the [0.0,1.0] interval");

Suggestion:

                         + " which is not in the [0.0,1.0] interval");

test/jdk/com/sun/management/OperatingSystemMXBean/GetSystemCpuLoad.java line 53:

> 51:             } else if (load < 0.0 || load > 1.0) {
> 52:                 throw new RuntimeException("getSystemCpuLoad() returns " 
> + load
> 53:                            +  " which is not in the [0.0,1.0] interval");

Suggestion:

                           + " which is not in the [0.0,1.0] interval");

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/24186#discussion_r2010344429
PR Review Comment: https://git.openjdk.org/jdk/pull/24186#discussion_r2010344971
PR Review Comment: https://git.openjdk.org/jdk/pull/24186#discussion_r2010345618
PR Review Comment: https://git.openjdk.org/jdk/pull/24186#discussion_r2010346257

Reply via email to