Files
curriculum/1.solar-system/1.welcome/15.the-cloner/testing/test.sh

30 lines
939 B
Bash

#!/bin/bash
TMP=$(mktemp -d)
(
cd "$TMP"
git init -q -b main
git config user.name "Setup"
git config user.email "setup@learnroom.local"
echo "# Mission Project" > README.md
echo "Initial mission setup." > mission.txt
git add .
git commit -q -m "initial mission setup"
)
git clone -q --bare "$TMP" remote.git
rm -rf "$TMP"
bash solution.sh > /dev/null 2>&1
N=0
report() { N=$((N+1)); if [ "$1" = "0" ]; then echo "ok $N - $2"; else echo "not ok $N - $2"; fi; }
[ -d project/.git ]; report $? "project/.git exists (clone happened)"
[ -f project/log-entry.txt ]; report $? "project/log-entry.txt exists"
ACTUAL=$(cat project/log-entry.txt 2>/dev/null)
ACTUAL="${ACTUAL%$'\n'}"
[ "$ACTUAL" = "Cadet log entry — checked in." ]; report $? "log-entry.txt contains the exact line"
COUNT=$(git -C project log --oneline 2>/dev/null | wc -l | tr -d ' ')
[ "$COUNT" -ge 2 ] 2>/dev/null
report $? "project has at least 2 commits"