RFR: JDK-8247573 gtest/GTestWrapper.java is not helpful if gtest framework is missing

Magnus Ihse Bursie magnus.ihse.bursie at oracle.com
Tue Jun 23 14:37:01 UTC 2020


If you run |make test TEST=jtreg:gtest/GTestWrapper.java| but had not 
built using the gtest framework, you would just get a result like this:

|STDERR: java.lang.Error: TESTBUG: the library has not been found in 
/home/shade/trunks/jdk-jdk/build/linux-x86_64-server-fastdebug/images/test/hotspot/jtreg/native 
at GTestWrapper.main(GTestWrapper.java:60) at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native 
Method) at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64) 
at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.base/java.lang.reflect.Method.invoke(Method.java:564) at 
com.sun.javatest.regtest.agent.MainActionHelper$AgentVMRunnable.run(MainActionHelper.java:298) 
at java.base/java.lang.Thread.run(Thread.java:832) JavaTest Message: 
Test threw exception: java.lang.Error JavaTest Message: shutting down test |

This is not very helpful in analyzing the problem. I have added a 
helpful suggestion to the exception.

Bug: https://bugs.openjdk.java.net/browse/JDK-8247573
Patch inline:

|diff --git a/test/hotspot/jtreg/gtest/GTestWrapper.java 
b/test/hotspot/jtreg/gtest/GTestWrapper.java --- 
a/test/hotspot/jtreg/gtest/GTestWrapper.java +++ 
b/test/hotspot/jtreg/gtest/GTestWrapper.java @@ -1,5 +1,5 @@ /* - * 
Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights 
reserved. + * Copyright (c) 2016, 2020, Oracle and/or its affiliates. 
All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS 
FILE HEADER. * * This code is free software; you can redistribute it 
and/or modify it @@ -57,7 +57,7 @@ .resolve(jvmVariantDir); } if 
(!path.toFile().exists()) { - throw new Error("TESTBUG: the library has 
not been found in " + nativePath); + throw new Error("TESTBUG: the 
library has not been found in " + nativePath + ". Did you forget to use 
--with-gtest to configure?"); } Path execPath = 
path.resolve("gtestLauncher" + (Platform.isWindows() ? ".exe" : "")); |

/Magnus

​



More information about the build-dev mailing list