Skip to content

Commit 42780e0

Browse files
committed
Get common root of classes that are in multiple file paths.
1 parent fcea1c6 commit 42780e0

File tree

2 files changed

+5074
-7
lines changed

2 files changed

+5074
-7
lines changed

.circleci/collect_results.sh

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,24 +19,35 @@ if [[ ${#TEST_RESULT_DIRS[@]} -eq 0 ]]; then
1919
exit 0
2020
fi
2121

22-
echo "Saving test results:"
23-
while IFS= read -r -d '' RESULT_XML_FILE
24-
do
25-
echo -n "- $RESULT_XML_FILE"
26-
# Get source file for testcases
22+
function get_source_file () {
2723
FILE_PATH="${RESULT_XML_FILE%%"/build"*}"
2824
FILE_PATH="${FILE_PATH/#"$WORKSPACE_DIR"\//}/src"
2925
if ! [[ $RESULT_XML_FILE == *"#"* ]]; then
3026
CLASS="${RESULT_XML_FILE%.xml}"
3127
CLASS="${CLASS##*"TEST-"}"
3228
CLASS="${CLASS##*"."}"
33-
CLASS_PATH=$(grep -rl "class $CLASS" "$FILE_PATH" | tail -n 1)
34-
FILE_PATH="$CLASS_PATH"
29+
COMMON_ROOT=$(grep -rl "class $CLASS" "$FILE_PATH" | head -n 1)
30+
while IFS= read -r LINE; do
31+
while [[ $LINE != "$COMMON_ROOT"* ]]; do
32+
COMMON_ROOT=$(dirname "$COMMON_ROOT")
33+
if [[ "$COMMON_ROOT" == "$COMMON_ROOT/.." ]]; then
34+
break
35+
fi
36+
done
37+
done < <(grep -rl "class $CLASS" "$FILE_PATH")
38+
FILE_PATH="$COMMON_ROOT"
3539
fi
40+
}
41+
42+
echo "Saving test results:"
43+
while IFS= read -r -d '' RESULT_XML_FILE
44+
do
45+
echo -n "- $RESULT_XML_FILE"
3646
AGGREGATED_FILE_NAME=$(echo "$RESULT_XML_FILE" | rev | cut -d "/" -f 1,2,5 | rev | tr "/" "_")
3747
echo -n " as $AGGREGATED_FILE_NAME"
3848
cp "$RESULT_XML_FILE" "$TEST_RESULTS_DIR/$AGGREGATED_FILE_NAME"
3949
# Insert file attribute to testcase XML nodes
50+
get_source_file
4051
sed -i "/<testcase/ s|\(time=\"[^\"]*\"\)|\1 file=\"$FILE_PATH\"|g" "$TEST_RESULTS_DIR/$AGGREGATED_FILE_NAME"
4152
# Replace Java Object hashCode by marker in testcase XML nodes to get stable test names
4253
sed -i '/<testcase/ s/@[0-9a-f]\{5,\}/@HASHCODE/g' "$TEST_RESULTS_DIR/$AGGREGATED_FILE_NAME"

0 commit comments

Comments
 (0)