@@ -93,30 +93,38 @@ detect_duplicate_stack_creation()
9393verify_stack_size_changes ()
9494{
9595 stack_new foobar
96+ stack_size foobar __foobar_size
97+ expected_size=0
98+ if [[ " ${__foobar_size} " != " ${expected_size} " ]]; then
99+ emergency " verify_stack_size_changes: size=${__foobar_size} (expected ${expected_size} )"
100+ fi
101+
96102 stack_push foobar kernel
97- stack_size foobar foobar_size
98- if [[ " ${foobar_size} " != " 1" ]]; then
99- emergency " verify_stack_size_changes: size=${foobar_size} (expected 1)"
103+ stack_size foobar __foobar_new_size
104+ (( expected_size += 1 ))
105+ if [[ " ${__foobar_new_size} " != " ${expected_size} " ]]; then
106+ emergency " verify_stack_size_changes: size=${__foobar_new_size} (expected 1)"
100107 fi
101108
102109 stack_peek foobar tmp
103110 if [[ " ${tmp} " != " kernel" ]]; then
104111 emergency " verify_stack_size_changes: peeked item ('${tmp} ') mismatch with pushed item ('kernel')"
105112 fi
106113
107- stack_size foobar should_be_unchanged
108- if [[ " ${should_be_unchanged } " != " 1 " ]]; then
109- emergency " verify_stack_size_changes: size=${should_be_unchanged } (expected 1 )"
114+ stack_size foobar __should_be_unchanged
115+ if [[ " ${__should_be_unchanged } " != " ${expected_size} " ]]; then
116+ emergency " verify_stack_size_changes: size=${__should_be_unchanged } (expected ${expected_size} )"
110117 fi
111118
112119 stack_pop foobar popped
113120 if [[ " ${popped} " != " kernel" ]]; then
114121 emergency " verify_stack_size_changes: popped item ('${popped} ') mismatch with pushed item ('kernel')"
115122 fi
123+ (( expected_size -= 1 )) || true
116124
117- stack_size foobar new_foobar_size
118- if [[ " ${new_foobar_size } " != " 0 " ]]; then
119- emergency " verify_stack_size_changes: size=${foobar_size } (expected 0 )"
125+ stack_size foobar __final_size
126+ if [[ " ${__final_size } " != " ${expected_size} " ]]; then
127+ emergency " verify_stack_size_changes: size=${__final_size } (expected ${expected_size} )"
120128 fi
121129}
122130
@@ -136,7 +144,7 @@ test_stack()
136144
137145 # Verify that each named function detects non-existent stacks:
138146 detect_no_such_stack \
139- stack_print stack_pop stack_push stack_size
147+ stack_destroy stack_peek stack_print stack_pop stack_push stack_size
140148
141149 # Verify that duplicate creation generates the expected error:
142150 detect_duplicate_stack_creation \
@@ -145,21 +153,6 @@ test_stack()
145153 # Verify that push, peek, and pop yield correct size changes or lack thereof:
146154 verify_stack_size_changes
147155
148- emergency " finito but some failing tests were not run (see ${OPENCOARRAYS_SRC_DIR} /src/tests/installation/test-stack.sh)"
149-
150- # Failing tests:
151-
152- { # fail to detect non-existent stack
153- detect_no_such_stack \
154- stack_peek
155- detect_no_such_stack \
156- stack_exists
157- detect_no_such_stack \
158- stack_destroy
159- }
156+ debug " test-stack.sh: All tests passed."
160157
161- { # error on checking size of newly created
162- stack_new foo
163- stack_size foo foo_size
164- }
165158}
0 commit comments