summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/deps.sh43
-rw-r--r--tests/depstab16
2 files changed, 59 insertions, 0 deletions
diff --git a/tests/deps.sh b/tests/deps.sh
new file mode 100644
index 0000000..a73ffe8
--- /dev/null
+++ b/tests/deps.sh
@@ -0,0 +1,43 @@
+# opkbuild
+# tests/deps
+# Tests for the "deps" module.
+#
+# 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/>.
+
+. ./common.sh
+
+ob_use deps
+
+while read -r line; do
+
+ line="${line%%#*}"
+ [ -z "${line}" ] && continue
+
+ IFS=';' read test_dep good_pkg good_archqual good_rel good_ver good_arches \
+ <<EOF
+${line}
+EOF
+
+ printf 'Parsing dependency "%s"...\n' "${test_dep}"
+
+ ob_parse_dep -p test_pkg -q test_archqual -r test_rel -v test_ver \
+ -A test_arches "${test_dep}"
+
+ for comp in pkg archqual rel ver arches; do
+ test_assert [ '"${test_'${comp}'}"' = '"${good_'${comp}'}"' ]
+ done
+
+done <'depstab'
diff --git a/tests/depstab b/tests/depstab
new file mode 100644
index 0000000..5d19a4b
--- /dev/null
+++ b/tests/depstab
@@ -0,0 +1,16 @@
+# dependency ; pkg ; archqual ; rel ; ver ; arches
+
+foo ;foo
+foo:core-linux-eglibc ;foo;core-linux-eglibc
+foo (>= 1.0) ;foo;;>=;1.0
+foo(>=1.0) ;foo;;>=;1.0
+foo (>= 1.0) ;foo;;>=;1.0
+foo [core-linux-eglibc] ;foo;;;;core-linux-eglibc
+foo[core-linux-eglibc] ;foo;;;;core-linux-eglibc
+foo [core-linux-eglibc] ;foo;;;;core-linux-eglibc
+foo:core-linux-eglibc (>= 1.0) [core-linux-eglibc] \
+ ;foo;core-linux-eglibc;>=;1.0;core-linux-eglibc
+foo:core-linux-eglibc(>=1.0)[core-linux-eglibc] \
+ ;foo;core-linux-eglibc;>=;1.0;core-linux-eglibc
+foo:core-linux-eglibc (>= 1.0) [core-linux-eglibc] \
+ ;foo;core-linux-eglibc;>=;1.0;core-linux-eglibc