From nobody Sun Oct 18 18:07:58 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 4j769J2NfNz6w8yQ for ; Sun, 18 Oct 2026 18:08:04 +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 4j769J0lr4z4WfM for ; Sun, 18 Oct 2026 18:08:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1792346884; 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=RzM24gh6N6QEyigyycGb7/J0UyZiT6Q+ZGk8M+r/78Q=; b=tvPBdty2yL25um78ZLwwqLKebcLYE75AP3cZ6Cmn4wX4SmdQf+CgPw078CHUkcqy1zmgSD PDusWWe2lUXEhnOoYj4CYlPQMDARBq+zqgrcj3dS1mU/OJFf/9Sxp/O+7KkPV6q6moqXL8 AI4I1xQi27wIHaGQPFUphJ8Smi66Xtsx95QwCFUwyxoTXkthXi4ALYqfmXwRhTW+aUI9jG 1+OeXR7PWWP82vWxIlSVJyTxWm8CWQblxbN3RZY5g1qOTChmNZQwQD449T/zPje+NuzZud arEZ+GR2VhF2AiX83bO/xsY8kxbGNG+rvJYK2r03v2rQUrbD5zVvZVHnawDkCQ== ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1792346884; b=BbrhnQ6C1YIt5FI+yJLCOFaJL/CvUdyEkxlHMsx56w63opf9SloBz+enflSxxacyTlSRrT HFmBWxAfS2W+N92SCNRxZBxIvMt+XJXNOUi6wd6JvgWCS6w1J8SVG2d+9QSCzoAUBEkdCM yObfcnue5mHsSCMxGGgiW6GYh36j7Jo7kej7mzhVet4l9n81odR4Y/V0et5W1MqwgJ0WWK 6019NptVRvpAOKYvgsUZanj19QYZeAMQd4lPLSIfEuNmQWatW4ZLpYbKgTsV+hxwA9IJgi AFMoTsvU74IP8SXydDLzfSrNv+jj3bA2A4F6F0PMUvI7yFPAyTym2uvg6qgnuQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1792346884; 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=RzM24gh6N6QEyigyycGb7/J0UyZiT6Q+ZGk8M+r/78Q=; b=oSRM0+Nod9yrmQ0XZzFMklloO7qA1zpUYL4FPRYVYHnJ6uUoX3uUHh8hQqX+znVvC3F/Gr gWDOtoST3aRodau2dGRQXc9t2O9iT+nEoNyn2cezTcNY8Ft5ZNzRFZMHTITVy/W4UYmHyb q+oj+/GXDXs9QR+skaWmoFuclyESjb2gwpQcesYvBAA+OsyuDqba4kYZX0YzP9OmBHQUwe zj+keULh+L00qnweM4UjoNiAzdtDmysYdHNHp4r8QYt23OZi3LnlhHkk4euLj1GO2Ry1Mz FsSlchV8OFfm8Eejsdx+P1AB4G/uhMHNZ6HCeLbMZj7e7ZUHjmyLdqG1bscuJQ== 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 4j769J0Q4mz11Vd for ; Sun, 18 Oct 2026 18:08:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 2293c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 18 Oct 2026 18:07:58 +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: 760efcc775c3 - 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: 760efcc775c304d175a360dddf499a7b0d5e3935 Auto-Submitted: auto-generated Date: Sun, 18 Oct 2026 18:07:58 +0000 Message-Id: <6ad50afe.2293c.632a809e@gitrepo.freebsd.org> The branch main has been updated by ngie: URL: https://cgit.FreeBSD.org/src/commit/?id=760efcc775c304d175a360dddf499a7b0d5e3935 commit 760efcc775c304d175a360dddf499a7b0d5e3935 Author: Joao Bonifacio AuthorDate: 2026-08-09 22:43:26 +0000 Commit: Enji Cooper CommitDate: 2026-10-18 17:53:25 +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 | 90 ++++++++++++++++++++++++++++++++------ 1 file changed, 77 insertions(+), 13 deletions(-) diff --git a/lib/libsbuf/tests/sbuf_core_test.c b/lib/libsbuf/tests/sbuf_core_test.c index 14bbc475043a..b736efb36756 100644 --- a/lib/libsbuf/tests/sbuf_core_test.c +++ b/lib/libsbuf/tests/sbuf_core_test.c @@ -125,6 +125,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,27 +244,89 @@ ATF_TC_BODY(sbuf_setpos_test, tc) sbuf_delete(sb); } +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); +} + +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); +} + +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_TP_ADD_TCS(tp) { + ATF_TP_ADD_TC(tp, sbuf_clear_flags_test); 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_get_flags_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); -#endif -#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); -#ifdef HAVE_SBUF_SET_FLAGS ATF_TP_ADD_TC(tp, sbuf_set_flags_test); -#endif -#endif ATF_TP_ADD_TC(tp, sbuf_setpos_test); return (atf_no_error());