summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorP. J. McDermott <pj@pehjota.net>2014-05-15 14:38:12 (EDT)
committer P. J. McDermott <pj@pehjota.net>2014-05-15 14:38:12 (EDT)
commitee52bc612897dad0243e5a26e18fa18e97091024 (patch)
tree35f16992ea750044a84de2d0d4a3ec850c10c6f0
parent34c2432859bbc108193e86e8caacc995488e04ed (diff)
tests/ob_arch_is_concerned.sh: New test.
The last test case is currently expected to fail: FAIL: tests/ob_arch_is_concerned.sh False positive: Host architecture: "all" Package architectures: "!amd64-linux-glibc" (There are also some errors about _ob_local.)
-rw-r--r--tests/local.mk2
-rw-r--r--tests/ob_arch_is_concerned.rc67
-rw-r--r--tests/ob_arch_is_concerned.sh57
3 files changed, 126 insertions, 0 deletions
diff --git a/tests/local.mk b/tests/local.mk
index 30cb38c..acbb674 100644
--- a/tests/local.mk
+++ b/tests/local.mk
@@ -20,10 +20,12 @@ tests = \
tests/ob_match_arch.sh \
tests/ob_parse_dep.sh \
tests/ob_reduce_deps.sh \
+ tests/ob_arch_is_concerned.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_arch_is_concerned.rc \
tests/ob_plat_is_concerned.rc
diff --git a/tests/ob_arch_is_concerned.rc b/tests/ob_arch_is_concerned.rc
new file mode 100644
index 0000000..76db80e
--- /dev/null
+++ b/tests/ob_arch_is_concerned.rc
@@ -0,0 +1,67 @@
+# Architecture: all
+
+host_arch='amd64-linux-glibc'
+arches='all'
+result='false'
+testcase
+
+host_arch='i686-linux-glibc'
+arches='all'
+result='false'
+testcase
+
+host_arch='all'
+arches='all'
+result='true'
+testcase
+
+# Architecture: any
+
+host_arch='amd64-linux-glibc'
+arches='any'
+result='true'
+testcase
+
+host_arch='i686-linux-glibc'
+arches='any'
+result='true'
+testcase
+
+host_arch='all'
+arches='any'
+result='false'
+testcase
+
+# Architecture: amd64-linux-glibc
+
+host_arch='amd64-linux-glibc'
+arches='amd64-linux-glibc'
+result='true'
+testcase
+
+host_arch='i686-linux-glibc'
+arches='amd64-linux-glibc'
+result='false'
+testcase
+
+host_arch='all'
+arches='amd64-linux-glibc'
+result='false'
+testcase
+
+# Architecture: !amd64-linux-glibc
+
+host_arch='amd64-linux-glibc'
+arches='!amd64-linux-glibc'
+result='false'
+testcase
+
+host_arch='i686-linux-glibc'
+arches='!amd64-linux-glibc'
+result='true'
+testcase
+
+host_arch='all'
+arches='!amd64-linux-glibc'
+result='false'
+testcase
diff --git a/tests/ob_arch_is_concerned.sh b/tests/ob_arch_is_concerned.sh
new file mode 100644
index 0000000..bd5b1af
--- /dev/null
+++ b/tests/ob_arch_is_concerned.sh
@@ -0,0 +1,57 @@
+# opkbuild
+# tests/ob_arch_is_concerned
+# Tests for ob_arch_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_arch=
+arches=
+result=
+
+main()
+{
+ . ./ob_arch_is_concerned.rc
+
+ exit ${ret}
+}
+
+testcase()
+{
+ if ob_arch_is_concerned "${host_arch}" "${arches}"; then
+ if ! ${result}; then
+ printf 'False positive:\n' >&2
+ printf ' Host architecture: "%s"\n' \
+ "${host_arch}" >&2
+ printf ' Package architectures: "%s"\n' "${arches}" >&2
+ ret=1
+ fi
+ else
+ if ${result}; then
+ printf 'False negative:\n' >&2
+ printf ' Host architecture: "%s"\n' \
+ "${host_arch}" >&2
+ printf ' Package architectures: "%s"\n' "${arches}" >&2
+ ret=1
+ fi
+ fi
+}
+
+main "${@}"