wip - sfeed_tests - sfeed tests and RSS and Atom files
(HTM) git clone git://git.codemadness.org/sfeed_tests
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
(DIR) commit 4cc753fc3d0df7213d9dd2c6711b053a0921b5e6
(DIR) parent b142d375c3703d7767dfe78361d3092c10684900
(HTM) Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Sat, 16 Dec 2023 13:43:05 +0100
wip
Diffstat:
M input/sfeed_update/test.sh | 131 ++++++++++++++++++++++++++++---
1 file changed, 118 insertions(+), 13 deletions(-)
---
(DIR) diff --git a/input/sfeed_update/test.sh b/input/sfeed_update/test.sh
@@ -205,14 +205,11 @@ feeds() {
# TODO:
# check if TMPDIR="" is actually used and cleaned up.
- # tmp="$(mktemp -d)"
- # mkdir -p "$tmp"
- # TMPDIR="$tmp" ...
- # dircount=0; for d in "$tmp"/*/; do echo "$d"; dircount=$((dircount+1)); done
- # test "$dircount" = "1"
-
- "$SFEED_UPDATE" "$rc" >"$log_stdout" 2> "$log_stderr"
- expect "0" "$?" "exit statuscode"
+ #tmp="$(mktemp -d)"
+ #mkdir -p "$tmp"
+ #TMPDIR="$tmp" ...
+ #dircount=0; for d in "$tmp"/*/; do echo "$d"; dircount=$((dircount+1)); done
+ #test "$dircount" = "1"
# TODO: check if temporary directory is cleaned succesfully after run.
@@ -277,12 +274,117 @@ feeds() {
echo "test_parameters: test OK" >&2
}
+# TODO
+test_override_fetch() {
+ init_test
+
+ paramfile="$(mktemp)"
+
+ cat > "$rc" <<!
+sfeedpath="$feedpath"
+maxjobs=1 # must be run sequential
+
+# fetch(name, url, feedfile)
+fetch() {
+ # TODO: check parameters also
+ printf '%s|%s|%s|\n' "\$1" "\$2" "\$3" >> "$paramfile"
+
+ case "\$1" in
+ 1)
+ echo "<item><title>a</title></item>";;
+ 2)
+ echo "<item><title>b</title></item>";;
+ 3)
+ echo "<item><title>c</title></item>";;
+ esac
+}
+
+feeds() {
+ # feed <name> <feedurl> [basesiteurl] [encoding]
+ feed "1" "file:///dev/null"
+ feed "2" "file:///dev/null"
+ feed "3" "file:///dev/null"
+}
+!
+
+ "$SFEED_UPDATE" "$rc" >"$log_stdout" 2>"$log_stderr"
+ expect "0" "$?" "exit statuscode"
+
+ # TODO: check results.
+# ls -l "$feedpath" # DEBUG
+
+ result=$(cut -f 2 "$feedpath/1" "$feedpath/2" "$feedpath/3" | tr -d '\n')
+ expect "abc" "$result" "results of feed files"
+
+ # TODO: check paramfile contents.
+ cat "$paramfile"
+
+ cleanup
+ rm -f "$paramfile"
+
+ echo "test_override_fetch: test OK" >&2
+}
+
+# TODO
+test_override_convertencoding() {
+ init_test
+
+ cat > "$rc" <<!
+sfeedpath="$feedpath"
+
+# convertencoding(name, from, to)
+convertencoding() {
+ # TODO: check parameters also
+
+ case "\$1" in
+ 1)
+ echo "<item><title>a</title></item>";;
+ 2)
+ echo "<item><title>b</title></item>";;
+ 3)
+ echo "<item><title>c</title></item>";;
+ esac
+}
+
+feeds() {
+ # feed <name> <feedurl> [basesiteurl] [encoding]
+ feed "1" "file:///dev/null" "" "utf-8"
+ feed "2" "file:///dev/null" "" "utf-69"
+ feed "3" "file:///dev/null" "" "iso-8859-1"
+}
+!
+
+ "$SFEED_UPDATE" "$rc" >"$log_stdout" 2>"$log_stderr"
+ # TODO: check results.
+
+ ls -l "$feedpath" # DEBUG
+
+ echo "test_override_convertencoding: test OK" >&2
+}
+
+test_override_fetch
+
+exit $?
+
+#test_override_convertencoding
+#test_override_parse
+#test_override_filter
+#test_override_merge
+#test_override_order
+
+#test_fail_fetch
+#test_fail_convertencoding
+#test_fail_parse
+#test_fail_filter
+#test_fail_merge
+#test_fail_order
+
+exit $? # DEBUG
+
test_normal
test_one_fail
-
test_tmpdir
test_config_invocation
-
test_parameters
exit $? # DEBUG
@@ -291,15 +393,18 @@ exit $? # DEBUG
test_sigterm
# TODO:
-# x test $TMPDIR.
-# x test if feeds() is not set.
+# - test proper cleanup on SIGTERM.
+
# - test weird feednames.
# - check filenames, '*', '/', newline.
+# - test translation of '/' to '_' in feednames.
# - test override functions.
# - test error messages, grep for "FAIL (ENCODING)" etc.
# - test merge, order logic.
-# x test empty fields (for xargs etc).
# - add existing test-cases and make them automatic:
# - decoding/
# - exitstatus/
# - merge/
+# x test $TMPDIR.
+# x test if feeds() is not set.
+# x test empty fields (for xargs etc).