summaryrefslogtreecommitdiff
path: root/tests/mv/atomic
AgeCommit message (Collapse)Author
2012-08-30tests: add .sh and .pl suffixes to shell and perl tests, respectivelyStefano Lattarini
Not only this shrinks the size of the generated Makefile (from > 6300 lines to ~3000), but will allow further simplifications in future changes. * tests/Makefile.am (TEST_EXTENSIONS): Add '.sh' and '.pl'. (PL_LOG_COMPILER, SH_LOG_COMPILER): New, still defined simply to $(LOG_COMPILER) for the time being. (TESTS, root_tests): Adjust as described. * All tests: Rename as described.
2012-04-04tests: convert nearly all `...` expressions to $(...)Jim Meyering
Exempt init.sh because it runs before we're assured to have a shell that groks $(...). Exempt *.mk because "$" would have to be doubled, and besides, any `...` expression in a .mk file is almost certainly evaluated before init.sh is run. Finally, also exempt the perl-based tests, because perl's `...` cannot be converted to $(...). Do that by running this command: git grep -l '`.*`' tests \ | grep -Ev 'init\.sh|\.mk$' | xargs grep -Lw perl \ | xargs perl -pi -e 's/`(.*?)`/\$($1)/g' One minor fix-up change was required after that, due to how quoting differs: diff --git a/tests/chmod/equals b/tests/chmod/equals - expected_perms=$(eval 'echo \$expected_'$dest) + expected_perms=$(eval 'echo $expected_'$dest) Another was to make these required quoting adjustments: diff --git a/tests/misc/stty b/tests/misc/stty ... - rev=$(eval echo "\\\$REV_$opt") + rev=$(eval echo "\$REV_$opt") ... - rev1=$(eval echo "\\\$REV_$opt1") - rev2=$(eval echo "\\\$REV_$opt2") + rev1=$(eval echo "\$REV_$opt1") + rev2=$(eval echo "\$REV_$opt2") Also, transform two files that were needlessly excluded above: (both use perl, but are mostly bourne shell) perl -pi -e 's/`(.*?)`/\$($1)/g' \ tests/du/long-from-unreadable tests/init.cfg
2012-01-01maint: update all copyright year number rangesJim Meyering
Run "make update-copyright".
2011-08-08tests: complete the renaming framework_failure -> framework_failure_Stefano Lattarini
These changes were mostly mechanical, made by running the following command: git grep -lw framework_failure | grep -v ChangeLog \ | xargs perl -pi -e 's/\b(framework_failure)\b/${1}_/' and then editing init.cfg and `tests/cp/cp-a-selinux' by hand. * tests/init.cfg (framework_failure): Remove, `framework_failure_' from init.sh should be used instead in the tests. Remove now-obsolete "FIXME" comment. (is_local_dir_, require_strace_, require_membership_in_two_groups_, require_sparse_support_, skip_if_mcstransd_is_running_, mkfifo_or_skip_) Use `framework_failure_', not `framework_failure'. * Many test scripts: Likewise.
2011-01-01maint: update all copyright year number rangesJim Meyering
Run "make update-copyright".
2010-12-28coreutils: keep lines within 80-column limitsPaul Eggert
* cfg.mk (LINE_LEN_MAX, FILTER_LONG_LINES): New macros. (sc_long_lines): New rule. * HACKING: Use shorter URLs to the same material. * doc/Makefile.am, doc/coreutils.texi, m4/boottime.m4: * man/help2man, man/stdbuf.x, src/Makefile.am, src/cat.c, src/copy.c: * src/cp.c, src/dd.c, src/df.c, src/du.c, src/groups.c, src/install.c: * src/ls.c, src/md5sum.c, src/mv.c, src/od.c, src/pinky.c, src/ptx.c: * src/readlink.c, src/remove.c, src/rmdir.c, src/setuidgid.c: * src/sort.c, src/tail.c, src/touch.c, tests/Coreutils.pm: * tests/cp/existing-perm-race, tests/cp/perm, tests/cp/preserve-gid: * tests/du/2g, tests/du/long-from-unreadable, tests/init.sh: * tests/install/basic-1, tests/ls/nameless-uid: * tests/ls/readdir-mountpoint-inode, tests/misc/chroot-credentials: * tests/misc/cut, tests/misc/date, tests/misc/join, tests/misc/md5sum: * tests/misc/sha1sum, tests/misc/sha224sum, tests/misc/sort: * tests/misc/sort-continue, tests/misc/sort-files0-from: * tests/misc/sort-rand, tests/misc/stdbuf, tests/misc/tr: * tests/misc/uniq, tests/mv/atomic, tests/mv/part-fail: * tests/mv/part-symlink, tests/mv/sticky-to-xpart, tests/pr/pr-tests: * tests/rm/fail-2eperm, tests/rm/interactive-always: Reformat to fit within 80 columns. * doc/Makefile.am (BAD_POSIX_PERL): New macro. * doc/coreutils.texi: Reword slightly, to make menus and index lines shorter. * src/md5sum.c: Redo --help output so that it fits within 79 columns, since that's a bit more portable and all the other --help strings fit in 79 columns.
2010-11-17tests: substitute the single-program $VERBOSE/--version usesJim Meyering
Automatically make all of the changes like this: -test "$VERBOSE" = yes && chgrp --version +print_ver_ chgrp git grep -l 'VERBOSE.*--version'|xargs perl -pi -e \ 's/test "\$VERBOSE" = yes && (\w+) --version/print_ver_ $1/'
2010-11-17tests: convert first batch of tests from test-lib.sh to init.shJim Meyering
Initially, I did this, git grep -l srcdir/test-lib.sh|xargs perl -p0i -e '~180-byte script' but that line would have been much longer than the maximum permitted by coreutils' commit hook, and wasn't readable besides, so here's a more readable version: lhs=$(printf '%s\\n' \ 'if test "$VERBOSE" = yes; then' \ ' set -x' \ ' touch --version' \ 'fi' \ '' \ '. $srcdir/test-lib.sh' \ | sed 's/\$/\\\$/g;s/touch/(\\w+)/') rhs=$(printf '%s\\n' \ '. "${srcdir=.}/init.sh"; path_prepend_ ../src' \ 'test "$VERBOSE" = yes && FIXME --version' \ | sed 's/\$/\\\$/g;s/FIXME/\$1/') git grep -l srcdir/test-lib.sh|xargs perl -p0i -e "s,$lhs,$rhs,"
2010-01-01maint: update all FSF copyright year lists to include 2010Jim Meyering
Use this command: git ls-files | grep -v COPYING \ | xargs env UPDATE_COPYRIGHT_USE_INTERVALS=1 \ build-aux/update-copyright
2009-10-30tests: factor 350 fail=0 initializations into test-lib.shJim Meyering
Run this command to remove the factored-out "fail=0" lines. perl -ni -e '/^fail=0$/ or print' $(g grep -l '^fail=0$') * tests/test-lib.sh: Initialize fail=0 here, not in 300+ scripts. * tests/...: nearly all bourne shell scripts Suggested by Eric Blake.
2009-06-23maint: update all Copyright year lists to include 2009Jim Meyering
2008-09-10tests: use "Exit $fail", not (exit $fail); exit $failJim Meyering
* tests/test-lib.sh (Exit): New function by Ralf Wildenhues in automake http://git.sv.gnu.org/gitweb/?p=automake.git;a=commitdiff;h=20594c08f63 * tests/**: Convert all uses: This restrictive change converted the vast majority: git grep -l '^(exit \$fail); exit \$fail$' \ | xargs perl -pi -e 's/'^\(exit \$fail\); exit \$fail$/Exit \$fail/' And this did the rest, plus a few undesirable ones, so I manually backed out the changes to ChangeLog-* and build-aux/check.mk: git grep -l -E '\(exit [^)]+\); exit ' \ | xargs perl -pi -e 's/\(exit (.+?)\); exit \1/Exit $1/'
2008-05-27in 280+ tests/* files, use $srcdir, not $top_srcdir/testsJim Meyering
2008-04-21Revamp test-related Makefiles.Jim Meyering
One side-effect of this change is that "make check" now works even if you put "." early in your shell's search PATH (don't do that!). Remove all test-related Makefile.am files, except those generated by mk-script. Instead, tests/Makefile.am now lists not only the tests directly under tests/, but also those in tests/*/ that are not generated by mk-script, e.g., cp/abuse, cp/acl, mv/i-1, etc. A lot of these changes are like this: -. $srcdir/../lang-default +. $top_srcdir/tests/lang-default -. $srcdir/../test-lib.sh +. $top_srcdir/tests/test-lib.sh * configure.ac (AC_CONFIG_FILES): Remove corresponding Makefiles. * tests/check.mk (vc_exe_in_TESTS): Relax syntax requirements. * tests/rwx-to-mode: Remove file. Rewritten as... * tests/test-lib.sh (rwx_to_mode_): ...this new function. * tests/Makefile.am (EXTRA_DIST): Remove rwx-to-mode. (SUBDIRS): Remove each dir with a removed Makefile.am. (EXTRA_DIST): Add $(TESTS). (TESTS): Add over 300 entries.
2008-04-14tests: don't fail on systems without a "stat" syscallJim Meyering
* tests/test-lib.sh (require_strace_): Add a syscall parameter. * tests/ls/stat-free-symlinks: Update caller. * tests/mv/atomic: Likewise. * tests/mv/atomic2: Likewise. Reported by Mike Frysinger in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13222
2008-02-11tests: Migrate sourced strace file into a function, require_strace_.Jim Meyering
* tests/strace: Remove file. * tests/test-lib.sh (require_strace_): New function. * tests/mv/atomic: Use require_strace_, rather than ". strace". * tests/ls/stat-free-symlinks: Likewise. Peter Fales reported that stat-free-symlinks failed without strace.
2007-09-15Convert tests/mv, too.Jim Meyering
* tests/other-fs-tmpdir: Before, all callers would exit 77 upon failure to find the required dir. Now, exit 77 in this script so callers don't have to. Adjust callers.
2007-07-23Update all copyright notices to use the newer form.Jim Meyering
2007-07-15ls --color: Don't stat symlinks when neither ORPHAN nor MISSING attribute ↵Jim Meyering
has a color. * src/ls.c (main): Don't set check_symlink_color when C_EXEC is colored, unless ln=target (aka color_symlink_as_referent) is set. (gobble_file): Set f->linkok = true also when !check_symlink_color. http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10608/focus=10927 Reported by Jeremy Maitin-Shepard. * tests/strace: New file, contents extracted from... * tests/mv/atomic: ...here. Source strace. * tests/ls/stat-free-symlinks: New file. Test for the above. Use strace to ensure that in this corner case, ls does not call stat. * tests/ls/Makefile.am (TESTS): Add stat-free-symlinks. * tests/Makefile.am (EXTRA_DIST): Add strace.
2007-07-10Change "version 2" to "version 3" in all copyright notices.Jim Meyering
2007-03-24If strace malfunctions, skip the test rather than failing it.Jim Meyering
* tests/mv/atomic: Required on a mips-unknown-linux-gnu system running the aging linux-2.4.27-mipscvs-20040814.
2006-11-12Avoid false-positive when testing via valgrind.Jim Meyering
* tests/mv/atomic: Grep strace output for a more specific pattern than just "unlink", since that got a false positive when testing under valgrind: unlink("/tmp/valgrind_proc_9657_cmdline_A51E9991") = 0 * tests/mv/Makefile.am (TESTS_ENVIRONMENT): Define EGREP.
2006-10-22* tests/sample-test: Quote variables containing absolute buildJim Meyering
tree paths. In the cleanup trap, make sure `cd' succeeds before `chmod'ing and `rm'ing the temporary files. * tests/chgrp/basic: Likewise. * tests/chgrp/deref: Likewise. * tests/chgrp/no-x: Likewise. * tests/chgrp/posix-H: Likewise. * tests/chgrp/recurse: Likewise. * tests/chmod/c-option: Likewise. * tests/chmod/equal-x: Likewise. * tests/chmod/equals: Likewise. * tests/chmod/inaccessible: Likewise. * tests/chmod/no-x: Likewise. * tests/chmod/octal: Likewise. * tests/chmod/setgid: Likewise. * tests/chmod/umask-x: Likewise. * tests/chmod/usage: Likewise. * tests/chown/basic: Likewise. * tests/chown/deref: Likewise. * tests/chown/separator: Likewise. * tests/cp/acl: Likewise. * tests/cp/backup-1: Likewise. * tests/cp/backup-dir: Likewise. * tests/cp/backup-is-src: Likewise. * tests/cp/cp-HL: Likewise. * tests/cp/cp-deref: Likewise. * tests/cp/cp-i: Likewise. * tests/cp/cp-mv-backup: Likewise. * tests/cp/cp-parents: Likewise. * tests/cp/deref-slink: Likewise. * tests/cp/dir-rm-dest: Likewise. * tests/cp/dir-slash: Likewise. * tests/cp/dir-vs-file: Likewise. * tests/cp/fail-perm: Likewise. * tests/cp/into-self: Likewise. * tests/cp/link: Likewise. * tests/cp/link-no-deref: Likewise. * tests/cp/link-preserve: Likewise. * tests/cp/no-deref-link1: Likewise. * tests/cp/no-deref-link2: Likewise. * tests/cp/no-deref-link3: Likewise. * tests/cp/perm: Likewise. * tests/cp/preserve-2: Likewise. * tests/cp/r-vs-symlink: Likewise. * tests/cp/same-file: Likewise. * tests/cp/slink-2-slink: Likewise. * tests/cp/sparse: Likewise. * tests/cp/special-bits: Likewise. * tests/cp/src-base-dot: Likewise. * tests/cp/symlink-slash: Likewise. * tests/dd/not-rewound: Likewise. * tests/dd/skip-seek2: Likewise. * tests/dd/unblock-sync: Likewise. * tests/du/2g: Likewise. * tests/du/8gb: Likewise. * tests/du/basic: Likewise. * tests/du/deref: Likewise. * tests/du/deref-args: Likewise. * tests/du/exclude: Likewise. * tests/du/fd-leak: Likewise. * tests/du/hard-link: Likewise. * tests/du/inaccessible-cwd: Likewise. * tests/du/long-from-unreadable: Likewise. * tests/du/long-sloop: Likewise. * tests/du/no-deref: Likewise. * tests/du/no-x: Likewise. * tests/du/restore-wd: Likewise. * tests/du/slash: Likewise. * tests/du/slink: Likewise. * tests/du/trailing-slash: Likewise. * tests/du/two-args: Likewise. * tests/fmt/long-line: Likewise. * tests/install/basic-1: Likewise. * tests/install/create-leading: Likewise. * tests/install/d-slashdot: Likewise. * tests/install/trap: Likewise. * tests/ln/misc: Likewise. * tests/ln/target-1: Likewise. * tests/ls/color-dtype-dir: Likewise. * tests/ls/dangle: Likewise. * tests/ls/dired: Likewise. * tests/ls/file-type: Likewise. * tests/ls/follow-slink: Likewise. * tests/ls/infloop: Likewise. * tests/ls/inode: Likewise. * tests/ls/m-option: Likewise. * tests/ls/no-arg: Likewise. * tests/ls/recursive: Likewise. * tests/ls/rt-1: Likewise. * tests/ls/stat-dtype: Likewise. * tests/ls/stat-failed: Likewise. * tests/ls/stat-vs-dirent: Likewise. * tests/misc/cat-proc: Likewise. * tests/misc/close-stdout: Likewise. * tests/misc/csplit: Likewise. * tests/misc/date-sec: Likewise. * tests/misc/false-status: Likewise. * tests/misc/head-c: Likewise. * tests/misc/head-pos: Likewise. * tests/misc/mknod: Likewise. * tests/misc/nl: Likewise. * tests/misc/nohup: Likewise. * tests/misc/pathchk1: Likewise. * tests/misc/printf: Likewise. * tests/misc/printf-hex: Likewise. * tests/misc/pwd-long: Likewise. * tests/misc/shuf: Likewise. * tests/misc/sort-rand: Likewise. * tests/misc/split-a: Likewise. * tests/misc/split-fail: Likewise. * tests/misc/split-l: Likewise. * tests/misc/stat-fmt: Likewise. * tests/misc/tac-continue: Likewise. * tests/misc/wc-files0: Likewise. * tests/mkdir/concurrent-1: Likewise. * tests/mkdir/p-1: Likewise. * tests/mkdir/p-2: Likewise. * tests/mkdir/p-3: Likewise. * tests/mkdir/p-slashdot: Likewise. * tests/mkdir/p-thru-slink: Likewise. * tests/mkdir/p-v: Likewise. * tests/mkdir/parents: Likewise. * tests/mkdir/perm: Likewise. * tests/mkdir/t-slash: Likewise. * tests/mv/acl: Likewise. * tests/mv/atomic: Likewise. * tests/mv/backup-dir: Likewise. * tests/mv/childproof: Likewise. * tests/mv/diag: Likewise. * tests/mv/dir-file: Likewise. * tests/mv/dir2dir: Likewise. * tests/mv/dup-source: Likewise. * tests/mv/hard-2: Likewise. * tests/mv/hard-3: Likewise. * tests/mv/hard-4: Likewise. * tests/mv/hard-link-1: Likewise. * tests/mv/hard-verbose: Likewise. * tests/mv/i-2: Likewise. * tests/mv/i-3: Likewise. * tests/mv/i-4: Likewise. * tests/mv/i-5: Likewise. * tests/mv/i-link-no: Likewise. * tests/mv/into-self-4: Likewise. * tests/mv/leak-fd: Likewise. * tests/mv/mv-special-1: Likewise. * tests/mv/no-target-dir: Likewise. * tests/mv/part-fail: Likewise. * tests/mv/part-hardlink: Likewise. * tests/mv/part-rename: Likewise. * tests/mv/part-symlink: Likewise. * tests/mv/partition-perm: Likewise. * tests/mv/perm-1: Likewise. * tests/mv/reply-no: Likewise. * tests/mv/trailing-slash: Likewise. * tests/mv/update: Likewise. * tests/od/od-N: Likewise. * tests/od/x8: Likewise. * tests/readlink/can-e: Likewise. * tests/readlink/can-f: Likewise. * tests/readlink/can-m: Likewise. * tests/readlink/rl-1: Likewise. * tests/rm/cycle: Likewise. * tests/rm/dangling-symlink: Likewise. * tests/rm/deep-1: Likewise. * tests/rm/dir-no-w: Likewise. * tests/rm/dir-nonrecur: Likewise. * tests/rm/dot-rel: Likewise. * tests/rm/empty-inacc: Likewise. * tests/rm/f-1: Likewise. * tests/rm/fail-2eperm: Likewise. * tests/rm/hash: Likewise. * tests/rm/i-1: Likewise. * tests/rm/i-no-r: Likewise. * tests/rm/ignorable: Likewise. * tests/rm/inaccessible: Likewise. * tests/rm/interactive-always: Likewise. * tests/rm/interactive-once: Likewise. * tests/rm/ir-1: Likewise. * tests/rm/isatty: Likewise. * tests/rm/no-give-up: Likewise. * tests/rm/r-1: Likewise. * tests/rm/r-2: Likewise. * tests/rm/r-3: Likewise. * tests/rm/r-4: Likewise. * tests/rm/readdir-bug: Likewise. * tests/rm/rm1: Likewise. * tests/rm/rm2: Likewise. * tests/rm/rm3: Likewise. * tests/rm/rm4: Likewise. * tests/rm/rm5: Likewise. * tests/rm/sunos-1: Likewise. * tests/rm/unread2: Likewise. * tests/rm/unread3: Likewise. * tests/rmdir/fail-perm: Likewise. * tests/rmdir/t-slash: Likewise. * tests/shred/exact: Likewise. * tests/shred/remove: Likewise. * tests/sum/sysv: Likewise. * tests/tail-2/append-only: Likewise. * tests/tail-2/assert: Likewise. * tests/tail-2/assert-2: Likewise. * tests/tail-2/big-4gb: Likewise. * tests/tail-2/fflush: Likewise. * tests/tail-2/infloop-1: Likewise. * tests/tail-2/proc-ksyms: Likewise. * tests/tail-2/start-middle: Likewise. * tests/tail-2/tail-n0f: Likewise. * tests/tee/basic: Likewise. * tests/tee/dash: Likewise. * tests/touch/fail-diag: Likewise. * tests/touch/no-create-missing: Likewise. * tests/touch/not-owner: Likewise. * tests/touch/obsolescent: Likewise. * tests/touch/read-only: Likewise. * tests/touch/relative: Likewise.
2006-09-12* tests/mv/atomic: Check for specific strace output, rather thanJim Meyering
simply nonempty. RHEL AS 4 would fail this test due to strace generating "[ Process PID=14434 runs in 32 bit mode. ]". Reported by Nelson Beebe.
2006-08-17Add/fix copyright notices and adjust to latest GNU FDL.Paul Eggert
2006-05-11ensure that mv did what it's supposed toJim Meyering
2006-05-11New file/test for yesterday's fix.Jim Meyering