git: 3e5550d25c6d - main - du: Add regression tests
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 28 Apr 2025 18:21:13 UTC
The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=3e5550d25c6d614f422506373f7068c6c366fa85 commit 3e5550d25c6d614f422506373f7068c6c366fa85 Author: Michal Scigocki <michal.os@hotmail.com> AuthorDate: 2025-04-07 11:08:57 +0000 Commit: Mark Johnston <markj@FreeBSD.org> 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 }