RFR 8215729: Enhance makefiles to allow collecting code coverage with JCov
Alexandre (Shura) Iline
alexandre.iline at oracle.com
Wed Jan 9 19:46:31 UTC 2019
David,
At least these tests appear to be failing because of extra lines in the error output (showing test names with a line or two from jtr file):
java/io/File/DeleteOnExitNPE.java
java.lang.RuntimeException: Failed: No output should have been received from the process
java/lang/ProcessBuilder/SkipTest.java
java.lang.AssertionError: header char wrong, expected: 65, actual: 80
java/lang/Runtime/exec/ArgWithSpaceAndFinalBackslash.java
java.lang.Exception: Test failed: Got "Picked up JAVA_TOOL_OPTIONS: -Xms64m -Xmx4g
Picked up _JAVA_OPTIONS: -Xms64m -Xmx4g
foo bar\\baz\\", expected "foo bar\\baz\\"
java/lang/Runtime/exec/ExitValue.java
java.lang.Exception: Unexpected stderr: Picked up JAVA_TOOL_OPTIONS: -Xms64m -Xmx4g
Picked up _JAVA_OPTIONS: -Xms64m -Xmx4g
java/lang/Thread/UncaughtExceptions.sh
FAIL: Expected "Exception in thread "Thread-0".*Seppuku", got Picked up JAVA_TOOL_OPTIONS: -Xms64m -Xmx4g
java/net/InetAddress/ptr/Lookup.java
IPv4 lookup results: [192.0.43.7:icann.orgPicked up JAVA_TOOL_OPTIONS: -Xms64m -Xmx4g
Picked up _JAVA_OPTIONS: -Xms64m -Xmx4g
]
java/net/URLConnection/ContentHandlers/ContentHandlersTest.java
java.lang.RuntimeException: Expected a different kind of failure: Picked up JAVA_TOOL_OPTIONS: -Xms64m -Xmx4g
Picked up _JAVA_OPTIONS: -Xms64m -Xmx4g
java/net/spi/URLStreamHandlerProvider/Basic.java
java.lang.RuntimeException: Picked up JAVA_TOOL_OPTIONS: -Xms64m -Xmx4g
Picked up _JAVA_OPTIONS: -Xms64m -Xmx4g
java/nio/channels/spi/SelectorProvider/inheritedChannel/InheritedChannelTest.java
stderr: [Picked up JAVA_TOOL_OPTIONS: -Xms64m -Xmx4g
Picked up _JAVA_OPTIONS: -Xms64m -Xmx4g
Bad response or premature EOF, bytes read:
java.lang.RuntimeException: Bad response or premature EOF from service
java/security/AccessController/DoPrivAccompliceTest.java
java.lang.RuntimeException: stderr was not empty
java/util/logging/LoggingDeadlock2.java
Picked up JAVA_TOOL_OPTIONS: -Xms64m -Xmx4g
Picked up _JAVA_OPTIONS: -Xms64m -Xmx4g
not equal to
java/util/zip/EntryCount64k.java
java.lang.RuntimeException: '\A\Z' missing from stderr
javax/naming/spi/providers/InitialContextTest.java
java.lang.RuntimeException: Expected a different kind of failure: Picked up JAVA_TOOL_OPTIONS: -Xms64m -Xmx4g
Picked up _JAVA_OPTIONS: -Xms64m -Xmx4g
sun/rmi/runtime/Log/6409194/NoConsoleOutput.java
java.lang.Error: TEST FAILED: unexpected subprocess output
sun/tools/jrunscript/jrunscript-eTest.sh
sun/tools/jrunscript/jrunscript-fTest.sh
sun/tools/jrunscript/jrunscriptTest.sh
Output of jrunscript -e differ from expected output. Failed.
tools/jar/LeadingGarbage.java
test LeadingGarbage.test_canListWithLeadingGarbage(): failure
java.lang.RuntimeException: '\\A\\Z' missing from stderr
tools/jar/modularJar/Basic.java
java.lang.AssertionError: Unknown value Picked up JAVA_TOOL_OPTIONS: -Xms64m -Xmx4g
tools/jar/multiRelease/Basic.java
java.lang.RuntimeException: stderr was not empty
tools/jjs/jjs-fileTest.sh
Output of jjs file.js differ from expected output. Failed.
Other failures are:
java/io/CharArrayReader/OverflowInRead.java
java/lang/ProcessBuilder/InheritIO/InheritIO.sh
java/lang/StackTraceElement/ModuleFrames.java
java/lang/StackTraceElement/SerialTest.java
java/lang/StackWalker/VerifyStackTrace.java
java/lang/invoke/lambda/LogGeneratedClassesTest.java
java/net/MulticastSocket/PromiscuousIPv6.java
java/net/URL/JarHandlerPkgPrefix/JarHandlerPkgPrefix.java
java/nio/Buffer/LimitDirectMemory.java
java/nio/channels/DatagramChannel/PromiscuousIPv6.java
java/util/concurrent/locks/Lock/TimedAcquireLeak.java
jdk/internal/misc/VM/RuntimeArguments.java
jdk/modules/etc/JdkQualifiedExportTest.java
tools/jar/multiRelease/ApiValidatorTest.java
Again, a thorough analysis will need to be done - here I just quickly scanned the jtr files.
Shura
> On Jan 8, 2019, at 6:15 PM, David Holmes <David.Holmes at oracle.com> wrote:
>
> Hi Shura,
>
> Sorry not a review just a comment on one thing ...
>
> On 9/01/2019 4:35 am, Alexandre (Shura) Iline wrote:
>> Hi,
>> Could you please take a look on a change which allows to run tests while collecting code coverage with JCov. This is a continuation of work done in
>> JDK-8214309: Enhance makefiles to allow generating JCov instrumented build.
>> This adds make targets jcov-test and others like jcov-test-tier1 etc. After running the tests, one is left with a coverage report and also a data file containing coverage, for further analysis.
>> Part of the changes are related to increasing maximum and initial heap size, which is needed to be done because instrumented classes are bigger in size. The way it is done for JTReg tests is by setting both _JAVA_OPTIONS and JAVA_TOOL_OPTIONS environment variables.
>> As it stands now, not all tests pass while running with code coverage, which pass normally. This particular enhancement is not addressing failing tests. The tests will need to be fixed separately if ever. For example, there are 35 tests which fail in open/test/jdk:jdk_core. A quick look tells that the majority of the failures are in tests which verify error output and discover an unexpected line "Picked up _JAVA_OPTIONS: -Xmx4g”.
>
> We've been bitten in the past with VM warnings causing tests to fail due to the unexpected output and made a conscious effort to fix all such tests. Unfortunately a few still remain. Do your 35 failures match up with the tests in the blocking issues for this bug:
>
> https://bugs.openjdk.java.net/browse/JDK-8196741
>
> ? 35 seems a lot. I hope we haven't regressed in this area.
>
> Thanks,
> David
>
>> Enhancement: https://bugs.openjdk.java.net/browse/JDK-8215729
>> Webrev: http://cr.openjdk.java.net/~shurailine/8215729/webrev.01/
>> Shura
More information about the build-dev
mailing list