aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEuAndreh <eu@euandre.org>2021-06-27 08:32:45 -0300
committerEuAndreh <eu@euandre.org>2021-06-27 08:36:11 -0300
commitc58af8dbbe5763cc1b188009d29d0e540ae0f478 (patch)
tree5890dab9433c01081619c2b430d77ec298f2e162
parentsrc/git-permalink.in: Fix ShellCheck offense, remove disable (diff)
downloadgit-permalink-c58af8dbbe5763cc1b188009d29d0e540ae0f478.tar.gz
git-permalink-c58af8dbbe5763cc1b188009d29d0e540ae0f478.tar.xz
src/git-permalink.in: Return 2 on unrecognized CLI option
-rw-r--r--CHANGELOG.md8
-rwxr-xr-xsrc/git-permalink.in2
-rwxr-xr-xtests/cli-opts.sh6
3 files changed, 12 insertions, 4 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index ccfe89e..f7f56ef 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -11,6 +11,14 @@
Changelog for [git-permalink](https://euandreh.xyz/git-permalink/).
+# Unreleased
+
+## Changed
+
+### Options
+
+When git-permalink encounters an unrecognized option, it now exits with 2 instead of ignoring it.
+
# [0.2.2](https://git.euandreh.xyz/git-permalink/commit/?id=v0.2.2) - 2021-06-25
diff --git a/src/git-permalink.in b/src/git-permalink.in
index bcf3111..a993791 100755
--- a/src/git-permalink.in
+++ b/src/git-permalink.in
@@ -129,6 +129,8 @@ while getopts 'phV' flag; do
exit
;;
*)
+ usage >&2
+ exit 2
;;
esac
done
diff --git a/tests/cli-opts.sh b/tests/cli-opts.sh
index d5783e2..3cda865 100755
--- a/tests/cli-opts.sh
+++ b/tests/cli-opts.sh
@@ -100,10 +100,8 @@ test_help_flags() {
ERR="$(mktemp)"
LANG=en_US.UTF-8 sh src/git-permalink --something something -h 1>"$OUT" 2>"$ERR"
STATUS=$?
- assert_status 0
- assert_usage "$OUT"
- assert_fgrep_stdout 'Usage'
- assert_fgrep_stdout 'Options'
+ assert_status 2
+ assert_usage "$ERR"
N="$LINENO"
OUT="$(mktemp)"