Update/cleanup Makefile, and switch to test-runner.sh

This commit is contained in:
2014-08-21 01:59:12 +01:00
parent 6dfc81c066
commit 119cf76bff
3 changed files with 39 additions and 55 deletions

1
.gitignore vendored
View File

@@ -1,2 +1,3 @@
test/assert.sh
test/stub.sh
test-runner.sh

View File

@@ -1,38 +1,55 @@
test: build prepare
./test.sh
build: bin/dotify
build:
bin/dotify: src/*/**
./build.sh
prepare: prepare-assert.sh prepare-stub.sh
test: bootstrap build
./test-runner.sh
prepare-assert.sh:
test -f "test/assert.sh" || ( \
echo "fetching test/assert.sh..." && \
curl -s -L -o test/assert.sh \
https://raw.github.com/lehmannro/assert.sh/v1.0.2/assert.sh \
)
bootstrap: test-runner.sh test/assert.sh test/stub.sh
clean: remove_test-runner.sh remove_test/assert.sh remove_test/stub.sh
update: update_test-runner.sh update_test/assert.sh update_test/stub.sh
update-assert.sh: remove-assert.sh prepare-assert.sh
test-runner.sh:
echo "fetching test-runner.sh..." && \
curl -s -L -o test-runner.sh \
https://github.com/jimeh/test-runner.sh/raw/v0.2.0/test-runner.sh && \
chmod +x test-runner.sh
remove-assert.sh:
remove_test-runner.sh:
( \
test -f "test-runner.sh" && rm "test-runner.sh" && \
echo "removed test-runner.sh"\
) || exit 0
update_test-runner.sh: remove_test-runner.sh test-runner.sh
test/assert.sh:
echo "fetching test/assert.sh..." && \
curl -s -L -o test/assert.sh \
https://raw.github.com/lehmannro/assert.sh/v1.0.2/assert.sh
remove_test/assert.sh:
test -f "test/assert.sh" && \
rm "test/assert.sh" && \
echo "removed test/assert.sh"
prepare-stub.sh:
test -f "test/stub.sh" || ( \
echo "fetching test/stub.sh..." && \
curl -s -L -o test/stub.sh \
https://raw.github.com/jimeh/stub.sh/v0.3.0/stub.sh \
)
update_test/assert.sh: remove_test/assert.sh test/assert.sh
update-stub.sh: remove-stub.sh prepare-stub.sh
test/stub.sh:
echo "fetching test/stub.sh..." && \
curl -s -L -o test/stub.sh \
https://raw.github.com/jimeh/stub.sh/v1.0.1/stub.sh
remove-stub.sh:
remove_test/stub.sh:
test -f "test/stub.sh" && \
rm "test/stub.sh" && \
echo "removed test/stub.sh"
update_test/stub.sh: remove_test/stub.sh test/stub.sh
.SILENT:
.PHONY: build test prepare preare-assert.sh prepare-stub.sh
.PHONY: test bootstrap clean \
remove_test-runner.sh update_test-runner.sh \
remove_test/assert.sh update_test/assert.sh \
remove_test/stub.sh update_test/stub.sh

34
test.sh
View File

@@ -1,34 +0,0 @@
#! /usr/bin/env bash
resolve_link() {
$(type -p greadlink readlink | head -1) $1
}
abs_dirname() {
local cwd="$(pwd)"
local path="$1"
while [ -n "$path" ]; do
cd "${path%/*}"
local name="${path##*/}"
path="$(resolve_link "$name" || true)"
done
pwd
cd "$cwd"
}
testdir="$(abs_dirname "$0")/test"
testfiles="$(find "$testdir" -name "*-test.sh")"
RET=0
for testfile in $testfiles; do
echo ""
echo "running: ${testfile/#$(dirname "$testdir")\//}"
cd "$(dirname "$testfile")"
"$testfile"
if [ "$?" != "0" ]; then RET=1; fi
done
echo ""
exit $RET