Skip to content

Commit 0420015

Browse files
authored
Merge pull request #12 from devilbox/release-1.0.3
Ensure errors are always shown, regardless of log level
2 parents afbfc31 + 95cb22a commit 0420015

File tree

2 files changed

+18
-14
lines changed

2 files changed

+18
-14
lines changed

test/01.sh

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ cleanup() {
1515
rm -rf "${DIR_PATH}" || true
1616
rm -rf "${SCRIPT_PATH}/01.actual" || true
1717
rm -rf "${SCRIPT_PATH}/01.expected" || true
18+
rm -rf "${SCRIPT_PATH}/01.tmp" || true
1819
}
1920

2021

@@ -35,24 +36,24 @@ touch "${DIR_PATH}/file 2"
3536
### 02. Setup expected
3637
###
3738
{
38-
echo "add: ./dir 1";
39-
echo "add: ./dir 2";
40-
echo "add: ./dir 3";
41-
echo "add: ./dir 4";
39+
echo "[OK] ADD: succeeded: ./dir 1"
40+
echo "[OK] ADD: succeeded: ./dir 2"
41+
echo "[OK] ADD: succeeded: ./dir 3"
42+
echo "[OK] ADD: succeeded: ./dir 4"
4243
} > "${SCRIPT_PATH}/01.expected"
4344

4445

4546
###
4647
### 03. Run watcherd
4748
###
4849
cd "${DIR_PATH}"
49-
"${BIN_PATH}/watcherd" -p "." -a "echo 'add: %p'" -d "echo 'del: %p'" > "${SCRIPT_PATH}/01.actual" &
50+
"${BIN_PATH}/watcherd" -v -p "." -a "echo 'add: %p'" -d "echo 'del: %p'" > "${SCRIPT_PATH}/01.tmp" &
5051
watch_pid="${!}"
5152
echo "Started watcherd with pid: ${watch_pid}"
5253
echo "Waiting 5 sec."
5354
sleep 5
5455

55-
56+
cat "${SCRIPT_PATH}/01.tmp" | grep -Eo '\[OK.*' > "${SCRIPT_PATH}/01.actual"
5657

5758
###
5859
### 04 .Compare results and shutdown

watcherd

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,11 @@ IFS=$'\n'
2525

2626
# Versioning
2727
MY_NAME="watcherd"
28-
MY_DATE="2020-12-11"
28+
MY_DATE="2022-12-17"
2929
MY_URL="https://github.com/devilbox/watcherd"
3030
MY_AUTHOR="cytopia <[email protected]>"
3131
MY_GPGKEY="0xA02C56F0"
32-
MY_VERSION="1.0.2"
32+
MY_VERSION="1.0.3"
3333
MY_LICENSE="MIT"
3434

3535
# Default settings
@@ -130,14 +130,16 @@ function action() {
130130
action="${action//%p/${directory}}"
131131
action="${action//%n/${name}}"
132132

133-
if eval "${action}"; then
133+
if OUTPUT="$( eval "${action}" 2>&1 )"; then
134134
if [ "${verbose}" -gt "0" ]; then
135135
printf "%s: [%s] [OK] %s succeeded: %s\\n" "${MY_NAME}" "$( date '+%Y-%m-%d %H:%M:%S' )" "${info}" "${directory}"
136136
fi
137137
return 0
138138
else
139-
if [ "${verbose}" -gt "0" ]; then
140-
printf "%s: [%s] [ERR] %s failed: %s\\n" "${MY_NAME}" "$( date '+%Y-%m-%d %H:%M:%S' )" "${info}" "${directory}"
139+
printf "%s: [%s] [ERR] %s failed: %s\\n" "${MY_NAME}" "$( date '+%Y-%m-%d %H:%M:%S' )" "${info}" "${directory}" >&2
140+
printf "%s: [%s] [ERR] %s failed: %s\\n" "${MY_NAME}" "$( date '+%Y-%m-%d %H:%M:%S' )" "${info}" "${action}" >&2
141+
if [ -n "${OUTPUT}" ]; then
142+
printf "%s: [%s] [ERR] %s\\n" "${MY_NAME}" "$( date '+%Y-%m-%d %H:%M:%S' )" "${OUTPUT}" >&2
141143
fi
142144
return 1
143145
fi
@@ -151,14 +153,15 @@ function trigger() {
151153
# Only run trigger when command has been specified (not empty)
152154
if [ -n "${action}" ]; then
153155
if [ "${changes}" -eq "1" ]; then
154-
if eval "${action}"; then
156+
if OUTPUT="$( eval "${action}" 2>&1 )"; then
155157
if [ "${verbose}" -gt "0" ]; then
156158
printf "%s: [%s] [OK] %s succeeded: %s\\n" "${MY_NAME}" "$( date '+%Y-%m-%d %H:%M:%S' )" "TRIGGER" "${action}"
157159
fi
158160
return 0
159161
else
160-
if [ "${verbose}" -gt "0" ]; then
161-
printf "%s: [%s] [ERR] %s failed: %s\\n" "${MY_NAME}" "$( date '+%Y-%m-%d %H:%M:%S' )" "TRIGGER" "${action}"
162+
printf "%s: [%s] [ERR] %s failed: %s\\n" "${MY_NAME}" "$( date '+%Y-%m-%d %H:%M:%S' )" "TRIGGER" "${action}" >&2
163+
if [ -n "${OUTPUT}" ]; then
164+
printf "%s: [%s] [ERR] %s\\n" "${MY_NAME}" "$( date '+%Y-%m-%d %H:%M:%S' )" "${OUTPUT}" >&2
162165
fi
163166
# Also return 0 here in order to not abort the loop
164167
return 0

0 commit comments

Comments
 (0)