SNAPSHOT_SYSCTL_FILE="${WS_TEST}/snapshot_sysctl_${TARGET}-${PROFILE}"
SCREENSHOT_DIFF_FILE="${IMG_WORKDIR}/diff.png"
TAG_FILE="${IMG_WORKDIR}/tag"
+XML_FILE="${IMG_WORKDIR}/testresult_${TARGET}.xml"
SNAPSHOT_JSON="${WS_TEST}/snapshot_avocado-${TARGET}.json"
PRERELEASE_JSON="${IMG_WORKDIR}/avocado-results/latest/results.json"
+update_symlink() {
+ test -f "$1" && ln -Tsf "$1" "$2"
+}
+
if grep -q "Snapshot" "${DIFF_FILE}"
then
echo "Processing snapshot: skip comparison, link new results"
- ln -Tsf "$SYSCTL_FILE" "$SNAPSHOT_SYSCTL_FILE"
- ln -Tsf "$PRERELEASE_JSON" "$SNAPSHOT_JSON"
- ln -Tsf "$SCREENSHOT_FILE" "$SNAPSHOT_SCREENSHOT_FILE"
+ update_symlink "$SYSCTL_FILE" "$SNAPSHOT_SYSCTL_FILE"
+ update_symlink "$PRERELEASE_JSON" "$SNAPSHOT_JSON"
+ update_symlink "$SCREENSHOT_FILE" "$SNAPSHOT_SCREENSHOT_FILE"
SNAPSHOT_WS_DOWNLOAD_NEW_PROFILE="${SNAPSHOT_WS_DOWNLOAD_NEW}-${PROFILE}"
test -L "${SNAPSHOT_WS_DOWNLOAD_NEW_PROFILE}" && mv -T "${SNAPSHOT_WS_DOWNLOAD_NEW_PROFILE}" "${SNAPSHOT_WS_DOWNLOAD}-${PROFILE}"
TAG="Snapshot"
echo "Compare screenshots"
SCREENSHOT_DIFF="$(compare "${SCREENSHOT_FILE}" "${SNAPSHOT_SCREENSHOT_FILE}" -metric phash "${SCREENSHOT_DIFF_FILE}" 2>&1)" \
&& SCREENSHOT_DIFF="${SCREENSHOT_DIFF%.*}" \
- || echo "Command failed: compare"
+ || {
+ echo "Command failed: compare"
+ SCREENSHOT_DIFF=""
+ }
fi
AVOCADO_TAG=$("${TSP_DIR}/scripts/publish_cmp.py" "$SNAPSHOT_JSON" "$PRERELEASE_JSON")
else
test -n "$AVOCADO_TAG" || AVOCADO_TAG="$TAG"
-if [ "$AVOCADO_TAG" = "OK" ] && [ -n "$SCREENSHOT_DIFF" ] && [ "$SCREENSHOT_DIFF" -gt 0 ]
+OVERALL_TAG="$AVOCADO_TAG"
+SCREENSHOT_TAG="Fail"
+
+if [ -n "$SCREENSHOT_DIFF" ]
then
- echo "Screenshots are different, overwrite AVOCADO_TAG"
- AVOCADO_TAG="Unclear"
+ if [ "$SCREENSHOT_DIFF" -gt 0 ]
+ then
+ echo "Screenshots are different, overwrite AVOCADO_TAG"
+ SCREENSHOT_TAG="Unclear"
+ OVERALL_TAG="Unclear"
+ else
+ SCREENSHOT_TAG="OK"
+ fi
fi
echo "SR: $SR"
-echo "TAG: $TAG"
+echo "SMOKE_TAG: $TAG"
echo "AVOCADO_TAG: $AVOCADO_TAG"
+echo "SCREENSHOT_TAG: $SCREENSHOT_TAG"
+echo "OVERALL_TAG: $OVERALL_TAG"
echo "TARGET: $TARGET"
echo "PROFILE: $PROFILE"
+case "$TAG" in
+ *Fail*|*Unclear*|*OK*)
+ if [ -x "${TSP_DIR}/scripts/publish_hook.sh" ]
+ then
+ . "${TSP_DIR}/scripts/publish_hook.sh"
+ fi
+ ;;
+ *)
+ echo "not a test result. ignoring..."
+ ;;
+esac
+
# Publish to database
-update_db "$SR" "$AVOCADO_TAG" "$BUILD_NR" "$TARGET"
+update_db "$SR" "$OVERALL_TAG" "$BUILD_NR" "$TARGET"
# Remove all queued WWW jobs
for i in $(tsresults | grep "queued.*WWW" | grep -o "^[0-9]*")