HDDS-2171. Dangling links in test report due to incompatible realpath

Closes #1515
This commit is contained in:
Doroszlai, Attila 2019-09-25 12:02:42 +02:00 committed by Márton Elek
parent c72457787d
commit 8baebb54e1
No known key found for this signature in database
GPG Key ID: D51EA8F00EE79B28
1 changed files with 13 additions and 3 deletions

View File

@ -16,6 +16,16 @@
REPORT_DIR=${REPORT_DIR:-$PWD} REPORT_DIR=${REPORT_DIR:-$PWD}
_realpath() {
if realpath "$@" > /dev/null; then
realpath "$@"
else
local relative_to
relative_to=$(realpath "${1/--relative-to=/}") || return 1
realpath "$2" | sed -e "s@${relative_to}/@@"
fi
}
## generate summary txt file ## generate summary txt file
find "." -name 'TEST*.xml' -print0 \ find "." -name 'TEST*.xml' -print0 \
| xargs -n1 -0 "grep" -l -E "<failure|<error" \ | xargs -n1 -0 "grep" -l -E "<failure|<error" \
@ -41,7 +51,7 @@ while IFS= read -r -d '' dir; do
DIR_OF_TESTFILE=$(dirname "$file") DIR_OF_TESTFILE=$(dirname "$file")
NAME_OF_TESTFILE=$(basename "$file") NAME_OF_TESTFILE=$(basename "$file")
NAME_OF_TEST="${NAME_OF_TESTFILE%.*}" NAME_OF_TEST="${NAME_OF_TESTFILE%.*}"
DESTDIRNAME=$(realpath --relative-to="$PWD" "$DIR_OF_TESTFILE/../..") DESTDIRNAME=$(_realpath --relative-to="$PWD" "$DIR_OF_TESTFILE/../..") || continue
mkdir -p "$REPORT_DIR/$DESTDIRNAME" mkdir -p "$REPORT_DIR/$DESTDIRNAME"
#shellcheck disable=SC2086 #shellcheck disable=SC2086
cp -r "$DIR_OF_TESTFILE"/*$NAME_OF_TEST* "$REPORT_DIR/$DESTDIRNAME/" cp -r "$DIR_OF_TESTFILE"/*$NAME_OF_TEST* "$REPORT_DIR/$DESTDIRNAME/"
@ -55,8 +65,8 @@ for TEST_RESULT_FILE in $(find "$REPORT_DIR" -name "*.txt" | grep -v output); do
FAILURES=$(grep FAILURE "$TEST_RESULT_FILE" | grep "Tests run" | awk '{print $18}' | sort | uniq) FAILURES=$(grep FAILURE "$TEST_RESULT_FILE" | grep "Tests run" | awk '{print $18}' | sort | uniq)
for FAILURE in $FAILURES; do for FAILURE in $FAILURES; do
TEST_RESULT_LOCATION="$(realpath --relative-to="$REPORT_DIR" "$TEST_RESULT_FILE")" TEST_RESULT_LOCATION="$(_realpath --relative-to="$REPORT_DIR" "$TEST_RESULT_FILE")"
TEST_OUTPUT_LOCATION="${TEST_RESULT_LOCATION//.txt/-output.txt/}" TEST_OUTPUT_LOCATION="${TEST_RESULT_LOCATION//.txt/-output.txt}"
printf " * [%s](%s) ([output](%s))\n" "$FAILURE" "$TEST_RESULT_LOCATION" "$TEST_OUTPUT_LOCATION" >> "$SUMMARY_FILE" printf " * [%s](%s) ([output](%s))\n" "$FAILURE" "$TEST_RESULT_LOCATION" "$TEST_OUTPUT_LOCATION" >> "$SUMMARY_FILE"
done done
done done