]> git-server-git.apps.pok.os.sepia.ceph.com Git - xfstests-dev.git/commitdiff
fsx: fix indenting of columns in bad buffers report
authorDarrick J. Wong <djwong@kernel.org>
Tue, 2 May 2023 20:08:11 +0000 (13:08 -0700)
committerZorro Lang <zlang@kernel.org>
Sun, 14 May 2023 13:48:06 +0000 (21:48 +0800)
When file corruption is detected, make the columns of the report line
up correctly even in the diff output.  Although the .out.bad file
contains this (with spaces to demonstrate unequivocally what happens
when tabs are formatted as 8-column indent):

OFFSET  GOOD    BAD     RANGE
0x2c000 0x0000  0xd6c1  0x00000

diffing the good and bad golden output yields poorly formatted output:

+OFFSET GOOD    BAD     RANGE
+0x2c000        0x0000  0xd6c1  0x00000

Replace the tabs with columns indented with printf width specifiers so
that the test output gets this:

OFFSET      GOOD    BAD     RANGE
0x2c000     0x0000  0xd6c1  0x0

...which always lines up the columns regardless of the user's tab
display settings or diff inserting plus signs.

Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Zorro Lang <zlang@redhat.com>
Signed-off-by: Zorro Lang <zlang@kernel.org>
ltp/fsx.c

index c76b06ca76c2ec21b0eb824173b7af8a5fac40ca..ffa64cfa00596c34975f90466299c33c327ddbd9 100644 (file)
--- a/ltp/fsx.c
+++ b/ltp/fsx.c
@@ -669,17 +669,18 @@ check_buffers(char *buf, unsigned offset, unsigned size)
        if (memcmp(good_buf + offset, buf, size) != 0) {
                prt("READ BAD DATA: offset = 0x%x, size = 0x%x, fname = %s\n",
                    offset, size, fname);
-               prt("OFFSET\tGOOD\tBAD\tRANGE\n");
+               prt("%-10s  %-6s  %-6s  %s\n", "OFFSET", "GOOD", "BAD", "RANGE");
                while (size > 0) {
                        c = good_buf[offset];
                        t = buf[i];
                        if (c != t) {
                                if (n < 16) {
                                        bad = short_at(&buf[i]);
-                                       prt("0x%05x\t0x%04x\t0x%04x", offset,
-                                           short_at(&good_buf[offset]), bad);
+                                       prt("0x%-8x  0x%04x  0x%04x  0x%x\n",
+                                           offset,
+                                           short_at(&good_buf[offset]), bad,
+                                           n);
                                        op = buf[offset & 1 ? i+1 : i];
-                                       prt("\t0x%05x\n", n);
                                        if (op)
                                                prt("operation# (mod 256) for "
                                                  "the bad data may be %u\n",