From f93524f531b9da19dc8f4d46dd4977fbbdc80f58 Mon Sep 17 00:00:00 2001 From: EuAndreh Date: Wed, 10 Mar 2021 03:57:13 -0300 Subject: Support --version flag --- src/remembering.in | 9 ++++++++- tests/cli-opts.sh | 14 +++++++++++++- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/src/remembering.in b/src/remembering.in index c89beef..784cb3d 100755 --- a/src/remembering.in +++ b/src/remembering.in @@ -16,6 +16,10 @@ Options: See manpages for more information.' } +version() { + echo 'remembering-@VERSION@ @DATE@' +} + missing() { printf 'Missing option: %s\n' "$1" >&2 } @@ -26,6 +30,9 @@ for flag in $@; do usage help exit 0 + elif [ "$flag" = '--version' ]; then + version + exit 0 fi done @@ -45,7 +52,7 @@ while getopts 'hc:p:V' name; do exit ;; V) - echo 'remembering-@VERSION@ @DATE@' + version exit ;; *) diff --git a/tests/cli-opts.sh b/tests/cli-opts.sh index a85644e..a9b5ca5 100755 --- a/tests/cli-opts.sh +++ b/tests/cli-opts.sh @@ -97,6 +97,7 @@ test_valid_options() { test_help_flags() { testing 'help flags' + OUT="$(mktemp)" ERR="$(mktemp)" ./remembering -h 1>"$OUT" 2>"$ERR" @@ -112,18 +113,29 @@ test_help_flags() { assert_status 0 assert_empty_stderr assert_usage "$OUT" + test_ok } test_version_flags() { testing 'version flags' + REGEX='^remembering-[0-9\.]+ [0-9-]+' + OUT="$(mktemp)" ERR="$(mktemp)" ./remembering -V 1>"$OUT" 2>"$ERR" STATUS=$? assert_status 0 assert_empty_stderr - assert_grep_stream "\$OUT" "$OUT" '^remembering-[0-9\.]+ [0-9-]+' + assert_grep_stream "\$OUT" "$OUT" "$REGEX" + + OUT="$(mktemp)" + ERR="$(mktemp)" + ./remembering --version 1>"$OUT" 2>"$ERR" + STATUS=$? + assert_status 0 + assert_empty_stderr + assert_grep_stream "\$OUT" "$OUT" "$REGEX" test_ok } -- cgit v1.2.3