Add "bash3boilerplate" from "https://git.knownelement.com/ExternalVendorCode/bash3boilerplate.git@main"
git-vendor-name: bash3boilerplate git-vendor-dir: vendor/git.knownelement.com/ExternalVendorCode/bash3boilerplate git-vendor-repository: https://git.knownelement.com/ExternalVendorCode/bash3boilerplate.git git-vendor-ref: main
This commit is contained in:
15
vendor/git.knownelement.com/ExternalVendorCode/bash3boilerplate/test/scenario/double-source/run.sh
generated
vendored
Normal file
15
vendor/git.knownelement.com/ExternalVendorCode/bash3boilerplate/test/scenario/double-source/run.sh
generated
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
#!/usr/bin/env bash
|
||||
set -o pipefail
|
||||
set -o errexit
|
||||
set -o nounset
|
||||
# set -o xtrace
|
||||
|
||||
__dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
__root="$(cd "$(dirname "$(dirname "$(dirname "${__dir}")")")" && pwd)"
|
||||
|
||||
export LOG_LEVEL=7
|
||||
|
||||
echo "ACCPTST:STDIO_REPLACE_DATETIMES"
|
||||
|
||||
# shellcheck source=example.sh
|
||||
source "${__root}/example.sh" -f /tmp/x
|
8
vendor/git.knownelement.com/ExternalVendorCode/bash3boilerplate/test/scenario/ini_val/data.ini
generated
vendored
Normal file
8
vendor/git.knownelement.com/ExternalVendorCode/bash3boilerplate/test/scenario/ini_val/data.ini
generated
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
[default]
|
||||
orphan=exists
|
||||
|
||||
[connection]
|
||||
host=127.0.0.1
|
||||
|
||||
[software]
|
||||
packages=nginx, nodejs
|
54
vendor/git.knownelement.com/ExternalVendorCode/bash3boilerplate/test/scenario/ini_val/run.sh
generated
vendored
Executable file
54
vendor/git.knownelement.com/ExternalVendorCode/bash3boilerplate/test/scenario/ini_val/run.sh
generated
vendored
Executable file
@@ -0,0 +1,54 @@
|
||||
#!/usr/bin/env bash
|
||||
set -o pipefail
|
||||
set -o errexit
|
||||
set -o nounset
|
||||
# set -o xtrace
|
||||
|
||||
# Set magic variables for current FILE & DIR
|
||||
__dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
__root="$(cd "$(dirname "$(dirname "$(dirname "${__dir}")")")" && pwd)"
|
||||
|
||||
# echo "ACCPTST:STDIO_REPLACE_DATETIMES"
|
||||
|
||||
|
||||
# Use as standalone:
|
||||
cp -f data.ini dummy.ini
|
||||
echo "--> command: Read 3 values"
|
||||
bash "${__root}/src/ini_val.sh" ./dummy.ini orphan
|
||||
bash "${__root}/src/ini_val.sh" ./dummy.ini connection.host
|
||||
bash "${__root}/src/ini_val.sh" ./dummy.ini software.packages
|
||||
bash "${__root}/src/ini_val.sh" ./dummy.ini comment.command
|
||||
|
||||
echo "--> command: Replace three values in-place and show result"
|
||||
bash "${__root}/src/ini_val.sh" ./dummy.ini orphan "no more"
|
||||
bash "${__root}/src/ini_val.sh" ./dummy.ini connection.host "192.168.0.1"
|
||||
bash "${__root}/src/ini_val.sh" ./dummy.ini software.packages "vim"
|
||||
|
||||
bash "${__root}/src/ini_val.sh" ./dummy.ini comment.command "commented" "this key is commented"
|
||||
bash "${__root}/src/ini_val.sh" ./dummy.ini comment.new_command "commented too" "last addition will be moved downwards again after next command"
|
||||
bash "${__root}/src/ini_val.sh" ./dummy.ini comment.command "works like a chame" "got this new comment"
|
||||
cat dummy.ini
|
||||
rm -f dummy.ini
|
||||
|
||||
# Use as include:
|
||||
cp -f data.ini dummy.ini
|
||||
|
||||
# shellcheck source=main.sh
|
||||
source "${__root}/src/ini_val.sh"
|
||||
|
||||
echo "--> function: Read 3 values"
|
||||
ini_val ./dummy.ini orphan
|
||||
ini_val ./dummy.ini connection.host
|
||||
ini_val ./dummy.ini software.packages
|
||||
ini_val ./dummy.ini comment.command
|
||||
|
||||
echo "--> function: Replace three values in-place and show result"
|
||||
ini_val ./dummy.ini orphan "no more"
|
||||
ini_val ./dummy.ini connection.host "192.168.0.1"
|
||||
ini_val ./dummy.ini software.packages "vim"
|
||||
|
||||
ini_val ./dummy.ini comment.command "commented" "this key is commited"
|
||||
ini_val ./dummy.ini comment.new_command "commented too" "last addition will be moved downwards again after next command"
|
||||
ini_val ./dummy.ini comment.command "works like a chame" "got this new comment"
|
||||
cat dummy.ini
|
||||
rm -f dummy.ini
|
12
vendor/git.knownelement.com/ExternalVendorCode/bash3boilerplate/test/scenario/main-debug/run.sh
generated
vendored
Normal file
12
vendor/git.knownelement.com/ExternalVendorCode/bash3boilerplate/test/scenario/main-debug/run.sh
generated
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
#!/usr/bin/env bash
|
||||
set -o pipefail
|
||||
set -o errexit
|
||||
set -o nounset
|
||||
# set -o xtrace
|
||||
|
||||
__dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
__root="$(cd "$(dirname "$(dirname "$(dirname "${__dir}")")")" && pwd)"
|
||||
|
||||
echo "ACCPTST:STDIO_REPLACE_DATETIMES"
|
||||
|
||||
env LOG_LEVEL=7 bash "${__root}/main.sh" -f /tmp/x
|
12
vendor/git.knownelement.com/ExternalVendorCode/bash3boilerplate/test/scenario/main-help/run.sh
generated
vendored
Executable file
12
vendor/git.knownelement.com/ExternalVendorCode/bash3boilerplate/test/scenario/main-help/run.sh
generated
vendored
Executable file
@@ -0,0 +1,12 @@
|
||||
#!/usr/bin/env bash
|
||||
set -o pipefail
|
||||
set -o errexit
|
||||
set -o nounset
|
||||
# set -o xtrace
|
||||
|
||||
__dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
__root="$(cd "$(dirname "$(dirname "$(dirname "${__dir}")")")" && pwd)"
|
||||
|
||||
echo "ACCPTST:STDIO_REPLACE_DATETIMES"
|
||||
|
||||
bash "${__root}/main.sh" -f /tmp/x -h
|
16
vendor/git.knownelement.com/ExternalVendorCode/bash3boilerplate/test/scenario/main-longopt/run.sh
generated
vendored
Normal file
16
vendor/git.knownelement.com/ExternalVendorCode/bash3boilerplate/test/scenario/main-longopt/run.sh
generated
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
#!/usr/bin/env bash
|
||||
# set -o pipefail
|
||||
# set -o errexit
|
||||
set -o nounset
|
||||
# set -o xtrace
|
||||
|
||||
__dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
__root="$(cd "$(dirname "$(dirname "$(dirname "${__dir}")")")" && pwd)"
|
||||
|
||||
echo "ACCPTST:STDIO_REPLACE_DATETIMES"
|
||||
|
||||
(
|
||||
env LOG_LEVEL=6 bash "${__root}/main.sh" --file /tmp/x;
|
||||
env LOG_LEVEL=6 bash "${__root}/main.sh" --file=/tmp/x;
|
||||
env LOG_LEVEL=6 bash "${__root}/main.sh" -f /tmp/x
|
||||
) 2>&1 |grep arg_f
|
12
vendor/git.knownelement.com/ExternalVendorCode/bash3boilerplate/test/scenario/main-nocolor/run.sh
generated
vendored
Normal file
12
vendor/git.knownelement.com/ExternalVendorCode/bash3boilerplate/test/scenario/main-nocolor/run.sh
generated
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
#!/usr/bin/env bash
|
||||
set -o pipefail
|
||||
set -o errexit
|
||||
set -o nounset
|
||||
# set -o xtrace
|
||||
|
||||
__dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
__root="$(cd "$(dirname "$(dirname "$(dirname "${__dir}")")")" && pwd)"
|
||||
|
||||
echo "ACCPTST:STDIO_REPLACE_DATETIMES"
|
||||
|
||||
env LOG_LEVEL=7 NO_COLOR=true bash "${__root}/main.sh" -f /tmp/x
|
19
vendor/git.knownelement.com/ExternalVendorCode/bash3boilerplate/test/scenario/main-repeated/run.sh
generated
vendored
Normal file
19
vendor/git.knownelement.com/ExternalVendorCode/bash3boilerplate/test/scenario/main-repeated/run.sh
generated
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
#!/usr/bin/env bash
|
||||
# set -o pipefail
|
||||
# set -o errexit
|
||||
set -o nounset
|
||||
# set -o xtrace
|
||||
|
||||
__dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
__root="$(cd "$(dirname "$(dirname "$(dirname "${__dir}")")")" && pwd)"
|
||||
|
||||
echo "ACCPTST:STDIO_REPLACE_DATETIMES"
|
||||
|
||||
(
|
||||
env LOG_LEVEL="${LOG_LEVEL:-6}" bash "${__root}/main.sh" -f dummy -i simple_input -i "input_in_quotes" -i "input with spaces" -i "input with \"quotes\"" -i last_input
|
||||
) 2>&1 |grep arg_i -A 5
|
||||
|
||||
(
|
||||
env LOG_LEVEL="${LOG_LEVEL:-6}" bash "${__root}/main.sh" -x -f dummy -x -x
|
||||
env LOG_LEVEL="${LOG_LEVEL:-6}" bash "${__root}/main.sh" -f dummy -xxxx
|
||||
) 2>&1 |grep arg_x
|
32
vendor/git.knownelement.com/ExternalVendorCode/bash3boilerplate/test/scenario/main-usage-defaults/run.sh
generated
vendored
Executable file
32
vendor/git.knownelement.com/ExternalVendorCode/bash3boilerplate/test/scenario/main-usage-defaults/run.sh
generated
vendored
Executable file
@@ -0,0 +1,32 @@
|
||||
#!/usr/bin/env bash
|
||||
set -o pipefail
|
||||
set -o errexit
|
||||
set -o nounset
|
||||
# set -o xtrace
|
||||
|
||||
__dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
__root="$(cd "$(dirname "$(dirname "$(dirname "${__dir}")")")" && pwd)"
|
||||
|
||||
read -r -d '' __usage <<-'EOF' || true # exits non-zero when EOF encountered
|
||||
-1 --one Do one thing. Default="ONE"
|
||||
More description.
|
||||
-2 --two Do two things.
|
||||
More description. Default="TWO"
|
||||
-3 --three [arg] Do three things. Default="'THREE'"
|
||||
More description.
|
||||
-4 --four [arg] Do four things.
|
||||
More description. Default='"FOUR"'
|
||||
-5 --five [arg] Do five things. Default="FIVE"
|
||||
More description. Default='OOOPS'
|
||||
-6 --six [arg] Do six things.
|
||||
More description.
|
||||
EOF
|
||||
|
||||
export __usage
|
||||
|
||||
echo "ACCPTST:STDIO_REPLACE_DATETIMES"
|
||||
|
||||
# shellcheck source=main.sh
|
||||
source "${__root}/main.sh"
|
||||
|
||||
for argument in ${!arg_*}; do info "${argument}: ${!argument}"; done
|
64
vendor/git.knownelement.com/ExternalVendorCode/bash3boilerplate/test/scenario/main-usage-validation/run.sh
generated
vendored
Executable file
64
vendor/git.knownelement.com/ExternalVendorCode/bash3boilerplate/test/scenario/main-usage-validation/run.sh
generated
vendored
Executable file
@@ -0,0 +1,64 @@
|
||||
#!/usr/bin/env bash
|
||||
# shellcheck source=main.sh
|
||||
|
||||
set -o pipefail
|
||||
set -o errexit
|
||||
set -o nounset
|
||||
# set -o xtrace
|
||||
|
||||
__dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
__root="$(cd "$(dirname "$(dirname "$(dirname "${__dir}")")")" && pwd)"
|
||||
|
||||
read -r -d '' __usage <<-'EOF' || true # exits non-zero when EOF encountered
|
||||
-0 --zero Do nothing.
|
||||
-1 --one Do one thing. Required.
|
||||
More description.
|
||||
-2 --two Do two things.
|
||||
More. Required. Description.
|
||||
-3 --three [arg] Do three things.
|
||||
Required.
|
||||
-4 --four {arg} Do four things.
|
||||
-5 --five {arg} Do five things. Required. Maybe.
|
||||
-6 --six [arg] Do six things. Not Required.
|
||||
Required, it is not.
|
||||
-7 --seven [arg] Required. Or bust.
|
||||
-8 --eight [arg] Do eight things.
|
||||
More.Required.Description.
|
||||
-a [arg] Do A. Required.
|
||||
Default="do-a"
|
||||
-b {arg} Do B.Default="do-b"
|
||||
-c [arg] Required. Default="do-c"
|
||||
-d {arg} Default="do-d"
|
||||
EOF
|
||||
|
||||
export __usage
|
||||
export NO_COLOR="true"
|
||||
|
||||
echo "ACCPTST:STDIO_REPLACE_DATETIMES"
|
||||
|
||||
echo "# complain about -3"
|
||||
(source "${__root}/main.sh") || true
|
||||
|
||||
echo "# complain about -4"
|
||||
(source "${__root}/main.sh" -3 arg3) || true
|
||||
|
||||
echo "# complain about -5"
|
||||
(source "${__root}/main.sh" -3 arg3 -4 arg4) || true
|
||||
|
||||
echo "# complain about -8 (because -7 syntax is not supported)"
|
||||
(source "${__root}/main.sh" -3 arg3 -4 arg4 -5 arg5) || true
|
||||
|
||||
echo "# complain about -d (because -d syntax is not supported)"
|
||||
(source "${__root}/main.sh" -3 arg3 -4 arg4 -5 arg5 -8 arg8) || true
|
||||
|
||||
echo "# complain about nothing"
|
||||
(
|
||||
source "${__root}/main.sh" -3 arg3 -4 arg4 -5 arg5 -8 arg8 -d argd
|
||||
for argument in ${!arg_*}; do info "${argument}: ${!argument}"; done
|
||||
)
|
||||
|
||||
echo "# test for issue #108"
|
||||
(
|
||||
source "${__root}/main.sh" -3 arg3 -5 arg5 -8 arg8 -d argd --four value --zero
|
||||
for argument in ${!arg_*}; do info "${argument}: ${!argument}"; done
|
||||
)
|
21
vendor/git.knownelement.com/ExternalVendorCode/bash3boilerplate/test/scenario/megamount/run.sh
generated
vendored
Normal file
21
vendor/git.knownelement.com/ExternalVendorCode/bash3boilerplate/test/scenario/megamount/run.sh
generated
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
#!/usr/bin/env bash
|
||||
set -o pipefail
|
||||
set -o errexit
|
||||
set -o nounset
|
||||
# set -o xtrace
|
||||
|
||||
__dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
__root="$(cd "$(dirname "$(dirname "$(dirname "${__dir}")")")" && pwd)"
|
||||
|
||||
__sysTmpDir="${TMPDIR:-/tmp}"
|
||||
__sysTmpDir="${__sysTmpDir%/}" # <-- remove trailing slash on macosx
|
||||
|
||||
# Currently I only know how to test a failing condition here since
|
||||
# it's too invasive to create actual mounts to play with on a system
|
||||
|
||||
bash "${__root}/src/megamount.sh" 'foobarfs://janedoe:abc123@192.168.0.1/documents' "${__sysTmpDir}/mnt/documents" || true
|
||||
|
||||
# shellcheck source=src/megamount.sh
|
||||
source "${__root}/src/megamount.sh"
|
||||
|
||||
megamount 'foobarfs://janedoe:abc123@192.168.0.1/documents' "${__sysTmpDir}/mnt/documents"
|
17
vendor/git.knownelement.com/ExternalVendorCode/bash3boilerplate/test/scenario/parse_url/run.sh
generated
vendored
Normal file
17
vendor/git.knownelement.com/ExternalVendorCode/bash3boilerplate/test/scenario/parse_url/run.sh
generated
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
#!/usr/bin/env bash
|
||||
set -o pipefail
|
||||
set -o errexit
|
||||
set -o nounset
|
||||
# set -o xtrace
|
||||
|
||||
__dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
__root="$(cd "$(dirname "$(dirname "$(dirname "${__dir}")")")" && pwd)"
|
||||
|
||||
bash "${__root}/src/parse_url.sh" 'http://johndoe:abc123@example.com:8080/index.html' pass
|
||||
bash "${__root}/src/parse_url.sh" 'http://johndoe:abc123@example.com:8080/index.html'
|
||||
|
||||
# shellcheck source=src/parse_url.sh
|
||||
source "${__root}/src/parse_url.sh"
|
||||
|
||||
parse_url 'http://johndoe:abc123@example.com:8080/index.html' pass
|
||||
parse_url 'http://johndoe:abc123@example.com:8080/index.html'
|
2
vendor/git.knownelement.com/ExternalVendorCode/bash3boilerplate/test/scenario/templater/app.template.cfg
generated
vendored
Normal file
2
vendor/git.knownelement.com/ExternalVendorCode/bash3boilerplate/test/scenario/templater/app.template.cfg
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
[connection]
|
||||
host = ${TARGET_HOST}
|
3
vendor/git.knownelement.com/ExternalVendorCode/bash3boilerplate/test/scenario/templater/break.template.cfg
generated
vendored
Normal file
3
vendor/git.knownelement.com/ExternalVendorCode/bash3boilerplate/test/scenario/templater/break.template.cfg
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
[connection]
|
||||
host = ${TARGET_HOST}
|
||||
port = ${I_DONT_EXIST}
|
36
vendor/git.knownelement.com/ExternalVendorCode/bash3boilerplate/test/scenario/templater/run.sh
generated
vendored
Normal file
36
vendor/git.knownelement.com/ExternalVendorCode/bash3boilerplate/test/scenario/templater/run.sh
generated
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
#!/usr/bin/env bash
|
||||
set -o pipefail
|
||||
set -o errexit
|
||||
set -o nounset
|
||||
# set -o xtrace
|
||||
|
||||
__dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
__file="${__dir}/$(basename "${BASH_SOURCE[0]}")"
|
||||
__base="$(basename "${__file}" .sh)"
|
||||
|
||||
__root="$(cd "$(dirname "$(dirname "$(dirname "${__dir}")")")" && pwd)"
|
||||
|
||||
__templaterTmpFile=$(mktemp "${TMPDIR:-/tmp}/${__base}.XXXXXX")
|
||||
function cleanup_before_exit () { rm "${__templaterTmpFile:?}"; }
|
||||
trap cleanup_before_exit EXIT
|
||||
|
||||
echo "--"
|
||||
env TARGET_HOST="127.0.0.1" bash "${__root}/src/templater.sh" ./app.template.cfg "${__templaterTmpFile}"
|
||||
cat "${__templaterTmpFile}"
|
||||
|
||||
echo "--"
|
||||
export TARGET_HOST="127.0.0.1"
|
||||
|
||||
# shellcheck source=src/templater.sh
|
||||
source "${__root}/src/templater.sh"
|
||||
|
||||
templater ./app.template.cfg "${__templaterTmpFile}"
|
||||
cat "${__templaterTmpFile}"
|
||||
|
||||
echo "--"
|
||||
env ALLOW_REMAINDERS="1" TARGET_HOST="127.0.0.1" bash "${__root}/src/templater.sh" ./break.template.cfg "${__templaterTmpFile}"
|
||||
cat "${__templaterTmpFile}"
|
||||
|
||||
echo "--"
|
||||
env TARGET_HOST="127.0.0.1" bash "${__root}/src/templater.sh" ./break.template.cfg "${__templaterTmpFile}"
|
||||
cat "${__templaterTmpFile}"
|
Reference in New Issue
Block a user