From: Lukas Czerner Date: Mon, 26 Sep 2011 18:45:09 +0000 (+0000) Subject: commit.rc: Add helper for math operation using bc X-Git-Tag: v1.1.0~15 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=a6dd1d877bc400550bba634b7e67bc7b83b31261;p=xfstests-dev.git commit.rc: Add helper for math operation using bc Sometimes using bash $(()) math might not be enough due to some limitation (big numbers), so add helper using 'bc' program. For now the results are only in perfect numbers (as in bash) since this is all I need for now. This commit also adds _require_math() helper which should be called by every test which uses _math() since it requires "bc" to be installed on the system. Signed-off-by: Lukas Czerner Signed-off-by: Alex Elder --- diff --git a/common.rc b/common.rc index 35f782b3..e948169b 100644 --- a/common.rc +++ b/common.rc @@ -20,6 +20,26 @@ # Mountain View, CA 94043, USA, or: http://www.sgi.com #----------------------------------------------------------------------- +BC=$(which bc 2> /dev/null) || BC= + +_require_math() +{ + if [ -z "$BC" ]; then + _notrun "this test requires 'bc' tool for doing math operations" + fi +} + +_math() +{ + [ $# -le 0 ] && return + if [ "$BC" ]; then + result=$(LANG=C echo "scale=0; $@" | "$BC" -q 2> /dev/null) + else + _notrun "this test requires 'bc' tool for doing math operations" + fi + echo "$result" +} + dd() { if [ "$HOSTOS" == "Linux" ]