#!/bin/sh mkdir -p tmp echo "Test AoC 2024 solutions" total=0 failed=0 for fn in aoc2024/Day*.newt; do total=$((total + 1)) echo Test $fn bn=$(basename $fn) ./build/exec/newt $fn -o out.js > tmp/${bn}.compile if [ $? != "0" ]; then echo Compile failed for $fn failed=$((failed + 1)) continue fi # if there is a golden file, run the code and compare output if [ -f ${fn}.golden ]; then bun run out.js > tmp/${bn}.out if [ $? != "0" ]; then echo Run failed for $fn failed=$((failed + 1)) continue fi if ! diff -q tmp/${bn}.out ${fn}.golden; then echo "Output mismatch for $fn" failed=$((failed + 1)) fi fi done echo "Total tests: $total" echo "Failed tests: $failed"