[enco] Write caffe test log to a file (#2103)
author박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 <jh1302.park@samsung.com>
Fri, 2 Nov 2018 06:52:56 +0000 (15:52 +0900)
committerGitHub Enterprise <noreply-CODE@samsung.com>
Fri, 2 Nov 2018 06:52:56 +0000 (15:52 +0900)
This commit revises 'runall' script (in enco caffe test framework) to
log all the output (stdout/stderr) to a file to make it easy to
diagnose test failure.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
contrib/enco/test/caffe/runall

index 84f942c..a788363 100755 (executable)
@@ -29,30 +29,42 @@ while [[ $# -ne 0 ]]; do
 
   TESTED+=("${PREFIX}")
 
-  echo "-- Found prototxt: ${PREFIX}.prototxt"
-  echo "-- Found caffemodel: ${PREFIX}.caffemodel"
-  echo "-- Found backend: lib${PREFIX}.so"
-
-  "${NNI_PATH}" \
-    --backend "${REFERENCE_BACKEND_PATH}" \
-    --backend-arg "${WORKDIR}/${PREFIX}.prototxt" \
-    --backend-arg "${WORKDIR}/${PREFIX}.caffemodel" \
-    --pre "${RANDOMIZE_ACTION_PATH}" \
-    --pre "${HDF5_EXPORT_ACTION_PATH}" \
-    --pre-arg "${PREFIX}.input.h5" \
-    --post "${HDF5_EXPORT_ACTION_PATH}" \
-    --post-arg "${PREFIX}.expected.h5"
-
-  "${NNI_PATH}" \
-    --backend "./lib${PREFIX}.so" \
-    --pre "${HDF5_IMPORT_ACTION_PATH}" \
-    --pre-arg "${PREFIX}.input.h5" \
-    --post "${HDF5_EXPORT_ACTION_PATH}" \
-    --post-arg "${PREFIX}.obtained.h5"
-
-  h5diff -d 0.001 "${PREFIX}.expected.h5" "${PREFIX}.obtained.h5"
-
-  if [[ $? -eq 0 ]]; then
+  PASSED_TAG="${PREFIX}.passed"
+
+  rm -f "${PASSED_TAG}"
+
+  cat > "${PREFIX}.log" <(
+    exec 2>&1
+
+    echo "-- Found prototxt: ${PREFIX}.prototxt"
+    echo "-- Found caffemodel: ${PREFIX}.caffemodel"
+    echo "-- Found backend: lib${PREFIX}.so"
+
+    "${NNI_PATH}" \
+      --backend "${REFERENCE_BACKEND_PATH}" \
+      --backend-arg "${WORKDIR}/${PREFIX}.prototxt" \
+      --backend-arg "${WORKDIR}/${PREFIX}.caffemodel" \
+      --pre "${RANDOMIZE_ACTION_PATH}" \
+      --pre "${HDF5_EXPORT_ACTION_PATH}" \
+      --pre-arg "${PREFIX}.input.h5" \
+      --post "${HDF5_EXPORT_ACTION_PATH}" \
+      --post-arg "${PREFIX}.expected.h5"
+
+    "${NNI_PATH}" \
+      --backend "./lib${PREFIX}.so" \
+      --pre "${HDF5_IMPORT_ACTION_PATH}" \
+      --pre-arg "${PREFIX}.input.h5" \
+      --post "${HDF5_EXPORT_ACTION_PATH}" \
+      --post-arg "${PREFIX}.obtained.h5"
+
+    h5diff -d 0.001 "${PREFIX}.expected.h5" "${PREFIX}.obtained.h5"
+
+    if [[ $? -eq 0 ]]; then
+      touch "${PASSED_TAG}"
+    fi
+  )
+
+  if [[ -f "${PASSED_TAG}" ]]; then
     PASSED+=("$PREFIX")
   else
     FAILED+=("$PREFIX")