blob: 75cce29fb29f7124aa52c87ac04fc33d78cf71ef (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
#!/usr/bin/env sh
year=$1
day=$2
lang=$3
input=$4
warmups=${5:-0}
script=$(readlink -f "$0")
script_path=$(dirname "$script")
aoc_path=$script_path/$1/$2
data_path="$aoc_path/data/$4.txt"
# Check it is correct
$script_path/check $1 $2 $3 $4 >/dev/null
[ ! $? ] && echo "Incorrect solution" && exit 1
if [ $lang = "python" ]; then
exec="python $aoc_path/python/main.py"
elif [ $lang = "rust" ]; then
# Compile first
cargo build --release --target-dir /tmp/aoc_rust --manifest-path $aoc_path/rust/Cargo.toml
exec="/tmp/aoc_rust/release/aoc_$year-$day"
else
echo "Unknown lang: $lang"
exit 1
fi
hyperfine --shell=none --warmup=$warmups --input=$data_path "$exec"
|