Polish CLI help behavior
This commit is contained in:
@@ -15,8 +15,6 @@ on_error() {
|
|||||||
}
|
}
|
||||||
trap 'on_error "$?" "$LINENO"' ERR
|
trap 'on_error "$?" "$LINENO"' ERR
|
||||||
|
|
||||||
require_root || exit $?
|
|
||||||
|
|
||||||
# shellcheck source=lib/storage.sh
|
# shellcheck source=lib/storage.sh
|
||||||
source "${LIB_DIR}/storage.sh"
|
source "${LIB_DIR}/storage.sh"
|
||||||
# shellcheck source=lib/persist.sh
|
# shellcheck source=lib/persist.sh
|
||||||
@@ -153,6 +151,14 @@ run_batch() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
main() {
|
main() {
|
||||||
|
case ${1-} in
|
||||||
|
--help|-h)
|
||||||
|
usage
|
||||||
|
return 0
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
require_root || return $?
|
||||||
bootstrap
|
bootstrap
|
||||||
|
|
||||||
if (($# == 0)); then
|
if (($# == 0)); then
|
||||||
@@ -161,9 +167,6 @@ main() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
case ${1-} in
|
case ${1-} in
|
||||||
--help|-h)
|
|
||||||
usage
|
|
||||||
;;
|
|
||||||
--batch)
|
--batch)
|
||||||
shift
|
shift
|
||||||
run_batch "$@"
|
run_batch "$@"
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ run_test() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
run_test "${ROOT_DIR}/tests/test_common.sh"
|
run_test "${ROOT_DIR}/tests/test_common.sh"
|
||||||
|
run_test "${ROOT_DIR}/tests/test_cli.sh"
|
||||||
run_test "${ROOT_DIR}/tests/test_storage.sh"
|
run_test "${ROOT_DIR}/tests/test_storage.sh"
|
||||||
run_test "${ROOT_DIR}/tests/test_env_check.sh"
|
run_test "${ROOT_DIR}/tests/test_env_check.sh"
|
||||||
run_test "${ROOT_DIR}/tests/test_rules_unit.sh"
|
run_test "${ROOT_DIR}/tests/test_rules_unit.sh"
|
||||||
|
|||||||
14
tests/test_cli.sh
Normal file
14
tests/test_cli.sh
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
ROOT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)
|
||||||
|
# shellcheck source=tests/lib/assert.sh
|
||||||
|
source "${ROOT_DIR}/tests/lib/assert.sh"
|
||||||
|
|
||||||
|
help_output=$("${ROOT_DIR}/iptables-forward.sh" --help)
|
||||||
|
assert_contains "${help_output}" '--batch add <proto> <listen_port> <target_ip> <target_port> <ipver> [desc]' 'main script help should describe batch add'
|
||||||
|
|
||||||
|
install_help=$("${ROOT_DIR}/install.sh" --help)
|
||||||
|
assert_contains "${install_help}" '仅创建符号链接,不复制源码。' 'install help should explain symlink behavior'
|
||||||
|
|
||||||
|
pass 'test_cli.sh'
|
||||||
Reference in New Issue
Block a user