From nobody Mon Apr 28 18:21:13 2025 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 4ZmWwq2PwRz5thLL; Mon, 28 Apr 2025 18:21:15 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZmWwn4jVxz3Y1N; Mon, 28 Apr 2025 18:21:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745864473; 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=O0aZw/PDAojyHAT09Ir6SjPnDzeZxdGiKyifZ2X4lvs=; b=Iz4i5P6/HNKNpwDb9hk9YSDB+alnPuMwzXjJWlMuLrmIpoSvsSEnZXpHaLgAfwk0qIwdp+ 1865x4GAhteU6aT2hcEMA+9Szdkml6pHiUkUMr7OrIPSu7GjSf1smFjFnwbLZMwCvl2IvZ Crl33tDeFnz3zW/O/WIXnEaP+8ETKyNFXftx7akyTkLrmzFMpOQ2vw5AwO6yAlAcv2csmb e9b0UOfkw3fPg+E3txo+nFRZbsv466e/gGx5sklxpvkLBUe3NnYDyrtI611DMNKBTYmpIU KY8CM4G+uBpwNXPYVuUasFoKpOi9ZXJGyYjSw0UfWDHXvrMBwoeP0az6UN3gzQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745864473; a=rsa-sha256; cv=none; b=qmVUacSd5tByOt8d41fKp+zNZ3sBPKTaqr1WmWAdGKhsD+IOmj8aQ+5fHim6ZD77uixRfs LZgRvmRLtPY533A2qUa2XtR94sn6eOXI/C//QVKFlg0hSydGjZ90+7leo9M8LJFJybaPKX Uf8OrShiyVftI3CFMSx1poW192pkS65DjnjD6+TJ5pqo9fSjhjNijF3QnN27qxajBkK5Xz aBv2fYM7DJ2mXGflM4c+VjWjEtZnL85tcB7ZF8vTMPD4PXVlnLAfpT3Dl+Iqph8kHZZ+xX Ob2EYkZ1wIa6LgsUxitTADxMSMbIbe55BAsvJulbuQdMr2JyMIIFQOwBYlMUeA== 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=1745864473; 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=O0aZw/PDAojyHAT09Ir6SjPnDzeZxdGiKyifZ2X4lvs=; b=A1PKIQh8V2AI4eAEaeKkV8IMr9YgANAyyblm0NyHT3d7ZUsjwQtwHZiFZWee4Ui0ekkiX2 l3TxGdqntUeAow0KICem5n9bgWWJJQXWyEQx4uKOlo7RFwNny5YFQO/hfCNknyEZtnziO0 EbuI0PmwOCv+tx03h2eZjegDaHb305ZENA/tv2RmqymaS8m/xnE7L7DrGwkEMlgx1LAu7E M2Cbiiiny77NT601se4CZgloBO7kQeDKe8gr56elAXzVBfMid/otoYe28P4aS5ZTB1KFtz t90p6O7qTk2UyrCoQnaRY/KOwHcSYoonBDTyiqOjfMAB5YT289UDKz4Y4SKYBQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (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 did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZmWwn4JxyzmfZ; Mon, 28 Apr 2025 18:21:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53SILDEJ093205; Mon, 28 Apr 2025 18:21:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53SILDfI093202; Mon, 28 Apr 2025 18:21:13 GMT (envelope-from git) Date: Mon, 28 Apr 2025 18:21:13 GMT Message-Id: <202504281821.53SILDfI093202@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 3e5550d25c6d - main - du: Add regression tests List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3e5550d25c6d614f422506373f7068c6c366fa85 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=3e5550d25c6d614f422506373f7068c6c366fa85 commit 3e5550d25c6d614f422506373f7068c6c366fa85 Author: Michal Scigocki AuthorDate: 2025-04-07 11:08:57 +0000 Commit: Mark Johnston CommitDate: 2025-04-28 18:20:23 +0000 du: Add regression tests Reviewed by: markj MFC after: 1 month Pull Request: https://github.com/freebsd/freebsd-src/pull/1648 --- usr.bin/du/tests/du_test.sh | 130 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 129 insertions(+), 1 deletion(-) diff --git a/usr.bin/du/tests/du_test.sh b/usr.bin/du/tests/du_test.sh index 0d7fc404b437..27076be8dc3e 100755 --- a/usr.bin/du/tests/du_test.sh +++ b/usr.bin/du/tests/du_test.sh @@ -97,6 +97,47 @@ I_flag_body() atf_check diff -u du.out du_I.out } +atf_test_case L_flag +L_flag_head() +{ + atf_set "descr" "Verify -L behavior" +} +L_flag_body() +{ + atf_check mkdir -p testdir1 + atf_check truncate -s 8192 testdir1/A + atf_check ln -s A testdir1/B + atf_check -o inline:'9\ttestdir1\n' du -A testdir1 + atf_check -o inline:'17\ttestdir1\n' du -AL testdir1 +} + +atf_test_case P_flag +P_flag_head() +{ + atf_set "descr" "Verify -P behavior" +} +P_flag_body() +{ + atf_check mkdir -p testdir1 + atf_check truncate -s 8192 testdir1/A + atf_check ln -s A testdir1/B + atf_check -o inline:'9\ttestdir1\n' du -A testdir1 + atf_check -o inline:'9\ttestdir1\n' du -AP testdir1 +} + +atf_test_case a_flag +a_flag_head() +{ + atf_set "descr" "Verify -a behavior" +} +a_flag_body() +{ + atf_check mkdir -p testdir1 + atf_check truncate -s 0 testdir1/A + atf_check -o inline:'1\ttestdir1\n' du -A testdir1 + atf_check -o inline:'0\ttestdir1/A\n1\ttestdir1\n' du -Aa testdir1 +} + atf_test_case c_flag c_flag_head() { @@ -104,7 +145,23 @@ c_flag_head() } c_flag_body() { - atf_check truncate -s 0 foo bar + atf_check truncate -s 8192 foo bar + atf_check -o inline:'8\tfoo\n8\tbar\n' du -A foo bar + atf_check -o inline:'8\tfoo\n8\tbar\n16\ttotal\n' du -Ac foo bar +} + +atf_test_case d_flag +d_flag_head() +{ + atf_set "descr" "Verify -d behavior" +} +d_flag_body() +{ + atf_check mkdir -p d0/d1/d2 + atf_check -o inline:'2\td0\n' du -A -d 0 d0 + atf_check -o inline:'1\td0/d1\n2\td0\n' du -A -d 1 d0 + atf_check -o inline:'1\td0/d1/d2\n1\td0/d1\n2\td0\n' du -A -d 2 d0 + atf_check -o inline:'1\td0/d1/d2\n1\td0/d1\n2\td0\n' du -A -d 3 d0 } atf_test_case g_flag @@ -149,6 +206,19 @@ k_flag_body() atf_check -o inline:'1\tA\n1024\tB\n' du -Ak A B } +atf_test_case l_flag +l_flag_head() +{ + atf_set "descr" "Verify -l output" +} +l_flag_body() +{ + atf_check truncate -s 0 A + atf_check ln A B + atf_check -o inline:'0\tA\n' du -A A B + atf_check -o inline:'0\tA\n0\tB\n' du -Al A B +} + atf_test_case m_flag m_flag_head() { @@ -162,6 +232,36 @@ m_flag_body() atf_check -o inline:'1\tA\n1\tB\n1024\tC\n' du -Am A B C } +atf_test_case n_flag +n_flag_head() +{ + atf_set "descr" "Verify -n output" +} +n_flag_body() +{ + atf_check truncate -s 0 A + atf_check truncate -s 0 B + atf_check -o inline:'0\tA\n0\tB\n' du -An A B + atf_check chflags nodump B + atf_check -o inline:'0\tA\n' du -An A B +} + +atf_test_case s_flag +s_flag_head() +{ + atf_set "descr" "Verify -s behavior" +} +s_flag_body() +{ + atf_check mkdir -p testdir1/testdir2 + atf_check truncate -s 0 testdir1/A testdir1/testdir2/B + atf_check -o inline:'1\ttestdir1\n' du -As testdir1 + atf_check -o inline:'0\ttestdir1/A\n' du -As testdir1/A + atf_check -o inline:'1\ttestdir1/testdir2\n' du -As testdir1/testdir2 + atf_check -o inline:'0\ttestdir1/testdir2/B\n' \ + du -As testdir1/testdir2/B +} + atf_test_case si_flag si_flag_head() { @@ -176,14 +276,42 @@ si_flag_body() atf_check -o inline:'1.5M\tA\n1.6M\tB\n' du -A --si A B } +atf_add_test_case t_flag +t_flag_head() +{ + atf_set "descr" "Verify -t output" +} +t_flag_body() +{ + atf_check mkdir -p testdir1/testdir2 + atf_check truncate -s 8192 testdir1/A testdir1/testdir2/B + + atf_check -o inline:'17\ttestdir1\n' du -At 10240 testdir1 + atf_check -o inline:'9\ttestdir1/testdir2\n' du -At -10240 testdir1 + atf_check -o inline:'9\ttestdir1/testdir2\n17\ttestdir1\n' \ + du -Aat 9216 testdir1 + atf_check -o save:du.out du -Aat -9216 testdir1 + atf_check -o inline:'8\ttestdir1/A\n8\ttestdir1/testdir2/B\n' \ + sort du.out +} + atf_init_test_cases() { atf_add_test_case A_flag atf_add_test_case H_flag atf_add_test_case I_flag + atf_add_test_case L_flag + atf_add_test_case P_flag + atf_add_test_case a_flag + atf_add_test_case c_flag + atf_add_test_case d_flag atf_add_test_case g_flag atf_add_test_case h_flag atf_add_test_case k_flag + atf_add_test_case l_flag atf_add_test_case m_flag + atf_add_test_case n_flag + atf_add_test_case s_flag atf_add_test_case si_flag + atf_add_test_case t_flag }