From nobody Sun Oct 18 18:10:48 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4j76DT4lKSz6w999 for ; Sun, 18 Oct 2026 18:10:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 4j76DS5n5tz4X5M for ; Sun, 18 Oct 2026 18:10:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1792347048; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=J63iCtersEny0SLXDjsjyjUDdMkXOsGh/SE6toKOlvM=; b=EzCkhRCw/Agh39/oOfXWQKAkuWn1bpO2tVZrmG/RNhLh5XoMbxJ96KojI5BVxWEhMRJqCI DpkgebkLiSFBBNqSJmfiBjjt3c+kg0w9u3tFbh01ICU6Bjpwx1fkz6Ptspleha94eWzATO DoI39ZMuiqKzkdA740lM8HmIWJEpR8+IWMYI2Zg1qs14itHAySqBiH92ZjMoQUfnUq6GGg sZhN3RlMbTxjChyRP/yhdgITIt8wgG6xOcux0spLMMKcit0wB06UjyCOYyoiYqR8IBnJEl 0dqnQnl/mxap+REIRcdbOzcjDOaQ/hax4thmhR2fN1xHOLIWNjWuNRIsA/z5Mg== ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1792347048; b=vTrlXbGZBBuLWQqrCJ9oICmwX8lzoEuRqvY0jydM2jExgFmxKCJYamgurVcIpulGzmh4Rx eAlUZAoCXNCjUNerzM+M16lwEIOSHqbcPpITcmyxm5yic9Fb4k5W7FIWK3nYcRPi8aMURe YAEa8m/YV69eWXtBv3VcVctx9MEUpGqVTK74A19zwU8I8IYoB5idZIqLEnddnSsMY9pI1Q cti3yMK5KYzT9QdiO6mBBPsHj5qelm5LTnhkm4segl+uRJTWow0XB/cHXYv5t1Yz7bBpac h+hJVm+TENy/4uW82zhQ4smaHvx+xjJsdnNhvQfHMmXhZU4+CdxK+BHm2rWdpw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1792347048; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=J63iCtersEny0SLXDjsjyjUDdMkXOsGh/SE6toKOlvM=; b=DnsNX/v+D5KCr//j+fMZvstu+bRpPGCr0f+zJ3bzcRB+RluW4soq5fpGmKYJLRaGxWcEXd n8OJK+FHaRpSWlLn1WIwruLO0IriwnonHBoMsane3ptiZTakM/wXnRuc39GfP4vNfr4pG6 XcJLZbWtFoH0UMs6edf0m0WhIyU0Q7IUJNVEH+Gsw2EVVT3Tdvz/OXBamC67RPMb9I2JdM vyA1/IJEfPYvw0BgtdppZ7sOQ4xZf+jxFsJlK2u4N/f0kh/FvhWi15tjSz9dulNrqIAvWI JQIkzdnVrC5QOFNSICt7H41iP7RSL2EChE33Y09PpAIm9uc7RLjwLxyKTqfakA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4j76DS542pz10mW for ; Sun, 18 Oct 2026 18:10:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 225fc by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 18 Oct 2026 18:10:48 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Joao Bonifacio From: Enji Cooper Subject: git: 642b3d965eb6 - main - sbuf(3): increase test coverage List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: Commit messages for the main branch of the src repository List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ngie X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 642b3d965eb6ef3ecf733950e66fad565a27c967 Auto-Submitted: auto-generated Date: Sun, 18 Oct 2026 18:10:48 +0000 Message-Id: <6ad50ba8.225fc.5779e75e@gitrepo.freebsd.org> The branch main has been updated by ngie: URL: https://cgit.FreeBSD.org/src/commit/?id=642b3d965eb6ef3ecf733950e66fad565a27c967 commit 642b3d965eb6ef3ecf733950e66fad565a27c967 Author: Joao Bonifacio AuthorDate: 2026-08-09 22:43:26 +0000 Commit: Enji Cooper CommitDate: 2026-10-18 18:10:33 +0000 sbuf(3): increase test coverage This change adds additional explicit test coverage for the following sbuf(3) APIs: - sbuf_clear_flags - sbuf_get_flags - sbuf_set_flags While here, add a missing `sbuf_delete` to `sbuf_drain_ret0_test`: while it isn't strictly required (the library's state is cleaned up shortly after the test process ends), tools such as Coverity and LSAN flag issues with leaked memory. Adding the sbuf_delete(3) call to the test quells that issue. MFC after: 1 week Reviewed-by: ngie Pull-Request: https://github.com/freebsd/freebsd-src/pull/2367 --- lib/libsbuf/tests/sbuf_core_test.c | 87 +++++++++++++++++++++++++++++++++----- 1 file changed, 77 insertions(+), 10 deletions(-) diff --git a/lib/libsbuf/tests/sbuf_core_test.c b/lib/libsbuf/tests/sbuf_core_test.c index 14bbc475043a..4d30700b76a9 100644 --- a/lib/libsbuf/tests/sbuf_core_test.c +++ b/lib/libsbuf/tests/sbuf_core_test.c @@ -41,6 +41,30 @@ static char test_string[] = "this is a test string"; _Static_assert(nitems(test_string) > TEST_STRING_CHOP_COUNT, "test_string is too short"); +#ifdef HAVE_SBUF_CLEAR_FLAGS +ATF_TC_WITHOUT_HEAD(sbuf_clear_flags_test); +ATF_TC_BODY(sbuf_clear_flags_test, tc) +{ + struct sbuf *sb; + int flags; + + sb = sbuf_new(NULL, NULL, 0, SBUF_AUTOEXTEND | SBUF_INCLUDENUL); + + ATF_REQUIRE_MSG(sb != NULL, + "sbuf_new failed: %s", strerror(errno)); + + flags = sbuf_get_flags(sb); + ATF_REQUIRE_INTEQ(SBUF_INCLUDENUL, flags & SBUF_INCLUDENUL); + + sbuf_clear_flags(sb, SBUF_INCLUDENUL); + + flags = sbuf_get_flags(sb); + + ATF_CHECK_INTEQ(0, flags & SBUF_INCLUDENUL); + + sbuf_delete(sb); +} + ATF_TC_WITHOUT_HEAD(sbuf_clear_test); ATF_TC_BODY(sbuf_clear_test, tc) { @@ -80,6 +104,7 @@ ATF_TC_BODY(sbuf_clear_test, tc) sbuf_delete(sb); } +#endif ATF_TC_WITHOUT_HEAD(sbuf_done_and_sbuf_finish_test); ATF_TC_BODY(sbuf_done_and_sbuf_finish_test, tc) @@ -125,6 +150,8 @@ ATF_TC_BODY(sbuf_drain_ret0_test, tc) "required to return error when drain func returns 0"); ATF_CHECK_EQ_MSG(EDEADLK, errno, "errno required to be EDEADLK when drain func returns 0"); + + sbuf_delete(sb); } ATF_TC_WITHOUT_HEAD(sbuf_len_test); @@ -242,26 +269,66 @@ ATF_TC_BODY(sbuf_setpos_test, tc) sbuf_delete(sb); } +#ifdef HAVE_SBUF_GET_FLAGS +ATF_TC_WITHOUT_HEAD(sbuf_get_flags_test); +ATF_TC_BODY(sbuf_get_flags_test, tc) +{ + struct sbuf *sb; + int flags; + + sb = sbuf_new(NULL, NULL, 0, SBUF_AUTOEXTEND | SBUF_INCLUDENUL); + + ATF_REQUIRE_MSG(sb != NULL, "sbuf_new failed: %s", strerror(errno)); + + flags = sbuf_get_flags(sb); + + ATF_CHECK_INTEQ( + flags & (SBUF_AUTOEXTEND | SBUF_AUTOEXTEND), + SBUF_AUTOEXTEND | SBUF_AUTOEXTEND); + ATF_CHECK_INTEQ(flags ^ (SBUF_AUTOEXTEND | SBUF_INCLUDENUL), 0); + sbuf_delete(sb); +} +#endif + +#ifdef HAVE_SBUF_SET_FLAGS +ATF_TC_WITHOUT_HEAD(sbuf_set_flags_test); +ATF_TC_BODY(sbuf_set_flags_test, tc) +{ + struct sbuf *sb; + + sb = sbuf_new_auto(); + + ATF_REQUIRE_MSG(sb != NULL, + "sbuf_new_auto failed: %s", strerror(errno)); + + sbuf_set_flags(sb, SBUF_INCLUDENUL); + + ATF_REQUIRE_MSG(sbuf_cat(sb, test_string) == 0, "sbuf_cat failed"); + + ATF_REQUIRE_EQ_MSG(0, sbuf_finish(sb), + "sbuf_finish failed: %s", strerror(errno)); + + ATF_CHECK_EQ((ssize_t)(strlen(test_string) + 1), sbuf_len(sb)); + + sbuf_delete(sb); +} +#endif + ATF_TP_ADD_TCS(tp) { - ATF_TP_ADD_TC(tp, sbuf_clear_test); - ATF_TP_ADD_TC(tp, sbuf_done_and_sbuf_finish_test); - ATF_TP_ADD_TC(tp, sbuf_drain_ret0_test); - ATF_TP_ADD_TC(tp, sbuf_len_test); - ATF_TP_ADD_TC(tp, sbuf_new_fixedlen); -#if 0 - /* TODO */ #ifdef HAVE_SBUF_CLEAR_FLAGS ATF_TP_ADD_TC(tp, sbuf_clear_flags_test); + ATF_TP_ADD_TC(tp, sbuf_clear_test); #endif + ATF_TP_ADD_TC(tp, sbuf_done_and_sbuf_finish_test); + ATF_TP_ADD_TC(tp, sbuf_drain_ret0_test); #ifdef HAVE_SBUF_GET_FLAGS ATF_TP_ADD_TC(tp, sbuf_get_flags_test); #endif - ATF_TP_ADD_TC(tp, sbuf_new_positive_test); - ATF_TP_ADD_TC(tp, sbuf_new_negative_test); + ATF_TP_ADD_TC(tp, sbuf_len_test); + ATF_TP_ADD_TC(tp, sbuf_new_fixedlen); #ifdef HAVE_SBUF_SET_FLAGS ATF_TP_ADD_TC(tp, sbuf_set_flags_test); -#endif #endif ATF_TP_ADD_TC(tp, sbuf_setpos_test);