bug-automake
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]