#!/bin/bash # Tests for smallnum subtraction result=0 echo -n "$0: (- 5 4)... " expected="1" actual=`echo "(- 5 4)" | target/psse 2>/dev/null | tail -1` if [ "${expected}" = "${actual}" ] then echo "OK" else echo "Fail: expected '${expected}', got '${actual}'" result=`echo "${result} + 1" | bc` fi echo -n "$0: (- 5.0 4)... " expected="1" actual=`echo "(- 5.0 4)" | target/psse 2>/dev/null | tail -1` if [ "${expected}" = "${actual}" ] then echo "OK" else echo "Fail: expected '${expected}', got '${actual}'" result=`echo "${result} + 1" | bc` fi echo -n "$0: (- 5 4.0)... " expected="1" actual=`echo "(- 5 4.0)" | target/psse 2>/dev/null | tail -1` if [ "${expected}" = "${actual}" ] then echo "OK" else echo "Fail: expected '${expected}', got '${actual}'" result=`echo "${result} + 1" | bc` fi echo -n "$0: (- 5.01 4.0)... " expected="1.0100000000000000002082" actual=`echo "(- 5.01 4.0)" | target/psse 2>/dev/null | tail -1` if [ "${expected}" = "${actual}" ] then echo "OK" else echo "Fail: expected '${expected}', got '${actual}'" result=`echo "${result} + 1" | bc` fi echo -n "$0: (- 5 4/5)... " expected="24/5" actual=`echo "(- 5 4/5)" | target/psse 2>/dev/null | tail -1` if [ "${expected}" = "${actual}" ] then echo "OK" else echo "Fail: expected '${expected}', got '${actual}'" result=`echo "${result} + 1" | bc` fi echo -n "$0: max smallint (- 1152921504606846975 1)... " expected="1,152,921,504,606,846,974" actual=`echo "(- 1152921504606846975 1)" | target/psse 2>/dev/null | tail -1` if [ "${expected}" = "${actual}" ] then echo "OK" else echo "Fail: expected '${expected}', got '${actual}'" result=`echo "${result} + 1" | bc` fi echo -n "$0: max smallint (- 1152921504606846975 1152921504606846974)... " expected="1" actual=`echo "(- 1152921504606846975 1152921504606846974)" | target/psse 2>/dev/null | tail -1` if [ "${expected}" = "${actual}" ] then echo "OK" else echo "Fail: expected '${expected}', got '${actual}'" result=`echo "${result} + 1" | bc` fi echo -n "$0: (- 4 5)... " expected="-1" actual=`echo "(- 4 5)" | target/psse 2>/dev/null | tail -1` if [ "${expected}" = "${actual}" ] then echo "OK" else echo "Fail: expected '${expected}', got '${actual}'" result=`echo "${result} + 1" | bc` fi echo -n "$0: (- 4 5.0)... " expected="-1" actual=`echo "(- 4 5.0)" | target/psse 2>/dev/null | tail -1` if [ "${expected}" = "${actual}" ] then echo "OK" else echo "Fail: expected '${expected}', got '${actual}'" result=`echo "${result} + 1" | bc` fi echo -n "$0: (- 4.0 5)... " expected="-1" actual=`echo "(- 4.0 5)" | target/psse 2>/dev/null | tail -1` if [ "${expected}" = "${actual}" ] then echo "OK" else echo "Fail: expected '${expected}', got '${actual}'" result=`echo "${result} + 1" | bc` fi echo -n "$0: (- 4.0 5.01)... " expected="-1.0100000000000000002082" actual=`echo "(- 4.0 5.01)" | target/psse 2>/dev/null | tail -1` if [ "${expected}" = "${actual}" ] then echo "OK" else echo "Fail: expected '${expected}', got '${actual}'" result=`echo "${result} + 1" | bc` fi echo -n "$0: (- 4/5 5)... " expected="-3/5" actual=`echo "(- 4/5 5)" | target/psse 2>/dev/null | tail -1` if [ "${expected}" = "${actual}" ] then echo "OK" else echo "Fail: expected '${expected}', got '${actual}'" result=`echo "${result} + 1" | bc` fi echo -n "$0: max smallint (- 1 1152921504606846975)... " expected="-1,152,921,504,606,846,974" actual=`echo "(- 1 1152921504606846975)" | target/psse 2>/dev/null | tail -1` if [ "${expected}" = "${actual}" ] then echo "OK" else echo "Fail: expected '${expected}', got '${actual}'" result=`echo "${result} + 1" | bc` fi echo -n "$0: max smallint (- 1152921504606846974 1152921504606846975)... " expected="-1" actual=`echo "(- 1152921504606846974 1152921504606846975)" | target/psse 2>/dev/null | tail -1` if [ "${expected}" = "${actual}" ] then echo "OK" else echo "Fail: expected '${expected}', got '${actual}'" result=`echo "${result} + 1" | bc` fi exit ${result}