[parser] [cmd_fsck] Test specification now done by parser

This commit is contained in:
ayakael 2018-04-15 22:29:45 -04:00
parent 20cb57ecef
commit c8f81c2ecd
No known key found for this signature in database
GPG key ID: 575626A4AE5F4026
2 changed files with 40 additions and 18 deletions

View file

@ -18,23 +18,19 @@ cmd_fsck() {
[[ ! -f "${DB_FILE}" ]] && return 3 [[ ! -f "${DB_FILE}" ]] && return 3
[[ ! -d "${GIT_DIR}/.git" ]] && return 2 [[ ! -d "${GIT_DIR}/.git" ]] && return 2
if [[ -z "${cmdList[@]}" ]]; then for cmd in ${cmdList[@]}; do
chk_deployed_ids "${TARGET}" "${DB_FILE}" case ${cmd} in
chk_nonexistent_ids "${TARGET}" "${DB_FILE}" deployed-ids)
chk_metadata "${GIT_DIR}" "${TARGET}" "${DB_FILE}"
fi
case ${cmdList[@]} in
--deployed-ids)
chk_deployed_ids "${TARGET}" "${DB_FILE}" chk_deployed_ids "${TARGET}" "${DB_FILE}"
;; ;;
--nonexistent-ids) nonexistent-ids)
chk_nonexistent_ids "${TARGET}" "${DB_FILE}" chk_nonexistent_ids "${TARGET}" "${DB_FILE}"
;; ;;
--metadata) metadata)
chk_metadata "${GIT_DIR}" "${TARGET}" "${DB_FILE}" chk_metadata "${GIT_DIR}" "${TARGET}" "${DB_FILE}"
;; ;;
esac esac
done
} }

View file

@ -88,7 +88,33 @@ case "${1}" in
fsck) fsck)
shift shift
cmd_fsck "${GIT_DIR}" "${@}" while true; do
case ${1} in
--nonexistent-ids)
cmdList=(${cmdList[@]} nonexistent-ids)
shift
;;
--deployed-ids)
cmdList=(${cmdList[@]} deployed-ids)
shift
;;
--metadata)
cmdList=(${cmdList[@]} metadata)
shift
;;
*)
break 2
;;
esac
done
[[ -z ${cmdList[@]} ]] && cmdList=(deployed-ids nonexistent-ids metadata)
cmd_fsck "${GIT_DIR}" "${@}" ${cmdList[@]}
EXIT=$? EXIT=$?
[[ ${EXIT} -eq 3 ]] && echo "Database file non-existent" [[ ${EXIT} -eq 3 ]] && echo "Database file non-existent"
[[ ${EXIT} -eq 2 ]] && echo "Git directory not a valid git repository" [[ ${EXIT} -eq 2 ]] && echo "Git directory not a valid git repository"