42 lines
883 B
Bash
Executable File
42 lines
883 B
Bash
Executable File
#!/bin/bash
|
|
|
|
BASE_COMMIT=95a80f598fc57c60aed3737c60ee437d94eb8540
|
|
LABS=`git diff $BASE_COMMIT --stat | grep -o "lab[0-9]" | uniq`
|
|
|
|
if [ "$LABS" = "" ]; then
|
|
echo "No solutions provided. Skip this time."
|
|
exit 0
|
|
fi
|
|
|
|
failed=0
|
|
|
|
pwd=`pwd`
|
|
summary=$pwd/.score_summary
|
|
|
|
echo -n > $summary
|
|
for lab in $LABS; do
|
|
pushd $lab > /dev/null
|
|
if ! make grade > .score 2>&1; then
|
|
failed=`echo $lab | grep -o [0-9]`
|
|
fi
|
|
score=`egrep -o "Score: [0-9]+/[0-9]+" .score`
|
|
echo "$lab $score" >> $summary
|
|
make clean > /dev/null
|
|
popd > /dev/null
|
|
done
|
|
|
|
echo "Labs with changes detected: " $LABS
|
|
echo
|
|
echo "============================== Summary =============================="
|
|
cat $summary
|
|
rm $summary
|
|
echo
|
|
|
|
for lab in $LABS; do
|
|
echo "================================ $lab ==============================="
|
|
cat $lab/.score
|
|
rm $lab/.score
|
|
done
|
|
|
|
exit $failed
|