GIT_USER=''
GIT_EMAIL=''
GIT_DEFAULT_BRANCH=''
GIT_STATUS_HINTS=''
gcf() {
git config --global $@
}
get_git_config() {
GIT_STATUS_HINTS=$(gcf advice.statusHints 2>&1)
GIT_USER=$(gcf user.name 2>&1)
GIT_EMAIL=$(gcf user.email 2>&1)
GIT_DEFAULT_BRANCH=$(gcf init.defaultBranch 2>&1)
}
set_git_config() {
[[ $GIT_USER == '' ]] && gcf user.name 'bot'
[[ $GIT_EMAIL == '' ]] && gcf user.email 'bot@gitnu.co'
[[ $GIT_DEFAULT_BRANCH == '' ]] && gcf init.defaultBranch 'main'
gcf advice.statusHints false
}
reset_git_config() {
([ $GIT_USER ] && gcf user.name $GIT_USER) || gcf --unset user.name
([ $GIT_EMAIL ] && gcf user.email $GIT_EMAIL) || gcf --unset user.email
([ $GIT_DEFAULT_BRANCH ] && gcf init.defaultBranch $GIT_DEFAULT_BRANCH) ||
gcf --unset init.defaultBranch
([ $GIT_STATUS_HINTS ] && gcf advice.statusHints $GIT_STATUS_HINTS) ||
gcf --unset advice.statusHints
}
setup() {
HERE=$PWD
GITNU=$HERE/../target/debug/gitnu
rm -rf failed && mkdir failed
mkdir -p log
get_git_config
set_git_config
}
get_test_id() {
local N=${1##*/} && printf ${N%%.*}
}
get_test_title() {
local title="$(head -n 1 $1)" && printf "${title### }"
}
assert() {
if [[ "$1" != "$2" ]]; then
echo "expected: $1"
echo "received: $2"
exit 1
fi
}
cleanup() {
reset_git_config
assert $PWD $HERE
rm -rf $HERE/tmp
rm -rf $HERE/failed
}
gitnu() { $GITNU $@
}
init() {
git init
let local i=1
while [ $i -le $1 ]; do
printf -v padded "%04d" $i
touch "file_$padded" && let i++
done
}
save() {
eval "$@" >$REC_DIR/$N.txt
}
pass() {
printf "\033[0;30m\033[1;42m PASS \033[1;0m $1 \033[0;37m$2\033[1;0m\n"
}
fail() {
printf "\033[0;30m\033[1;41m FAIL \033[1;0m $1 \033[0;37m$2\033[1;0m\n"
}
not_found() {
printf "\033[0;30m\033[1;41m FAIL \033[1;0m $1 \033[0;33m($2 not found)\033[1;0m\n"
}