]> git.pld-linux.org Git - packages/coreutils.git/commitdiff
- fix tests that can be fixed (realpath is also a shell builtin, RANDOM auto/th/coreutils-8.21-2
authorJan Rękorajski <baggins@pld-linux.org>
Tue, 3 Dec 2013 12:26:51 +0000 (13:26 +0100)
committerJan Rękorajski <baggins@pld-linux.org>
Tue, 3 Dec 2013 12:26:51 +0000 (13:26 +0100)
  env var changes with each shell invocation)
- disable tests that can't be fixed
- rel 2

coreutils.spec
tests.patch [new file with mode: 0644]

index 896882abd66a2a014f53d90ab3ea5572d5b0a4f0..0d4a971d464dc6010de670cff52113b8d62e3553 100644 (file)
@@ -7,7 +7,7 @@ Summary:        GNU Core-utils - basic command line utilities
 Summary(pl.UTF-8):     GNU Core-utils - podstawowe narzędzia działające z linii poleceń
 Name:          coreutils
 Version:       8.21
-Release:       1
+Release:       2
 License:       GPL v3+
 Group:         Applications/System
 Source0:       http://ftp.gnu.org/gnu/coreutils/%{name}-%{version}.tar.xz
@@ -30,6 +30,7 @@ Patch8:               %{name}-pl.po-update.patch
 # from http://www.beatex.org/web/advancedcopy.html, edited by shadzik
 Patch9:                %{name}-advcopy.patch
 Patch10:       format-security.patch
+Patch11:       tests.patch
 URL:           http://www.gnu.org/software/coreutils/
 BuildRequires: acl-devel
 BuildRequires: attr-devel
@@ -118,6 +119,7 @@ Programy zawarte w tym pakiecie to:
 %patch9 -p1
 %endif
 %patch10 -p1
+%patch11 -p1
 
 %{__perl} -pi -e 's@GNU/Linux@PLD Linux@' m4/host-os.m4
 
@@ -142,6 +144,17 @@ Programy zawarte w tym pakiecie to:
 %{__rm} tests/ls/stat-free-color.sh
 %{__sed} -i -e '/ls\/stat-free-color/d' tests/local.mk
 
+# filesystem layout dependant (fails on some xfs fs)
+%{__rm} tests/dd/sparse.sh
+%{__sed} -i -e '/dd\/sparse/d' tests/local.mk
+
+# mksh is too smart for those, won't let programs fail on ulimit
+# would need bash here
+%{__rm} tests/misc/sort-merge-fdlimit.sh
+%{__sed} -i -e '/misc\/sort-merge-fdlimit/d' tests/local.mk
+%{__rm} tests/split/r-chunk.sh
+%{__sed} -i -e '/split\/r-chunk/d' tests/local.mk
+
 %build
 build-aux/gen-lists-of-programs.sh --autoconf > m4/cu-progs.m4
 build-aux/gen-lists-of-programs.sh --automake > src/cu-progs.mk
@@ -161,7 +174,7 @@ build-aux/gen-lists-of-programs.sh --automake > src/cu-progs.mk
 
 %if %{with tests}
 sed -i -e 's#COLUMNS##g' tests/envvar-check
-%{__make} -j1 tests check
+LC_ALL=C LANG=C %{__make} -j1 tests check
 %endif
 
 %install
diff --git a/tests.patch b/tests.patch
new file mode 100644 (file)
index 0000000..d22f8a8
--- /dev/null
@@ -0,0 +1,122 @@
+--- coreutils-8.21/tests/misc/printenv.sh~     2013-01-31 01:46:24.000000000 +0100
++++ coreutils-8.21/tests/misc/printenv.sh      2013-12-03 12:25:51.949012868 +0100
+@@ -23,8 +23,8 @@
+ # printenv as a builtin, so we must invoke it via "env".
+ # But beware of $_, set by many shells to the last command run.
+ # Also, filter out LD_PRELOAD, which is set when running under valgrind.
+-env | grep -Ev '^(_|LD_PRELOAD=)' > exp || framework_failure_
+-env -- printenv | grep -Ev '^(_|LD_PRELOAD=)' > out || fail=1
++env | grep -Ev '^(_|LD_PRELOAD=|RANDOM=)' > exp || framework_failure_
++env -- printenv | grep -Ev '^(_|LD_PRELOAD=|RANDOM=)' > out || fail=1
+ compare exp out || fail=1
+ # POSIX is clear that environ may, but need not be, sorted.
+--- coreutils-8.21/tests/misc/realpath.sh.orig 2013-12-03 12:36:46.105079823 +0100
++++ coreutils-8.21/tests/misc/realpath.sh      2013-12-03 12:46:44.854069134 +0100
+@@ -16,8 +16,8 @@
+ # You should have received a copy of the GNU General Public License
+ # along with this program.  If not, see <http://www.gnu.org/licenses/>.
+-. "${srcdir=.}/tests/init.sh"; path_prepend_ ./src
+-print_ver_ realpath
++. "${srcdir=.}/tests/init.sh"; path_prepend_ $initial_cwd_/src
++print_ver_ $initial_cwd_/src/realpath
+ stat_single=$(stat -c %d:%i /) || framework_failure_
+ stat_double=$(stat -c %d:%i //) || framework_failure_
+@@ -40,68 +40,68 @@
+ ln -s /// three || framework_failure_
+ # Basic operation
+-realpath -Pqz . >/dev/null || fail=1
++$initial_cwd_/src/realpath -Pqz . >/dev/null || fail=1
+ # Operand is required
+-realpath >/dev/null && fail=1
+-realpath --relative-base . --relative-to . && fail=1
+-realpath --relative-base . && fail=1
++$initial_cwd_/src/realpath >/dev/null && fail=1
++$initial_cwd_/src/realpath --relative-base . --relative-to . && fail=1
++$initial_cwd_/src/realpath --relative-base . && fail=1
+ # -e --relative-* require directories
+-realpath -e --relative-to=dir1/f --relative-base=. . && fail=1
+-realpath -e --relative-to=dir1/  --relative-base=. . || fail=1
++$initial_cwd_/src/realpath -e --relative-to=dir1/f --relative-base=. . && fail=1
++$initial_cwd_/src/realpath -e --relative-to=dir1/  --relative-base=. . || fail=1
+ # Note NUL params are unconditionally rejected by canonicalize_filename_mode
+-realpath -m '' && fail=1
+-realpath --relative-base= --relative-to=. . && fail=1
++$initial_cwd_/src/realpath -m '' && fail=1
++$initial_cwd_/src/realpath --relative-base= --relative-to=. . && fail=1
+ # symlink resolution
+-this=$(realpath .)
+-test "$(realpath ldir2/..)" = "$this/dir1" || fail=1
+-test "$(realpath -L ldir2/..)" = "$this" || fail=1
+-test "$(realpath -s ldir2)" = "$this/ldir2" || fail=1
++this=$($initial_cwd_/src/realpath .)
++test "$($initial_cwd_/src/realpath ldir2/..)" = "$this/dir1" || fail=1
++test "$($initial_cwd_/src/realpath -L ldir2/..)" = "$this" || fail=1
++test "$($initial_cwd_/src/realpath -s ldir2)" = "$this/ldir2" || fail=1
+ # relative string handling
+-test $(realpath -m --relative-to=prefix prefixed/1) = '../prefixed/1' || fail=1
+-test $(realpath -m --relative-to=prefixed prefix/1) = '../prefix/1' || fail=1
+-test $(realpath -m --relative-to=prefixed prefixed/1) = '1' || fail=1
++test $($initial_cwd_/src/realpath -m --relative-to=prefix prefixed/1) = '../prefixed/1' || fail=1
++test $($initial_cwd_/src/realpath -m --relative-to=prefixed prefix/1) = '../prefix/1' || fail=1
++test $($initial_cwd_/src/realpath -m --relative-to=prefixed prefixed/1) = '1' || fail=1
+ # Ensure no redundant trailing '/' present, as was the case in v8.15
+-test $(realpath -sm --relative-to=/usr /) = '..' || fail=1
++test $($initial_cwd_/src/realpath -sm --relative-to=/usr /) = '..' || fail=1
+ # Ensure no redundant leading '../' present, as was the case in v8.15
+-test $(realpath -sm --relative-to=/ /usr) = 'usr' || fail=1
++test $($initial_cwd_/src/realpath -sm --relative-to=/ /usr) = 'usr' || fail=1
+ # Ensure --relative-base works
+-out=$(realpath -sm --relative-base=/usr --relative-to=/usr /tmp /usr) || fail=1
++out=$($initial_cwd_/src/realpath -sm --relative-base=/usr --relative-to=/usr /tmp /usr) || fail=1
+ test "$out" = "/tmp$nl." || fail=1
+-out=$(realpath -sm --relative-base=/ --relative-to=/ / /usr) || fail=1
++out=$($initial_cwd_/src/realpath -sm --relative-base=/ --relative-to=/ / /usr) || fail=1
+ test "$out" = ".${nl}usr" || fail=1
+ # --relative-to defaults to the value of --relative-base
+-out=$(realpath -sm --relative-base=/usr /tmp /usr) || fail=1
++out=$($initial_cwd_/src/realpath -sm --relative-base=/usr /tmp /usr) || fail=1
+ test "$out" = "/tmp$nl." || fail=1
+-out=$(realpath -sm --relative-base=/ / /usr) || fail=1
++out=$($initial_cwd_/src/realpath -sm --relative-base=/ / /usr) || fail=1
+ test "$out" = ".${nl}usr" || fail=1
+ # For now, --relative-base must be a prefix of --relative-to, or all output
+ # will be absolute (compare to MacOS 'relpath -d dir start end').
+-out=$(realpath -sm --relative-base=/usr/local --relative-to=/usr \
++out=$($initial_cwd_/src/realpath -sm --relative-base=/usr/local --relative-to=/usr \
+     /usr /usr/local) || fail=1
+ test "$out" = "/usr${nl}/usr/local" || fail=1
+ # Ensure // is handled correctly.
+-test "$(realpath / // ///)" = "/$nl$double_slash$nl/" || fail=1
+-test "$(realpath one two three)" = "/$nl$double_slash$nl/" || fail=1
+-out=$(realpath -sm --relative-to=/ / // /dev //dev) || fail=1
++test "$($initial_cwd_/src/realpath / // ///)" = "/$nl$double_slash$nl/" || fail=1
++test "$($initial_cwd_/src/realpath one two three)" = "/$nl$double_slash$nl/" || fail=1
++out=$($initial_cwd_/src/realpath -sm --relative-to=/ / // /dev //dev) || fail=1
+ if test $double_slash = //; then
+   test "$out" = ".$nl//${nl}dev$nl//dev" || fail=1
+ else
+   test "$out" = ".$nl.${nl}dev${nl}dev" || fail=1
+ fi
+-out=$(realpath -sm --relative-to=// / // /dev //dev) || fail=1
++out=$($initial_cwd_/src/realpath -sm --relative-to=// / // /dev //dev) || fail=1
+ if test $double_slash = //; then
+   test "$out" = "/$nl.$nl/dev${nl}dev" || fail=1
+ else
+   test "$out" = ".$nl.${nl}dev${nl}dev" || fail=1
+ fi
+-out=$(realpath --relative-base=/ --relative-to=// / //) || fail=1
++out=$($initial_cwd_/src/realpath --relative-base=/ --relative-to=// / //) || fail=1
+ if test $double_slash = //; then
+   test "$out" = "/$nl//" || fail=1
+ else
This page took 0.124205 seconds and 4 git commands to generate.