diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/Makefile.am | 2 | ||||
-rw-r--r-- | tests/setstat01.at | 42 | ||||
-rw-r--r-- | tests/setstat02.at | 44 | ||||
-rw-r--r-- | tests/testsuite.at | 3 |
4 files changed, 91 insertions, 0 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am index b4ad2ba..9e3b97b 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -45,6 +45,8 @@ TESTSUITE_AT = \ testsuite.at\ inout.at\ interdir.at\ + setstat01.at\ + setstat02.at\ symlink.at\ version.at diff --git a/tests/setstat01.at b/tests/setstat01.at new file mode 100644 index 0000000..7c7b51a --- /dev/null +++ b/tests/setstat01.at @@ -0,0 +1,42 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# Copyright (C) 2009 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/>. + +AT_SETUP([delayed setstat]) +AT_KEYWORDS([setstat setstat01]) + +# In cpio up to 2.10, in copy-in mode, permissions and ownership of +# created directories were set right after creating them. If directory +# permissions did not allow writing to it, cpio was unable to populate +# the directory. + +AT_CHECK([ +mkdir dir +echo "test file" > file +chmod 500 dir + +find dir | cpio -o --quiet > archive +mv dir old + +cpio -i --quiet < archive +genfile --stat=mode.777 dir +], +[0], +[500 +]) + +AT_CLEANUP + + diff --git a/tests/setstat02.at b/tests/setstat02.at new file mode 100644 index 0000000..0b919c6 --- /dev/null +++ b/tests/setstat02.at @@ -0,0 +1,44 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# Copyright (C) 2009 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/>. + +AT_SETUP([delayed setstat (with -depth)]) +AT_KEYWORDS([setstat setstat01]) + +# Cpio versions up to 2.10 failed to restore directory permissions, if +# the directory was already present on dist (e.g. when using find . -depth). +# +# References: +# <20090620185721.GA18708@scru.org> +# http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=458079 + +AT_CHECK([ +mkdir dir +echo "test file" > file +chmod 500 dir + +find dir -depth | cpio -o --quiet > archive +mv dir old + +cpio -i --quiet < archive +genfile --stat=mode.777 dir +], +[0], +[500 +]) + +AT_CLEANUP + + diff --git a/tests/testsuite.at b/tests/testsuite.at index eea6c3f..16d64dd 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -32,3 +32,6 @@ m4_include([version.at]) m4_include([inout.at]) m4_include([symlink.at]) m4_include([interdir.at]) + +m4_include([setstat01.at]) +m4_include([setstat02.at]) |