lkml.org 
[lkml]   [2023]   [Jun]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v2 nolibc 19/53] selftests/nolibc: reduce syscalls during space padding
    Date
    From: Thomas Weißschuh <linux@weissschuh.net>

    Previously each space character used for alignment during test execution
    was written in a single write() call.
    This would make the output from strace fairly unreadable.
    Coalesce all spaces into a single call to write().

    Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
    Signed-off-by: Willy Tarreau <w@1wt.eu>
    Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
    ---
    tools/testing/selftests/nolibc/nolibc-test.c | 15 +++++++++++----
    1 file changed, 11 insertions(+), 4 deletions(-)

    diff --git a/tools/testing/selftests/nolibc/nolibc-test.c b/tools/testing/selftests/nolibc/nolibc-test.c
    index 0e2ee513b273..d5d4dea63cd6 100644
    --- a/tools/testing/selftests/nolibc/nolibc-test.c
    +++ b/tools/testing/selftests/nolibc/nolibc-test.c
    @@ -111,19 +111,26 @@ const char *errorname(int err)
    }
    }

    +static void putcharn(char c, size_t n)
    +{
    + char buf[64];
    +
    + memset(buf, c, n);
    + buf[n] = '\0';
    + fputs(buf, stdout);
    +}
    +
    static int pad_spc(int llen, int cnt, const char *fmt, ...)
    {
    va_list args;
    - int len;
    int ret;

    - for (len = 0; len < cnt - llen; len++)
    - putchar(' ');
    + putcharn(' ', cnt - llen);

    va_start(args, fmt);
    ret = vfprintf(stdout, fmt, args);
    va_end(args);
    - return ret < 0 ? ret : ret + len;
    + return ret < 0 ? ret : ret + cnt - llen;
    }

    /* The tests below are intended to be used by the macroes, which evaluate
    --
    2.40.1
    \
     
     \ /
      Last update: 2023-06-12 22:51    [W:6.268 / U:0.036 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site