Simplify test with setUp
This commit is contained in:
parent
9b11316463
commit
d2322c0e5e
19
test/runner
19
test/runner
@ -1,5 +1,22 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
preserve-suite-bookend-functions() {
|
||||||
|
if type setUp &>/dev/null; then
|
||||||
|
# shellcheck disable=SC2034
|
||||||
|
eval "_suite_$(typeset -f setUp)"
|
||||||
|
else
|
||||||
|
_suite_setUp() { :; }
|
||||||
|
fi
|
||||||
|
if type tearDown &>/dev/null; then
|
||||||
|
# shellcheck disable=SC2034
|
||||||
|
eval "_suite_$(typeset -f tearDown)"
|
||||||
|
else
|
||||||
|
_suite_tearDown() { :; }
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
preserve-suite-bookend-functions
|
||||||
|
|
||||||
try() {
|
try() {
|
||||||
output=$(mktemp -d)
|
output=$(mktemp -d)
|
||||||
PATH="$fake_path:$PATH" "$@" > "$output/stdout" 2> "$output/stderr"
|
PATH="$fake_path:$PATH" "$@" > "$output/stdout" 2> "$output/stderr"
|
||||||
@ -15,9 +32,11 @@ setUp() {
|
|||||||
export-repo-root
|
export-repo-root
|
||||||
move-to-working-directory
|
move-to-working-directory
|
||||||
create-fake-path
|
create-fake-path
|
||||||
|
_suite_setUp
|
||||||
}
|
}
|
||||||
|
|
||||||
tearDown() {
|
tearDown() {
|
||||||
|
_suite_tearDown
|
||||||
[ "${_shunit_test_:=}" = '' ] && return 0
|
[ "${_shunit_test_:=}" = '' ] && return 0
|
||||||
|
|
||||||
clean-up-working-directory
|
clean-up-working-directory
|
||||||
|
@ -1,46 +1,39 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
setUp() {
|
||||||
|
echo '
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
somethingw() {
|
||||||
|
_wrapper \
|
||||||
|
-n something \
|
||||||
|
-v 1337 \
|
||||||
|
-l http://something/VERSION/linux \
|
||||||
|
-d http://something/VERSION/darwin \
|
||||||
|
-- \
|
||||||
|
"$@"
|
||||||
|
}
|
||||||
|
|
||||||
|
⚡hello() { somethingw ; }
|
||||||
|
' > go
|
||||||
|
|
||||||
|
echo "source $REPO_ROOT/⚡" >> go
|
||||||
|
chmod +x go
|
||||||
|
}
|
||||||
|
|
||||||
testWrapperDownloadsFromLinuxUrlOnLinux() {
|
testWrapperDownloadsFromLinuxUrlOnLinux() {
|
||||||
mock curl
|
mock curl
|
||||||
mock uname Linux
|
mock uname Linux
|
||||||
|
|
||||||
echo '
|
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
somethingw() {
|
|
||||||
_wrapper \
|
|
||||||
-l http://something/linux
|
|
||||||
}
|
|
||||||
|
|
||||||
⚡hello() { somethingw ; }
|
|
||||||
' > go
|
|
||||||
|
|
||||||
echo "source $REPO_ROOT/⚡" >> go
|
|
||||||
chmod +x go
|
|
||||||
|
|
||||||
try ./go hello
|
try ./go hello
|
||||||
|
|
||||||
assertCalledWithArguments curl http://something/linux
|
assertCalledWithArguments curl linux
|
||||||
}
|
}
|
||||||
|
|
||||||
testWrapperHasCurlFollowLocationHeader() {
|
testWrapperHasCurlFollowLocationHeader() {
|
||||||
mock curl
|
mock curl
|
||||||
mock uname Linux
|
mock uname Linux
|
||||||
|
|
||||||
echo '
|
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
somethingw() {
|
|
||||||
_wrapper \
|
|
||||||
-l http://something/linux
|
|
||||||
}
|
|
||||||
|
|
||||||
⚡hello() { somethingw ; }
|
|
||||||
' > go
|
|
||||||
|
|
||||||
echo "source $REPO_ROOT/⚡" >> go
|
|
||||||
chmod +x go
|
|
||||||
|
|
||||||
try ./go hello
|
try ./go hello
|
||||||
|
|
||||||
assertCalledWithArguments curl --location
|
assertCalledWithArguments curl --location
|
||||||
@ -51,43 +44,14 @@ testWrapperDownloadsFromDarwinUrlOnDarwin() {
|
|||||||
mock curl
|
mock curl
|
||||||
mock uname Darwin
|
mock uname Darwin
|
||||||
|
|
||||||
echo '
|
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
somethingw() {
|
|
||||||
_wrapper \
|
|
||||||
-d http://something/darwin
|
|
||||||
}
|
|
||||||
|
|
||||||
⚡hello() { somethingw ; }
|
|
||||||
' > go
|
|
||||||
|
|
||||||
echo "source $REPO_ROOT/⚡" >> go
|
|
||||||
chmod +x go
|
|
||||||
|
|
||||||
try ./go hello
|
try ./go hello
|
||||||
assertCalledWithArguments curl http://something/darwin
|
assertCalledWithArguments curl darwin
|
||||||
}
|
}
|
||||||
|
|
||||||
testWrapperSubstitutesVERSIONInUrl() {
|
testWrapperSubstitutesVERSIONInUrl() {
|
||||||
mock curl
|
mock curl
|
||||||
mock uname Darwin
|
mock uname Darwin
|
||||||
|
|
||||||
echo '
|
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
somethingw() {
|
|
||||||
_wrapper \
|
|
||||||
-v 1337 \
|
|
||||||
-d http://something/VERSION/darwin
|
|
||||||
}
|
|
||||||
|
|
||||||
⚡hello() { somethingw ; }
|
|
||||||
' > go
|
|
||||||
|
|
||||||
echo "source $REPO_ROOT/⚡" >> go
|
|
||||||
chmod +x go
|
|
||||||
|
|
||||||
try ./go hello
|
try ./go hello
|
||||||
assertCalledWithArguments curl http://something/1337/darwin
|
assertCalledWithArguments curl http://something/1337/darwin
|
||||||
}
|
}
|
||||||
@ -99,21 +63,6 @@ testWrapperRunsDownloadedBinary() {
|
|||||||
'
|
'
|
||||||
mock uname Darwin
|
mock uname Darwin
|
||||||
|
|
||||||
echo '
|
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
somethingw() {
|
|
||||||
_wrapper \
|
|
||||||
-d http://something/darwin
|
|
||||||
}
|
|
||||||
|
|
||||||
⚡hello() { somethingw ; }
|
|
||||||
' > go
|
|
||||||
|
|
||||||
echo "source $REPO_ROOT/⚡" >> go
|
|
||||||
chmod +x go
|
|
||||||
|
|
||||||
|
|
||||||
try ./go hello
|
try ./go hello
|
||||||
assertContains "$STDOUT" "Hello friend"
|
assertContains "$STDOUT" "Hello friend"
|
||||||
}
|
}
|
||||||
@ -124,22 +73,6 @@ testWrapperPersistsBinaryInLocationBasedOnNameAndVersion() {
|
|||||||
'
|
'
|
||||||
mock uname Darwin
|
mock uname Darwin
|
||||||
|
|
||||||
echo '
|
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
somethingw() {
|
|
||||||
_wrapper \
|
|
||||||
-n something \
|
|
||||||
-v 1337 \
|
|
||||||
-d http://something/darwin
|
|
||||||
}
|
|
||||||
|
|
||||||
⚡hello() { somethingw ; }
|
|
||||||
' > go
|
|
||||||
|
|
||||||
echo "source $REPO_ROOT/⚡" >> go
|
|
||||||
chmod +x go
|
|
||||||
|
|
||||||
try ./go hello
|
try ./go hello
|
||||||
assertContains "$(<.generated/wrapper/something/1337/bin)" potato
|
assertContains "$(<.generated/wrapper/something/1337/bin)" potato
|
||||||
}
|
}
|
||||||
@ -148,22 +81,6 @@ testWrapperDoesNotRedownloadBinaryIfPresent() {
|
|||||||
mock curl 'whatever'
|
mock curl 'whatever'
|
||||||
mock uname Darwin
|
mock uname Darwin
|
||||||
|
|
||||||
echo '
|
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
somethingw() {
|
|
||||||
_wrapper \
|
|
||||||
-n something \
|
|
||||||
-v 1337 \
|
|
||||||
-d http://something/darwin
|
|
||||||
}
|
|
||||||
|
|
||||||
⚡hello() { somethingw ; }
|
|
||||||
' > go
|
|
||||||
|
|
||||||
echo "source $REPO_ROOT/⚡" >> go
|
|
||||||
chmod +x go
|
|
||||||
|
|
||||||
mkdir -p .generated/wrapper/something/1337/
|
mkdir -p .generated/wrapper/something/1337/
|
||||||
touch .generated/wrapper/something/1337/bin
|
touch .generated/wrapper/something/1337/bin
|
||||||
try ./go hello
|
try ./go hello
|
||||||
|
Loading…
Reference in New Issue
Block a user