chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
#!/bin/bash
|
||||
set -exo pipefail
|
||||
|
||||
JAVA_CALL="java"
|
||||
TEST_RUNNER_PREFIX="valgrind"
|
||||
# Find libjvm.so
|
||||
if [[ -n $LIBJVM_SO ]]; then
|
||||
LIBJVM_PATH=$LIBJVM_SO
|
||||
else
|
||||
JAVA_REAL_PATH=$(readlink -f $(which java))
|
||||
JAVA_HOME=$(dirname $(dirname $JAVA_REAL_PATH))
|
||||
LIBJVM_PATH=$(find $JAVA_HOME -type f -name "libjvm.so" | grep "/server/" | head -n 1)
|
||||
fi
|
||||
|
||||
# If libjvm.so not found, terminate
|
||||
if [[ -z $LIBJVM_PATH ]]; then
|
||||
echo "libjvm.so not found"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# If TEST_RUNNER_PREFIX is not empty and contains "valgrind"
|
||||
if [[ -n $TEST_RUNNER_PREFIX && $TEST_RUNNER_PREFIX =~ "valgrind" ]]; then
|
||||
# Create a file to store the suppression information
|
||||
SUPPRESSION_FILE="valgrind_suppressions.supp"
|
||||
|
||||
# If suppression file exists, delete it
|
||||
if [[ -f $SUPPRESSION_FILE ]]; then
|
||||
rm -f $SUPPRESSION_FILE
|
||||
fi
|
||||
|
||||
# Generate the suppression file for all memcheck error types except Param
|
||||
echo "Generating Valgrind suppression file at $SUPPRESSION_FILE..."
|
||||
for error_type in Addr1 Addr2 Addr4 Addr8 Value1 Value2 Value4 Value8 Jump Cond
|
||||
do
|
||||
cat << EOF >> $SUPPRESSION_FILE
|
||||
{
|
||||
SuppressLibJvm${error_type}
|
||||
Memcheck:${error_type}
|
||||
...
|
||||
obj:$LIBJVM_PATH
|
||||
}
|
||||
EOF
|
||||
done
|
||||
|
||||
echo "Valgrind suppression file has been generated."
|
||||
|
||||
# Check if "--suppressions" already exists in TEST_RUNNER_PREFIX
|
||||
if [[ $TEST_RUNNER_PREFIX != *"--suppressions"* ]]; then
|
||||
TEST_RUNNER_PREFIX="$TEST_RUNNER_PREFIX --suppressions=$SUPPRESSION_FILE --track-origins=yes --keep-stacktraces=alloc-and-free --error-limit=no"
|
||||
fi
|
||||
|
||||
JAVA_CALL="${JAVA_CALL} -Djava.compiler=NONE"
|
||||
fi
|
||||
|
||||
|
||||
# Print the final command
|
||||
echo "$TEST_RUNNER_PREFIX $JAVA_CALL $@"
|
||||
export MALLOC_CHECK_=3
|
||||
# Execute the command
|
||||
|
||||
$TEST_RUNNER_PREFIX $JAVA_CALL -Djava.compiler=NONE -cp /home/agibsonccc/Downloads/junit-platform-console-standalone-1.9.3.jar \
|
||||
org.junit.platform.console.ConsoleLauncher -cp=target/platform-tests-1.0.0-SNAPSHOT-shaded.jar \
|
||||
-c=org.eclipse.deeplearning4j.dl4jcore.gradientcheck.CNN1DGradientCheckTest
|
||||
|
||||
# If TEST_RUNNER_PREFIX is not empty and contains "valgrind", remove the suppression file
|
||||
if [[ -n $TEST_RUNNER_PREFIX && $TEST_RUNNER_PREFIX =~ "valgrind" ]]; then
|
||||
rm -f $SUPPRESSION_FILE
|
||||
fi
|
||||
|
||||
|
||||
Reference in New Issue
Block a user