small testsuite for estack push/pop and friends
authorMike Frysinger <vapier@gentoo.org>
Fri, 16 Dec 2011 23:40:40 +0000 (23:40 +0000)
committerMike Frysinger <vapier@gentoo.org>
Fri, 16 Dec 2011 23:40:40 +0000 (23:40 +0000)
eclass/tests/eutils:estack.sh [new file with mode: 0755]

diff --git a/eclass/tests/eutils:estack.sh b/eclass/tests/eutils:estack.sh
new file mode 100755 (executable)
index 0000000..c180d13
--- /dev/null
@@ -0,0 +1,42 @@
+#!/bin/bash
+
+source tests-common.sh
+
+inherit eutils
+
+tbegin "initial stack state"
+estack_pop teststack
+# Should be empty and thus return 1
+[[ $? -eq 1 ]]
+tend $?
+
+tbegin "simple push/pop"
+estack_push ttt 1
+estack_pop ttt
+tend $?
+
+tbegin "simple push/pop var"
+estack_push xxx "boo ga boo"
+estack_pop xxx i
+[[ $? -eq 0 ]] && [[ ${i} == "boo ga boo" ]]
+tend $?
+
+tbegin "multi push/pop"
+estack_push yyy {1..10}
+i=0
+while estack_pop yyy ; do
+       : $(( i++ ))
+done
+[[ ${i} -eq 10 ]]
+tend $?
+
+tbegin "umask push/pop"
+u0=$(umask)
+eumask_push 0000
+u1=$(umask)
+eumask_pop
+u2=$(umask)
+[[ ${u0}:${u1}:${u2} == "${u0}:0000:${u0}" ]]
+tend $?
+
+texit