Details
-
Bug
-
Resolution: Fixed
-
P4
-
17, 21, 22
-
b22
Description
If you run any of the current gtests with macos-aarch64-zero, it would fail as:
```
% CONF=macosx-aarch64-zero-fastdebug make exploded-test TEST=gtest:Atomic
Using exact match for CONF=macosx-aarch64-zero-fastdebug (other matches are possible)
Building target 'exploded-test' in configuration 'macosx-aarch64-zero-fastdebug'
Updating support/modules_libs/java.base/zero/libjvm.dylib due to 1 file(s)
Test selection 'gtest:Atomic', will run:
* gtest:Atomic/zero
Running test 'gtest:Atomic/zero'
Note: Google Test filter = Atomic*
[==========] Running 16 tests from 6 test suites.
[----------] Global test environment set-up.
[----------] 3 tests from AtomicAddTest
[ RUN ] AtomicAddTest.int32_vm
Error occurred during initialization of VM
Failed setting boot class path.
Finished running test 'gtest:Atomic/zero'
Test report is stored in build/macosx-aarch64-zero-fastdebug/test-results/gtest_Atomic_zero
```
The reason seems to be that the BSD specific code adds either `client` or `server` to the JDK path, while zero is actually in `zero`. This breaks VM code that expects libjvm.dylib to be found.
```
% CONF=macosx-aarch64-zero-fastdebug make exploded-test TEST=gtest:Atomic
Using exact match for CONF=macosx-aarch64-zero-fastdebug (other matches are possible)
Building target 'exploded-test' in configuration 'macosx-aarch64-zero-fastdebug'
Updating support/modules_libs/java.base/zero/libjvm.dylib due to 1 file(s)
Test selection 'gtest:Atomic', will run:
* gtest:Atomic/zero
Running test 'gtest:Atomic/zero'
Note: Google Test filter = Atomic*
[==========] Running 16 tests from 6 test suites.
[----------] Global test environment set-up.
[----------] 3 tests from AtomicAddTest
[ RUN ] AtomicAddTest.int32_vm
Error occurred during initialization of VM
Failed setting boot class path.
Finished running test 'gtest:Atomic/zero'
Test report is stored in build/macosx-aarch64-zero-fastdebug/test-results/gtest_Atomic_zero
```
The reason seems to be that the BSD specific code adds either `client` or `server` to the JDK path, while zero is actually in `zero`. This breaks VM code that expects libjvm.dylib to be found.