fstests: Don't use gawk's strtonum
authorKusanagi Kouichi <slash@ac.auone-net.jp>
Mon, 2 Dec 2019 09:43:01 +0000 (18:43 +0900)
committerEryu Guan <guaneryu@gmail.com>
Sun, 8 Dec 2019 15:45:41 +0000 (23:45 +0800)
It's a gawk extension and not needed. Make tests pass with non-gawk.

Signed-off-by: Kusanagi Kouichi <slash@ac.auone-net.jp>
Reviewed-by: Eryu Guan <guaneryu@gmail.com>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
common/filter
tests/generic/386
tests/xfs/009

index 2477f3860151cc3bcbc7d0247109699514b5b068..6140e58368d74c3e3e116cb9f3a58fe8edede350 100644 (file)
@@ -241,9 +241,9 @@ _filter_xfs_io_units_modified()
                /wrote/ {
                        split($2, bytes, "/")
 
-                       bytes_written = strtonum(bytes[1])
+                       bytes_written = bytes[1]
 
-                       offset = strtonum($NF)
+                       offset = $NF
 
                        unit_start = offset / unit_size
                        unit_start = int(unit_start)
@@ -487,14 +487,16 @@ _filter_busy_mount()
 _filter_od()
 {
        BLOCK_SIZE=$(_get_block_size $SCRATCH_MNT)
-       $AWK_PROG -v block_size=$BLOCK_SIZE '
-               /^[0-9]+/ {
-                       offset = strtonum("0"$1);
-                       $1 = sprintf("%o", offset / block_size);
-                       print $0;
-               }
-               /\*/
-       '
+       while read line; do
+               if test "$line" = '*'
+               then
+                       printf '*\n'
+                       continue
+               fi
+
+               offset="${line%% *}"
+               printf '%o%s\n' $((offset / BLOCK_SIZE)) "${line#$offset}"
+       done
 }
 
 # Remove quotes from failed mknod calls. Starting with Coreutils v8.25,
index 0c44c80e22c2ac0203bc3930542c1cb6e7647d65..e513a42398e28edfe858bd4be567745750ad4e22 100755 (executable)
@@ -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 = strtonum(value);
+               result = value;
                unit = value;
                gsub("[0-9][0-9]*", "", unit);
                shift = index("KMGTPE", unit);
index 6a31514cc0d7fcefe70cabf082e00b49f28421ec..956c47729f4709dc18936daa7dfd2d20e25ad018 100755 (executable)
@@ -66,12 +66,12 @@ _block_filter()
 
        /CMD/ {
                split($3, off, "=")
-               offset = strtonum(off[2])
+               offset = off[2]
                if (offset != -1)
                        offset = offset / bsize
 
                split($4, len, "=")
-               nr_blocks = strtonum(len[2])
+               nr_blocks = len[2]
                if (nr_blocks != -1)
                        nr_blocks = nr_blocks / bsize
 
@@ -82,13 +82,13 @@ _block_filter()
 
        /MAP/ {
                split($2, off, "=")
-               offset = strtonum(off[2])
+               offset = off[2]
                if (offset != -1)
                        offset = offset / bsize
 
                split($3, len, "=")
 
-               nr_blocks = strtonum(len[2])
+               nr_blocks = len[2]
 
                if (nr_blocks != -1)
                        nr_blocks = nr_blocks / bsize
@@ -100,7 +100,7 @@ _block_filter()
 
        /TRUNCATE/ {
                split($2, off, "=")
-               offset = strtonum(off[2]) / bsize
+               offset = off[2] / bsize
 
                printf("    %s off=%s\n", $1, offset)