From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f43.google.com (mail-wm1-f43.google.com [209.85.128.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8159E37474A for ; Sun, 8 Mar 2026 11:38:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.43 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772969883; cv=none; b=U7zhLpx8PkfKlUrdK9ZZL0c+lux7AlnFZAc9suAGk8M3HLq+cm6vOP5jhYgACw0r/pdMj4LWSwIZPa66EqAEhHt+tYAN0afazELffQzSFSL3SGk7qSPi3RJiTCWCY8ypZweC2xe5p9Iazu7nDVR935Ti65hMNt1sIZoQFDiJD4k= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772969883; c=relaxed/simple; bh=UpI856BcickOH7Nhmk3qf+vAZCHkOeTuJ7ERNbqRwY4=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=OaJAs97chDRs4ZyFdlNxShFhwFQU+Q6oQ0XmCGr5IqboxRFUBIhcy2/c8h7SbTHURYJWtf9D9L79ha3/49VfpewFQinoeszGEG24A3/I7zDzYMEVY4qlf/SEwW2Utj5AJm4IrAoPXb6TI0mCZRi3rJK78RiVMqBmVLqfld5n5aE= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=iczPEjE+; arc=none smtp.client-ip=209.85.128.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="iczPEjE+" Received: by mail-wm1-f43.google.com with SMTP id 5b1f17b1804b1-4852ff06541so9863595e9.2 for ; Sun, 08 Mar 2026 04:38:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772969880; x=1773574680; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=llKLrjTwR/6Q0b7fsMdG+suf790guerBXeDyUTBKjgc=; b=iczPEjE+UFQ/KiitAvpzqYBYVxfOt+UMwVwpuQHUiaCRcIQqEgRnQEmshLIEBEevwH NVBw6vPCeMGQBmFXrIXTUkWLsu3HvgysXCiHR2mhC1dRYvLhLvV6ggJBYp5drnukdsBf 44W8rHURcNIZ7Jpg2jf6F0DVS/ASdBkY9Jh9QaEbogHu9TbgdONMDOBmCwAwUuRFS/m5 FT++mKHUQZyuIb+kbzUazsGKHgT+2lopXWW0NUGS9nL2wnGgOmOECSECiMCILx0kqBZX wYgd7rT+OsYeqbHYlrKyB1hKeA/g4vNk4hiMudTB/K+l7dinVHVKYK6GHtcmfl1Cd9sD 0qtw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772969880; x=1773574680; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=llKLrjTwR/6Q0b7fsMdG+suf790guerBXeDyUTBKjgc=; b=X4fQKLADjY/68OpMScQzSGR7aj2eGBcjpQmi5fBcrxnvXnwgqQdjK1pseKTNFL1ypY OLhDeR36+hVorjT5INb9mRu07TSDEqoglrSU7AAUoKCHfKwmGCDUPLBVtEBtkdeo31wL AOr82oN8PGT7PEcs1zxBZZAf4zPqCJO7AVKM+PvuPi3xm7REVp+O7gZ672sMK62qwgVf /HcO52DlyUDxWWincWUQ5QJwv7j4/RSw80veXcD+67dAmgQ7lyBd2iTDgImlxHHBvIqm rXrsstuG6XK6u10ZNCyGhOMKjzlUAZmfTiE5yBrR2qNMbzjW24p3HYU8G194Icu0pd6c amSw== X-Forwarded-Encrypted: i=1; AJvYcCW/A+DUHlfAuiUpAwErtp8zFnmqB77vNnKq6lIlrHrXdjDxwAqyDegAZyaYhODlT0z8kuRZ2IRkv9vkKc8=@vger.kernel.org X-Gm-Message-State: AOJu0YxMNxq/+FO6NlXKts+hJlYNc6bvkDlUHJ/s7PKrYT+qpEvckVTE zxT1fHFjPSnveFIEuvrtVj8hjR+I25SVJI+cQ4U2hRxMBZXkZN2izIla X-Gm-Gg: ATEYQzxrhwOd+5zufNPtlVwUGbN3z5bL9F5MLwvpWMvzcf8bknH+eFUgWxOQAPjPf8n +ff3kXOuIG2oJAAOM3Qal7KJ4zdhKkuw8SrxzjxZozhYLDFoljdaPT5xjtZD762XpcofbGLcNMX r6Vi3fEwEfYkiljvTp6irCj/lsdINPJefgnbbBUQvjHtaYVnhlr2QIfqL/zANxFArEYw7RELa5x CjvGNrcLOzNzOyJ/xYS5Anb6l6h0DH+r9d05VE2pVugH4bxCtFvO1uRoRDBlRJT64fRwItWR0Pf wt88P4Q38WM46wrOLiXiB7xFxRw0p1QkLwVsv2OrovCQNRiKt9UUTe3I6gSyMToOgyxe7blbs6d /F0seWXHV4A7v9NDfBaiZerwqGuAem2CkgHk5RRpUn7SUaLEthY/vrmnCLBKZ/gvCyfJQlp0bKc agfBgm347WqzLGKRaeAwtkCh76mXDzTRK3wLL4RPnQ8ll22cENWthcLG3Q+9klSXdLblqT5nvd2 5tLEVKzyrjI X-Received: by 2002:a05:600c:3b0c:b0:477:5b0a:e616 with SMTP id 5b1f17b1804b1-485269188admr134003965e9.5.1772969879944; Sun, 08 Mar 2026 04:37:59 -0700 (PDT) Received: from snowdrop.snailnet.com (82-69-66-36.dsl.in-addr.zen.co.uk. [82.69.66.36]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-485237dd017sm63621855e9.2.2026.03.08.04.37.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 08 Mar 2026 04:37:59 -0700 (PDT) From: david.laight.linux@gmail.com To: Willy Tarreau , =?UTF-8?q?Thomas=20Wei=C3=9Fschuh?= , linux-kernel@vger.kernel.org, Cheng Li Cc: David Laight Subject: [PATCH v5 next 17/17] selftests/nolibc: Use printf variable field widths and precisions Date: Sun, 8 Mar 2026 11:37:42 +0000 Message-Id: <20260308113742.12649-18-david.laight.linux@gmail.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20260308113742.12649-1-david.laight.linux@gmail.com> References: <20260308113742.12649-1-david.laight.linux@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: David Laight Now that printf supports '*' for field widths and precisions then can be used to simplify the test output. - aligning the "[OK]" strings. - reporting the expected sprintf() output when there is a mismatch. Acked-by: Willy Tarreau Signed-off-by: David Laight --- Unchanged for v4 and v5. tools/testing/selftests/nolibc/nolibc-test.c | 26 ++++---------------- 1 file changed, 5 insertions(+), 21 deletions(-) diff --git a/tools/testing/selftests/nolibc/nolibc-test.c b/tools/testing/selftests/nolibc/nolibc-test.c index ebeb7245005c..180611aabbfb 100644 --- a/tools/testing/selftests/nolibc/nolibc-test.c +++ b/tools/testing/selftests/nolibc/nolibc-test.c @@ -156,21 +156,6 @@ static const char *errorname(int err) } } -static void align_result(size_t llen) -{ - const size_t align = 64; - char buf[align]; - size_t n; - - if (llen >= align) - return; - - n = align - llen; - memset(buf, ' ', n); - buf[n] = '\0'; - fputs(buf, stdout); -} - enum RESULT { OK, FAIL, @@ -188,8 +173,10 @@ static void result(int llen, enum RESULT r) else msg = " [FAIL]"; - align_result(llen); - puts(msg); + llen = 64 - llen; + if (llen < 0) + llen = 0; + printf("%*s%s\n", llen, "", msg); } /* The tests below are intended to be used by the macroes, which evaluate @@ -1692,10 +1679,7 @@ static int expect_vfprintf(int llen, const char *expected, const char *fmt, ...) } if (memcmp(expected, buf, cmp_len) || buf[cmp_len]) { - /* Copy and truncate until "%.*s" supported */ - memcpy(buf, expected, cmp_len); - buf[cmp_len] = 0; - llen += printf(" should be \"%s\"", buf); + llen += printf(" should be \"%.*s\"", VFPRINTF_LEN, expected); result(llen, FAIL); return 1; } -- 2.39.5