diff options
author | P. J. McDermott <pj@pehjota.net> | 2014-05-15 13:22:24 (EDT) |
---|---|---|
committer | P. J. McDermott <pj@pehjota.net> | 2014-05-15 14:12:38 (EDT) |
commit | d03309a89920ebc8c7f61d7bfcc5b3cc4c7836e5 (patch) | |
tree | 9844152ff2bff13f2c523a2cae53c308e4f5372f | |
parent | 6208979d3c87d3171fcf8e68a7b8a91953462e7e (diff) |
tests/ob_plat_is_concerned.sh: New test.
The last test case is currently expected to fail:
FAIL: tests/ob_plat_is_concerned.sh
False positive:
Host platform: "all"
Package platforms: "!dev"
(There are also some errors about _ob_local.)
-rw-r--r-- | tests/local.mk | 6 | ||||
-rw-r--r-- | tests/ob_plat_is_concerned.rc | 67 | ||||
-rw-r--r-- | tests/ob_plat_is_concerned.sh | 55 |
3 files changed, 126 insertions, 2 deletions
diff --git a/tests/local.mk b/tests/local.mk index bc68871..30cb38c 100644 --- a/tests/local.mk +++ b/tests/local.mk @@ -19,9 +19,11 @@ tests = \ tests/ob_match_arch.sh \ tests/ob_parse_dep.sh \ - tests/ob_reduce_deps.sh + tests/ob_reduce_deps.sh \ + tests/ob_plat_is_concerned.sh tests_data = \ tests/ob_match_arch.rc \ tests/ob_parse_dep.rc \ - tests/ob_reduce_deps.rc + tests/ob_reduce_deps.rc \ + tests/ob_plat_is_concerned.rc diff --git a/tests/ob_plat_is_concerned.rc b/tests/ob_plat_is_concerned.rc new file mode 100644 index 0000000..d4373df --- /dev/null +++ b/tests/ob_plat_is_concerned.rc @@ -0,0 +1,67 @@ +# Platform: all + +host_plat='dev' +plats='all' +result='false' +testcase + +host_plat='ao751h' +plats='all' +result='false' +testcase + +host_plat='all' +plats='all' +result='true' +testcase + +# Platform: any + +host_plat='dev' +plats='any' +result='true' +testcase + +host_plat='ao751h' +plats='any' +result='true' +testcase + +host_plat='all' +plats='any' +result='false' +testcase + +# Platform: dev + +host_plat='dev' +plats='dev' +result='true' +testcase + +host_plat='ao751h' +plats='dev' +result='false' +testcase + +host_plat='all' +plats='dev' +result='false' +testcase + +# Platform: !dev + +host_plat='dev' +plats='!dev' +result='false' +testcase + +host_plat='ao751h' +plats='!dev' +result='true' +testcase + +host_plat='all' +plats='!dev' +result='false' +testcase diff --git a/tests/ob_plat_is_concerned.sh b/tests/ob_plat_is_concerned.sh new file mode 100644 index 0000000..2fa7339 --- /dev/null +++ b/tests/ob_plat_is_concerned.sh @@ -0,0 +1,55 @@ +# opkbuild +# tests/ob_plat_is_concerned +# Tests for ob_plat_is_concerned. +# +# Copyright (C) 2012, 2014 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/>. + +. ./common.sh + +ob_use metadata + +ret=0 +host_plat= +plats= +result= + +main() +{ + . ./ob_plat_is_concerned.rc + + exit ${ret} +} + +testcase() +{ + if ob_plat_is_concerned "${host_plat}" "${plats}"; then + if ! ${result}; then + printf 'False positive:\n' >&2 + printf ' Host platform: "%s"\n' "${host_plat}" >&2 + printf ' Package platforms: "%s"\n' "${plats}" >&2 + ret=1 + fi + else + if ${result}; then + printf 'False negative:\n' >&2 + printf ' Host platform: "%s"\n' "${host_plat}" >&2 + printf ' Package platforms: "%s"\n' "${plats}" >&2 + ret=1 + fi + fi +} + +main "${@}" |