summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorP. 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)
commitd03309a89920ebc8c7f61d7bfcc5b3cc4c7836e5 (patch)
tree9844152ff2bff13f2c523a2cae53c308e4f5372f /tests
parent6208979d3c87d3171fcf8e68a7b8a91953462e7e (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.)
Diffstat (limited to 'tests')
-rw-r--r--tests/local.mk6
-rw-r--r--tests/ob_plat_is_concerned.rc67
-rw-r--r--tests/ob_plat_is_concerned.sh55
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 "${@}"