aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEuAndreh <eu@euandre.org>2021-01-26 23:00:24 -0300
committerEuAndreh <eu@euandre.org>2021-01-26 23:11:02 -0300
commit01d37764238bca11f22601e8ee69d0b3d38d93c5 (patch)
treec9a78ab3774319710c76aae307102b3290ec77ca
parentmanifest.scm: Add groff package, fix CI build (diff)
downloadremembering-01d37764238bca11f22601e8ee69d0b3d38d93c5.tar.gz
remembering-01d37764238bca11f22601e8ee69d0b3d38d93c5.tar.xz
remembering: Add -V version flag, add missing docs on -h flag
-rw-r--r--Makefile7
-rwxr-xr-xremembering10
-rw-r--r--remembering.18
-rwxr-xr-xtests/cli-opts.sh17
4 files changed, 37 insertions, 5 deletions
diff --git a/Makefile b/Makefile
index 4734b2a..6b6ca51 100644
--- a/Makefile
+++ b/Makefile
@@ -14,11 +14,12 @@ install:
mkdir -p $(DESTDIR)$(PREFIX)/bin \
$(DESTDIR)$(MANPREFIX)/man1 \
$(DESTDIR)$(MANPREFIX)/man5
- install -m 755 remembering $(DESTDIR)$(PREFIX)/bin/
+ $(do_subst) < remembering > $(DESTDIR)$(PREFIX)/bin/remembering
$(do_subst) < remembering.1 > $(DESTDIR)$(MANPREFIX)/man1/remembering.1
$(do_subst) < remembering.5 > $(DESTDIR)$(MANPREFIX)/man5/remembering.5
- chmod 644 $(DESTDIR)$(MANPREFIX)/man1/remembering.1
- chmod 644 $(DESTDIR)$(MANPREFIX)/man5/remembering.5
+ chmod 755 $(DESTDIR)$(PREFIX)/bin/remembering
+ chmod 644 $(DESTDIR)$(MANPREFIX)/man1/remembering.1 \
+ $(DESTDIR)$(MANPREFIX)/man5/remembering.5
uninstall:
rm -f \
diff --git a/remembering b/remembering
index 40d71ef..0e3f29a 100755
--- a/remembering
+++ b/remembering
@@ -10,6 +10,8 @@ help() {
Options:
-p profile to be used for gathering and storing data
-c command to be run, reading from STDIN, writing to STDOUT
+ -h show this help
+ -V print program version
See manpages for more information.'
}
@@ -29,7 +31,7 @@ done
COMMANDFLAG=
PROFILEFLAG=
-while getopts 'hc:p:' name; do
+while getopts 'hc:p:V' name; do
case "$name" in
c)
COMMANDFLAG="$OPTARG"
@@ -40,7 +42,11 @@ while getopts 'hc:p:' name; do
h)
usage
help
- exit 0
+ exit
+ ;;
+ V)
+ echo 'remembering-@VERSION@'
+ exit
;;
*)
echo "Ignoring unrecognized flag '$name'" >&2
diff --git a/remembering.1 b/remembering.1
index 545c4a8..9e7b376 100644
--- a/remembering.1
+++ b/remembering.1
@@ -38,6 +38,14 @@ The name of the
.IR profile
where to look up and store raking data.
.
+.TP
+.B -h
+Show short help text.
+.
+.TP
+.B -V
+Show version number.
+.
.
.SH EXAMPLES
.P
diff --git a/tests/cli-opts.sh b/tests/cli-opts.sh
index 0562517..6957e4e 100755
--- a/tests/cli-opts.sh
+++ b/tests/cli-opts.sh
@@ -112,6 +112,22 @@ test_help_flags() {
test_ok
}
+test_version_flags() {
+ testing 'version flags'
+ OUT="$(mktemp)"
+ ERR="$(mktemp)"
+ sh remembering -V 1>"$OUT" 2>"$ERR"
+ STATUS=$?
+ assert_status 0
+ assert_empty_stderr
+ if ! grep -Eq '^remembering-.+$' "$OUT"; then
+ printf '\nERR: Bad STDOUT (%s)\n\nexpected: %s\ngot: %s\n' \
+ "$OUT" '^remembering-.+$' "$(cat "$OUT")" >&2
+ exit 1
+ fi
+ test_ok
+}
+
test_unsupported_long_flags
test_missing_required_flags
test_missing_required_flags
@@ -119,3 +135,4 @@ test_single_required_flag
test_flags_without_required_argument
test_valid_options
test_help_flags
+test_version_flags