diff options
author | P. J. McDermott <pjm@nac.net> | 2012-09-08 21:54:37 (EDT) |
---|---|---|
committer | P. J. McDermott <pjm@nac.net> | 2012-09-08 21:56:16 (EDT) |
commit | cda2e38a28e8236fc5d18fcbd817f2812aa161cd (patch) | |
tree | b47726e37b66fc2308017be8b2e4a1fe6e7cc212 /tests | |
parent | 97cc51a5feff0b56e425d67e2239a3adbe886a79 (diff) |
Implement functions common to all unit tests.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/common.sh | 50 |
1 files changed, 50 insertions, 0 deletions
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 <http://www.gnu.org/licenses/>. + +# 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 +} |