From f1799198483171c8565a4ff8fc1205d0a52fce37 Mon Sep 17 00:00:00 2001 From: Pádraig Brady Date: Sat, 19 Nov 2016 11:26:43 +0000 Subject: cp: improve status message when omitting directories * src/copy.h (cp_options): Add a new flag for install(1). * src/copy.c (copy_internal): For cp, also output remediation advice which also indicates why directories aren't copied by default. The message is unchanged for install(1). * src/cp.c (cp_option_init): Init install_mode to false. * src/mv.c (cp_option_init): Likewise. * src/install.c (cp_option_init): Init install_mode to true. * tests/install/basic-1.sh: Add a test case. * tests/cp/link-deref.sh: Adjust test case. Fixes http://bugs.gnu.org/24958 --- tests/cp/link-deref.sh | 2 +- tests/install/basic-1.sh | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) (limited to 'tests') diff --git a/tests/cp/link-deref.sh b/tests/cp/link-deref.sh index 51b228cbb..f5b7160a6 100755 --- a/tests/cp/link-deref.sh +++ b/tests/cp/link-deref.sh @@ -92,7 +92,7 @@ for src in dirlink filelink danglink; do exp_result=1 exp_inode= exp_ftype= - exp_error="cp: omitting directory 'dirlink'" + exp_error="cp: -r not specified; omitting directory 'dirlink'" elif [ "$src" = 'dirlink' ]; then # cp --link -R 'dirlink' should create a new directory. exp_result=0 diff --git a/tests/install/basic-1.sh b/tests/install/basic-1.sh index 23a2d581f..1a7147c1f 100755 --- a/tests/install/basic-1.sh +++ b/tests/install/basic-1.sh @@ -143,4 +143,9 @@ compare - out <<\EOF || fail=1 'file' -> 'sub4/dir_exists/file' EOF +# Ensure omitted directories are diagnosed +returns_ 1 ginstall . . 2>err || fail=1 +printf '%s\n' "ginstall: omitting directory '.'" >exp || framework_failure_ +compare exp err || fail=1 + Exit $fail -- cgit v1.2.3-70-g09d2