From nobody Sun Nov 01 01:52:49 2026 X-Original-To: dev-commits-src-all@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 4jHHsg0bkGz6vZtd for ; Sun, 01 Nov 2026 01:52:55 +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 4jHHsf6LCHz4MMF for ; Sun, 01 Nov 2026 01:52:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1793497974; 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=yZNOYBqWlvMU1HCJvNWOe15vG5L3EIMhR/V84FoETEA=; b=Ii6dQWKDj4Xtjtv2rDdBTOmj9Sn+RV3Wc39iZcybUX9fUiR22B3Pt9NXePlLvWw0ejG7yi aNXZtDCcT5hpEn9y6WfQgF5nZXmX68ePpGZC10wMnqzIGGjeDBCjkjaoTAJEdUr9fzxP1z WIC3JTJMpMPp+IUBzV7vLgW0SpNc+0DNxSnW7XuXdZDgcr6eIZQU5C8WJyc9pAnbgaZbsi 4oIhV26GIz0e1T+tKNbibVtguZmLbxbonckqk73eCkNj9/N74aU0cE3gkA/g54kaTpNZb8 ggp0t4bHD3ayFTO+BlDP/prGfnqEk7lIkj/48Y3Q6IlVmg/RNDuXyd37ZWJSng== ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1793497974; b=q75ev8gxky2dwsj2S8ViPiA655xt2qnQ4H/K1LwGD1jabUt7gvgv0SiCg6CTbuFwJYHJ6j Z+a9fcOHAW3JRYV5q0EH87jyhkS5ctiWsiBUvNZx5wl8VxE6MA29fKdDfxQE0aYaz//2D8 zUt1iJ8DB5ZWCKNbKb22y56sahZfUG6gAQPIvAgN27T5NOX0yYm1atyTepO2oRjLrQTUea 0IPHZSkqtIigFa5ByQ5XsOSZh33yb3tuugm8L1g6awyKjnZSOAruSz7xHAaYDaW1BzKo+1 ITr9mIBjEA/LWCIXjUtwzw0pcd+/5WLEL6209P7PRzqivFMe4AqrzFNfsbSmdA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1793497974; 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=yZNOYBqWlvMU1HCJvNWOe15vG5L3EIMhR/V84FoETEA=; b=lAzH0IdKsl0TVy2aReEteVrHlhvAsi/teDP7Guea/VjvfK/3g6T6gVOtzUIn/q+P54+XjA ecvBSj+Tc59+nTMGBSmKhH7fdRcLcKNKSVrJYCtUGRPqwRS5/pFmPIvTTHpK26+ef1iqcD FLrrpJAPF9OaTas0ojBQVbhiKr4b6i7ZoUbjbAzpEleWsaM91WToBjv3npYHaWmA7RRzIK UTEU2LcT+YmBqUlT+c3X6VT4HCZl7vXSGt0CWS3gBGtAs3zKAy8sn2vyKIRvQzY+xBbOJw q6FDJCMv3I+kqGwpi6VZTlvvU5Nxf6N2oEexJA1mBt4GNRbKSpnYJ9qgNoWa1g== 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 4jHHsf61VjzfMB for ; Sun, 01 Nov 2026 01:52:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3018e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 01 Nov 2026 01:52:49 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Joao Bonifacio From: Enji Cooper Subject: git: f5b2ad742e5f - stable/15 - sbuf(3): increase test coverage List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: Commit messages for all branches 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/stable/15 X-Git-Reftype: branch X-Git-Commit: f5b2ad742e5ff913314953fa8c7253a7296bc9a5 Auto-Submitted: auto-generated Date: Sun, 01 Nov 2026 01:52:49 +0000 Message-Id: <6ae69b71.3018e.d454bf0@gitrepo.freebsd.org> The branch stable/15 has been updated by ngie: URL: https://cgit.FreeBSD.org/src/commit/?id=f5b2ad742e5ff913314953fa8c7253a7296bc9a5 commit f5b2ad742e5ff913314953fa8c7253a7296bc9a5 Author: Joao Bonifacio AuthorDate: 2026-08-09 22:43:26 +0000 Commit: Enji Cooper CommitDate: 2026-11-01 01:52:02 +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 (cherry picked from commit 642b3d965eb6ef3ecf733950e66fad565a27c967) --- 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);