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
}