From nobody Sun Nov 01 01:57:05 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 4jHHyV1Qv5z6vb5x for ; Sun, 01 Nov 2026 01:57:06 +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 4jHHyT5zfHz4Mmt for ; Sun, 01 Nov 2026 01:57:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1793498225; 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=dOhSH53UyXikCBPllrafZ0QjYq8Xsc4/bpEoA1dAwIk=; b=wUJj7rDKdnRK9TjoFYOv/tphW6vffLYxEkn2w5U6qkwdCnMVzzBfH7VUX48Y6x7B80favj PUwdCVtyfSuFywoYzwJNwepGB/6Vm8Rj4IMUnoeXdKAHcUnsDxq7HcQ5a8y4aojeaEUDa2 tofDrfhCdB7BzbMpD8Ikz3D8sCdZamgSdR2i5wdeG45LwnfkIzLkcuUb0SJXOCOr8lsf5Z 0Et6hnHKPzgo85SgYBRWLa+vaRTfAzrsiBG7PjASR3TDLPOOlqR+ot8mPUTd8qsiji8P98 Juz4SVpVXvFQtX1rJYSh+3XIEsJkTLeQohGntd54eT3byTWYvqqsL4UyyRf02A== ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1793498225; b=MibZrrt4Xd/CcV7m4eee9opmyim4mkh8d0ZSadEEp78TmnuGYxEWaZwcG/LP13qkxDaY+3 +Vtet2SrBsegOIkjGYFwiEdSrR/x3+4Y+bK2lMktBf3rAvz+4Lm+BQeUPZETfAm+SxBRZD IAV5goGX51A/my+og3Akthz0D9akl1rw+9DrnWD658QzFGq96+A6iA9OQ0HdO/QIszYQrw 1qSuKyZOryh4YnCRKra9A5nfs/CZUh+cospC52T7aCzIer96SJzHmM+QDOFNfi2S/Jif94 fkF2NxmmL0QTdPRpjmnqgtg/2KSQO39L2TSlYCyoY7TagSIqEagrITdBo6ADgg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1793498225; 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=dOhSH53UyXikCBPllrafZ0QjYq8Xsc4/bpEoA1dAwIk=; b=AfM4fz3Y8V1JfBcfLmu0m370A4/Wa737Axt5skS/yOBIMULZi8/M8+GHof2XdbzK0Z4mhM 06+u73g6flJ7HPAF7wBG54GVeS5zOwScCpkB2mOE08iPzaZbgjsGyVGzJJke7WhirJT9b/ UGTDYeJGC6oqYZh8hdQv2wjLQM8bCslE30fkOV7qyvD0XQxpr8YTVRkpCnh/gtfhunKacc u6Z2mROICXxx87G6aCieExN6tMRIEZBXoL2UegF2bXjZ/8WeDjMpEbmObpUZM/dF8XHffn rvGGVSny/g9gmzHIKIymOpMO5JTRg4vlghiNCQn2utOkYVRuZ6lzxn3ZdL4kWw== 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 4jHHyT40sdzf4G for ; Sun, 01 Nov 2026 01:57:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 27e68 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 01 Nov 2026 01:57:05 +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: 8f6b69224038 - stable/14 - 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/14 X-Git-Reftype: branch X-Git-Commit: 8f6b692240387a4d22d032033b3766ddd806577c Auto-Submitted: auto-generated Date: Sun, 01 Nov 2026 01:57:05 +0000 Message-Id: <6ae69c71.27e68.58155b2b@gitrepo.freebsd.org> The branch stable/14 has been updated by ngie: URL: https://cgit.FreeBSD.org/src/commit/?id=8f6b692240387a4d22d032033b3766ddd806577c commit 8f6b692240387a4d22d032033b3766ddd806577c Author: Joao Bonifacio AuthorDate: 2026-08-09 22:43:26 +0000 Commit: Enji Cooper CommitDate: 2026-11-01 01:52:58 +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 b01a43e12c5c..d6c7873df74a 100644 --- a/lib/libsbuf/tests/sbuf_core_test.c +++ b/lib/libsbuf/tests/sbuf_core_test.c @@ -42,6 +42,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) { @@ -81,6 +105,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) @@ -126,6 +151,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); @@ -243,26 +270,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);