Date: Tue, 19 Nov 2024 09:29:34 GMT From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= <des@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: git: d4fb5984ab0b - main - mv: Add test cases for command-line options. Message-ID: <202411190929.4AJ9TYZo070523@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=d4fb5984ab0b96cc784c907e622deda910d020f2 commit d4fb5984ab0b96cc784c907e622deda910d020f2 Author: Dag-Erling Smørgrav <des@FreeBSD.org> AuthorDate: 2024-11-19 09:29:15 +0000 Commit: Dag-Erling Smørgrav <des@FreeBSD.org> CommitDate: 2024-11-19 09:29:15 +0000 mv: Add test cases for command-line options. Sponsored by: Klara, Inc. Reviewed by: asomers Differential Revision: https://reviews.freebsd.org/D47582 --- bin/mv/tests/mv_test.sh | 117 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 117 insertions(+) diff --git a/bin/mv/tests/mv_test.sh b/bin/mv/tests/mv_test.sh index aae4bc3f9297..4412d5e88c5e 100644 --- a/bin/mv/tests/mv_test.sh +++ b/bin/mv/tests/mv_test.sh @@ -371,6 +371,118 @@ fifo_from_dir_into_dir_cleanup() { mv_cleanup } +atf_test_case mv_f cleanup +mv_f_head() { + atf_set "descr" "Force replacement" + atf_set "require.user" "root" +} +mv_f_body() { + mv_setup + for FS in "" "fs/" ; do + mv_makefile fa + atf_check mv fa ${FS}fb + mv_checkfile fa ${FS}fb + mv_checkabsent fa + mv_makefile fa + :> ${FS}fb + atf_check mv -i -n -f fa ${FS}fb + mv_checkfile fa ${FS}fb + mv_checkabsent fa + done +} +mv_f_cleanup() { + mv_cleanup +} + +atf_test_case mv_h cleanup +mv_h_head() { + atf_set "descr" "Replace symbolic link" + atf_set "require.user" "root" +} +mv_h_body() { + mv_setup + for FS in "" "fs/" ; do + atf_check mkdir ${FS}da + atf_check ln -s da ${FS}db + # First test without -h, file goes into symlink target + mv_makefile fa + atf_check mv fa ${FS}db + mv_checkfile fa ${FS}da/fa + # Second test with -h, file replaces symlink + mv_makefile fa + atf_check mv -h fa ${FS}db + mv_checkfile fa ${FS}db + done +} +mv_h_cleanup() { + mv_cleanup +} + +atf_test_case mv_i cleanup +mv_i_head() { + atf_set "descr" "Confirm replacement" + atf_set "require.user" "root" +} +mv_i_body() { + mv_setup + echo n >n + echo y >y + for FS in "" "fs/" ; do + mv_makefile fa + mv_makefile ${FS}fb + # First test, answer no, file is not replaced + atf_check -e match:"^overwrite ${FS}fb\\?" \ + mv -i fa ${FS}fb <n + mv_checkfile fa fa + mv_checkfile fb ${FS}fb + # Second test, answer yes, file is replaced + atf_check -e match:"^overwrite ${FS}fb\\?" \ + mv -i fa ${FS}fb <y + mv_checkabsent fa + mv_checkfile fa ${FS}fb + done +} +mv_i_cleanup() { + mv_cleanup +} + +atf_test_case mv_n cleanup +mv_n_head() { + atf_set "descr" "Decline replacement" + atf_set "require.user" "root" +} +mv_n_body() { + mv_setup + for FS in "" "fs/" ; do + mv_makefile fa + mv_makefile ${FS}fb + atf_check mv -n fa ${FS}fb + mv_checkfile fa fa + mv_checkfile fb ${FS}fb + done +} +mv_n_cleanup() { + mv_cleanup +} + +atf_test_case mv_v cleanup +mv_v_head() { + atf_set "descr" "Verbose mode" + atf_set "require.user" "root" +} +mv_v_body() { + mv_setup + for FS in "" "fs/" ; do + mv_makefile fa + atf_check mkdir ${FS}da + atf_check -o inline:"fa -> ${FS}da/fa\n" \ + mv -v fa ${FS}da + done +} +mv_v_cleanup() { + mv_cleanup +} + atf_init_test_cases() { atf_add_test_case rename_file atf_add_test_case file_into_dir @@ -388,4 +500,9 @@ atf_init_test_cases() { atf_add_test_case fifo_into_dir atf_add_test_case fifo_from_dir atf_add_test_case fifo_from_dir_into_dir + atf_add_test_case mv_f + atf_add_test_case mv_h + atf_add_test_case mv_i + atf_add_test_case mv_n + atf_add_test_case mv_v }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202411190929.4AJ9TYZo070523>