On 2019-01-30 17:55, Alexandre (Shura) Iline wrote:
On Jan 30, 2019, at 8:53 AM, Erik Joelsson <erik.joels...@oracle.com> wrote:
On 2019-01-30 06:48, Magnus Ihse Bursie wrote:
On 2019-01-29 17:55, Erik Joelsson wrote:
Hello,
On 2019-01-29 03:12, Magnus Ihse Bursie wrote:
If you are going down this road, you'll need to verify that JCOV_IMAGE_DIR is
not empty in RunTests. So keep the ifneq statement, but with an $(error ...)
instead. Otherwise we'll just fail spectacularly and incomprehensible later on.
This has already gone in with my blessing, but to address your concern.
I don't see why we need to check that it's set in RunTest.gmk? In the local
case, we set JCOV_IMAGE_DIR in spec.gmk so it's guaranteed to be set,
... but only if we configure with --with-jcov.
I'd just like the system to present a comprehensible error message if the user does
something like this: "make test TEST=tier1 TEST_OPTS=JCOV=true", but has not
configured using --with-jcov. Prior to this patch, we ran the tests but without coverage.
This is probably not what was intended, but it didn't crash. Now we're going to get a
malformed command line.
"Error: Unable to access jarfile /lib/jcov.jar" is not a very helpful error
message.
When I test now, something is odd with the "jcov-image" target as well. Even if
you have not run configure with --with-jcov, the target seemingly runs and succeeds, but
no jcov image is generated. Expected behavior would be an error message stating that you
need to use --with-jcov.
Ah I see, but the previously existing conditional only checked if the variable
JCOV_IMAGE_DIR was set, not if the directory it pointed to existed, so it
wasn't any better. We set the variable JCOV_IMAGE_DIR unconditionally in
spec.gmk, so that check would always be true anyway.
What you are asking for is adding a new check that JCOV_HOME is set (this is a
consequence of setting --with-jcov) and that JCOV_IMAGE_DIR actually points to
something valid (this is the result of building jcov-image). It would also be
nice if the jcov-image target failed with a reasonable error if JCOV_HOME
wasn't set. I agree that these checks would be useful.
Yes, I think this pretty much sums up what I'm asking for.
I will fix that, unless somebody else really wants to take it.
Thanks Shura!
Re: the "Error: Unable to access jarfile /lib/jcov.jar" error message; I
got that by running configure without --with-jcov (note that you
automatically get --with-jcov if running using jib), and then running
"make jcov-test TEST=tier1" (or whatever test). This tried to start the
jcov reporter, but JCOV_HOME was not set.
Possibly all jcov operations should be checked that the value of
JCOV_HOME is non-empty, and fail with an error message otherwise. And
the testing should verify that the value of JCOV_IMAGE_DIR is non-empty
and contains bin/java$(EXE_SUFFIX).
/Magnus
Shura.
/Erik
/Magnus
and in the prebuilt case, it's the responsibility of RunTestPrebuilt.gmk to
adjust things for the lack of a proper spec.gmk and in RunTestPrebuilt.gmk we
already check that JDK_IMAGE_DIR points to an existing directory.
/Erik
/Magnus
28 jan. 2019 kl. 18:47 skrev Erik Joelsson <erik.joels...@oracle.com>:
Hello Shura,
In RunTest.gmk, you removed the conditional, but the comment still implies that
it's there. Please update the comment. Otherwise this looks good!
/Erik
On 2019-01-25 15:20, Alexandre (Shura) Iline wrote:
Hi,
Please take a look on a change to allow JCov test execution through jib.
Please notice that this fix also changes behavior of RunTest.gmk when
conflicting combination of options is used. JCOV_IMAGE_DIR is now expected to
be set when TEST_OPTS_JCOV is true.
Shura
Bug: https://bugs.openjdk.java.net/browse/JDK-8217761
Webrev: http://cr.openjdk.java.net/~shurailine/8217761/webrev.02/