From: Eryu Guan Date: Sun, 15 Dec 2019 16:10:55 +0000 (+0800) Subject: Revert "fstests: Don't use gawk's strtonum" X-Git-Tag: v2022.05.01~927 X-Git-Url: http://git.apps.os.sepia.ceph.com/?p=xfstests-dev.git;a=commitdiff_plain;h=b25cac5542e9d1c55a1accfa9bd1dac65df009c6 Revert "fstests: Don't use gawk's strtonum" This reverts commit 37520a314bd472ed720ed0611c6b69e418be9b61. This commit has been reported to regress, at least, xfs/139 and btrfs/09[58]. Let's revert it for now. Signed-off-by: Eryu Guan --- diff --git a/common/filter b/common/filter index 6140e583..2477f386 100644 --- a/common/filter +++ b/common/filter @@ -241,9 +241,9 @@ _filter_xfs_io_units_modified() /wrote/ { split($2, bytes, "/") - bytes_written = bytes[1] + bytes_written = strtonum(bytes[1]) - offset = $NF + offset = strtonum($NF) unit_start = offset / unit_size unit_start = int(unit_start) @@ -487,16 +487,14 @@ _filter_busy_mount() _filter_od() { BLOCK_SIZE=$(_get_block_size $SCRATCH_MNT) - while read line; do - if test "$line" = '*' - then - printf '*\n' - continue - fi - - offset="${line%% *}" - printf '%o%s\n' $((offset / BLOCK_SIZE)) "${line#$offset}" - done + $AWK_PROG -v block_size=$BLOCK_SIZE ' + /^[0-9]+/ { + offset = strtonum("0"$1); + $1 = sprintf("%o", offset / block_size); + print $0; + } + /\*/ + ' } # Remove quotes from failed mknod calls. Starting with Coreutils v8.25, diff --git a/tests/generic/386 b/tests/generic/386 index e513a423..0c44c80e 100755 --- a/tests/generic/386 +++ b/tests/generic/386 @@ -75,7 +75,7 @@ _filter_quota_rpt() { # This function parses the human-readable values produced # by xfs_quota output function byte_size(value, result) { - result = value; + result = strtonum(value); unit = value; gsub("[0-9][0-9]*", "", unit); shift = index("KMGTPE", unit); diff --git a/tests/xfs/009 b/tests/xfs/009 index 956c4772..6a31514c 100755 --- a/tests/xfs/009 +++ b/tests/xfs/009 @@ -66,12 +66,12 @@ _block_filter() /CMD/ { split($3, off, "=") - offset = off[2] + offset = strtonum(off[2]) if (offset != -1) offset = offset / bsize split($4, len, "=") - nr_blocks = len[2] + nr_blocks = strtonum(len[2]) if (nr_blocks != -1) nr_blocks = nr_blocks / bsize @@ -82,13 +82,13 @@ _block_filter() /MAP/ { split($2, off, "=") - offset = off[2] + offset = strtonum(off[2]) if (offset != -1) offset = offset / bsize split($3, len, "=") - nr_blocks = len[2] + nr_blocks = strtonum(len[2]) if (nr_blocks != -1) nr_blocks = nr_blocks / bsize @@ -100,7 +100,7 @@ _block_filter() /TRUNCATE/ { split($2, off, "=") - offset = off[2] / bsize + offset = strtonum(off[2]) / bsize printf(" %s off=%s\n", $1, offset)