runtest: Don't worry about how implementation echoes input
[jackhill/mal.git] / .travis_test.sh
index 2c063fa..3d1d107 100755 (executable)
@@ -7,7 +7,7 @@ IMPL=${2}
 
 # Environment variable configuration
 BUILD_IMPL=${BUILD_IMPL:-${IMPL}}
-TEST_OPTS="${TEST_OPTS} --debug-file ../${ACTION}.err"
+TEST_OPTS="${TEST_OPTS} --debug-file ../../${ACTION}.err"
 
 if [ "${DO_SELF_HOST}" ]; then
     MAL_IMPL=${IMPL}
@@ -22,18 +22,21 @@ echo "IMPL: ${IMPL}"
 echo "BUILD_IMPL: ${BUILD_IMPL}"
 echo "MAL_IMPL: ${MAL_IMPL}"
 
-if [ "${DO_SELF_HOST}" ]; then
-    if [ "${NO_SELF_HOST}" ]; then
-        echo "Skipping ${ACTION} of ${MAL_IMPL} self-host"
-        exit 0
-    fi
-    if [ "${ACTION}" = "perf" -a "${NO_SELF_HOST_PERF}" ]; then
-        echo "Skipping only perf test for ${MAL_IMPL} self-host"
-        exit 0
-    fi
+if [ "${NO_PERF}" -a "${ACTION}" = "perf" ]; then
+    echo "Skipping perf test"
+    exit 0
+fi
+if [ "${NO_SELF_HOST}" -a "${DO_SELF_HOST}" ]; then
+    echo "Skipping ${ACTION} of ${MAL_IMPL} self-host"
+    exit 0
+fi
+if [ "${NO_SELF_HOST_PERF}" -a "${DO_SELF_HOST}" -a "${ACTION}" = "perf" ]; then
+    echo "Skipping only perf test for ${MAL_IMPL} self-host"
+    exit 0
 fi
 
-mode_var=${MAL_IMPL:-${IMPL}}_MODE
+raw_mode_var=${MAL_IMPL:-${IMPL}}_MODE
+mode_var=${raw_mode_var/./__}
 mode_val=${!mode_var}
 
 MAKE="make ${mode_val:+${mode_var}=${mode_val}}"
@@ -50,11 +53,11 @@ fi
 case "${ACTION}" in
 build)
     # rpython often fails on step9 in compute_vars_longevity
-    # so build step9, then continue wit the full build
+    # so build step9, then continue with the full build
     if [ "${BUILD_IMPL}" = "rpython" ]; then
-        ${MAKE} -C "${BUILD_IMPL}" step9_try || true
+        ${MAKE} -C "impls/${BUILD_IMPL}" step9_try || true
     fi
-    ${MAKE} -C ${BUILD_IMPL}
+    ${MAKE} -C "impls/${BUILD_IMPL}"
     ;;
 test|perf)
     [ "${ACTION}" = "perf" ] && STEP=