30 lines
939 B
Bash
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"
|