summaryrefslogtreecommitdiff
path: root/tests/bin
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2022-05-19 20:52:29 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2022-05-19 20:52:29 +0000
commitcc35918fe2995ccebec2b05a8ed4064c15d414ea (patch)
tree407b071919f2dceac3fb76b7579ed7bbe0748f75 /tests/bin
parentb282b7b5d82892a9cf717e9e0951088035462ae4 (diff)
downloadalpine-conf-cc35918fe2995ccebec2b05a8ed4064c15d414ea.zip
tests: add a fake wget
so we can simulate fetching things from internet
Diffstat (limited to 'tests/bin')
-rwxr-xr-xtests/bin/wget75
1 files changed, 75 insertions, 0 deletions
diff --git a/tests/bin/wget b/tests/bin/wget
new file mode 100755
index 0000000..72306a4
--- /dev/null
+++ b/tests/bin/wget
@@ -0,0 +1,75 @@
+#!/bin/sh
+
+prog=${0##*/}
+usage() {
+ cat <<EOF
+usage: wget [-cqS] [--spider] [-O FILE] [-o LOGFILE] [--header STR]
+ [--post-data STR | --post-file FILE] [-Y on/off]
+ [-P DIR] [-U AGENT] [-T SEC] URL...
+
+Retrieve files via HTTP or FTP
+
+ --spider Only check URL existence: \$? is 0 if exists
+ --header STR Add STR (of form 'header: value') to headers
+ --post-data STR Send STR using POST method
+ --post-file FILE Send FILE using POST method
+ -c Continue retrieval of aborted transfer
+ -q Quiet
+ -P DIR Save to DIR (default .)
+ -S Show server response
+ -T SEC Network read timeout is SEC seconds
+ -O FILE Save to FILE ('-' for stdout)
+ -o LOGFILE Log messages to FILE
+ -U STR Use STR for User-Agent header
+ -Y on/off Use proxy
+EOF
+ exit $1
+}
+
+msg() {
+ if ! [ -n "$quiet" ]; then
+ # busybox wget sends to stderr
+ echo "$@" >&2
+ fi
+}
+
+OPTS=$(getopt -l quiet,help,spider -o "qhO:" -n $prog -- "$@") || usage "1" >&2
+
+quiet=
+eval set -- "$OPTS"
+while true; do
+ opt="$1"
+ case "$opt" in
+ -h|--help)
+ usage 0
+ ;;
+ -q|--quiet)
+ quiet=1
+ ;;
+ --spider)
+ exit ${SPIDER_STATUS:-0}
+ ;;
+ -O)
+ shift
+ outfile="$1"
+ ;;
+ --)
+ shift
+ break
+ ;;
+ *) usage "1" >&2
+ ;;
+ esac
+ shift
+done
+
+: ${outfile:=index.html}
+case "$outfile" in
+ -) msg "writing to stdout"
+ echo "$WGETCONTENT"
+ ;;
+ *) msg "saving to '$outfile'"
+ echo "$WGETCONTENT" > "$outfile"
+ ;;
+esac
+