From 1079f927a27db9d194c8e25eb3a188396fdf8eab Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Mon, 17 May 2021 21:02:55 +0100 Subject: refactor code --- packages/assert.source.sh | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 packages/assert.source.sh (limited to 'packages/assert.source.sh') diff --git a/packages/assert.source.sh b/packages/assert.source.sh new file mode 100644 index 0000000..551d162 --- /dev/null +++ b/packages/assert.source.sh @@ -0,0 +1,30 @@ +assert::equals () { + local -r result="$1"; shift + local -r expected="$1"; shift + local -r callee=${FUNCNAME[1]} + + if [[ "$result" != "$expected" ]]; then + cat < Date: Mon, 17 May 2021 21:19:35 +0100 Subject: refactor --- packages/assert.source.sh | 2 ++ 1 file changed, 2 insertions(+) (limited to 'packages/assert.source.sh') diff --git a/packages/assert.source.sh b/packages/assert.source.sh index 551d162..c3ad0a6 100644 --- a/packages/assert.source.sh +++ b/packages/assert.source.sh @@ -1,3 +1,4 @@ +# Unit test for whether 2 given strings equal. assert::equals () { local -r result="$1"; shift local -r expected="$1"; shift @@ -16,6 +17,7 @@ ERROR log VERBOSE "Result in $callee as expected: '$expected'" } +# Unit test for whether a given string is not empty. assert::not_empty () { local -r name="$1"; shift local -r content="$1"; shift -- cgit v1.2.3 From 641a95de7bdd64963666cca6b96387ab5d9245e2 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Wed, 19 May 2021 10:06:02 +0100 Subject: some refactoring and also ensured that it works on macOS (given Bash 5 is installed) --- packages/assert.source.sh | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'packages/assert.source.sh') diff --git a/packages/assert.source.sh b/packages/assert.source.sh index c3ad0a6..5d3a5c5 100644 --- a/packages/assert.source.sh +++ b/packages/assert.source.sh @@ -30,3 +30,18 @@ assert::not_empty () { log VERBOSE "Result in $callee as expected not empty" } + +# Unit test for whether a given string matches a regex. +assert::matches () { + local -r name="$1"; shift + local -r content="$1"; shift + local -r regex="$1"; shift + local -r callee=${FUNCNAME[1]} + + if ! $GREP -q -E "$regex" <<< "$content"; then + log ERROR "In $callee expected '$name' to match '$regex'" + exit 2 + fi + + log VERBOSE "Matching in $callee as expected" +} -- cgit v1.2.3 From 14822623456972b0dbe9dc5b6c36b701bb6ec7f1 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Wed, 19 May 2021 20:01:47 +0100 Subject: Removal of Makefile and some fixes/refactorings --- packages/assert.source.sh | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'packages/assert.source.sh') diff --git a/packages/assert.source.sh b/packages/assert.source.sh index 5d3a5c5..0c7157f 100644 --- a/packages/assert.source.sh +++ b/packages/assert.source.sh @@ -45,3 +45,15 @@ assert::matches () { log VERBOSE "Matching in $callee as expected" } + +# Checks if all the Bash scripts here are good. +assert::shellcheck () { + set -e + shellcheck \ + --norc \ + --external-sources \ + --check-sourced \ + --exclude=SC2155,SC2010,SC2154,SC1090,SC2012 \ + ./"$0" + set +e +} -- cgit v1.2.3 From d88be863b7dcabe42b8d5b47b40ed2cb620f287c Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Wed, 19 May 2021 20:21:25 +0100 Subject: retab --- packages/assert.source.sh | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'packages/assert.source.sh') diff --git a/packages/assert.source.sh b/packages/assert.source.sh index 0c7157f..d53a728 100644 --- a/packages/assert.source.sh +++ b/packages/assert.source.sh @@ -49,11 +49,11 @@ assert::matches () { # Checks if all the Bash scripts here are good. assert::shellcheck () { set -e - shellcheck \ - --norc \ - --external-sources \ - --check-sourced \ - --exclude=SC2155,SC2010,SC2154,SC1090,SC2012 \ - ./"$0" - set +e + shellcheck \ + --norc \ + --external-sources \ + --check-sourced \ + --exclude=SC2155,SC2010,SC2154,SC1090,SC2012 \ + ./"$0" + set +e } -- cgit v1.2.3