diff options
author | P. J. McDermott <pjm@nac.net> | 2013-06-15 15:38:27 (EDT) |
---|---|---|
committer | P. J. McDermott <pjm@nac.net> | 2013-06-15 15:40:28 (EDT) |
commit | ff5dc57dead03dffe11318695d61481d27688d4d (patch) | |
tree | bf458b069a44a669cbff68f9638b3409d3a47100 | |
parent | 32f7ccc0b1e3a32dad9d4f7acfe72f5069aaa9b3 (diff) |
Make test target non-recursive.
-rw-r--r-- | Makefile.in | 32 | ||||
-rw-r--r-- | tests/Makefile.in | 64 | ||||
-rw-r--r-- | tests/local.mk | 22 |
3 files changed, 51 insertions, 67 deletions
diff --git a/Makefile.in b/Makefile.in index 0c48098..73cfffd 100644 --- a/Makefile.in +++ b/Makefile.in @@ -62,6 +62,7 @@ include $(srcdir)/lib/package/local.mk include $(srcdir)/lib/metadata/local.mk include $(srcdir)/man/local.mk include $(srcdir)/locale/local.mk +include $(srcdir)/tests/local.mk bin = $(bin_srcs:.sh=) pkglib = $(pkglib_srcs:.sh=.sm) @@ -93,7 +94,8 @@ distfiles = \ $(pkglibmetadata_srcs) \ $(man1_srcs) \ $(man3_srcs) \ - $(locale_srcs) + $(locale_srcs) \ + $(tests) script = \ s&@@PACKAGE_NAME@@&$(package_name)&;\ @@ -245,8 +247,32 @@ uninstall-locale: done test: all - @printf 'Running tests...\n' - @cd tests && $(MAKE) $(MACROS) test + @cd '$(srcdir)/tests'; \ + all=0; failed=0; \ + for test in $(tests); do \ + out="$$($(sh) "$(srcdir)/$${test}.sh" 2>&1)"; \ + if [ $${?} -eq 0 ]; then \ + printf 'PASS: %s\n' "$${test}"; \ + else \ + printf 'FAIL: %s\n' "$${test}"; \ + echo "$${out}" | sed 's/^/ /'; \ + failed=$$(($$failed + 1)); \ + fi; \ + all=$$(($$all + 1)); \ + done; \ + banner="$$(printf '%d out of %d tests failed' $${failed} $${all})"; \ + l=$$(echo "$${banner}" | wc -c); \ + i=1; while [ "$${i}" -lt "$${l}" ]; do \ + printf '='; \ + i=$$(($$i + 1)); \ + done; \ + printf '\n%s\n' "$${banner}"; \ + i=1; while [ $${i} -lt $${l} ]; do \ + printf '='; \ + i=$$(($$i + 1)); \ + done; \ + printf '\n'; \ + exit $${failed} $(distdir): @mkdir -p '$(distdir)' diff --git a/tests/Makefile.in b/tests/Makefile.in deleted file mode 100644 index f9ab9a0..0000000 --- a/tests/Makefile.in +++ /dev/null @@ -1,64 +0,0 @@ -# opkbuild -# Makefile.in -# Input Makefile for configure. -# -# Copyright (C) 2012 Patrick "P. J." McDermott -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. - -package_name = @package_name@ -package_version= @package_version@ - -SH = @sh@ - -.SUFFIXES: - -TESTS = ob_match_arch ob_parse_dep ob_reduce_deps - -distdir = ../$(package_name)-$(package_version)/tests -distfiles = Makefile.in common.sh - -test: - @all=0; failed=0; \ - for test in $(TESTS); do \ - out="$$($(SH) "$${test}.sh" 2>&1)"; \ - if [ $${?} -eq 0 ]; then \ - printf 'PASS: %s\n' "$${test}"; \ - else \ - printf 'FAIL: %s\n' "$${test}"; \ - echo "$${out}" | sed 's/^/ /'; \ - failed=$$(($$failed + 1)); \ - fi; \ - all=$$(($$all + 1)); \ - done; \ - banner="$$(printf '%d out of %d tests failed' $${failed} $${all})"; \ - l=$$(echo "$${banner}" | wc -c); \ - i=1; while [ "$${i}" -lt "$${l}" ]; do \ - printf '='; \ - i=$$(($$i + 1)); \ - done; \ - printf '\n%s\n' "$${banner}"; \ - i=1; while [ $${i} -lt $${l} ]; do \ - printf '='; \ - i=$$(($$i + 1)); \ - done; \ - printf '\n'; \ - exit $${failed} - -$(distdir): - @mkdir -p '$(distdir)' - @cp -pR $(distfiles) '$(distdir)' - @for test in $(TESTS); do \ - cp -p "$${test}.sh" "$${test}.rc" '$(distdir)'; \ - done diff --git a/tests/local.mk b/tests/local.mk new file mode 100644 index 0000000..ce8a2c0 --- /dev/null +++ b/tests/local.mk @@ -0,0 +1,22 @@ +# opkbuild +# tests/local.mk +# +# Copyright (C) 2012-2013 Patrick "P. J." McDermott +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +tests = \ + tests/ob_match_arch \ + tests/ob_parse_dep \ + tests/ob_reduce_deps |