Advent of Code Solutions
advent-of-code aoc

run.sh: only run tests if the test directory exists

yemou.pink 8b989713 bda3dea5

verified
Changed files
+40 -34
+40 -34
run.sh
··· 68 68 if [ $real = true ] 69 69 then "./$day/solution${ext}" "$part" < "$day/input-real" 70 70 else 71 - [ "$part" = 1 ] || [ ! "$part" ] && ( 72 - cd "$day/part1-tests" || exit 1 73 - printf '%s' "Part 1 Tests: " 71 + if [ -d "$day/part1-tests" ] && { [ "$part" = 1 ] || [ ! "$part" ]; } 72 + then 73 + ( 74 + cd "$day/part1-tests" || exit 1 75 + printf '%s' "Part 1 Tests: " 74 76 75 - for test_case in input* 76 - do 77 - num=${test_case#input} 78 - expected=$(sed -n "${num}{p;q}" < ./expected) 79 - result=$("../solution$ext" 1 < "$test_case") 80 - result=${result#Part\ 1:\ } 77 + for test_case in input* 78 + do 79 + num=${test_case#input} 80 + expected=$(sed -n "${num}{p;q}" < ./expected) 81 + result=$("../solution$ext" 1 < "$test_case") 82 + result=${result#Part\ 1:\ } 81 83 82 - # shellcheck disable=SC2015 83 - [ "$expected" = "$result" ] && printf '%s' "PASS " || { 84 - printf '\n%s\n' "FAIL: Expected $expected, Got $result ($test_case)" 85 - exit 1 86 - } 87 - done 88 - printf '\n' 89 - ) 84 + # shellcheck disable=SC2015 85 + [ "$expected" = "$result" ] && printf '%s' "PASS " || { 86 + printf '\n%s\n' "FAIL: Expected $expected, Got $result ($test_case)" 87 + exit 1 88 + } 89 + done 90 + printf '\n' 91 + ) 92 + fi 90 93 91 - [ "$part" = 2 ] || [ ! "$part" ] && ( 92 - cd "$day/part2-tests" || exit 1 93 - printf '%s' "Part 2 Tests: " 94 + if [ -d "$day/part2-tests" ] && { [ "$part" = 2 ] || [ ! "$part" ]; } 95 + then 96 + ( 97 + cd "$day/part2-tests" || exit 1 98 + printf '%s' "Part 2 Tests: " 94 99 95 - for test_case in input* 96 - do 97 - num=${test_case#input} 98 - expected=$(sed -n "${num}{p;q}" < ./expected) 99 - result=$("../solution$ext" 2 < "$test_case") 100 - result=${result#Part\ 2:\ } 100 + for test_case in input* 101 + do 102 + num=${test_case#input} 103 + expected=$(sed -n "${num}{p;q}" < ./expected) 104 + result=$("../solution$ext" 2 < "$test_case") 105 + result=${result#Part\ 2:\ } 101 106 102 - # shellcheck disable=SC2015 103 - [ "$expected" = "$result" ] && printf '%s' "PASS " || { 104 - printf '\n%s\n' "FAIL: Expected $expected, Got $result ($test_case)" 105 - exit 1 106 - } 107 - done 108 - printf '\n' 109 - ) 107 + # shellcheck disable=SC2015 108 + [ "$expected" = "$result" ] && printf '%s' "PASS " || { 109 + printf '\n%s\n' "FAIL: Expected $expected, Got $result ($test_case)" 110 + exit 1 111 + } 112 + done 113 + printf '\n' 114 + ) 115 + fi 110 116 111 117 fi