| 
7 | 7 | #Enable '**' support  | 
8 | 8 | shopt -s globstar  | 
9 | 9 | 
 
  | 
10 |  | -TEST_RESULTS_DIR=./results  | 
11 |  | -mkdir -p $TEST_RESULTS_DIR >/dev/null 2>&1  | 
12 |  | - | 
 | 10 | +TEST_RESULTS_DIR=results  | 
 | 11 | +WORKSPACE_DIR=workspace  | 
13 | 12 | mkdir -p $TEST_RESULTS_DIR  | 
 | 13 | +mkdir -p $WORKSPACE_DIR  | 
14 | 14 | 
 
  | 
15 |  | -mkdir -p workspace  | 
16 |  | -mapfile -t test_result_dirs < <(find workspace -name test-results -type d)  | 
 | 15 | +mapfile -t TEST_RESULT_DIRS < <(find $WORKSPACE_DIR -name test-results -type d)  | 
17 | 16 | 
 
  | 
18 |  | -if [[ ${#test_result_dirs[@]} -eq 0 ]]; then  | 
 | 17 | +if [[ ${#TEST_RESULT_DIRS[@]} -eq 0 ]]; then  | 
19 | 18 |   echo "No test results found"  | 
20 | 19 |   exit 0  | 
21 | 20 | fi  | 
22 | 21 | 
 
  | 
23 |  | -echo "saving test results"  | 
24 |  | -find "${test_result_dirs[@]}" -name \*.xml -exec sh -c '  | 
25 |  | -  file=$(echo "$0" | rev | cut -d "/" -f 1,2,5 | rev | tr "/" "_")  | 
26 |  | -  cp "$0" "$1/$file"' {} $TEST_RESULTS_DIR \;  | 
 | 22 | +echo "Saving test results:"  | 
 | 23 | +while IFS= read -r -d '' RESULT_XML_FILE  | 
 | 24 | +do  | 
 | 25 | +  echo -n "- $RESULT_XML_FILE"  | 
 | 26 | +  AGGREGATED_FILE_NAME=$(echo "$RESULT_XML_FILE" | rev | cut -d "/" -f 1,2,5 | rev | tr "/" "_")  | 
 | 27 | +  echo -n " as $AGGREGATED_FILE_NAME"  | 
 | 28 | +  cp "$RESULT_XML_FILE" "$TEST_RESULTS_DIR/$AGGREGATED_FILE_NAME"  | 
 | 29 | +  # Replace Java Object hashCode by marker in testcase XML nodes to get stable test names  | 
 | 30 | +  sed -i '/<testcase/ s/@[0-9a-f]\{5,\}/@HASHCODE/g' "$TEST_RESULTS_DIR/$AGGREGATED_FILE_NAME"  | 
 | 31 | +  if cmp -s "$RESULT_XML_FILE" "$TEST_RESULTS_DIR/$AGGREGATED_FILE_NAME"; then  | 
 | 32 | +    echo ""  | 
 | 33 | +  else  | 
 | 34 | +    echo " (hashCode replaced)"  | 
 | 35 | +  fi  | 
 | 36 | +done <   <(find "${TEST_RESULT_DIRS[@]}" -name \*.xml -print0)  | 
0 commit comments