From nobody Thu Apr 23 03:49:55 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 4g1MYH6RLKz6bTwF for ; Thu, 23 Apr 2026 03:49: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 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g1MYH5XRKz44kd for ; Thu, 23 Apr 2026 03:49:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1776916195; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oZr0DoXAeOF7Om8fYGLlxH1UCClbu40yAXV1/gDUe4E=; b=Qdw9oAivZ89n5/zLOVQcG4ZUR8ppy2zUgXzkmL/T3YFTpIGlZtHnsH0UvS0PfY7hfLx84y hTUN+CPAxWMlR4rXmVFop333jHTIRkZYtUE3ahzlfWg8h/8EST3CbPJWuDX3g1U1zTdx/1 k45mPIpSTivbkg2iXfy5UmGwHU9p35E/v12NQ9G+Hn/rILvyohR9uN0zhP+LDokEdAkcWr VlWHlLpYndw0aZplv192bem/wsLtShIukAUpOWaGzViRgLsuLP84u0qn+0XdMVxd2PpRIY hayEyASONntYnb1pZ8Wfg3d5I+I5V4vGZh0A2DAG31VmaJsMlw8O4OnxlGNz5Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1776916195; a=rsa-sha256; cv=none; b=wz41bx2Oj8fFJeklegUjjgt6Q4xfi4mbicF3zC2xnDvIscxYCt1FpNlvteWPD3R5/F2kHh 61NjI5ZJPrs34lbfgFmqD2bQ+bT4IBYMPswfJPWfJSn4dxl/bEwrU941iJ35YDUccb8n4a JJ2d7gDIW4JpsRfdRU029BpJrGchnOlDyCgyLQMkrZpfgj5kuHa9Uks5oIcJIY2X9q1T/J 3lMEOdy9agN5g+NaMPV2B1I7+zKz/uXKA+MvqEWAOQVFoLlA3wkjZccrnyKRxcyuBsxBaO Y1dsFSL4Z/yqcXMGbEBGZKkkx0+7jXe+nvuU3QEVCKZDa0zf3QCqDTf0kD/8Xw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1776916195; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oZr0DoXAeOF7Om8fYGLlxH1UCClbu40yAXV1/gDUe4E=; b=FsWIG0UeJq9Of3zFBX0rZ9sC7cLTNCxGRm3TG94KkEaVYRDib7EkYhdFFvp1Tc8Wmz736J 4YephYAY1hP/Me2Fbvo6W6z5vt4BWNaYPUzSFu5TgoQXsCWJf5wz4C2tC6tuMaXRCs8W/B 2ZLZK8xpIXu3WnDxlq4KF39QptYpBbKoUf/tPhLvAnKBY4s8Zv+KBmD74av0FylUNNl3d6 XWd+NvyVi6MVAyLO/GNfBCYRlrxWMX5YtIOahfUfu3gq/Vp4LjtrbaWjsoJzqXn/hGA3MF Yism5QupwVAGSZW+BZcK4XgC8IV6cTQORRMWBguLkNrAjN3eItmY9ImJnQ5r7w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g1MYH4yRlz10Pg for ; Thu, 23 Apr 2026 03:49:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 397de by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 23 Apr 2026 03:49:55 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: 28b8f26beff9 - stable/14 - jail: tests: cleanup the commands test a bit List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 28b8f26beff93c8fdd75b8fa29224938a62b173f Auto-Submitted: auto-generated Date: Thu, 23 Apr 2026 03:49:55 +0000 Message-Id: <69e996e3.397de.5a3c951e@gitrepo.freebsd.org> The branch stable/14 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=28b8f26beff93c8fdd75b8fa29224938a62b173f commit 28b8f26beff93c8fdd75b8fa29224938a62b173f Author: Kyle Evans AuthorDate: 2025-07-26 03:13:40 +0000 Commit: Kyle Evans CommitDate: 2026-04-23 03:21:43 +0000 jail: tests: cleanup the commands test a bit We shouldn't be doing setup in a head() function, as this can cause various problems. For instance, in this case, it caused test listing to fail in some cases if we didn't get to execute the cleanup properly by complaining to stderr if the directory could not be created. Switch to using atf_check for sanity checking stdout; most of these expressions are self-explanatory and will make it clear what the problem is. commands.jail.conf contains a hard-coded path that we can avoid, which is probably good to avoid weird conflicts if other tests try to copy it and do the same. Just make a copy of our jail.conf and add the test's $PWD to it to get a generally unique jail root. Finally, simplify the cleanup handler a bit. Reviewed by: jamie (cherry picked from commit cfc595f4a05ed6fc690b17adee967e652b8636b3) --- usr.sbin/jail/tests/commands.jail.conf | 2 -- usr.sbin/jail/tests/jail_basic_test.sh | 35 +++++++++++++++++++--------------- 2 files changed, 20 insertions(+), 17 deletions(-) diff --git a/usr.sbin/jail/tests/commands.jail.conf b/usr.sbin/jail/tests/commands.jail.conf index afd56d1fa5d6..ad152a28b7fe 100644 --- a/usr.sbin/jail/tests/commands.jail.conf +++ b/usr.sbin/jail/tests/commands.jail.conf @@ -4,6 +4,4 @@ exec.prestart = "echo START"; exec.poststart = "env"; persist; -path = "/tmp/test_${name}_root"; - basejail {} diff --git a/usr.sbin/jail/tests/jail_basic_test.sh b/usr.sbin/jail/tests/jail_basic_test.sh index 73ed1f6ebb4b..51ccafb45f60 100755 --- a/usr.sbin/jail/tests/jail_basic_test.sh +++ b/usr.sbin/jail/tests/jail_basic_test.sh @@ -101,38 +101,43 @@ commands_head() { atf_set descr 'Commands jail test' atf_set require.user root - mkdir /tmp/test_basejail_root } commands_body() { + cp "$(atf_get_srcdir)/commands.jail.conf" jail.conf + echo "path = \"$PWD\";" >> jail.conf + # exec.prestart (START) and exec.poststart (env) - atf_check -s exit:0 -o save:stdout -e empty \ - jail -f $(atf_get_srcdir)/commands.jail.conf -qc basejail - grep -E '^START$' stdout || atf_fail "exec.prestart output not found" - grep -E '^JID=[0-9]+' stdout || atf_fail "JID not found in exec.poststart env output" - grep -E '^JNAME=basejail$' stdout || atf_fail "JNAME not found in exec.poststart env output" - grep -E '^JPATH=/tmp/test_basejail_root$' stdout || atf_fail "JPATH not found in exec.poststart env output" + atf_check -o save:stdout -e empty \ + jail -f jail.conf -qc basejail + + # exec.prestart output is missing + atf_check grep -qE '^START$' stdout + # JID was not set in the exec.poststart env + atf_check grep -qE '^JID=[0-9]+' stdout + # JNAME was not set in the exec.poststart env + atf_check grep -qE '^JNAME=basejail$' stdout + # JPATH was not set in the exec.poststart env + atf_check grep -qE "^JPATH=$PWD$" stdout # exec.prestop by jailname atf_check -s exit:0 -o inline:"STOP\n" \ - jail -f $(atf_get_srcdir)/commands.jail.conf -qr basejail + jail -f jail.conf -qr basejail # exec.prestop by jid - jail -f $(atf_get_srcdir)/commands.jail.conf -qc basejail + jail -f jail.conf -qc basejail atf_check -s exit:0 -o inline:"STOP\n" \ - jail -f $(atf_get_srcdir)/commands.jail.conf -qr `jls -j basejail jid` + jail -f jail.conf -qr `jls -j basejail jid` } -commands_cleanup() +commands_cleanup() { - jls -j basejail > /dev/null 2>&1 - if [ $? -e 0 ] - then + if jls -j basejail > /dev/null 2>&1; then jail -r basejail fi - rmdir /tmp/test_basejail_root } + atf_init_test_cases() { atf_add_test_case "basic"