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/tests/functional/mdb/mdb_001_pos.ksh
          +++ new/usr/src/test/zfs-tests/tests/functional/mdb/mdb_001_pos.ksh
↓ open down ↓ 18 lines elided ↑ open up ↑
  19   19  #
  20   20  # CDDL HEADER END
  21   21  #
  22   22  
  23   23  #
  24   24  # Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
  25   25  # Use is subject to license terms.
  26   26  #
  27   27  
  28   28  #
  29      -# Copyright (c) 2013 by Delphix. All rights reserved.
       29 +# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
  30   30  #
  31   31  
  32   32  . $STF_SUITE/include/libtest.shlib
  33   33  
  34   34  #
  35   35  # DESCRIPTION:
  36   36  #       Verify that the ZFS mdb dcmds and walkers are working as expected.
  37   37  #
  38   38  # STRATEGY:
  39   39  #       1) Given a list of dcmds and walkers
  40   40  #       2) Step through each element of the list
  41   41  #       3) Verify the output by checking for "mdb:" in the output string
  42   42  #
  43   43  
  44   44  function cleanup
  45   45  {
  46      -        $RM -f $OUTFILE
       46 +        rm -f $OUTFILE
  47   47  }
  48   48  
  49   49  verify_runnable "global"
  50   50  log_onexit cleanup
  51   51  
  52   52  OUTFILE='/var/tmp/mdb-outfile'
  53   53  set -A dcmds "::walk spa" \
  54   54          "::walk spa | ::spa " \
  55   55          "::walk spa | ::spa -c" \
  56   56          "::walk spa | ::spa -v" \
↓ open down ↓ 17 lines elided ↑ open up ↑
  74   74  # do as much checking as possible without the need to hardcode addresses.
  75   75  #
  76   76  
  77   77  log_assert "Verify that the ZFS mdb dcmds and walkers are working as expected."
  78   78  
  79   79  typeset -i RET=0
  80   80  
  81   81  i=0
  82   82  while (( $i < ${#dcmds[*]} )); do
  83   83          log_note "Verifying: '${dcmds[i]}'"
  84      -        $ECHO "${dcmds[i]}" | $MDB -k > $OUTFILE 2>&1
       84 +        echo "${dcmds[i]}" | mdb -k > $OUTFILE 2>&1
  85   85          RET=$?
  86   86          if (( $RET != 0 )); then
  87   87                  log_fail "mdb '${dcmds[i]}' returned error $RET"
  88   88          fi
  89   89  
  90   90          #
  91   91          # mdb prefixes all errors with "mdb: " so we check the output.
  92   92          #
  93      -        $GREP "mdb:" $OUTFILE > /dev/null 2>&1
       93 +        grep "mdb:" $OUTFILE > /dev/null 2>&1
  94   94          RET=$?
  95   95          if (( $RET == 0 )); then
  96      -                $ECHO "mdb '${dcmds[i]}' contained 'mdb:'"
  97      -                # Using $TAIL limits the number of lines in the log
  98      -                $TAIL -100 $OUTFILE
       96 +                echo "mdb '${dcmds[i]}' contained 'mdb:'"
       97 +                # Using tail limits the number of lines in the log
       98 +                tail -100 $OUTFILE
  99   99                  log_fail "mdb walker or dcmd failed"
 100  100          fi
 101  101  
 102  102          ((i = i + 1))
 103  103  done
 104  104  
 105  105  log_pass "The ZFS mdb dcmds and walkers are working as expected."
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX