From cda2e38a28e8236fc5d18fcbd817f2812aa161cd Mon Sep 17 00:00:00 2001 From: P. J. McDermott Date: Sat, 08 Sep 2012 21:54:37 -0400 Subject: Implement functions common to all unit tests. --- (limited to 'tests') diff --git a/tests/common.sh b/tests/common.sh new file mode 100644 index 0000000..55334e6 --- /dev/null +++ b/tests/common.sh @@ -0,0 +1,50 @@ +# opkbuild +# tests/common +# Common functions for unit tests. +# +# 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 3 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 . + +# The "common" module is used by all library modules. +# We have to manually load the "common" module so we can use it in ob_use. +. "${DESTDIR}/lib/common.sm" + +ob_use() +{ + _ob_local _obu_module + + if [ "${#}" -eq 1 ]; then + _obu_module="${1}" + else + return $(_ob_return 125) + fi + + _obu_module="${DESTDIR}/lib/${_obu_module}.sm" + if [ -r "${_obu_module}" ]; then + . "${_obu_module}" + else + return $(_ob_return 1) + fi + + return $(_ob_return 0) +} + +test_assert() +{ + if ! $(eval "${@}"); then + printf 'Assertion failed with exit status %d:\n %s\n' \ + "${?}" "${@}" + fi +} -- cgit v0.9.1