Print this page
7290 ZFS test suite needs to control what utilities it can run
Reviewed by: Dan Kimmel <dan.kimmel@delphix.com>
Reviewed by: Matthew Ahrens <mahrens@delphix.com>

Split Close
Expand all
Collapse all
          --- old/usr/src/test/zfs-tests/include/math.shlib
          +++ new/usr/src/test/zfs-tests/include/math.shlib
↓ open down ↓ 2 lines elided ↑ open up ↑
   3    3  # Common Development and Distribution License ("CDDL"), version 1.0.
   4    4  # You may only use this file in accordance with the terms of version
   5    5  # 1.0 of the CDDL.
   6    6  #
   7    7  # A full copy of the text of the CDDL should have accompanied this
   8    8  # source.  A copy of the CDDL is also available via the Internet at
   9    9  # http://www.illumos.org/license/CDDL.
  10   10  #
  11   11  
  12   12  #
  13      -# Copyright (c) 2012 by Delphix. All rights reserved.
       13 +# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
  14   14  #
  15   15  
  16   16  #
  17   17  # Return 0 if the percentage difference between $a and $b is $percent or
  18   18  # greater. Return 1 if the percentage is lower or if we would divide by
  19   19  # zero. For use like this:
  20   20  #
  21   21  # Do $action if the calculated percentage is greater or equal to that passed in:
  22   22  #       within_percent A B P && $action
  23   23  # Do $action if the calculated percentage is less than that passed in:
  24   24  #       within_percent A B P || $action
  25   25  #
  26   26  function within_percent
  27   27  {
  28   28          typeset a=$1
  29   29          typeset b=$1
  30   30          typeset percent=$3
  31   31  
  32   32          # Set $a or $b to $2 such that a >= b
  33      -        [[ '1' = $($ECHO "if ($2 > $a) 1" | $BC) ]] && a=$2 || b=$2
       33 +        [[ '1' = $(echo "if ($2 > $a) 1" | bc) ]] && a=$2 || b=$2
  34   34  
  35   35          # Prevent division by 0
  36   36          [[ $a =~ [1-9] ]] || return 1
  37   37  
  38      -        typeset p=$($ECHO "scale=2; $b * 100 / $a" | $BC)
       38 +        typeset p=$(echo "scale=2; $b * 100 / $a" | bc)
  39   39          log_note "Comparing $a and $b given $percent% (calculated: $p%)"
  40      -        [[ '1' = $($ECHO "scale=2; if ($p >= $percent) 1" | $BC) ]] && return 0
       40 +        [[ '1' = $(echo "scale=2; if ($p >= $percent) 1" | bc) ]] && return 0
  41   41  
  42   42          return 1
  43   43  }
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX