Resolves: #1799064 - make upstream test-suite work with root privileges
This commit is contained in:
parent
15101dc4a6
commit
9f5b30bd11
132
findutils-4.7.0-root-tests.patch
Normal file
132
findutils-4.7.0-root-tests.patch
Normal file
@ -0,0 +1,132 @@
|
||||
From 498674f70816bb380ce11e62b620e4ece7763fd0 Mon Sep 17 00:00:00 2001
|
||||
From: Bernhard Voelker <mail@bernhard-voelker.de>
|
||||
Date: Sun, 9 Feb 2020 19:58:07 +0100
|
||||
Subject: [PATCH] tests: avoid FP when run as root
|
||||
|
||||
Test 'sv-bug-54171' produced a false-positive error as 'find' would
|
||||
not fail for an unreadable directory when run as root.
|
||||
Migrate the test to the newer shell-based tests, and add the
|
||||
'skip_if_root_' guard to avoid a false-positive.
|
||||
|
||||
* find/testsuite/find.posix/sv-bug-54171.exp: Remove.
|
||||
* find/testsuite/find.posix/sv-bug-54171.xo: Remove.
|
||||
* find/testsuite/Makefile.am (EXTRA_DIST_XO, EXTRA_DIST_EXP): Remove the
|
||||
above deleted test.
|
||||
* tests/find/depth-unreadable-dir.sh: Add test.
|
||||
* tests/local.mk (all_tests): Reference it.
|
||||
|
||||
Test FP introduced in commit v4.6.0-178-gdf4610d0.
|
||||
Fixes https://savannah.gnu.org/bugs/?57762
|
||||
and https://bugzilla.redhat.com/1799064
|
||||
|
||||
Upstream-commit: 2f9fff9e1f0c0b7a9034d7c46ca197ce693c4736
|
||||
Signed-off-by: Kamil Dudka <kdudka@redhat.com>
|
||||
---
|
||||
find/testsuite/Makefile.am | 2 --
|
||||
find/testsuite/find.posix/sv-bug-54171.exp | 5 ---
|
||||
find/testsuite/find.posix/sv-bug-54171.xo | 1 -
|
||||
tests/find/depth-unreadable-dir.sh | 39 ++++++++++++++++++++++
|
||||
tests/local.mk | 1 +
|
||||
5 files changed, 40 insertions(+), 8 deletions(-)
|
||||
delete mode 100644 find/testsuite/find.posix/sv-bug-54171.exp
|
||||
delete mode 100644 find/testsuite/find.posix/sv-bug-54171.xo
|
||||
create mode 100755 tests/find/depth-unreadable-dir.sh
|
||||
|
||||
diff --git a/find/testsuite/Makefile.am b/find/testsuite/Makefile.am
|
||||
index d252451a..77a2902c 100644
|
||||
--- a/find/testsuite/Makefile.am
|
||||
+++ b/find/testsuite/Makefile.am
|
||||
@@ -119,7 +119,6 @@ find.posix/prune-stat.xo \
|
||||
find.posix/sizetype.xo \
|
||||
find.posix/sv-bug-15235.xo \
|
||||
find.posix/sv-bug-19613.xo \
|
||||
-find.posix/sv-bug-54171.xo \
|
||||
find.posix/typesize.xo
|
||||
|
||||
|
||||
@@ -246,7 +245,6 @@ find.posix/sv-bug-15235.exp \
|
||||
find.posix/sv-bug-19605.exp \
|
||||
find.posix/sv-bug-19613.exp \
|
||||
find.posix/sv-bug-19617.exp \
|
||||
-find.posix/sv-bug-54171.exp \
|
||||
find.posix/typesize.exp \
|
||||
find.posix/user-empty.exp \
|
||||
find.posix/user-missing.exp
|
||||
diff --git a/find/testsuite/find.posix/sv-bug-54171.exp b/find/testsuite/find.posix/sv-bug-54171.exp
|
||||
deleted file mode 100644
|
||||
index 8e5448fb..00000000
|
||||
--- a/find/testsuite/find.posix/sv-bug-54171.exp
|
||||
+++ /dev/null
|
||||
@@ -1,5 +0,0 @@
|
||||
-exec rm -rf tmp
|
||||
-exec mkdir tmp tmp/dir
|
||||
-exec chmod 0311 tmp/dir
|
||||
-find_start f {tmp -depth -name dir }
|
||||
-exec rm -rf tmp
|
||||
diff --git a/find/testsuite/find.posix/sv-bug-54171.xo b/find/testsuite/find.posix/sv-bug-54171.xo
|
||||
deleted file mode 100644
|
||||
index 2dc4706a..00000000
|
||||
--- a/find/testsuite/find.posix/sv-bug-54171.xo
|
||||
+++ /dev/null
|
||||
@@ -1 +0,0 @@
|
||||
-tmp/dir
|
||||
diff --git a/tests/find/depth-unreadable-dir.sh b/tests/find/depth-unreadable-dir.sh
|
||||
new file mode 100755
|
||||
index 00000000..86e2fd60
|
||||
--- /dev/null
|
||||
+++ b/tests/find/depth-unreadable-dir.sh
|
||||
@@ -0,0 +1,39 @@
|
||||
+#!/bin/sh
|
||||
+# find -depth: ensure to output an unreadable directory.
|
||||
+
|
||||
+# Copyright (C) 2020 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 of the License, 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 <https://www.gnu.org/licenses/>.
|
||||
+
|
||||
+. "${srcdir=.}/tests/init.sh"; fu_path_prepend_
|
||||
+print_ver_ find
|
||||
+
|
||||
+# Find run as root would not fail for an unreadable directory.
|
||||
+skip_if_root_
|
||||
+
|
||||
+# Prepare an unreadable directory, and the expected stdout/stderr.
|
||||
+mkdir tmp tmp/dir \
|
||||
+ && chmod 0311 tmp/dir \
|
||||
+ && echo 'tmp/dir' > exp \
|
||||
+ && echo "find: 'tmp/dir': Permission denied" > experr \
|
||||
+ || framework_failure_
|
||||
+
|
||||
+# Run FTS-based find with -depth; versions < 4.7.0 failed to output
|
||||
+# an unreadable directory (see #54171).
|
||||
+returns_ 1 find tmp -depth -name dir > out 2> err || fail=1
|
||||
+
|
||||
+compare exp out || fail=1
|
||||
+compare experr err || fail=1
|
||||
+
|
||||
+Exit $fail
|
||||
diff --git a/tests/local.mk b/tests/local.mk
|
||||
index dccc7342..986df55e 100644
|
||||
--- a/tests/local.mk
|
||||
+++ b/tests/local.mk
|
||||
@@ -106,6 +106,7 @@ check-root:
|
||||
|
||||
all_tests = \
|
||||
tests/misc/help-version.sh \
|
||||
+ tests/find/depth-unreadable-dir.sh \
|
||||
tests/find/many-dir-entries-vs-OOM.sh \
|
||||
tests/find/name-lbracket-literal.sh \
|
||||
tests/find/printf_escapechars.sh \
|
||||
--
|
||||
2.21.1
|
||||
|
@ -1,7 +1,7 @@
|
||||
Summary: The GNU versions of find utilities (find and xargs)
|
||||
Name: findutils
|
||||
Version: 4.7.0
|
||||
Release: 2%{?dist}
|
||||
Release: 3%{?dist}
|
||||
Epoch: 1
|
||||
License: GPLv3+
|
||||
URL: http://www.gnu.org/software/findutils/
|
||||
@ -22,6 +22,9 @@ Patch4: findutils-4.6.0-test-lock.patch
|
||||
# implement the -noleaf option of find (#1252549)
|
||||
Patch5: findutils-4.6.0-leaf-opt.patch
|
||||
|
||||
# make upstream test-suite work with root privileges (#1799064)
|
||||
Patch6: findutils-4.7.0-root-tests.patch
|
||||
|
||||
Conflicts: filesystem < 3
|
||||
Provides: /bin/find
|
||||
Provides: bundled(gnulib)
|
||||
@ -109,6 +112,9 @@ rm -f %{buildroot}%{_infodir}/dir
|
||||
%{_infodir}/find-maint.info.*
|
||||
|
||||
%changelog
|
||||
* Tue Feb 11 2020 Kamil Dudka <kdudka@redhat.com> - 1:4.7.0-3
|
||||
- make upstream test-suite work with root privileges (#1799064)
|
||||
|
||||
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:4.7.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user