diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 143db92..3948d36 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -113,11 +113,11 @@ jobs: run: cmake --build build --config $BUILD_TYPE --target test-jnigen - name: Upload JDK crashes - if: always() && matrix.os == 'windows-latest' + if: failure() && matrix.os == 'windows-latest' uses: actions/upload-artifact@v4 with: if-no-files-found: ignore - name: JNI_Crash_Logs + name: JNI_Crash_Logs_${{ matrix }} path: | tests/build/hs_*.log tests/build/hs_*.mdmp diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index ac089c4..afcd220 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -57,9 +57,15 @@ if (${CMAKE_SYSTEM_NAME} STREQUAL Android) else() + if (Java_VERSION VERSION_GREATER_EQUAL 9) + + set(SMJNITEST_JAVA_ARGS "-XX:+CreateCoredumpOnCrash") + + endif() + add_custom_target(test-native ALL DEPENDS javabuild smjnitests - COMMAND ${Java_JAVA_EXECUTABLE} -Djava.library.path=$ -jar smjnitests.jar + COMMAND ${Java_JAVA_EXECUTABLE} ${SMJNITEST_JAVA_ARGS} -Djava.library.path=$ -jar smjnitests.jar WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/build )