|
|
@ -0,0 +1,41 @@ |
|
|
|
#!/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 |