1
0
mirror of git://git.sv.gnu.org/coreutils.git synced 2026-04-13 23:36:10 +02:00
Files
coreutils/tests/Makefile.am
Paul Eggert 0da4d84300 sort: fix some --compress reaper bugs
* src/sort.c (uintptr): New type.
(enum procstate, struct procnode, update_proc): Remove.
(proctab_hasher, proctab_comparator, register_proc, wait_proc):
(reap_some): The proctab is now simply a hash of process-IDs
rather than of pointers to objects with reference counts and
states; this is smaller and faster and easier to understand.
(nprocs): Now pid_t, not size_t, since one cannot have more than
PID_MAX children.
(reap): If the argument is -1, wait; if 0 (a new value), do not.
Delete pid from proctab as needed.  Ignore children that are not
in proctab, as they are from the program that exec'ed us and are
irrelevant to our success or failure.
(delete_proc, reap_all): New functions.
(open_temp): Register the child.
(sort): Clean up all children afterwards; without this patch,
'sort' sometimes missed failures in children due to race conditions.
* tests/Makefile.am (TESTS): Add misc/sort-compress-proc.
* tests/misc/sort-compress-proc: New file, to test for the
bugs fixed above.
2010-12-13 23:23:47 -08:00

662 lines
15 KiB
Makefile

## Process this file with automake to produce Makefile.in -*-Makefile-*-.
# Sort in traditional ASCII order, regardless of the current locale;
# otherwise we may get into trouble with distinct strings that the
# current locale considers to be equal.
ASSORT = LC_ALL=C sort
EXTRA_DIST = \
Coreutils.pm \
CuTmpdir.pm \
check.mk \
envvar-check \
init.cfg \
init.sh \
lang-default \
other-fs-tmpdir \
require-perl \
sample-test \
$(pr_data)
root_tests = \
chown/basic \
cp/cp-a-selinux \
cp/preserve-gid \
cp/special-bits \
cp/cp-mv-enotsup-xattr \
cp/capability \
dd/skip-seek-past-dev \
install/install-C-root \
ls/capability \
ls/nameless-uid \
misc/chcon \
misc/chroot-credentials \
misc/selinux \
misc/truncate-owned-by-other \
mkdir/writable-under-readonly \
mv/sticky-to-xpart \
rm/fail-2eperm \
rm/no-give-up \
rm/one-file-system \
rm/read-only \
tail-2/append-only \
touch/now-owned-by-other
.PHONY: check-root
check-root:
$(MAKE) check TESTS='$(root_tests)'
check-recursive: root-hint
# Advertise `check-root' target.
.PHONY: root-hint
root-hint:
@echo '***********************************************************'
@echo "NOTICE: Some tests may be run only as root."
@echo " See the 'Running tests as root' section in README."
@echo '***********************************************************'
EXTRA_DIST += $(TESTS)
# Do not choose a name that is a shell keyword like 'if', or a
# commonly-used utility like 'cat' or 'test', as the name of a test.
# Otherwise, VPATH builds will fail on hosts like Solaris, since they
# will expand 'if test ...' to 'if .../test ...', and the '.../test'
# will execute the test script rather than the standard utility.
# Notes on the ordering of these tests:
# Place early in the list tests of the tools that
# are most commonly used in test scripts themselves.
# E.g., nearly every test script uses rm and chmod.
# help-version comes early because it's a basic sanity test.
# Put seq early, since lots of other tests use it.
# Put tests that sleep early, but not all together, so in parallel builds
# they share time with tests that burn CPU, not with others that sleep.
# Put head-elide-tail early, because it's long-running.
TESTS = \
misc/help-version \
tail-2/inotify-race \
misc/invalid-opt \
rm/ext3-perf \
rm/cycle \
cp/link-heap \
tail-2/inotify-hash-abuse \
tail-2/inotify-hash-abuse2 \
tail-2/F-vs-missing \
tail-2/F-vs-rename \
tail-2/inotify-rotate \
chmod/no-x \
chgrp/basic \
rm/dangling-symlink \
misc/ls-time \
rm/deep-1 \
rm/deep-2 \
rm/dir-no-w \
rm/dir-nonrecur \
rm/dot-rel \
rm/isatty \
rm/empty-inacc \
rm/empty-name \
rm/f-1 \
rm/fail-eacces \
rm/fail-eperm \
tail-2/assert \
rm/hash \
rm/i-1 \
rm/i-never \
rm/i-no-r \
tail-2/infloop-1 \
rm/ignorable \
rm/inaccessible \
rm/interactive-always \
rm/interactive-once \
rm/ir-1 \
rm/one-file-system2 \
rm/r-1 \
rm/r-2 \
rm/r-3 \
rm/r-4 \
rm/readdir-bug \
rm/rm1 \
touch/empty-file \
rm/rm2 \
rm/rm3 \
rm/rm4 \
rm/rm5 \
rm/sunos-1 \
rm/unread2 \
rm/unread3 \
rm/unreadable \
rm/v-slash \
chgrp/default-no-deref \
chgrp/deref \
chgrp/no-x \
chgrp/posix-H \
chgrp/recurse \
misc/env \
misc/ptx \
misc/test \
misc/seq \
misc/seq-long-double \
misc/head \
misc/head-elide-tail \
tail-2/tail-n0f \
misc/ls-misc \
misc/date \
misc/date-next-dow \
misc/ptx-overrun \
misc/xstrtol \
tail-2/pid \
misc/od \
misc/od-float \
misc/mktemp \
misc/arch \
misc/pr \
misc/join \
pr/pr-tests \
misc/df-P \
misc/pwd-option \
misc/pwd-unreadable-parent \
misc/chcon-fail \
misc/cut \
misc/wc \
misc/wc-files0-from \
misc/wc-files0 \
misc/wc-parallel \
misc/cat-proc \
misc/cat-buf \
misc/base64 \
misc/basename \
misc/close-stdout \
misc/chroot-fail \
misc/comm \
misc/csplit \
misc/csplit-1000 \
misc/csplit-heap \
misc/date-sec \
misc/dircolors \
misc/df \
misc/dirname \
misc/env-null \
misc/expand \
misc/expr \
misc/factor \
misc/false-status \
misc/fmt \
misc/fmt-long-line \
misc/fold \
misc/groups-dash \
misc/groups-version \
misc/head-c \
misc/head-pos \
misc/id-context \
misc/id-groups \
misc/md5sum \
misc/md5sum-newline \
misc/md5sum-parallel \
misc/mknod \
misc/nice \
misc/nice-fail \
misc/nl \
misc/nohup \
misc/nproc-avail \
misc/nproc-positive \
misc/od-N \
misc/od-multiple-t \
misc/od-x8 \
misc/paste \
misc/pathchk1 \
misc/printenv \
misc/printf \
misc/printf-cov \
misc/printf-hex \
misc/printf-surprise \
misc/pwd-long \
misc/readlink-fp-loop \
misc/runcon-no-reorder \
misc/sha1sum \
misc/sha1sum-vec \
misc/sha224sum \
misc/sha256sum \
misc/sha384sum \
misc/sha512sum \
misc/shred-exact \
misc/shred-passes \
misc/shred-remove \
misc/shuf \
misc/sort \
misc/sort-benchmark-random \
misc/sort-compress \
misc/sort-compress-proc \
misc/sort-continue \
misc/sort-debug-keys \
misc/sort-debug-warn \
misc/sort-files0-from \
misc/sort-float \
misc/sort-merge \
misc/sort-merge-fdlimit \
misc/sort-month \
misc/sort-rand \
misc/sort-spinlock-abuse \
misc/sort-stale-thread-mem \
misc/sort-unique \
misc/sort-unique-segv \
misc/sort-version \
misc/split-a \
misc/split-bchunk \
misc/split-fail \
misc/split-l \
misc/split-lchunk \
misc/split-rchunk \
misc/stat-birthtime \
misc/stat-fmt \
misc/stat-hyphen \
misc/stat-mount \
misc/stat-nanoseconds \
misc/stat-printf \
misc/stat-slash \
misc/stdbuf \
misc/stty \
misc/stty-invalid \
misc/stty-row-col \
misc/su-fail \
misc/sum \
misc/sum-sysv \
misc/tac \
misc/tac-continue \
misc/tail \
misc/tee \
misc/tee-dash \
misc/test-diag \
misc/timeout \
misc/timeout-parameters \
misc/tr \
misc/tr-case-class \
misc/truncate-dangling-symlink \
misc/truncate-dir-fail \
misc/truncate-fail-diag \
misc/truncate-fifo \
misc/truncate-no-create-missing \
misc/truncate-overflow \
misc/truncate-parameters \
misc/truncate-relative \
misc/tsort \
misc/tty-eof \
misc/unexpand \
misc/uniq \
misc/xattr \
tail-2/wait \
chmod/c-option \
chmod/equal-x \
chmod/equals \
chmod/inaccessible \
chmod/octal \
chmod/setgid \
chmod/silent \
chmod/thru-dangling \
chmod/umask-x \
chmod/usage \
chown/deref \
chown/preserve-root \
chown/separator \
cp/abuse \
cp/acl \
cp/backup-1 \
cp/backup-dir \
cp/backup-is-src \
cp/cp-HL \
cp/cp-deref \
cp/cp-i \
cp/cp-mv-backup \
cp/cp-parents \
cp/deref-slink \
cp/dir-rm-dest \
cp/dir-slash \
cp/dir-vs-file \
cp/existing-perm-race \
cp/fail-perm \
cp/file-perm-race \
cp/into-self \
cp/link \
cp/link-no-deref \
cp/link-preserve \
cp/no-deref-link1 \
cp/no-deref-link2 \
cp/no-deref-link3 \
cp/parent-perm \
cp/parent-perm-race \
cp/perm \
cp/preserve-2 \
cp/preserve-slink-time \
cp/proc-short-read \
cp/proc-zero-len \
cp/r-vs-symlink \
cp/reflink-auto \
cp/reflink-perm \
cp/same-file \
cp/slink-2-slink \
cp/sparse \
cp/special-f \
cp/src-base-dot \
cp/symlink-slash \
cp/thru-dangling \
df/unreadable \
dd/direct \
dd/misc \
dd/not-rewound \
dd/reblock \
dd/skip-seek \
dd/skip-seek2 \
dd/skip-seek-past-file \
dd/stderr \
dd/unblock \
dd/unblock-sync \
df/total-verify \
du/2g \
du/8gb \
du/basic \
du/bigtime \
du/deref \
du/deref-args \
du/exclude \
du/fd-leak \
du/files0-from \
du/hard-link \
du/inacc-dest \
du/inacc-dir \
du/inaccessible-cwd \
du/long-from-unreadable \
du/long-sloop \
du/max-depth \
du/no-deref \
du/no-x \
du/one-file-system \
du/restore-wd \
du/slash \
du/slink \
du/trailing-slash \
du/two-args \
id/no-context \
install/basic-1 \
install/create-leading \
install/d-slashdot \
install/install-C \
install/install-C-selinux \
install/strip-program \
install/trap \
ln/backup-1 \
ln/hard-backup \
ln/hard-to-sym \
ln/misc \
ln/sf-1 \
ln/slash-decorated-nonexistent-dest \
ln/target-1 \
ls/abmon-align \
ls/color-clear-to-eol \
ls/color-dtype-dir \
ls/color-norm \
ls/dangle \
ls/dired \
ls/file-type \
ls/follow-slink \
ls/infloop \
ls/inode \
ls/m-option \
ls/multihardlink \
ls/no-arg \
ls/no-cap \
ls/proc-selinux-segfault \
ls/readdir-mountpoint-inode \
ls/recursive \
ls/rt-1 \
ls/stat-dtype \
ls/stat-failed \
ls/stat-free-symlinks \
ls/stat-vs-dirent \
ls/symlink-slash \
ls/x-option \
mkdir/p-1 \
mkdir/p-2 \
mkdir/p-3 \
mkdir/p-slashdot \
mkdir/p-thru-slink \
mkdir/p-v \
mkdir/parents \
mkdir/perm \
mkdir/selinux \
mkdir/special-1 \
mkdir/t-slash \
mv/acl \
mv/atomic \
mv/atomic2 \
mv/backup-dir \
mv/backup-is-src \
mv/childproof \
mv/diag \
mv/dir-file \
mv/dir2dir \
mv/dup-source \
mv/force \
mv/hard-2 \
mv/hard-3 \
mv/hard-4 \
mv/hard-link-1 \
mv/hard-verbose \
mv/i-1 \
mv/i-2 \
mv/i-3 \
mv/i-4 \
mv/i-5 \
mv/i-link-no \
mv/into-self \
mv/into-self-2 \
mv/into-self-3 \
mv/into-self-4 \
mv/leak-fd \
mv/mv-n \
mv/mv-special-1 \
mv/no-target-dir \
mv/part-fail \
mv/part-hardlink \
mv/part-rename \
mv/part-symlink \
mv/partition-perm \
mv/perm-1 \
mv/to-symlink \
mv/trailing-slash \
mv/update \
readlink/can-e \
readlink/can-f \
readlink/can-m \
readlink/rl-1 \
rmdir/fail-perm \
rmdir/ignore \
rmdir/t-slash \
tail-2/assert-2 \
tail-2/big-4gb \
tail-2/flush-initial \
tail-2/follow-stdin \
tail-2/pipe-f \
tail-2/pipe-f2 \
tail-2/proc-ksyms \
tail-2/start-middle \
touch/60-seconds \
touch/dangling-symlink \
touch/dir-1 \
touch/fail-diag \
touch/fifo \
touch/no-create-missing \
touch/no-dereference \
touch/no-rights \
touch/not-owner \
touch/obsolescent \
touch/read-only \
touch/relative \
touch/trailing-slash \
$(root_tests)
pr_data = \
pr/0F \
pr/0FF \
pr/0FFnt \
pr/0FFt \
pr/0FnFnt \
pr/0FnFt \
pr/0Fnt \
pr/0Ft \
pr/2-S_f-t_notab \
pr/2-Sf-t_notab \
pr/2f-t_notab \
pr/2s_f-t_notab \
pr/2s_w60f-t_nota \
pr/2sf-t_notab \
pr/2sw60f-t_notab \
pr/2w60f-t_notab \
pr/3-0F \
pr/3-5l24f-t \
pr/3-FF \
pr/3a2l17-FF \
pr/3a3f-0F \
pr/3a3l15-t \
pr/3a3l15f-t \
pr/3b2l17-FF \
pr/3b3f-0F \
pr/3b3f-0FF \
pr/3b3f-FF \
pr/3b3l15-t \
pr/3b3l15f-t \
pr/3f-0F \
pr/3f-FF \
pr/3l24-t \
pr/3l24f-t \
pr/3ml24-FF \
pr/3ml24-t \
pr/3ml24-t-FF \
pr/3ml24f-t \
pr/4-7l24-FF \
pr/4l24-FF \
pr/FF \
pr/FFn \
pr/FFtn \
pr/FnFn \
pr/Ja3l24f-lm \
pr/Jb3l24f-lm \
pr/Jml24f-lm-lo \
pr/W-72l24f-ll \
pr/W20l24f-ll \
pr/W26l24f-ll \
pr/W27l24f-ll \
pr/W28l24f-ll \
pr/W35Ja3l24f-lm \
pr/W35Jb3l24f-lm \
pr/W35Jml24f-lmlo \
pr/W35a3l24f-lm \
pr/W35b3l24f-lm \
pr/W35ml24f-lm-lo \
pr/W72Jl24f-ll \
pr/a2l15-FF \
pr/a2l17-FF \
pr/a3-0F \
pr/a3f-0F \
pr/a3f-0FF \
pr/a3f-FF \
pr/a3l15-t \
pr/a3l15f-t \
pr/a3l24f-lm \
pr/b2l15-FF \
pr/b2l17-FF \
pr/b3-0F \
pr/b3f-0F \
pr/b3f-0FF \
pr/b3f-FF \
pr/b3l15-t \
pr/b3l15f-t \
pr/b3l24f-lm \
pr/l24-FF \
pr/l24-t \
pr/l24f-t \
pr/loli \
pr/ml20-FF-t \
pr/ml24-FF \
pr/ml24-t \
pr/ml24-t-FF \
pr/ml24f-0F \
pr/ml24f-lm-lo \
pr/ml24f-t \
pr/ml24f-t-0F \
pr/n+2-5l24f-0FF \
pr/n+2l24f-0FF \
pr/n+2l24f-bl \
pr/n+3-7l24-FF \
pr/n+3l24f-0FF \
pr/n+3l24f-bl \
pr/n+3ml20f-bl-FF \
pr/n+3ml24f-bl-tn \
pr/n+3ml24f-tn-bl \
pr/n+4-8a2l17-FF \
pr/n+4b2l17f-0FF \
pr/n+5-8b3l17f-FF \
pr/n+5a3l13f-0FF \
pr/n+6a2l17-FF \
pr/n+6b3l13f-FF \
pr/n+7l24-FF \
pr/n+8l20-FF \
pr/nJml24f-lmlmlo \
pr/nJml24f-lmlolm \
pr/nN1+3l24f-bl \
pr/nN15l24f-bl \
pr/nSml20-bl-FF \
pr/nSml20-t-t-FF \
pr/nSml20-t-tFFFF \
pr/nSml24-bl-FF \
pr/nSml24-t-t-FF \
pr/nSml24-t-tFFFF \
pr/nl24f-bl \
pr/o3Jml24f-lm-lo \
pr/o3a3Sl24f-tn \
pr/o3a3Snl24f-tn \
pr/o3a3l24f-tn \
pr/o3b3Sl24f-tn \
pr/o3b3Snl24f-tn \
pr/o3b3l24f-tn \
pr/o3mSl24f-bl-tn \
pr/o3mSnl24fbltn \
pr/o3ml24f-bl-tn \
pr/t-0FF \
pr/t-FF \
pr/t-bl \
pr/t-t \
pr/tFFn \
pr/tFFt \
pr/tFFt-bl \
pr/tFFt-ll \
pr/tFFt-lm \
pr/tFnFt \
pr/t_notab \
pr/t_tab \
pr/t_tab_ \
pr/ta3-0FF \
pr/ta3-FF \
pr/tb3-0FF \
pr/tb3-FF \
pr/tn \
pr/tn2e5o3-t_tab \
pr/tn2e8-t_tab \
pr/tn2e8o3-t_tab \
pr/tn_2e8-t_tab \
pr/tn_2e8S-t_tab \
pr/tne8-t_tab \
pr/tne8o3-t_tab \
pr/tt-0FF \
pr/tt-FF \
pr/tt-bl \
pr/tt-t \
pr/tta3-0FF \
pr/tta3-FF \
pr/ttb3-0FF \
pr/ttb3-FF \
pr/w72l24f-ll
include $(srcdir)/check.mk