summaryrefslogtreecommitdiff
path: root/tests
AgeCommit message (Collapse)Author
2007-11-30Be extra careful to quote $abs_top_builddir-derived names.Jim Meyering
* tests/misc/ls-misc (shell_quote): New function. Use it to quote file names derived from $abs_top_builddir, in case it contains shell meta-characters. This is not currently needed, since CuTmpdir detects the fishy name and skips the test. But it's important enough to add the extra protection. Reported by Ralf Wildenhues.
2007-11-30Include test name in the "unsafe working directory name" diagnostic.Jim Meyering
* tests/CuTmpdir.pm (import): If $ME is '-', use $prefix.
2007-11-30Add quotes to protect against white space in build dir name.Ralf Wildenhues
* tests/check.mk (TESTS_ENVIRONMENT): Quote $(abs_srcdir). * tests/chmod/setgid: Quote absolute names. * tests/misc/help-version: Likewise. * tests/misc/pwd-unreadable-parent: Likewise. * tests/rmdir/ignore: Likewise. * tests/test-lib.sh: Likewise.
2007-11-30* tests/CuTmpdir.pm (END): Do not do the cleanup if $dir is notRalf Wildenhues
defined, because it then goes wild and changes the mode of all directories below $HOME. Undefined $dir can happen if the test is to be skipped because of an unsafe working directory name.
2007-11-24Tweak new test.Jim Meyering
* tests/cp/preserve-gid: Split some long lines. Prepend "+" to numeric uid and gid chown arguments, on principle. Use skip_test_.
2007-11-24Test the new feature: cp -p preserves the GID whenever possible.Lasse Collin
* tests/cp/preserve-gid: New file. Test for today's change. * tests/cp/Makefile.am (TESTS): Add preserve-gid. * tests/Makefile.am (all_t): Add tc. (tc): New target.
2007-11-23Add tests to show new class of strings accepted by date -d.Jim Meyering
* tests/misc/date (rel-1day, rel-plus1): New tests for the recent change in gnulib's getdate.y. * NEWS: Mention the fix.
2007-11-22cp: by default, refuse to copy through a dangling destination symlinkJim Meyering
* NEWS: Mention this change. * doc/coreutils.texi (cp invocation): Describe the new behavior. * src/copy.c: No longer include "canonicalize.h". (copy_reg): Upon failure to open a dangling destination symlink, don't canonicalize the name, but rather fail (default) or, with POSIXLY_CORRECT, repeat the open call without O_EXCL (potentially dangerous). * src/copy.h (struct cp_options) [open_dangling_dest_symlink]: New member. Reorder the others, grouping "bool" and "enum" members together. * tests/cp/thru-dangling: Test for changed and new behavior. * src/cp.c (cp_option_init): Initialize new member. * src/install.c (cp_option_init): Likewise. * src/mv.c (cp_option_init): Likewise. Signed-off-by: Jim Meyering <meyering@redhat.com>
2007-11-17Correct preceding patch.Jim Meyering
* src/seq.c (print_numbers): Also handle first < last && step < 0. * tests/misc/seq [empty-rev]: New test for this case.
2007-11-17Port tests/rmdir/ignore away from GNU/Linux.Paul Eggert
* tests/rmdir/ignore: Don't assume that rmdir($PWD) will fail with errno==ENOTEMPTY when $PWD is not empty; Posix also allows rmdir to fail with errno==EBUSY.
2007-11-16Port readlink-fp-loop to Solaris.Paul Eggert
* tests/misc/readlink-fp-loop (symlink_loop_msg): New var, which records the symlink-loop message, whose wording is not standardized by Posix. Do not rely on "echo x > p/1" to work when p/1 has a lot of indirect symlinks. (I'm surprised that it works on Linux. Perhaps a Linux bug?)
2007-11-16Port to Solaris 'make' and use a Posixish shell on Solaris.Jim Meyering
* bootstrap.conf (gnulib_modules): Add gnu-make, posix-shell. * build-aux/check.mk (SHELL): Set to $(PREFERABLY_POSIX_SHELL), so that commands can assume Posix syntax. (ENABLE_HARD_ERRORS, TEST_LOGS): Don't use GNU Make's "?=" syntax. (SH_E_WORKAROUND): New macro. (am__check_pre, $(TEST_SUITE_LOG)): Use it. (am__check_pre): Fail if "mkdir" fails. Use $(SHELL) rather than relying on the "#!/bin/sh" in the file, so that tests can use Posix syntax. (am__check_pre, am__tty_colors): Use $$src rather than $$<, to support the Posix-make $(TEST_LOGS) rule. (%.log: %.test, %.log: %$(EXEEXT)): Remove unused inference rules that rely on a GNU Make extension and cause Solaris 'make' to fail. (SUFFIXES): New macro, so that we can use Posix style inference rules. (%.log: %): Use this rule only if GNU_MAKE. Set $$src so that macros can use $$src rather than $$<. (CHECK-FORCE, DEPENDENCY, $(TEST_LOGS)): New macros and rules, which rely only on Posix 'make' semantics, and are used only with non-GNU 'make' implementations. $(TEST_LOGS) invokes 'make' recursively (and a bit inefficiently) to simulate the GNU 'make' rules. (.log.html): Renamed from "%.html: %.log", so that it relies only on Posix 'make' semantics. (check-clean, .PHONY): Do not depend on check-clean-local, since Solaris 'make' complains about nonexistent rules like that. * src/Makefile.am (SUFFIXES): Remove; no longer needed. (groups): Use a specific rule rather than an inference rule that is only instantiated once. The inference-rule approach does not work with Solaris 'make', which gets confused by the "groups: Makefile" line. It's not clear from the Posix spec that Solaris 'make' is buggy here, so instead of worrying about it, rewrite the makefile so that it clearly conforms to Posix. * tests/check.mk (TESTS_ENVIRONMENT): Export PACKAGE_BUGREPORT. GNU 'make' does this automatically for us, but Solaris 'make' doesn't. 2007-11-15 Paul Eggert <eggert@cs.ucla.edu>
2007-11-16Port to Solaris 8 perl, which does not support "use warnings;".Paul Eggert
* tests/dd/skip-seek: Skip test if "use warnings;" fails. * tests/du/files0-from: Likewise. * tests/misc/base64: Likewise. * tests/misc/basename: Likewise. * tests/misc/cut: Likewise. * tests/misc/date: Likewise. * tests/misc/dircolors: Likewise. * tests/misc/dirname: Likewise. * tests/misc/expand: Likewise. * tests/misc/expr: Likewise. * tests/misc/factor: Likewise. * tests/misc/fmt: Likewise. * tests/misc/fold: Likewise. * tests/misc/head-elide-tail: Likewise. * tests/misc/ls-misc: Likewise. * tests/misc/md5sum: Likewise. * tests/misc/md5sum-newline: Likewise. * tests/misc/mktemp: Likewise. * tests/misc/od: Likewise. * tests/misc/paste-no-nl: Likewise. * tests/misc/pr: Likewise. * tests/misc/seq: Likewise. * tests/misc/sha1sum: Likewise. * tests/misc/sha1sum-vec: Likewise. * tests/misc/sha224sum: Likewise. * tests/misc/sha256sum: Likewise. * tests/misc/sha384sum: Likewise. * tests/misc/sha512sum: Likewise. * tests/misc/sort-merge: Likewise. * tests/misc/stat-printf: Likewise. * tests/misc/sum: Likewise. * tests/misc/test-diag: Likewise. * tests/misc/tsort: Likewise. * tests/misc/unexpand: Likewise. * tests/misc/wc-files0-from: Likewise. * tests/misc/xstrtol: Likewise. * tests/mv/i-1: Likewise. * tests/rm/empty-name: Likewise. * tests/rm/unreadable: Likewise.
2007-11-03seq: add another test for the %% bugJim Meyering
* tests/misc/seq (fmt-c): Test the other fixed case, too.
2007-11-03Fix bug with "seq 10.8 0.1 10.95", plus another bug with %% in format.Paul Eggert
* NEWS: Mention the %%-in-format bug fix. * src/seq.c (struct layout): New type. (long_double_format): New arg LAYOUT. Fill it in. Fix mishandling of %% in formats. (print_numbers): New arg LAYOUT. Don't convert LAST to output format when deciding whether to go slightly past LAST. Instead, convert X to output format and back. This fixes a bug reported by Andreas Schwab in <http://lists.gnu.org/archive/html/bug-coreutils/2007-10/msg00237.html> where "seq 10.8 0.1 10.95" would output 11.0 on platforms where 10.95 rounds to a value that prints as 11.0 when only one digit past the decimal point is asked for. (main): Compute layout, for benefit of print_numbers. * tests/misc/seq (float-3): Undo previous change, since the bug should be fixed now. (fmt-b): New test, for the %% bug.
2007-11-01tests/misc/printf-surprise: Correct sed transform.Jim Meyering
Reported by Bob Proulx.
2007-11-01Use mktemp, not mkdtemp, to create test directories.Jim Meyering
* tests/test-lib.sh: Use the mktemp binary we've just built, not the mkdtemp script. * tests/mkdtemp: Remove file. * tests/Makefile.am (EXTRA_DIST): Remove mkdtemp.
2007-11-01Adjust a seq subtest not to depend on the vagaries of floating point.Jim Meyering
* tests/misc/seq (float-3): Use 10.94 as the endpoint, not 10.95, since 10.95 was precisely in the middle of the interval, and with a %.1f format could map to either 10.9 or 11.0. Reported by Mike Frysinger
2007-11-01Make the new printf-surprise test more precise.Jim Meyering
* tests/test-lib.sh (require_ulimit_): New function. * tests/misc/printf-surprise: Use ulimit -v to trigger the fixed bug, and rather than checking printf's exit status (which would go wrong on FreeBSD 6.1, since their printf(3) function doesn't require lots of memory in this case) simply test whether it outputs the first 10 bytes.
2007-11-01Accommodate FreeBSD 6.1 hard-link-to-symlink differences.Jim Meyering
* tests/cp/same-file: Detect when linking to a symlink links to the target of the symlink (FreeBSD 6.1 does this, Linux does not), and skip the few tests that would otherwise fail. Redirect output of final comparison to stderr, since all stdout is already redirected.
2007-10-30Avoid seq floating-point test failure on FreeBSD 6.1.Jim Meyering
* tests/misc/seq (float-4): Also accept -0.0.
2007-10-29Avoid test failure in non-srcdir build vs. the git tree.Jim Meyering
* tests/check.mk (vc_exe_in_TESTS): Run this test only in a srcdir build directory. Reported by Andreas Schwab.
2007-10-27Clean up tests/Makefile.am.Jim Meyering
* tests/Makefile.am (EXTRA_DIST): Remove $(TESTS). No longer defined. (TESTS_ENVIRONMENT): Remove definition.
2007-10-27Add a test for the printf fix of 2007-10-21.Jim Meyering
* tests/misc/printf-surprise: New file. Test for 2007-10-21's fix. * tests/misc/Makefile.am (TESTS): Add printf-surprise.
2007-10-24Don't fail part 2 of tests/rm/unreadable when run as root.Jim Meyering
* tests/rm/unreadable: With UID == 0, expect different results. Reported by Mike Frysinger.
2007-10-21Reorder tests to run more basic ones earlier.Jim Meyering
* tests/misc/Makefile.am (TESTS): Reorder. * tests/Makefile.am (SUBDIRS): Reorder. Signed-off-by: Jim Meyering <meyering@redhat.com>
2007-10-21tr: do not reject an unmatched [:lower:] or [:upper:] in SET1.Jim Meyering
* NEWS: Mention this. * src/tr.c (get_next) [RE_CHAR_CLASS]: Don't skip the loop when processing [:lower:] and [:upper:]. (main): Require [:lower:] or [:upper:] in SET1 only when when one of those is specified in SET2. * tests/tr/Test.pm: Add tests for this fix. Reported by Per Starbäck. Signed-off-by: Jim Meyering <meyering@redhat.com>
2007-10-21* tests/misc/help-version: Add a comment.Jim Meyering
Signed-off-by: Jim Meyering <meyering@redhat.com>
2007-10-20Adjust tests to pass, now that Test.pm ones use check.mk.Jim Meyering
* tests/check.mk (vc_exe_in_TESTS): Adjust regexp not to match the "TESTS = $x-tests" line in each Test.pm-derived Makefile.am file. * tests/sort/main: Remove this unused file.
2007-10-20Ensure that Test.pm-derived tests use the right $PATH.Jim Meyering
* tests/Makefile.am.in: Include $(top_srcdir)/tests/check.mk.
2007-10-20Prevent "make check" from leaving mktemp /tmp/tmp.* files behind.Bob Proulx
* tests/misc/help-version (mktemp_args): Tell mktemp to create its temporary file in the current directory.
2007-10-14Pull all TESTS_ENVIRONMENT settings "up" into tests/check.mk.Jim Meyering
* tests/Makefile.am.in (TESTS_ENVIRONMENT): Remove definition. * tests/chgrp/Makefile.am: Likewise. * tests/chmod/Makefile.am: Likewise. * tests/chown/Makefile.am: Likewise. * tests/cp/Makefile.am: Likewise. * tests/dd/Makefile.am: Likewise. * tests/du/Makefile.am: Likewise. * tests/install/Makefile.am: Likewise. * tests/ln/Makefile.am: Likewise. * tests/ls/Makefile.am: Likewise. * tests/misc/Makefile.am: Likewise. * tests/mkdir/Makefile.am: Likewise. * tests/mv/Makefile.am: Likewise. * tests/readlink/Makefile.am: Likewise. * tests/rm/Makefile.am: Likewise. * tests/rmdir/Makefile.am: Likewise. * tests/tail-2/Makefile.am: Likewise. * tests/touch/Makefile.am: Likewise. * tests/check.mk (TESTS_ENVIRONMENT) [EXEEXT, EGREP, MAKE, PERL]: [CONFIG_HEADER, build_programs, host_os, host_triplet, PATH]: [REPLACE_GETCWD, CU_TEST_NAME]: Add definitions here. * tests/misc/pwd-long: Use $abs_top_builddir/src, not $BUILD_SRC_DIR. * tests/dd/skip-seek: Don't use $ENV{PROG}. * tests/rm/empty-name: Likewise. * tests/rm/unreadable: Likewise. * tests/mv/i-1: Likewise.
2007-10-09Move the help-version test into misc/.Jim Meyering
* tests/help-version: Move to... * tests/misc/help-version: ...here. Source test-lib.sh, as usual. Use $abs_top_builddir, rather than ".." and "../..".
2007-10-09Make the runcon-no-reorder test slightly more general.Jim Meyering
* tests/misc/runcon-no-reorder: Don't hard-code "unconstrained_t". Use slightly more general "runcon $(id -Z)". Suggestion from Stephen Smalley.
2007-10-09Skip the chcon test on a system with no SELinux support.Jim Meyering
* tests/test-lib.sh (require_selinux_): New function. * tests/misc/chcon: Use it. * tests/misc/selinux: Use it here, too. * tests/cp/cp-a-selinux: and here. * tests/selinux: Remove file. * tests/Makefile.am (EXTRA_DIST): Remove selinux. Reported by Mike Frysinger and Bauke Jan Douma.
2007-10-07New program: mktemp.Jim Meyering
* NEWS: Mention this. * README: Add mktemp to the list. * AUTHORS: Add this: mktemp: Jim Meyering * src/mktemp.c: New file. * src/Makefile.am (bin_PROGRAMS): Add mktemp. (mktemp_LDADD): Add $(LIB_GETHRXTIME). * man/mktemp.x: New file. * man/Makefile.am (dist_man_MANS): Add mktemp.1. (mktemp.1): New dependency. * man/.cvsignore: Add mktemp.1. * man/.gitignore: New file. * src/.cvsignore, src/.gitignore: Add mktemp. * tests/misc/mktemp: New file. * tests/misc/Makefile.am (TESTS): Add mktemp. * tests/Coreutils.pm (run_tests): Give the POST-test function access to stdout and stderr contents, so it can verify that the named-on-stdout file/dir does indeed exist and has proper permissions, etc. [po/ChangeLog] * POTFILES.in: Add src/mktemp.c.
2007-10-05Make a failing cross-partition mv give a sensible diagnostic.Jim Meyering
A cross-partition move of a file in a sticky tmpdir and owned by another user would evoke an invalid diagnostic after copying it: mv: cannot remove `x': Operation not permitted Either of the following (mv.c, remove.c) changes would fix the bug by itself. I think it's slightly better to use both; the added cost is minimal: mv: an extra lstat-per-mv-cmdline-arg-that-goes-cross-partition, rm: an extra lstat-per-unlink-that-fails-w/EPERM. * src/remove.c (remove_entry): Also lstat the file upon EPERM. * src/mv.c (rm_option_init): Initialize root_dev_ino just as is done in rm, so that a cross-partition invoked remove.c:rm call works the same way as one invoked from the command-line use of "rm". That setting of root_dev_ino makes rm() do the equivalent of an additional lstat for each argument, which in turn gives rm enough information to issue the right diagnostic. * tests/mv/sticky-to-xpart (version): New file. Test for the above. * tests/mv/Makefile.am (TESTS): Add sticky-to-xpart. Arrange for "make check-root" to run the new root-only test. * tests/Makefile.am (tb): New target, to run the new root-only test. (all_t): Add tb. * src/c99-to-c89.diff: Adjust offsets.
2007-10-05Add PACKAGE_VERSION to TESTS_ENVIRONMENT via check.mk.Jim Meyering
* tests/check.mk (TESTS_ENVIRONMENT): Add PACKAGE_VERSION here, rather than in every Makefile.am that needs it. * tests/rm/Makefile.am (TESTS_ENVIRONMENT): Remove PACKAGE_VERSION. * tests/misc/Makefile.am (TESTS_ENVIRONMENT): Likewise.
2007-10-03* tests/misc/selinux: Skip this test if the initial chcon fails.Jim Meyering
2007-10-02Never copy through a symlink that cp has just created.Jim Meyering
* src/copy.c (copy_internal): When same-file detection requires 'stat'ing the destination file, also 'lstat' it and ensure that it wasn't the destination of a preceding copy operation. This bug was introduced on 2007-06-18. * tests/cp/abuse: New test for the above. * tests/cp/Makefile.am (TESTS): Add abuse.
2007-09-30Test previous patch.Eric Blake
* tests/misc/groups-dash: New test. * tests/misc/Makefile.am (TESTS): Add it. Signed-off-by: Eric Blake <ebb9@byu.net>
2007-09-27Avoid spurious test failure when SELinux stats "selinux/class".Jim Meyering
* tests/ls/stat-free-symlinks: Grep for more precise /^stat("x"/.
2007-09-27Add a test to exercise a readlink bug.Jim Meyering
* tests/misc/readlink-fp-loop: New file. Test for the readlink bug fixed through today's change to Gnulib's canonicalize module. * tests/misc/Makefile.am (TESTS): Add readlink-fp-loop. Bug report and a test case from mpb.mail@gmail.com.
2007-09-22Don't print the commands of a 10-line script that's run in each subdir.Jim Meyering
* tests/check.mk (vc_exe_in_TESTS): Add a leading "@", to reduce noise.
2007-09-22rm: give a sensible diagnostic when failing to remove a symlinkJim Meyering
On some systems (those with openat et al), when rm would fail to remove a symlink, it would fail with the misleading diagnostic, "Too many levels of symbolic links". * NEWS: Mention the bug fix. * src/remove.c (is_nondir_lstat): New function. (remove_entry): Use it to catch failed-to-remove symlink (and any other non-dir) here so that we don't fall through and try to treat it as directory, which -- with a symlink -- would provoke the bogus ELOOP failure. * tests/rm/fail-eacces: Add a test for the above. * src/c99-to-c89.diff: Adjust offsets.
2007-09-21Avoid a test failure due to now-parallelized tests.Jim Meyering
* tests/du/two-args: Run "du .." from a sub-directory one level deeper.
2007-09-16tests/misc/tac-continue: Arrange to remove a temporary file.Jim Meyering
Signed-off-by: Jim Meyering <jim@meyering.net>
2007-09-16tests/check.mk (vc_exe_in_TESTS): Don't rely on the value of $(TESTS),Jim Meyering
so that "make check TESTS=test-name" works once again. Signed-off-by: Jim Meyering <jim@meyering.net>
2007-09-16tests/CuTmpdir.pm: Use File::Find + chmod syscall, not chmod -R.Jim Meyering
Signed-off-by: Jim Meyering <jim@meyering.net>
2007-09-16* tests/rm/v-slash: Avoid test failure with non-C locale.Jim Meyering
Reported by Michael Stone.