[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: automake-1.10.1: instsh2.test fails when run as root
From: |
Ralf Wildenhues |
Subject: |
Re: automake-1.10.1: instsh2.test fails when run as root |
Date: |
Wed, 30 Jan 2008 21:38:08 +0100 |
User-agent: |
Mutt/1.5.13 (2006-08-11) |
Hello Theodoros,
* Theodoros V. Kalamatianos wrote on Thu, Jan 24, 2008 at 06:26:03PM CET:
>
> as the subject suggests, the instsh2.test from automake-1.10.1 fails when
> run as root. The culprit is circa line 96:
> test ! -w d1/file
>
> which will fail when run as root (at least on Linux). Perhaps this should
> be moved to an additional test to be executed with required='non-root' ?
Indeed. Thanks for the bug report. I've applied this patch to master
and branch-1-10, and put you in THANKS.
Cheers,
Ralf
Split instsh2.test, so that only the new part requires non-root.
* tests/instsh2.test: Split off testing of `install-sh -C' ...
* tests/instsh3.test: ... to this new test, requiring non-root.
* tests/Makefile.am: Adjust.
* THANKS: Update.
Report by Theodoros V. Kalamatianos.
diff --git a/tests/Makefile.am b/tests/Makefile.am
index ec10801..8405c7a 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -293,6 +293,7 @@ install2.test \
installdir.test \
instsh.test \
instsh2.test \
+instsh3.test \
instdat.test \
instdat2.test \
instexec.test \
diff --git a/tests/instsh2.test b/tests/instsh2.test
index 17b61ab..f0b729e 100755
--- a/tests/instsh2.test
+++ b/tests/instsh2.test
@@ -1,5 +1,5 @@
#! /bin/sh
-# Copyright (C) 2002, 2004, 2006 Free Software Foundation, Inc.
+# Copyright (C) 2002, 2004, 2006, 2008 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -77,20 +77,6 @@ test -f d3/y
./install-sh -T x d3 && exit 1
./install-sh -T x d4// && exit 1
-# Do not change the timestamps when using -C.
-echo foo >file
-./install-sh -C file d1
-TZ=UTC0 touch -t $old_timestamp d1/file
-./install-sh -C file d1
-is_newest file d1/file
-echo foo1 >file
-./install-sh -C file d1
-diff file d1/file
-# Rights must be updated.
-./install-sh -C -m 444 file d1
-test -r d1/file
-test ! -w d1/file
-
# Ensure that install-sh works with names that include spaces
touch 'a b'
mkdir 'x y'
diff --git a/tests/instsh3.test b/tests/instsh3.test
new file mode 100755
index 0000000..95b74c7
--- /dev/null
+++ b/tests/instsh3.test
@@ -0,0 +1,37 @@
+#! /bin/sh
+# Copyright (C) 2006, 2008 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# More install-sh checks: check -C.
+
+required=non-root
+. ./defs || exit 1
+set -e
+
+./install-sh -d d1
+
+# Do not change the timestamps when using -C.
+echo foo >file
+./install-sh -C file d1
+TZ=UTC0 touch -t $old_timestamp d1/file
+./install-sh -C file d1
+is_newest file d1/file
+echo foo1 >file
+./install-sh -C file d1
+diff file d1/file
+# Rights must be updated.
+./install-sh -C -m 444 file d1
+test -r d1/file
+test ! -w d1/file