From 9eb4c31eb78c28dd9f72d1cbb940270311be343c Mon Sep 17 00:00:00 2001 From: Stefano Lattarini Date: Thu, 30 Aug 2012 14:13:12 +0200 Subject: [PATCH] tests: add .sh and .pl suffixes to shell and perl tests, respectively 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. --- tests/Makefile.am | 989 +++++++++++---------- tests/chgrp/{basic => basic.sh} | 0 .../{default-no-deref => default-no-deref.sh} | 0 tests/chgrp/{deref => deref.sh} | 0 tests/chgrp/{no-x => no-x.sh} | 0 tests/chgrp/{posix-H => posix-H.sh} | 0 tests/chgrp/{recurse => recurse.sh} | 0 tests/chmod/{c-option => c-option.sh} | 0 tests/chmod/{equal-x => equal-x.sh} | 0 tests/chmod/{equals => equals.sh} | 0 tests/chmod/{inaccessible => inaccessible.sh} | 0 tests/chmod/{no-x => no-x.sh} | 0 tests/chmod/{octal => octal.sh} | 0 tests/chmod/{setgid => setgid.sh} | 0 tests/chmod/{silent => silent.sh} | 0 tests/chmod/{thru-dangling => thru-dangling.sh} | 0 tests/chmod/{umask-x => umask-x.sh} | 0 tests/chmod/{usage => usage.sh} | 0 tests/chown/{basic => basic.sh} | 0 tests/chown/{deref => deref.sh} | 0 tests/chown/{preserve-root => preserve-root.sh} | 0 tests/chown/{separator => separator.sh} | 0 tests/cp/{abuse => abuse.sh} | 0 tests/cp/{acl => acl.sh} | 0 tests/cp/{attr-existing => attr-existing.sh} | 0 tests/cp/{backup-1 => backup-1.sh} | 0 tests/cp/{backup-dir => backup-dir.sh} | 0 tests/cp/{backup-is-src => backup-is-src.sh} | 0 tests/cp/{capability => capability.sh} | 0 tests/cp/{cp-HL => cp-HL.sh} | 0 tests/cp/{cp-a-selinux => cp-a-selinux.sh} | 0 tests/cp/{cp-deref => cp-deref.sh} | 0 tests/cp/{cp-i => cp-i.sh} | 0 tests/cp/{cp-mv-backup => cp-mv-backup.sh} | 0 ...{cp-mv-enotsup-xattr => cp-mv-enotsup-xattr.sh} | 0 tests/cp/{cp-parents => cp-parents.sh} | 0 tests/cp/{deref-slink => deref-slink.sh} | 0 tests/cp/{dir-rm-dest => dir-rm-dest.sh} | 0 tests/cp/{dir-slash => dir-slash.sh} | 0 tests/cp/{dir-vs-file => dir-vs-file.sh} | 0 .../cp/{existing-perm-dir => existing-perm-dir.sh} | 0 .../{existing-perm-race => existing-perm-race.sh} | 0 tests/cp/{fail-perm => fail-perm.sh} | 0 tests/cp/{fiemap-2 => fiemap-2.sh} | 0 tests/cp/{fiemap-empty => fiemap-empty.sh} | 0 tests/cp/{fiemap-perf => fiemap-perf.sh} | 0 tests/cp/{file-perm-race => file-perm-race.sh} | 0 tests/cp/{into-self => into-self.sh} | 0 tests/cp/{link-heap => link-heap.sh} | 0 tests/cp/{link-no-deref => link-no-deref.sh} | 0 tests/cp/{link-preserve => link-preserve.sh} | 0 tests/cp/{link-symlink => link-symlink.sh} | 0 tests/cp/{link => link.sh} | 0 tests/cp/{nfs-removal-race => nfs-removal-race.sh} | 0 tests/cp/{no-deref-link1 => no-deref-link1.sh} | 0 tests/cp/{no-deref-link2 => no-deref-link2.sh} | 0 tests/cp/{no-deref-link3 => no-deref-link3.sh} | 0 tests/cp/{parent-perm-race => parent-perm-race.sh} | 0 tests/cp/{parent-perm => parent-perm.sh} | 0 tests/cp/{perm => perm.sh} | 0 tests/cp/{preserve-2 => preserve-2.sh} | 0 tests/cp/{preserve-gid => preserve-gid.sh} | 0 tests/cp/{preserve-link => preserve-link.sh} | 0 ...{preserve-slink-time => preserve-slink-time.sh} | 0 tests/cp/{proc-short-read => proc-short-read.sh} | 0 tests/cp/{proc-zero-len => proc-zero-len.sh} | 0 tests/cp/{r-vs-symlink => r-vs-symlink.sh} | 0 tests/cp/{reflink-auto => reflink-auto.sh} | 0 tests/cp/{reflink-perm => reflink-perm.sh} | 0 tests/cp/{same-file => same-file.sh} | 0 tests/cp/{slink-2-slink => slink-2-slink.sh} | 0 tests/cp/{sparse-fiemap => sparse-fiemap.sh} | 0 tests/cp/{sparse-to-pipe => sparse-to-pipe.sh} | 0 tests/cp/{sparse => sparse.sh} | 0 tests/cp/{special-bits => special-bits.sh} | 0 tests/cp/{special-f => special-f.sh} | 0 tests/cp/{src-base-dot => src-base-dot.sh} | 0 tests/cp/{symlink-slash => symlink-slash.sh} | 0 tests/cp/{thru-dangling => thru-dangling.sh} | 0 tests/dd/{bytes => bytes.sh} | 0 tests/dd/{direct => direct.sh} | 0 tests/dd/{misc => misc.sh} | 0 tests/dd/{nocache => nocache.sh} | 0 tests/dd/{not-rewound => not-rewound.sh} | 0 tests/dd/{reblock => reblock.sh} | 0 .../{skip-seek-past-dev => skip-seek-past-dev.sh} | 0 ...{skip-seek-past-file => skip-seek-past-file.sh} | 0 tests/dd/{skip-seek => skip-seek.pl} | 0 tests/dd/{skip-seek2 => skip-seek2.sh} | 0 tests/dd/{sparse => sparse.sh} | 0 tests/dd/{stderr => stderr.sh} | 0 tests/dd/{unblock-sync => unblock-sync.sh} | 0 tests/dd/{unblock => unblock.pl} | 0 tests/df/{df-P => df-P.sh} | 0 tests/df/{header => header.sh} | 0 tests/df/{no-mtab-status => no-mtab-status.sh} | 0 .../df/{problematic-chars => problematic-chars.sh} | 0 .../df/{total-unprocessed => total-unprocessed.sh} | 0 tests/df/{total-verify => total-verify.sh} | 0 tests/df/{unreadable => unreadable.sh} | 0 tests/du/{2g => 2g.sh} | 0 tests/du/{8gb => 8gb.sh} | 0 tests/du/{basic => basic.sh} | 0 tests/du/{bigtime => bigtime.sh} | 0 ...ind-mount-dir-cycle => bind-mount-dir-cycle.sh} | 0 tests/du/{deref-args => deref-args.sh} | 0 tests/du/{deref => deref.sh} | 0 tests/du/{exclude => exclude.sh} | 0 tests/du/{fd-leak => fd-leak.sh} | 0 tests/du/{files0-from-dir => files0-from-dir.sh} | 0 tests/du/{files0-from => files0-from.pl} | 0 tests/du/{hard-link => hard-link.sh} | 0 tests/du/{inacc-dest => inacc-dest.sh} | 0 tests/du/{inacc-dir => inacc-dir.sh} | 0 tests/du/{inaccessible-cwd => inaccessible-cwd.sh} | 0 ...ong-from-unreadable => long-from-unreadable.sh} | 0 tests/du/{long-sloop => long-sloop.sh} | 0 tests/du/{max-depth => max-depth.sh} | 0 ...ile-traversing => move-dir-while-traversing.sh} | 0 tests/du/{no-deref => no-deref.sh} | 0 tests/du/{no-x => no-x.sh} | 0 tests/du/{one-file-system => one-file-system.sh} | 0 tests/du/{restore-wd => restore-wd.sh} | 0 tests/du/{slash => slash.sh} | 0 tests/du/{slink => slink.sh} | 0 tests/du/{trailing-slash => trailing-slash.sh} | 0 tests/du/{two-args => two-args.sh} | 0 tests/fmt/{base => base.pl} | 0 tests/fmt/{goal-option => goal-option.sh} | 0 tests/fmt/{long-line => long-line.sh} | 0 tests/id/{gnu-zero-uids => gnu-zero-uids.sh} | 0 tests/id/{no-context => no-context.sh} | 0 tests/install/{basic-1 => basic-1.sh} | 0 .../install/{create-leading => create-leading.sh} | 0 tests/install/{d-slashdot => d-slashdot.sh} | 0 .../install/{install-C-root => install-C-root.sh} | 0 .../{install-C-selinux => install-C-selinux.sh} | 0 tests/install/{install-C => install-C.sh} | 0 tests/install/{strip-program => strip-program.sh} | 0 tests/install/{trap => trap.sh} | 0 tests/ln/{backup-1 => backup-1.sh} | 0 tests/ln/{hard-backup => hard-backup.sh} | 0 tests/ln/{hard-to-sym => hard-to-sym.sh} | 0 tests/ln/{misc => misc.sh} | 0 tests/ln/{relative => relative.sh} | 0 tests/ln/{sf-1 => sf-1.sh} | 0 ...nt-dest => slash-decorated-nonexistent-dest.sh} | 0 tests/ln/{target-1 => target-1.sh} | 0 tests/ls/{abmon-align => abmon-align.sh} | 0 tests/ls/{block-size => block-size.sh} | 0 tests/ls/{capability => capability.sh} | 0 .../{color-clear-to-eol => color-clear-to-eol.sh} | 0 tests/ls/{color-dtype-dir => color-dtype-dir.sh} | 0 tests/ls/{color-norm => color-norm.sh} | 0 tests/ls/{dangle => dangle.sh} | 0 tests/ls/{dired => dired.sh} | 0 tests/ls/{file-type => file-type.sh} | 0 tests/ls/{follow-slink => follow-slink.sh} | 0 tests/ls/{getxattr-speedup => getxattr-speedup.sh} | 0 tests/ls/{infloop => infloop.sh} | 0 tests/ls/{inode => inode.sh} | 0 tests/ls/{m-option => m-option.sh} | 0 tests/ls/{multihardlink => multihardlink.sh} | 0 tests/ls/{nameless-uid => nameless-uid.sh} | 0 tests/ls/{no-arg => no-arg.sh} | 0 tests/ls/{no-cap => no-cap.sh} | 0 ...c-selinux-segfault => proc-selinux-segfault.sh} | 0 ...ountpoint-inode => readdir-mountpoint-inode.sh} | 0 tests/ls/{recursive => recursive.sh} | 0 ...rel-symlink-color => root-rel-symlink-color.sh} | 0 tests/ls/{rt-1 => rt-1.sh} | 0 tests/ls/{slink-acl => slink-acl.sh} | 0 tests/ls/{stat-dtype => stat-dtype.sh} | 0 tests/ls/{stat-failed => stat-failed.sh} | 0 tests/ls/{stat-free-color => stat-free-color.sh} | 0 .../{stat-free-symlinks => stat-free-symlinks.sh} | 0 tests/ls/{stat-vs-dirent => stat-vs-dirent.sh} | 0 tests/ls/{symlink-slash => symlink-slash.sh} | 0 tests/ls/{time-style-diag => time-style-diag.sh} | 0 tests/ls/{x-option => x-option.sh} | 0 tests/misc/{arch => arch.sh} | 0 tests/misc/{base64 => base64.pl} | 0 tests/misc/{basename => basename.pl} | 0 tests/misc/{cat-buf => cat-buf.sh} | 0 tests/misc/{cat-proc => cat-proc.sh} | 0 tests/misc/{chcon-fail => chcon-fail.sh} | 0 tests/misc/{chcon => chcon.sh} | 0 .../{chroot-credentials => chroot-credentials.sh} | 0 tests/misc/{chroot-fail => chroot-fail.sh} | 0 tests/misc/{close-stdout => close-stdout.sh} | 0 tests/misc/{comm => comm.pl} | 0 tests/misc/{csplit-1000 => csplit-1000.sh} | 0 tests/misc/{csplit-heap => csplit-heap.sh} | 0 tests/misc/{csplit => csplit.sh} | 0 tests/misc/{cut => cut.pl} | 0 tests/misc/{date-next-dow => date-next-dow.pl} | 0 tests/misc/{date-sec => date-sec.sh} | 0 tests/misc/{date => date.pl} | 0 tests/misc/{dircolors => dircolors.pl} | 0 tests/misc/{dirname => dirname.pl} | 0 tests/misc/{env-null => env-null.sh} | 0 tests/misc/{env => env.sh} | 0 tests/misc/{expand => expand.pl} | 0 tests/misc/{expr => expr.pl} | 0 tests/misc/{factor => factor.pl} | 0 tests/misc/{false-status => false-status.sh} | 0 tests/misc/{fold => fold.pl} | 0 tests/misc/{groups-dash => groups-dash.sh} | 0 tests/misc/{groups-version => groups-version.sh} | 0 tests/misc/{head-c => head-c.sh} | 0 tests/misc/{head-elide-tail => head-elide-tail.pl} | 0 tests/misc/{head-pos => head-pos.sh} | 0 tests/misc/{head => head.pl} | 0 tests/misc/{help-version => help-version.sh} | 0 tests/misc/{id-context => id-context.sh} | 0 tests/misc/{id-groups => id-groups.sh} | 0 tests/misc/{id-setgid => id-setgid.sh} | 0 tests/misc/{invalid-opt => invalid-opt.pl} | 0 tests/misc/{join => join.pl} | 0 tests/misc/{ls-misc => ls-misc.pl} | 0 tests/misc/{ls-time => ls-time.sh} | 0 tests/misc/{md5sum-bsd => md5sum-bsd.sh} | 0 tests/misc/{md5sum-newline => md5sum-newline.pl} | 0 tests/misc/{md5sum-parallel => md5sum-parallel.sh} | 0 tests/misc/{md5sum => md5sum.pl} | 0 tests/misc/{mknod => mknod.sh} | 0 tests/misc/{mktemp => mktemp.pl} | 0 tests/misc/{nice-fail => nice-fail.sh} | 0 tests/misc/{nice => nice.sh} | 0 tests/misc/{nl => nl.sh} | 0 tests/misc/{nohup => nohup.sh} | 0 tests/misc/{nproc-avail => nproc-avail.sh} | 0 tests/misc/{nproc-positive => nproc-positive.sh} | 0 tests/misc/{od-N => od-N.sh} | 0 tests/misc/{od-float => od-float.sh} | 0 tests/misc/{od-multiple-t => od-multiple-t.sh} | 0 tests/misc/{od-x8 => od-x8.sh} | 0 tests/misc/{od => od.pl} | 0 tests/misc/{paste => paste.pl} | 0 tests/misc/{pathchk1 => pathchk1.sh} | 0 tests/misc/{pr => pr.pl} | 0 tests/misc/{printenv => printenv.sh} | 0 tests/misc/{printf-cov => printf-cov.pl} | 0 tests/misc/{printf-hex => printf-hex.sh} | 0 tests/misc/{printf-surprise => printf-surprise.sh} | 0 tests/misc/{printf => printf.sh} | 0 tests/misc/{ptx-overrun => ptx-overrun.sh} | 0 tests/misc/{ptx => ptx.pl} | 0 tests/misc/{pwd-long => pwd-long.sh} | 0 tests/misc/{pwd-option => pwd-option.sh} | 0 .../misc/{readlink-fp-loop => readlink-fp-loop.sh} | 0 tests/misc/{readlink-root => readlink-root.sh} | 0 tests/misc/{realpath => realpath.sh} | 0 .../{runcon-no-reorder => runcon-no-reorder.sh} | 0 tests/misc/{selinux => selinux.sh} | 0 tests/misc/{seq-long-double => seq-long-double.sh} | 0 tests/misc/{seq => seq.pl} | 0 tests/misc/{sha1sum-vec => sha1sum-vec.pl} | 0 tests/misc/{sha1sum => sha1sum.pl} | 0 tests/misc/{sha224sum => sha224sum.pl} | 0 tests/misc/{sha256sum => sha256sum.pl} | 0 tests/misc/{sha384sum => sha384sum.pl} | 0 tests/misc/{sha512sum => sha512sum.pl} | 0 tests/misc/{shred-exact => shred-exact.sh} | 0 tests/misc/{shred-passes => shred-passes.sh} | 0 tests/misc/{shred-remove => shred-remove.sh} | 0 tests/misc/{shuf => shuf.sh} | 0 .../misc/{sort-NaN-infloop => sort-NaN-infloop.sh} | 0 ...t-benchmark-random => sort-benchmark-random.sh} | 0 .../{sort-compress-hang => sort-compress-hang.sh} | 0 .../{sort-compress-proc => sort-compress-proc.sh} | 0 tests/misc/{sort-compress => sort-compress.sh} | 0 tests/misc/{sort-continue => sort-continue.sh} | 0 tests/misc/{sort-debug-keys => sort-debug-keys.sh} | 0 tests/misc/{sort-debug-warn => sort-debug-warn.sh} | 0 tests/misc/{sort-discrim => sort-discrim.sh} | 0 tests/misc/{sort-exit-early => sort-exit-early.sh} | 0 .../misc/{sort-files0-from => sort-files0-from.pl} | 0 tests/misc/{sort-float => sort-float.sh} | 0 .../{sort-merge-fdlimit => sort-merge-fdlimit.sh} | 0 tests/misc/{sort-merge => sort-merge.pl} | 0 tests/misc/{sort-month => sort-month.sh} | 0 tests/misc/{sort-rand => sort-rand.sh} | 0 ...{sort-spinlock-abuse => sort-spinlock-abuse.sh} | 0 ...t-stale-thread-mem => sort-stale-thread-mem.sh} | 0 tests/misc/{sort-u-FMR => sort-u-FMR.sh} | 0 .../misc/{sort-unique-segv => sort-unique-segv.sh} | 0 tests/misc/{sort-unique => sort-unique.sh} | 0 tests/misc/{sort-version => sort-version.sh} | 0 tests/misc/{sort => sort.pl} | 0 tests/misc/{stat-birthtime => stat-birthtime.sh} | 0 tests/misc/{stat-fmt => stat-fmt.sh} | 0 tests/misc/{stat-hyphen => stat-hyphen.sh} | 0 tests/misc/{stat-mount => stat-mount.sh} | 0 .../misc/{stat-nanoseconds => stat-nanoseconds.sh} | 0 tests/misc/{stat-printf => stat-printf.pl} | 0 tests/misc/{stat-slash => stat-slash.sh} | 0 tests/misc/{stdbuf => stdbuf.sh} | 0 tests/misc/{stty-invalid => stty-invalid.sh} | 0 tests/misc/{stty-pairs => stty-pairs.sh} | 0 tests/misc/{stty-row-col => stty-row-col.sh} | 0 tests/misc/{stty => stty.sh} | 0 tests/misc/{sum-sysv => sum-sysv.sh} | 0 tests/misc/{sum => sum.pl} | 0 .../{tac-2-nonseekable => tac-2-nonseekable.sh} | 0 tests/misc/{tac-continue => tac-continue.sh} | 0 tests/misc/{tac => tac.pl} | 0 tests/misc/{tail => tail.pl} | 0 tests/misc/{tee-dash => tee-dash.sh} | 0 tests/misc/{tee => tee.sh} | 0 tests/misc/{test-diag => test-diag.pl} | 0 tests/misc/{test => test.pl} | 0 tests/misc/{timeout-group => timeout-group.sh} | 0 .../{timeout-parameters => timeout-parameters.sh} | 0 tests/misc/{timeout => timeout.sh} | 0 tests/misc/{tr-case-class => tr-case-class.sh} | 0 tests/misc/{tr => tr.pl} | 0 ...ngling-symlink => truncate-dangling-symlink.sh} | 0 .../{truncate-dir-fail => truncate-dir-fail.sh} | 0 .../{truncate-fail-diag => truncate-fail-diag.sh} | 0 tests/misc/{truncate-fifo => truncate-fifo.sh} | 0 ...reate-missing => truncate-no-create-missing.sh} | 0 .../{truncate-overflow => truncate-overflow.sh} | 0 ...e-owned-by-other => truncate-owned-by-other.sh} | 0 ...{truncate-parameters => truncate-parameters.sh} | 0 .../{truncate-relative => truncate-relative.sh} | 0 tests/misc/{tsort => tsort.pl} | 0 tests/misc/{tty-eof => tty-eof.pl} | 0 tests/misc/{unexpand => unexpand.pl} | 0 tests/misc/{uniq-perf => uniq-perf.sh} | 0 tests/misc/{uniq => uniq.pl} | 0 tests/misc/{wc-files0-from => wc-files0-from.pl} | 0 tests/misc/{wc-files0 => wc-files0.sh} | 0 tests/misc/{wc-parallel => wc-parallel.sh} | 0 tests/misc/{wc => wc.pl} | 0 tests/misc/{xattr => xattr.sh} | 0 tests/misc/{xstrtol => xstrtol.pl} | 0 tests/mkdir/{p-1 => p-1.sh} | 0 tests/mkdir/{p-2 => p-2.sh} | 0 tests/mkdir/{p-3 => p-3.sh} | 0 tests/mkdir/{p-slashdot => p-slashdot.sh} | 0 tests/mkdir/{p-thru-slink => p-thru-slink.sh} | 0 tests/mkdir/{p-v => p-v.sh} | 0 tests/mkdir/{parents => parents.sh} | 0 tests/mkdir/{perm => perm.sh} | 0 tests/mkdir/{selinux => selinux.sh} | 0 tests/mkdir/{special-1 => special-1.sh} | 0 tests/mkdir/{t-slash => t-slash.sh} | 0 ...e-under-readonly => writable-under-readonly.sh} | 0 tests/mv/{acl => acl.sh} | 0 tests/mv/{atomic => atomic.sh} | 0 tests/mv/{atomic2 => atomic2.sh} | 0 tests/mv/{backup-dir => backup-dir.sh} | 0 tests/mv/{backup-is-src => backup-is-src.sh} | 0 tests/mv/{childproof => childproof.sh} | 0 tests/mv/{diag => diag.sh} | 0 tests/mv/{dir-file => dir-file.sh} | 0 tests/mv/{dir2dir => dir2dir.sh} | 0 tests/mv/{dup-source => dup-source.sh} | 0 tests/mv/{force => force.sh} | 0 tests/mv/{hard-2 => hard-2.sh} | 0 tests/mv/{hard-3 => hard-3.sh} | 0 tests/mv/{hard-4 => hard-4.sh} | 0 tests/mv/{hard-link-1 => hard-link-1.sh} | 0 tests/mv/{hard-verbose => hard-verbose.sh} | 0 tests/mv/{i-1 => i-1.pl} | 0 tests/mv/{i-2 => i-2.sh} | 0 tests/mv/{i-3 => i-3.sh} | 0 tests/mv/{i-4 => i-4.sh} | 0 tests/mv/{i-5 => i-5.sh} | 0 tests/mv/{i-link-no => i-link-no.sh} | 0 tests/mv/{into-self-2 => into-self-2.sh} | 0 tests/mv/{into-self-3 => into-self-3.sh} | 0 tests/mv/{into-self-4 => into-self-4.sh} | 0 tests/mv/{into-self => into-self.sh} | 0 tests/mv/{leak-fd => leak-fd.sh} | 0 tests/mv/{mv-n => mv-n.sh} | 0 tests/mv/{mv-special-1 => mv-special-1.sh} | 0 tests/mv/{no-target-dir => no-target-dir.sh} | 0 tests/mv/{part-fail => part-fail.sh} | 0 tests/mv/{part-hardlink => part-hardlink.sh} | 0 tests/mv/{part-rename => part-rename.sh} | 0 tests/mv/{part-symlink => part-symlink.sh} | 0 tests/mv/{partition-perm => partition-perm.sh} | 0 tests/mv/{perm-1 => perm-1.sh} | 0 tests/mv/{sticky-to-xpart => sticky-to-xpart.sh} | 0 ...nk-to-self => symlink-onto-hardlink-to-self.sh} | 0 ...link-onto-hardlink => symlink-onto-hardlink.sh} | 0 tests/mv/{to-symlink => to-symlink.sh} | 0 tests/mv/{trailing-slash => trailing-slash.sh} | 0 tests/mv/{update => update.sh} | 0 tests/pr/{pr-tests => pr-tests.pl} | 0 tests/readlink/{can-e => can-e.sh} | 0 tests/readlink/{can-f => can-f.sh} | 0 tests/readlink/{can-m => can-m.sh} | 0 tests/readlink/{rl-1 => rl-1.sh} | 0 tests/rm/{cycle => cycle.sh} | 0 tests/rm/{d-1 => d-1.sh} | 0 tests/rm/{d-2 => d-2.sh} | 0 tests/rm/{d-3 => d-3.sh} | 0 tests/rm/{dangling-symlink => dangling-symlink.sh} | 0 tests/rm/{deep-1 => deep-1.sh} | 0 tests/rm/{deep-2 => deep-2.sh} | 0 tests/rm/{dir-no-w => dir-no-w.sh} | 0 tests/rm/{dir-nonrecur => dir-nonrecur.sh} | 0 tests/rm/{dot-rel => dot-rel.sh} | 0 tests/rm/{empty-inacc => empty-inacc.sh} | 0 tests/rm/{empty-name => empty-name.pl} | 0 tests/rm/{ext3-perf => ext3-perf.sh} | 0 tests/rm/{f-1 => f-1.sh} | 0 tests/rm/{fail-2eperm => fail-2eperm.sh} | 0 tests/rm/{fail-eacces => fail-eacces.sh} | 0 tests/rm/{hash => hash.sh} | 0 tests/rm/{i-1 => i-1.sh} | 0 tests/rm/{i-never => i-never.sh} | 0 tests/rm/{i-no-r => i-no-r.sh} | 0 tests/rm/{ignorable => ignorable.sh} | 0 tests/rm/{inaccessible => inaccessible.sh} | 0 .../{interactive-always => interactive-always.sh} | 0 tests/rm/{interactive-once => interactive-once.sh} | 0 tests/rm/{ir-1 => ir-1.sh} | 0 tests/rm/{isatty => isatty.sh} | 0 ...r-entries-vs-OOM => many-dir-entries-vs-OOM.sh} | 0 tests/rm/{no-give-up => no-give-up.sh} | 0 tests/rm/{one-file-system => one-file-system.sh} | 0 tests/rm/{one-file-system2 => one-file-system2.sh} | 0 tests/rm/{r-1 => r-1.sh} | 0 tests/rm/{r-2 => r-2.sh} | 0 tests/rm/{r-3 => r-3.sh} | 0 tests/rm/{r-4 => r-4.sh} | 0 tests/rm/{read-only => read-only.sh} | 0 tests/rm/{readdir-bug => readdir-bug.sh} | 0 tests/rm/{rm1 => rm1.sh} | 0 tests/rm/{rm2 => rm2.sh} | 0 tests/rm/{rm3 => rm3.sh} | 0 tests/rm/{rm4 => rm4.sh} | 0 tests/rm/{rm5 => rm5.sh} | 0 tests/rm/{sunos-1 => sunos-1.sh} | 0 tests/rm/{unread2 => unread2.sh} | 0 tests/rm/{unread3 => unread3.sh} | 0 tests/rm/{unreadable => unreadable.pl} | 0 tests/rm/{v-slash => v-slash.sh} | 0 tests/rmdir/{fail-perm => fail-perm.sh} | 0 tests/rmdir/{ignore => ignore.sh} | 0 tests/rmdir/{t-slash => t-slash.sh} | 0 .../{additional-suffix => additional-suffix.sh} | 0 tests/split/{b-chunk => b-chunk.sh} | 0 tests/split/{fail => fail.sh} | 0 tests/split/{filter => filter.sh} | 0 tests/split/{guard-input => guard-input.sh} | 0 tests/split/{l-chunk => l-chunk.sh} | 0 tests/split/{lines => lines.sh} | 0 tests/split/{numeric => numeric.sh} | 0 tests/split/{r-chunk => r-chunk.sh} | 0 .../{suffix-auto-length => suffix-auto-length.sh} | 0 tests/split/{suffix-length => suffix-length.sh} | 0 tests/tail-2/{F-vs-missing => F-vs-missing.sh} | 0 tests/tail-2/{F-vs-rename => F-vs-rename.sh} | 0 tests/tail-2/{append-only => append-only.sh} | 0 tests/tail-2/{assert-2 => assert-2.sh} | 0 tests/tail-2/{assert => assert.sh} | 0 tests/tail-2/{big-4gb => big-4gb.sh} | 0 tests/tail-2/{flush-initial => flush-initial.sh} | 0 tests/tail-2/{follow-name => follow-name.sh} | 0 tests/tail-2/{follow-stdin => follow-stdin.sh} | 0 tests/tail-2/{infloop-1 => infloop-1.sh} | 0 .../{inotify-hash-abuse => inotify-hash-abuse.sh} | 0 ...{inotify-hash-abuse2 => inotify-hash-abuse2.sh} | 0 tests/tail-2/{inotify-race => inotify-race.sh} | 0 tests/tail-2/{inotify-rotate => inotify-rotate.sh} | 0 tests/tail-2/{pid => pid.sh} | 0 tests/tail-2/{pipe-f => pipe-f.sh} | 0 tests/tail-2/{pipe-f2 => pipe-f2.sh} | 0 tests/tail-2/{proc-ksyms => proc-ksyms.sh} | 0 tests/tail-2/{start-middle => start-middle.sh} | 0 tests/tail-2/{tail-n0f => tail-n0f.sh} | 0 tests/tail-2/{wait => wait.sh} | 0 tests/touch/{60-seconds => 60-seconds.sh} | 0 .../{dangling-symlink => dangling-symlink.sh} | 0 tests/touch/{dir-1 => dir-1.sh} | 0 tests/touch/{empty-file => empty-file.sh} | 0 tests/touch/{fail-diag => fail-diag.sh} | 0 tests/touch/{fifo => fifo.sh} | 0 .../{no-create-missing => no-create-missing.sh} | 0 tests/touch/{no-dereference => no-dereference.sh} | 0 tests/touch/{no-rights => no-rights.sh} | 0 tests/touch/{not-owner => not-owner.sh} | 0 .../{now-owned-by-other => now-owned-by-other.sh} | 0 tests/touch/{obsolescent => obsolescent.sh} | 0 tests/touch/{read-only => read-only.sh} | 0 tests/touch/{relative => relative.sh} | 0 tests/touch/{trailing-slash => trailing-slash.sh} | 0 492 files changed, 496 insertions(+), 493 deletions(-) rename tests/chgrp/{basic => basic.sh} (100%) rename tests/chgrp/{default-no-deref => default-no-deref.sh} (100%) rename tests/chgrp/{deref => deref.sh} (100%) rename tests/chgrp/{no-x => no-x.sh} (100%) rename tests/chgrp/{posix-H => posix-H.sh} (100%) rename tests/chgrp/{recurse => recurse.sh} (100%) rename tests/chmod/{c-option => c-option.sh} (100%) rename tests/chmod/{equal-x => equal-x.sh} (100%) rename tests/chmod/{equals => equals.sh} (100%) rename tests/chmod/{inaccessible => inaccessible.sh} (100%) rename tests/chmod/{no-x => no-x.sh} (100%) rename tests/chmod/{octal => octal.sh} (100%) rename tests/chmod/{setgid => setgid.sh} (100%) rename tests/chmod/{silent => silent.sh} (100%) rename tests/chmod/{thru-dangling => thru-dangling.sh} (100%) rename tests/chmod/{umask-x => umask-x.sh} (100%) rename tests/chmod/{usage => usage.sh} (100%) rename tests/chown/{basic => basic.sh} (100%) rename tests/chown/{deref => deref.sh} (100%) rename tests/chown/{preserve-root => preserve-root.sh} (100%) rename tests/chown/{separator => separator.sh} (100%) rename tests/cp/{abuse => abuse.sh} (100%) rename tests/cp/{acl => acl.sh} (100%) rename tests/cp/{attr-existing => attr-existing.sh} (100%) rename tests/cp/{backup-1 => backup-1.sh} (100%) rename tests/cp/{backup-dir => backup-dir.sh} (100%) rename tests/cp/{backup-is-src => backup-is-src.sh} (100%) rename tests/cp/{capability => capability.sh} (100%) rename tests/cp/{cp-HL => cp-HL.sh} (100%) rename tests/cp/{cp-a-selinux => cp-a-selinux.sh} (100%) rename tests/cp/{cp-deref => cp-deref.sh} (100%) rename tests/cp/{cp-i => cp-i.sh} (100%) rename tests/cp/{cp-mv-backup => cp-mv-backup.sh} (100%) rename tests/cp/{cp-mv-enotsup-xattr => cp-mv-enotsup-xattr.sh} (100%) rename tests/cp/{cp-parents => cp-parents.sh} (100%) rename tests/cp/{deref-slink => deref-slink.sh} (100%) rename tests/cp/{dir-rm-dest => dir-rm-dest.sh} (100%) rename tests/cp/{dir-slash => dir-slash.sh} (100%) rename tests/cp/{dir-vs-file => dir-vs-file.sh} (100%) rename tests/cp/{existing-perm-dir => existing-perm-dir.sh} (100%) rename tests/cp/{existing-perm-race => existing-perm-race.sh} (100%) rename tests/cp/{fail-perm => fail-perm.sh} (100%) rename tests/cp/{fiemap-2 => fiemap-2.sh} (100%) rename tests/cp/{fiemap-empty => fiemap-empty.sh} (100%) rename tests/cp/{fiemap-perf => fiemap-perf.sh} (100%) rename tests/cp/{file-perm-race => file-perm-race.sh} (100%) rename tests/cp/{into-self => into-self.sh} (100%) rename tests/cp/{link-heap => link-heap.sh} (100%) rename tests/cp/{link-no-deref => link-no-deref.sh} (100%) rename tests/cp/{link-preserve => link-preserve.sh} (100%) rename tests/cp/{link-symlink => link-symlink.sh} (100%) rename tests/cp/{link => link.sh} (100%) rename tests/cp/{nfs-removal-race => nfs-removal-race.sh} (100%) rename tests/cp/{no-deref-link1 => no-deref-link1.sh} (100%) rename tests/cp/{no-deref-link2 => no-deref-link2.sh} (100%) rename tests/cp/{no-deref-link3 => no-deref-link3.sh} (100%) rename tests/cp/{parent-perm-race => parent-perm-race.sh} (100%) rename tests/cp/{parent-perm => parent-perm.sh} (100%) rename tests/cp/{perm => perm.sh} (100%) rename tests/cp/{preserve-2 => preserve-2.sh} (100%) rename tests/cp/{preserve-gid => preserve-gid.sh} (100%) rename tests/cp/{preserve-link => preserve-link.sh} (100%) rename tests/cp/{preserve-slink-time => preserve-slink-time.sh} (100%) rename tests/cp/{proc-short-read => proc-short-read.sh} (100%) rename tests/cp/{proc-zero-len => proc-zero-len.sh} (100%) rename tests/cp/{r-vs-symlink => r-vs-symlink.sh} (100%) rename tests/cp/{reflink-auto => reflink-auto.sh} (100%) rename tests/cp/{reflink-perm => reflink-perm.sh} (100%) rename tests/cp/{same-file => same-file.sh} (100%) rename tests/cp/{slink-2-slink => slink-2-slink.sh} (100%) rename tests/cp/{sparse-fiemap => sparse-fiemap.sh} (100%) rename tests/cp/{sparse-to-pipe => sparse-to-pipe.sh} (100%) rename tests/cp/{sparse => sparse.sh} (100%) rename tests/cp/{special-bits => special-bits.sh} (100%) rename tests/cp/{special-f => special-f.sh} (100%) rename tests/cp/{src-base-dot => src-base-dot.sh} (100%) rename tests/cp/{symlink-slash => symlink-slash.sh} (100%) rename tests/cp/{thru-dangling => thru-dangling.sh} (100%) rename tests/dd/{bytes => bytes.sh} (100%) rename tests/dd/{direct => direct.sh} (100%) rename tests/dd/{misc => misc.sh} (100%) rename tests/dd/{nocache => nocache.sh} (100%) rename tests/dd/{not-rewound => not-rewound.sh} (100%) rename tests/dd/{reblock => reblock.sh} (100%) rename tests/dd/{skip-seek-past-dev => skip-seek-past-dev.sh} (100%) rename tests/dd/{skip-seek-past-file => skip-seek-past-file.sh} (100%) rename tests/dd/{skip-seek => skip-seek.pl} (100%) rename tests/dd/{skip-seek2 => skip-seek2.sh} (100%) rename tests/dd/{sparse => sparse.sh} (100%) rename tests/dd/{stderr => stderr.sh} (100%) rename tests/dd/{unblock-sync => unblock-sync.sh} (100%) rename tests/dd/{unblock => unblock.pl} (100%) rename tests/df/{df-P => df-P.sh} (100%) rename tests/df/{header => header.sh} (100%) rename tests/df/{no-mtab-status => no-mtab-status.sh} (100%) rename tests/df/{problematic-chars => problematic-chars.sh} (100%) rename tests/df/{total-unprocessed => total-unprocessed.sh} (100%) rename tests/df/{total-verify => total-verify.sh} (100%) rename tests/df/{unreadable => unreadable.sh} (100%) rename tests/du/{2g => 2g.sh} (100%) rename tests/du/{8gb => 8gb.sh} (100%) rename tests/du/{basic => basic.sh} (100%) rename tests/du/{bigtime => bigtime.sh} (100%) rename tests/du/{bind-mount-dir-cycle => bind-mount-dir-cycle.sh} (100%) rename tests/du/{deref-args => deref-args.sh} (100%) rename tests/du/{deref => deref.sh} (100%) rename tests/du/{exclude => exclude.sh} (100%) rename tests/du/{fd-leak => fd-leak.sh} (100%) rename tests/du/{files0-from-dir => files0-from-dir.sh} (100%) rename tests/du/{files0-from => files0-from.pl} (100%) rename tests/du/{hard-link => hard-link.sh} (100%) rename tests/du/{inacc-dest => inacc-dest.sh} (100%) rename tests/du/{inacc-dir => inacc-dir.sh} (100%) rename tests/du/{inaccessible-cwd => inaccessible-cwd.sh} (100%) rename tests/du/{long-from-unreadable => long-from-unreadable.sh} (100%) rename tests/du/{long-sloop => long-sloop.sh} (100%) rename tests/du/{max-depth => max-depth.sh} (100%) rename tests/du/{move-dir-while-traversing => move-dir-while-traversing.sh} (100%) rename tests/du/{no-deref => no-deref.sh} (100%) rename tests/du/{no-x => no-x.sh} (100%) rename tests/du/{one-file-system => one-file-system.sh} (100%) rename tests/du/{restore-wd => restore-wd.sh} (100%) rename tests/du/{slash => slash.sh} (100%) rename tests/du/{slink => slink.sh} (100%) rename tests/du/{trailing-slash => trailing-slash.sh} (100%) rename tests/du/{two-args => two-args.sh} (100%) rename tests/fmt/{base => base.pl} (100%) rename tests/fmt/{goal-option => goal-option.sh} (100%) rename tests/fmt/{long-line => long-line.sh} (100%) rename tests/id/{gnu-zero-uids => gnu-zero-uids.sh} (100%) rename tests/id/{no-context => no-context.sh} (100%) rename tests/install/{basic-1 => basic-1.sh} (100%) rename tests/install/{create-leading => create-leading.sh} (100%) rename tests/install/{d-slashdot => d-slashdot.sh} (100%) rename tests/install/{install-C-root => install-C-root.sh} (100%) rename tests/install/{install-C-selinux => install-C-selinux.sh} (100%) rename tests/install/{install-C => install-C.sh} (100%) rename tests/install/{strip-program => strip-program.sh} (100%) rename tests/install/{trap => trap.sh} (100%) rename tests/ln/{backup-1 => backup-1.sh} (100%) rename tests/ln/{hard-backup => hard-backup.sh} (100%) rename tests/ln/{hard-to-sym => hard-to-sym.sh} (100%) rename tests/ln/{misc => misc.sh} (100%) rename tests/ln/{relative => relative.sh} (100%) rename tests/ln/{sf-1 => sf-1.sh} (100%) rename tests/ln/{slash-decorated-nonexistent-dest => slash-decorated-nonexistent-dest.sh} (100%) rename tests/ln/{target-1 => target-1.sh} (100%) rename tests/ls/{abmon-align => abmon-align.sh} (100%) rename tests/ls/{block-size => block-size.sh} (100%) rename tests/ls/{capability => capability.sh} (100%) rename tests/ls/{color-clear-to-eol => color-clear-to-eol.sh} (100%) rename tests/ls/{color-dtype-dir => color-dtype-dir.sh} (100%) rename tests/ls/{color-norm => color-norm.sh} (100%) rename tests/ls/{dangle => dangle.sh} (100%) rename tests/ls/{dired => dired.sh} (100%) rename tests/ls/{file-type => file-type.sh} (100%) rename tests/ls/{follow-slink => follow-slink.sh} (100%) rename tests/ls/{getxattr-speedup => getxattr-speedup.sh} (100%) rename tests/ls/{infloop => infloop.sh} (100%) rename tests/ls/{inode => inode.sh} (100%) rename tests/ls/{m-option => m-option.sh} (100%) rename tests/ls/{multihardlink => multihardlink.sh} (100%) rename tests/ls/{nameless-uid => nameless-uid.sh} (100%) rename tests/ls/{no-arg => no-arg.sh} (100%) rename tests/ls/{no-cap => no-cap.sh} (100%) rename tests/ls/{proc-selinux-segfault => proc-selinux-segfault.sh} (100%) rename tests/ls/{readdir-mountpoint-inode => readdir-mountpoint-inode.sh} (100%) rename tests/ls/{recursive => recursive.sh} (100%) rename tests/ls/{root-rel-symlink-color => root-rel-symlink-color.sh} (100%) rename tests/ls/{rt-1 => rt-1.sh} (100%) rename tests/ls/{slink-acl => slink-acl.sh} (100%) rename tests/ls/{stat-dtype => stat-dtype.sh} (100%) rename tests/ls/{stat-failed => stat-failed.sh} (100%) rename tests/ls/{stat-free-color => stat-free-color.sh} (100%) rename tests/ls/{stat-free-symlinks => stat-free-symlinks.sh} (100%) rename tests/ls/{stat-vs-dirent => stat-vs-dirent.sh} (100%) rename tests/ls/{symlink-slash => symlink-slash.sh} (100%) rename tests/ls/{time-style-diag => time-style-diag.sh} (100%) rename tests/ls/{x-option => x-option.sh} (100%) rename tests/misc/{arch => arch.sh} (100%) rename tests/misc/{base64 => base64.pl} (100%) rename tests/misc/{basename => basename.pl} (100%) rename tests/misc/{cat-buf => cat-buf.sh} (100%) rename tests/misc/{cat-proc => cat-proc.sh} (100%) rename tests/misc/{chcon-fail => chcon-fail.sh} (100%) rename tests/misc/{chcon => chcon.sh} (100%) rename tests/misc/{chroot-credentials => chroot-credentials.sh} (100%) rename tests/misc/{chroot-fail => chroot-fail.sh} (100%) rename tests/misc/{close-stdout => close-stdout.sh} (100%) rename tests/misc/{comm => comm.pl} (100%) rename tests/misc/{csplit-1000 => csplit-1000.sh} (100%) rename tests/misc/{csplit-heap => csplit-heap.sh} (100%) rename tests/misc/{csplit => csplit.sh} (100%) rename tests/misc/{cut => cut.pl} (100%) rename tests/misc/{date-next-dow => date-next-dow.pl} (100%) rename tests/misc/{date-sec => date-sec.sh} (100%) rename tests/misc/{date => date.pl} (100%) rename tests/misc/{dircolors => dircolors.pl} (100%) rename tests/misc/{dirname => dirname.pl} (100%) rename tests/misc/{env-null => env-null.sh} (100%) rename tests/misc/{env => env.sh} (100%) rename tests/misc/{expand => expand.pl} (100%) rename tests/misc/{expr => expr.pl} (100%) rename tests/misc/{factor => factor.pl} (100%) rename tests/misc/{false-status => false-status.sh} (100%) rename tests/misc/{fold => fold.pl} (100%) rename tests/misc/{groups-dash => groups-dash.sh} (100%) rename tests/misc/{groups-version => groups-version.sh} (100%) rename tests/misc/{head-c => head-c.sh} (100%) rename tests/misc/{head-elide-tail => head-elide-tail.pl} (100%) rename tests/misc/{head-pos => head-pos.sh} (100%) rename tests/misc/{head => head.pl} (100%) rename tests/misc/{help-version => help-version.sh} (100%) rename tests/misc/{id-context => id-context.sh} (100%) rename tests/misc/{id-groups => id-groups.sh} (100%) rename tests/misc/{id-setgid => id-setgid.sh} (100%) rename tests/misc/{invalid-opt => invalid-opt.pl} (100%) rename tests/misc/{join => join.pl} (100%) rename tests/misc/{ls-misc => ls-misc.pl} (100%) rename tests/misc/{ls-time => ls-time.sh} (100%) rename tests/misc/{md5sum-bsd => md5sum-bsd.sh} (100%) rename tests/misc/{md5sum-newline => md5sum-newline.pl} (100%) rename tests/misc/{md5sum-parallel => md5sum-parallel.sh} (100%) rename tests/misc/{md5sum => md5sum.pl} (100%) rename tests/misc/{mknod => mknod.sh} (100%) rename tests/misc/{mktemp => mktemp.pl} (100%) rename tests/misc/{nice-fail => nice-fail.sh} (100%) rename tests/misc/{nice => nice.sh} (100%) rename tests/misc/{nl => nl.sh} (100%) rename tests/misc/{nohup => nohup.sh} (100%) rename tests/misc/{nproc-avail => nproc-avail.sh} (100%) rename tests/misc/{nproc-positive => nproc-positive.sh} (100%) rename tests/misc/{od-N => od-N.sh} (100%) rename tests/misc/{od-float => od-float.sh} (100%) rename tests/misc/{od-multiple-t => od-multiple-t.sh} (100%) rename tests/misc/{od-x8 => od-x8.sh} (100%) rename tests/misc/{od => od.pl} (100%) rename tests/misc/{paste => paste.pl} (100%) rename tests/misc/{pathchk1 => pathchk1.sh} (100%) rename tests/misc/{pr => pr.pl} (100%) rename tests/misc/{printenv => printenv.sh} (100%) rename tests/misc/{printf-cov => printf-cov.pl} (100%) rename tests/misc/{printf-hex => printf-hex.sh} (100%) rename tests/misc/{printf-surprise => printf-surprise.sh} (100%) rename tests/misc/{printf => printf.sh} (100%) rename tests/misc/{ptx-overrun => ptx-overrun.sh} (100%) rename tests/misc/{ptx => ptx.pl} (100%) rename tests/misc/{pwd-long => pwd-long.sh} (100%) rename tests/misc/{pwd-option => pwd-option.sh} (100%) rename tests/misc/{readlink-fp-loop => readlink-fp-loop.sh} (100%) rename tests/misc/{readlink-root => readlink-root.sh} (100%) rename tests/misc/{realpath => realpath.sh} (100%) rename tests/misc/{runcon-no-reorder => runcon-no-reorder.sh} (100%) rename tests/misc/{selinux => selinux.sh} (100%) rename tests/misc/{seq-long-double => seq-long-double.sh} (100%) rename tests/misc/{seq => seq.pl} (100%) rename tests/misc/{sha1sum-vec => sha1sum-vec.pl} (100%) rename tests/misc/{sha1sum => sha1sum.pl} (100%) rename tests/misc/{sha224sum => sha224sum.pl} (100%) rename tests/misc/{sha256sum => sha256sum.pl} (100%) rename tests/misc/{sha384sum => sha384sum.pl} (100%) rename tests/misc/{sha512sum => sha512sum.pl} (100%) rename tests/misc/{shred-exact => shred-exact.sh} (100%) rename tests/misc/{shred-passes => shred-passes.sh} (100%) rename tests/misc/{shred-remove => shred-remove.sh} (100%) rename tests/misc/{shuf => shuf.sh} (100%) rename tests/misc/{sort-NaN-infloop => sort-NaN-infloop.sh} (100%) rename tests/misc/{sort-benchmark-random => sort-benchmark-random.sh} (100%) rename tests/misc/{sort-compress-hang => sort-compress-hang.sh} (100%) rename tests/misc/{sort-compress-proc => sort-compress-proc.sh} (100%) rename tests/misc/{sort-compress => sort-compress.sh} (100%) rename tests/misc/{sort-continue => sort-continue.sh} (100%) rename tests/misc/{sort-debug-keys => sort-debug-keys.sh} (100%) rename tests/misc/{sort-debug-warn => sort-debug-warn.sh} (100%) rename tests/misc/{sort-discrim => sort-discrim.sh} (100%) rename tests/misc/{sort-exit-early => sort-exit-early.sh} (100%) rename tests/misc/{sort-files0-from => sort-files0-from.pl} (100%) rename tests/misc/{sort-float => sort-float.sh} (100%) rename tests/misc/{sort-merge-fdlimit => sort-merge-fdlimit.sh} (100%) rename tests/misc/{sort-merge => sort-merge.pl} (100%) rename tests/misc/{sort-month => sort-month.sh} (100%) rename tests/misc/{sort-rand => sort-rand.sh} (100%) rename tests/misc/{sort-spinlock-abuse => sort-spinlock-abuse.sh} (100%) rename tests/misc/{sort-stale-thread-mem => sort-stale-thread-mem.sh} (100%) rename tests/misc/{sort-u-FMR => sort-u-FMR.sh} (100%) rename tests/misc/{sort-unique-segv => sort-unique-segv.sh} (100%) rename tests/misc/{sort-unique => sort-unique.sh} (100%) rename tests/misc/{sort-version => sort-version.sh} (100%) rename tests/misc/{sort => sort.pl} (100%) rename tests/misc/{stat-birthtime => stat-birthtime.sh} (100%) rename tests/misc/{stat-fmt => stat-fmt.sh} (100%) rename tests/misc/{stat-hyphen => stat-hyphen.sh} (100%) rename tests/misc/{stat-mount => stat-mount.sh} (100%) rename tests/misc/{stat-nanoseconds => stat-nanoseconds.sh} (100%) rename tests/misc/{stat-printf => stat-printf.pl} (100%) rename tests/misc/{stat-slash => stat-slash.sh} (100%) rename tests/misc/{stdbuf => stdbuf.sh} (100%) rename tests/misc/{stty-invalid => stty-invalid.sh} (100%) rename tests/misc/{stty-pairs => stty-pairs.sh} (100%) rename tests/misc/{stty-row-col => stty-row-col.sh} (100%) rename tests/misc/{stty => stty.sh} (100%) rename tests/misc/{sum-sysv => sum-sysv.sh} (100%) rename tests/misc/{sum => sum.pl} (100%) rename tests/misc/{tac-2-nonseekable => tac-2-nonseekable.sh} (100%) rename tests/misc/{tac-continue => tac-continue.sh} (100%) rename tests/misc/{tac => tac.pl} (100%) rename tests/misc/{tail => tail.pl} (100%) rename tests/misc/{tee-dash => tee-dash.sh} (100%) rename tests/misc/{tee => tee.sh} (100%) rename tests/misc/{test-diag => test-diag.pl} (100%) rename tests/misc/{test => test.pl} (100%) rename tests/misc/{timeout-group => timeout-group.sh} (100%) rename tests/misc/{timeout-parameters => timeout-parameters.sh} (100%) rename tests/misc/{timeout => timeout.sh} (100%) rename tests/misc/{tr-case-class => tr-case-class.sh} (100%) rename tests/misc/{tr => tr.pl} (100%) rename tests/misc/{truncate-dangling-symlink => truncate-dangling-symlink.sh} (100%) rename tests/misc/{truncate-dir-fail => truncate-dir-fail.sh} (100%) rename tests/misc/{truncate-fail-diag => truncate-fail-diag.sh} (100%) rename tests/misc/{truncate-fifo => truncate-fifo.sh} (100%) rename tests/misc/{truncate-no-create-missing => truncate-no-create-missing.sh} (100%) rename tests/misc/{truncate-overflow => truncate-overflow.sh} (100%) rename tests/misc/{truncate-owned-by-other => truncate-owned-by-other.sh} (100%) rename tests/misc/{truncate-parameters => truncate-parameters.sh} (100%) rename tests/misc/{truncate-relative => truncate-relative.sh} (100%) rename tests/misc/{tsort => tsort.pl} (100%) rename tests/misc/{tty-eof => tty-eof.pl} (100%) rename tests/misc/{unexpand => unexpand.pl} (100%) rename tests/misc/{uniq-perf => uniq-perf.sh} (100%) rename tests/misc/{uniq => uniq.pl} (100%) rename tests/misc/{wc-files0-from => wc-files0-from.pl} (100%) rename tests/misc/{wc-files0 => wc-files0.sh} (100%) rename tests/misc/{wc-parallel => wc-parallel.sh} (100%) rename tests/misc/{wc => wc.pl} (100%) rename tests/misc/{xattr => xattr.sh} (100%) rename tests/misc/{xstrtol => xstrtol.pl} (100%) rename tests/mkdir/{p-1 => p-1.sh} (100%) rename tests/mkdir/{p-2 => p-2.sh} (100%) rename tests/mkdir/{p-3 => p-3.sh} (100%) rename tests/mkdir/{p-slashdot => p-slashdot.sh} (100%) rename tests/mkdir/{p-thru-slink => p-thru-slink.sh} (100%) rename tests/mkdir/{p-v => p-v.sh} (100%) rename tests/mkdir/{parents => parents.sh} (100%) rename tests/mkdir/{perm => perm.sh} (100%) rename tests/mkdir/{selinux => selinux.sh} (100%) rename tests/mkdir/{special-1 => special-1.sh} (100%) rename tests/mkdir/{t-slash => t-slash.sh} (100%) rename tests/mkdir/{writable-under-readonly => writable-under-readonly.sh} (100%) rename tests/mv/{acl => acl.sh} (100%) rename tests/mv/{atomic => atomic.sh} (100%) rename tests/mv/{atomic2 => atomic2.sh} (100%) rename tests/mv/{backup-dir => backup-dir.sh} (100%) rename tests/mv/{backup-is-src => backup-is-src.sh} (100%) rename tests/mv/{childproof => childproof.sh} (100%) rename tests/mv/{diag => diag.sh} (100%) rename tests/mv/{dir-file => dir-file.sh} (100%) rename tests/mv/{dir2dir => dir2dir.sh} (100%) rename tests/mv/{dup-source => dup-source.sh} (100%) rename tests/mv/{force => force.sh} (100%) rename tests/mv/{hard-2 => hard-2.sh} (100%) rename tests/mv/{hard-3 => hard-3.sh} (100%) rename tests/mv/{hard-4 => hard-4.sh} (100%) rename tests/mv/{hard-link-1 => hard-link-1.sh} (100%) rename tests/mv/{hard-verbose => hard-verbose.sh} (100%) rename tests/mv/{i-1 => i-1.pl} (100%) rename tests/mv/{i-2 => i-2.sh} (100%) rename tests/mv/{i-3 => i-3.sh} (100%) rename tests/mv/{i-4 => i-4.sh} (100%) rename tests/mv/{i-5 => i-5.sh} (100%) rename tests/mv/{i-link-no => i-link-no.sh} (100%) rename tests/mv/{into-self-2 => into-self-2.sh} (100%) rename tests/mv/{into-self-3 => into-self-3.sh} (100%) rename tests/mv/{into-self-4 => into-self-4.sh} (100%) rename tests/mv/{into-self => into-self.sh} (100%) rename tests/mv/{leak-fd => leak-fd.sh} (100%) rename tests/mv/{mv-n => mv-n.sh} (100%) rename tests/mv/{mv-special-1 => mv-special-1.sh} (100%) rename tests/mv/{no-target-dir => no-target-dir.sh} (100%) rename tests/mv/{part-fail => part-fail.sh} (100%) rename tests/mv/{part-hardlink => part-hardlink.sh} (100%) rename tests/mv/{part-rename => part-rename.sh} (100%) rename tests/mv/{part-symlink => part-symlink.sh} (100%) rename tests/mv/{partition-perm => partition-perm.sh} (100%) rename tests/mv/{perm-1 => perm-1.sh} (100%) rename tests/mv/{sticky-to-xpart => sticky-to-xpart.sh} (100%) rename tests/mv/{symlink-onto-hardlink-to-self => symlink-onto-hardlink-to-self.sh} (100%) rename tests/mv/{symlink-onto-hardlink => symlink-onto-hardlink.sh} (100%) rename tests/mv/{to-symlink => to-symlink.sh} (100%) rename tests/mv/{trailing-slash => trailing-slash.sh} (100%) rename tests/mv/{update => update.sh} (100%) rename tests/pr/{pr-tests => pr-tests.pl} (100%) rename tests/readlink/{can-e => can-e.sh} (100%) rename tests/readlink/{can-f => can-f.sh} (100%) rename tests/readlink/{can-m => can-m.sh} (100%) rename tests/readlink/{rl-1 => rl-1.sh} (100%) rename tests/rm/{cycle => cycle.sh} (100%) rename tests/rm/{d-1 => d-1.sh} (100%) rename tests/rm/{d-2 => d-2.sh} (100%) rename tests/rm/{d-3 => d-3.sh} (100%) rename tests/rm/{dangling-symlink => dangling-symlink.sh} (100%) rename tests/rm/{deep-1 => deep-1.sh} (100%) rename tests/rm/{deep-2 => deep-2.sh} (100%) rename tests/rm/{dir-no-w => dir-no-w.sh} (100%) rename tests/rm/{dir-nonrecur => dir-nonrecur.sh} (100%) rename tests/rm/{dot-rel => dot-rel.sh} (100%) rename tests/rm/{empty-inacc => empty-inacc.sh} (100%) rename tests/rm/{empty-name => empty-name.pl} (100%) rename tests/rm/{ext3-perf => ext3-perf.sh} (100%) rename tests/rm/{f-1 => f-1.sh} (100%) rename tests/rm/{fail-2eperm => fail-2eperm.sh} (100%) rename tests/rm/{fail-eacces => fail-eacces.sh} (100%) rename tests/rm/{hash => hash.sh} (100%) rename tests/rm/{i-1 => i-1.sh} (100%) rename tests/rm/{i-never => i-never.sh} (100%) rename tests/rm/{i-no-r => i-no-r.sh} (100%) rename tests/rm/{ignorable => ignorable.sh} (100%) rename tests/rm/{inaccessible => inaccessible.sh} (100%) rename tests/rm/{interactive-always => interactive-always.sh} (100%) rename tests/rm/{interactive-once => interactive-once.sh} (100%) rename tests/rm/{ir-1 => ir-1.sh} (100%) rename tests/rm/{isatty => isatty.sh} (100%) rename tests/rm/{many-dir-entries-vs-OOM => many-dir-entries-vs-OOM.sh} (100%) rename tests/rm/{no-give-up => no-give-up.sh} (100%) rename tests/rm/{one-file-system => one-file-system.sh} (100%) rename tests/rm/{one-file-system2 => one-file-system2.sh} (100%) rename tests/rm/{r-1 => r-1.sh} (100%) rename tests/rm/{r-2 => r-2.sh} (100%) rename tests/rm/{r-3 => r-3.sh} (100%) rename tests/rm/{r-4 => r-4.sh} (100%) rename tests/rm/{read-only => read-only.sh} (100%) rename tests/rm/{readdir-bug => readdir-bug.sh} (100%) rename tests/rm/{rm1 => rm1.sh} (100%) rename tests/rm/{rm2 => rm2.sh} (100%) rename tests/rm/{rm3 => rm3.sh} (100%) rename tests/rm/{rm4 => rm4.sh} (100%) rename tests/rm/{rm5 => rm5.sh} (100%) rename tests/rm/{sunos-1 => sunos-1.sh} (100%) rename tests/rm/{unread2 => unread2.sh} (100%) rename tests/rm/{unread3 => unread3.sh} (100%) rename tests/rm/{unreadable => unreadable.pl} (100%) rename tests/rm/{v-slash => v-slash.sh} (100%) rename tests/rmdir/{fail-perm => fail-perm.sh} (100%) rename tests/rmdir/{ignore => ignore.sh} (100%) rename tests/rmdir/{t-slash => t-slash.sh} (100%) rename tests/split/{additional-suffix => additional-suffix.sh} (100%) rename tests/split/{b-chunk => b-chunk.sh} (100%) rename tests/split/{fail => fail.sh} (100%) rename tests/split/{filter => filter.sh} (100%) rename tests/split/{guard-input => guard-input.sh} (100%) rename tests/split/{l-chunk => l-chunk.sh} (100%) rename tests/split/{lines => lines.sh} (100%) rename tests/split/{numeric => numeric.sh} (100%) rename tests/split/{r-chunk => r-chunk.sh} (100%) rename tests/split/{suffix-auto-length => suffix-auto-length.sh} (100%) rename tests/split/{suffix-length => suffix-length.sh} (100%) rename tests/tail-2/{F-vs-missing => F-vs-missing.sh} (100%) rename tests/tail-2/{F-vs-rename => F-vs-rename.sh} (100%) rename tests/tail-2/{append-only => append-only.sh} (100%) rename tests/tail-2/{assert-2 => assert-2.sh} (100%) rename tests/tail-2/{assert => assert.sh} (100%) rename tests/tail-2/{big-4gb => big-4gb.sh} (100%) rename tests/tail-2/{flush-initial => flush-initial.sh} (100%) rename tests/tail-2/{follow-name => follow-name.sh} (100%) rename tests/tail-2/{follow-stdin => follow-stdin.sh} (100%) rename tests/tail-2/{infloop-1 => infloop-1.sh} (100%) rename tests/tail-2/{inotify-hash-abuse => inotify-hash-abuse.sh} (100%) rename tests/tail-2/{inotify-hash-abuse2 => inotify-hash-abuse2.sh} (100%) rename tests/tail-2/{inotify-race => inotify-race.sh} (100%) rename tests/tail-2/{inotify-rotate => inotify-rotate.sh} (100%) rename tests/tail-2/{pid => pid.sh} (100%) rename tests/tail-2/{pipe-f => pipe-f.sh} (100%) rename tests/tail-2/{pipe-f2 => pipe-f2.sh} (100%) rename tests/tail-2/{proc-ksyms => proc-ksyms.sh} (100%) rename tests/tail-2/{start-middle => start-middle.sh} (100%) rename tests/tail-2/{tail-n0f => tail-n0f.sh} (100%) rename tests/tail-2/{wait => wait.sh} (100%) rename tests/touch/{60-seconds => 60-seconds.sh} (100%) rename tests/touch/{dangling-symlink => dangling-symlink.sh} (100%) rename tests/touch/{dir-1 => dir-1.sh} (100%) rename tests/touch/{empty-file => empty-file.sh} (100%) rename tests/touch/{fail-diag => fail-diag.sh} (100%) rename tests/touch/{fifo => fifo.sh} (100%) rename tests/touch/{no-create-missing => no-create-missing.sh} (100%) rename tests/touch/{no-dereference => no-dereference.sh} (100%) rename tests/touch/{no-rights => no-rights.sh} (100%) rename tests/touch/{not-owner => not-owner.sh} (100%) rename tests/touch/{now-owned-by-other => now-owned-by-other.sh} (100%) rename tests/touch/{obsolescent => obsolescent.sh} (100%) rename tests/touch/{read-only => read-only.sh} (100%) rename tests/touch/{relative => relative.sh} (100%) rename tests/touch/{trailing-slash => trailing-slash.sh} (100%) diff --git a/tests/Makefile.am b/tests/Makefile.am index ff0af84..a547b11 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -45,7 +45,7 @@ check_DATA = .built-programs && MAKEFLAGS= $(MAKE) -s built_programs.list) \ > $@-t && mv $@-t $@ -TEST_EXTENSIONS = .xpl +TEST_EXTENSIONS = .sh .pl .xpl if HAVE_PERL TESTSUITE_PERL = $(PERL) @@ -63,6 +63,9 @@ LOG_COMPILER = \ --test-name "$$f" --srcdir '$(srcdir)' \ --shell '$(SHELL)' --perl '$(TESTSUITE_PERL)' -- +PL_LOG_COMPILER = $(LOG_COMPILER) +SH_LOG_COMPILER = $(LOG_COMPILER) + # Perl scripts that must be run in tainted mode. XPL_LOG_COMPILER = \ $(TESTSUITE_PERL) -wT -I$(srcdir) -MCoreutils -MCuSkip -M"CuTmpdir qw($$f)" @@ -131,32 +134,32 @@ EXTRA_DIST = \ $(pr_data) root_tests = \ - chown/basic \ - cp/cp-a-selinux \ - cp/preserve-gid \ - cp/special-bits \ - cp/cp-mv-enotsup-xattr \ - cp/capability \ - cp/sparse-fiemap \ - dd/skip-seek-past-dev \ - df/problematic-chars \ - du/bind-mount-dir-cycle \ - install/install-C-root \ - ls/capability \ - ls/nameless-uid \ - misc/chcon \ - misc/chroot-credentials \ - misc/id-setgid \ - 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 + chown/basic.sh \ + cp/cp-a-selinux.sh \ + cp/preserve-gid.sh \ + cp/special-bits.sh \ + cp/cp-mv-enotsup-xattr.sh \ + cp/capability.sh \ + cp/sparse-fiemap.sh \ + dd/skip-seek-past-dev.sh \ + df/problematic-chars.sh \ + du/bind-mount-dir-cycle.sh \ + install/install-C-root.sh \ + ls/capability.sh \ + ls/nameless-uid.sh \ + misc/chcon.sh \ + misc/chroot-credentials.sh \ + misc/id-setgid.sh \ + misc/selinux.sh \ + misc/truncate-owned-by-other.sh \ + mkdir/writable-under-readonly.sh \ + mv/sticky-to-xpart.sh \ + rm/fail-2eperm.sh \ + rm/no-give-up.sh \ + rm/one-file-system.sh \ + rm/read-only.sh \ + tail-2/append-only.sh \ + touch/now-owned-by-other.sh .PHONY: check-root check-root: @@ -191,473 +194,473 @@ EXTRA_DIST += $(TESTS) # 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 \ - misc/tty-eof \ - 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/d-1 \ - rm/d-2 \ - rm/d-3 \ - 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 \ + misc/help-version.sh \ + tail-2/inotify-race.sh \ + misc/invalid-opt.pl \ + rm/ext3-perf.sh \ + rm/cycle.sh \ + cp/link-heap.sh \ + misc/tty-eof.pl \ + tail-2/inotify-hash-abuse.sh \ + tail-2/inotify-hash-abuse2.sh \ + tail-2/F-vs-missing.sh \ + tail-2/F-vs-rename.sh \ + tail-2/inotify-rotate.sh \ + chmod/no-x.sh \ + chgrp/basic.sh \ + rm/dangling-symlink.sh \ + misc/ls-time.sh \ + rm/d-1.sh \ + rm/d-2.sh \ + rm/d-3.sh \ + rm/deep-1.sh \ + rm/deep-2.sh \ + rm/dir-no-w.sh \ + rm/dir-nonrecur.sh \ + rm/dot-rel.sh \ + rm/isatty.sh \ + rm/empty-inacc.sh \ + rm/empty-name.pl \ + rm/f-1.sh \ + rm/fail-eacces.sh \ rm/fail-eperm.xpl \ - 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 \ - rm/many-dir-entries-vs-OOM \ - chgrp/default-no-deref \ - chgrp/deref \ - chgrp/no-x \ - chgrp/posix-H \ - chgrp/recurse \ - fmt/base \ - fmt/long-line \ - fmt/goal-option \ - 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/pwd-option \ - 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/dirname \ - misc/env-null \ - misc/expand \ - misc/expr \ - misc/factor \ - misc/false-status \ - misc/fold \ - misc/groups-dash \ - misc/groups-version \ - misc/head-c \ - misc/head-pos \ - misc/id-context \ - misc/id-groups \ - misc/id-setgid \ - misc/md5sum \ - misc/md5sum-bsd \ - 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/readlink-root \ - misc/realpath \ - 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-hang \ - misc/sort-compress-proc \ - misc/sort-continue \ - misc/sort-debug-keys \ - misc/sort-debug-warn \ - misc/sort-discrim \ - misc/sort-files0-from \ - misc/sort-float \ - misc/sort-merge \ - misc/sort-merge-fdlimit \ - misc/sort-month \ - misc/sort-exit-early \ - misc/sort-rand \ - misc/sort-spinlock-abuse \ - misc/sort-stale-thread-mem \ - misc/sort-unique \ - misc/sort-unique-segv \ - misc/sort-version \ - misc/sort-NaN-infloop \ - misc/sort-u-FMR \ - split/filter \ - split/suffix-auto-length \ - split/suffix-length \ - split/additional-suffix \ - split/b-chunk \ - split/fail \ - split/lines \ - split/l-chunk \ - split/r-chunk \ - split/numeric \ - split/guard-input \ - 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-pairs \ - misc/stty-row-col \ - misc/sum \ - misc/sum-sysv \ - misc/tac \ - misc/tac-continue \ - misc/tac-2-nonseekable \ - misc/tail \ - misc/tee \ - misc/tee-dash \ - misc/test-diag \ - misc/timeout \ - misc/timeout-group \ - 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/unexpand \ - misc/uniq \ - misc/uniq-perf \ - 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/attr-existing \ - 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-dir \ - cp/existing-perm-race \ - cp/fail-perm \ - cp/fiemap-empty \ - cp/fiemap-perf \ - cp/fiemap-2 \ - cp/file-perm-race \ - cp/into-self \ - cp/link \ - cp/link-no-deref \ - cp/link-preserve \ - cp/link-symlink \ - cp/nfs-removal-race \ - 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-link \ - 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/sparse-to-pipe \ - cp/special-f \ - cp/src-base-dot \ - cp/symlink-slash \ - cp/thru-dangling \ - df/header \ - df/df-P \ - df/unreadable \ - df/total-unprocessed \ - df/no-mtab-status \ - dd/direct \ - dd/misc \ - dd/nocache \ - dd/not-rewound \ - dd/reblock \ - dd/skip-seek \ - dd/skip-seek2 \ - dd/bytes \ - dd/skip-seek-past-file \ - dd/sparse \ - 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/files0-from-dir \ - du/hard-link \ - du/inacc-dest \ - du/inacc-dir \ - du/inaccessible-cwd \ - du/long-from-unreadable \ - du/long-sloop \ - du/max-depth \ - du/move-dir-while-traversing \ - du/no-deref \ - du/no-x \ - du/one-file-system \ - du/restore-wd \ - du/slash \ - du/slink \ - du/trailing-slash \ - du/two-args \ - id/gnu-zero-uids \ - 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/relative \ - ln/sf-1 \ - ln/slash-decorated-nonexistent-dest \ - ln/target-1 \ - ls/abmon-align \ - ls/block-size \ - ls/color-clear-to-eol \ - ls/color-dtype-dir \ - ls/color-norm \ - ls/dangle \ - ls/dired \ - ls/file-type \ - ls/follow-slink \ - ls/getxattr-speedup \ - 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/root-rel-symlink-color \ - ls/rt-1 \ - ls/slink-acl \ - ls/stat-dtype \ - ls/stat-failed \ - ls/stat-free-color \ - ls/stat-free-symlinks \ - ls/stat-vs-dirent \ - ls/symlink-slash \ - ls/time-style-diag \ - 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/symlink-onto-hardlink \ - mv/symlink-onto-hardlink-to-self \ - 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-name \ - 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 \ + tail-2/assert.sh \ + rm/hash.sh \ + rm/i-1.sh \ + rm/i-never.sh \ + rm/i-no-r.sh \ + tail-2/infloop-1.sh \ + rm/ignorable.sh \ + rm/inaccessible.sh \ + rm/interactive-always.sh \ + rm/interactive-once.sh \ + rm/ir-1.sh \ + rm/one-file-system2.sh \ + rm/r-1.sh \ + rm/r-2.sh \ + rm/r-3.sh \ + rm/r-4.sh \ + rm/readdir-bug.sh \ + rm/rm1.sh \ + touch/empty-file.sh \ + rm/rm2.sh \ + rm/rm3.sh \ + rm/rm4.sh \ + rm/rm5.sh \ + rm/sunos-1.sh \ + rm/unread2.sh \ + rm/unread3.sh \ + rm/unreadable.pl \ + rm/v-slash.sh \ + rm/many-dir-entries-vs-OOM.sh \ + chgrp/default-no-deref.sh \ + chgrp/deref.sh \ + chgrp/no-x.sh \ + chgrp/posix-H.sh \ + chgrp/recurse.sh \ + fmt/base.pl \ + fmt/long-line.sh \ + fmt/goal-option.sh \ + misc/env.sh \ + misc/ptx.pl \ + misc/test.pl \ + misc/seq.pl \ + misc/seq-long-double.sh \ + misc/head.pl \ + misc/head-elide-tail.pl \ + tail-2/tail-n0f.sh \ + misc/ls-misc.pl \ + misc/date.pl \ + misc/date-next-dow.pl \ + misc/ptx-overrun.sh \ + misc/xstrtol.pl \ + tail-2/pid.sh \ + misc/od.pl \ + misc/od-float.sh \ + misc/mktemp.pl \ + misc/arch.sh \ + misc/pr.pl \ + misc/join.pl \ + pr/pr-tests.pl \ + misc/pwd-option.sh \ + misc/chcon-fail.sh \ + misc/cut.pl \ + misc/wc.pl \ + misc/wc-files0-from.pl \ + misc/wc-files0.sh \ + misc/wc-parallel.sh \ + misc/cat-proc.sh \ + misc/cat-buf.sh \ + misc/base64.pl \ + misc/basename.pl \ + misc/close-stdout.sh \ + misc/chroot-fail.sh \ + misc/comm.pl \ + misc/csplit.sh \ + misc/csplit-1000.sh \ + misc/csplit-heap.sh \ + misc/date-sec.sh \ + misc/dircolors.pl \ + misc/dirname.pl \ + misc/env-null.sh \ + misc/expand.pl \ + misc/expr.pl \ + misc/factor.pl \ + misc/false-status.sh \ + misc/fold.pl \ + misc/groups-dash.sh \ + misc/groups-version.sh \ + misc/head-c.sh \ + misc/head-pos.sh \ + misc/id-context.sh \ + misc/id-groups.sh \ + misc/id-setgid.sh \ + misc/md5sum.pl \ + misc/md5sum-bsd.sh \ + misc/md5sum-newline.pl \ + misc/md5sum-parallel.sh \ + misc/mknod.sh \ + misc/nice.sh \ + misc/nice-fail.sh \ + misc/nl.sh \ + misc/nohup.sh \ + misc/nproc-avail.sh \ + misc/nproc-positive.sh \ + misc/od-N.sh \ + misc/od-multiple-t.sh \ + misc/od-x8.sh \ + misc/paste.pl \ + misc/pathchk1.sh \ + misc/printenv.sh \ + misc/printf.sh \ + misc/printf-cov.pl \ + misc/printf-hex.sh \ + misc/printf-surprise.sh \ + misc/pwd-long.sh \ + misc/readlink-fp-loop.sh \ + misc/readlink-root.sh \ + misc/realpath.sh \ + misc/runcon-no-reorder.sh \ + misc/sha1sum.pl \ + misc/sha1sum-vec.pl \ + misc/sha224sum.pl \ + misc/sha256sum.pl \ + misc/sha384sum.pl \ + misc/sha512sum.pl \ + misc/shred-exact.sh \ + misc/shred-passes.sh \ + misc/shred-remove.sh \ + misc/shuf.sh \ + misc/sort.pl \ + misc/sort-benchmark-random.sh \ + misc/sort-compress.sh \ + misc/sort-compress-hang.sh \ + misc/sort-compress-proc.sh \ + misc/sort-continue.sh \ + misc/sort-debug-keys.sh \ + misc/sort-debug-warn.sh \ + misc/sort-discrim.sh \ + misc/sort-files0-from.pl \ + misc/sort-float.sh \ + misc/sort-merge.pl \ + misc/sort-merge-fdlimit.sh \ + misc/sort-month.sh \ + misc/sort-exit-early.sh \ + misc/sort-rand.sh \ + misc/sort-spinlock-abuse.sh \ + misc/sort-stale-thread-mem.sh \ + misc/sort-unique.sh \ + misc/sort-unique-segv.sh \ + misc/sort-version.sh \ + misc/sort-NaN-infloop.sh \ + misc/sort-u-FMR.sh \ + split/filter.sh \ + split/suffix-auto-length.sh \ + split/suffix-length.sh \ + split/additional-suffix.sh \ + split/b-chunk.sh \ + split/fail.sh \ + split/lines.sh \ + split/l-chunk.sh \ + split/r-chunk.sh \ + split/numeric.sh \ + split/guard-input.sh \ + misc/stat-birthtime.sh \ + misc/stat-fmt.sh \ + misc/stat-hyphen.sh \ + misc/stat-mount.sh \ + misc/stat-nanoseconds.sh \ + misc/stat-printf.pl \ + misc/stat-slash.sh \ + misc/stdbuf.sh \ + misc/stty.sh \ + misc/stty-invalid.sh \ + misc/stty-pairs.sh \ + misc/stty-row-col.sh \ + misc/sum.pl \ + misc/sum-sysv.sh \ + misc/tac.pl \ + misc/tac-continue.sh \ + misc/tac-2-nonseekable.sh \ + misc/tail.pl \ + misc/tee.sh \ + misc/tee-dash.sh \ + misc/test-diag.pl \ + misc/timeout.sh \ + misc/timeout-group.sh \ + misc/timeout-parameters.sh \ + misc/tr.pl \ + misc/tr-case-class.sh \ + misc/truncate-dangling-symlink.sh \ + misc/truncate-dir-fail.sh \ + misc/truncate-fail-diag.sh \ + misc/truncate-fifo.sh \ + misc/truncate-no-create-missing.sh \ + misc/truncate-overflow.sh \ + misc/truncate-parameters.sh \ + misc/truncate-relative.sh \ + misc/tsort.pl \ + misc/unexpand.pl \ + misc/uniq.pl \ + misc/uniq-perf.sh \ + misc/xattr.sh \ + tail-2/wait.sh \ + chmod/c-option.sh \ + chmod/equal-x.sh \ + chmod/equals.sh \ + chmod/inaccessible.sh \ + chmod/octal.sh \ + chmod/setgid.sh \ + chmod/silent.sh \ + chmod/thru-dangling.sh \ + chmod/umask-x.sh \ + chmod/usage.sh \ + chown/deref.sh \ + chown/preserve-root.sh \ + chown/separator.sh \ + cp/abuse.sh \ + cp/acl.sh \ + cp/attr-existing.sh \ + cp/backup-1.sh \ + cp/backup-dir.sh \ + cp/backup-is-src.sh \ + cp/cp-HL.sh \ + cp/cp-deref.sh \ + cp/cp-i.sh \ + cp/cp-mv-backup.sh \ + cp/cp-parents.sh \ + cp/deref-slink.sh \ + cp/dir-rm-dest.sh \ + cp/dir-slash.sh \ + cp/dir-vs-file.sh \ + cp/existing-perm-dir.sh \ + cp/existing-perm-race.sh \ + cp/fail-perm.sh \ + cp/fiemap-empty.sh \ + cp/fiemap-perf.sh \ + cp/fiemap-2.sh \ + cp/file-perm-race.sh \ + cp/into-self.sh \ + cp/link.sh \ + cp/link-no-deref.sh \ + cp/link-preserve.sh \ + cp/link-symlink.sh \ + cp/nfs-removal-race.sh \ + cp/no-deref-link1.sh \ + cp/no-deref-link2.sh \ + cp/no-deref-link3.sh \ + cp/parent-perm.sh \ + cp/parent-perm-race.sh \ + cp/perm.sh \ + cp/preserve-2.sh \ + cp/preserve-link.sh \ + cp/preserve-slink-time.sh \ + cp/proc-short-read.sh \ + cp/proc-zero-len.sh \ + cp/r-vs-symlink.sh \ + cp/reflink-auto.sh \ + cp/reflink-perm.sh \ + cp/same-file.sh \ + cp/slink-2-slink.sh \ + cp/sparse.sh \ + cp/sparse-to-pipe.sh \ + cp/special-f.sh \ + cp/src-base-dot.sh \ + cp/symlink-slash.sh \ + cp/thru-dangling.sh \ + df/header.sh \ + df/df-P.sh \ + df/unreadable.sh \ + df/total-unprocessed.sh \ + df/no-mtab-status.sh \ + dd/direct.sh \ + dd/misc.sh \ + dd/nocache.sh \ + dd/not-rewound.sh \ + dd/reblock.sh \ + dd/skip-seek.pl \ + dd/skip-seek2.sh \ + dd/bytes.sh \ + dd/skip-seek-past-file.sh \ + dd/sparse.sh \ + dd/stderr.sh \ + dd/unblock.pl \ + dd/unblock-sync.sh \ + df/total-verify.sh \ + du/2g.sh \ + du/8gb.sh \ + du/basic.sh \ + du/bigtime.sh \ + du/deref.sh \ + du/deref-args.sh \ + du/exclude.sh \ + du/fd-leak.sh \ + du/files0-from.pl \ + du/files0-from-dir.sh \ + du/hard-link.sh \ + du/inacc-dest.sh \ + du/inacc-dir.sh \ + du/inaccessible-cwd.sh \ + du/long-from-unreadable.sh \ + du/long-sloop.sh \ + du/max-depth.sh \ + du/move-dir-while-traversing.sh \ + du/no-deref.sh \ + du/no-x.sh \ + du/one-file-system.sh \ + du/restore-wd.sh \ + du/slash.sh \ + du/slink.sh \ + du/trailing-slash.sh \ + du/two-args.sh \ + id/gnu-zero-uids.sh \ + id/no-context.sh \ + install/basic-1.sh \ + install/create-leading.sh \ + install/d-slashdot.sh \ + install/install-C.sh \ + install/install-C-selinux.sh \ + install/strip-program.sh \ + install/trap.sh \ + ln/backup-1.sh \ + ln/hard-backup.sh \ + ln/hard-to-sym.sh \ + ln/misc.sh \ + ln/relative.sh \ + ln/sf-1.sh \ + ln/slash-decorated-nonexistent-dest.sh \ + ln/target-1.sh \ + ls/abmon-align.sh \ + ls/block-size.sh \ + ls/color-clear-to-eol.sh \ + ls/color-dtype-dir.sh \ + ls/color-norm.sh \ + ls/dangle.sh \ + ls/dired.sh \ + ls/file-type.sh \ + ls/follow-slink.sh \ + ls/getxattr-speedup.sh \ + ls/infloop.sh \ + ls/inode.sh \ + ls/m-option.sh \ + ls/multihardlink.sh \ + ls/no-arg.sh \ + ls/no-cap.sh \ + ls/proc-selinux-segfault.sh \ + ls/readdir-mountpoint-inode.sh \ + ls/recursive.sh \ + ls/root-rel-symlink-color.sh \ + ls/rt-1.sh \ + ls/slink-acl.sh \ + ls/stat-dtype.sh \ + ls/stat-failed.sh \ + ls/stat-free-color.sh \ + ls/stat-free-symlinks.sh \ + ls/stat-vs-dirent.sh \ + ls/symlink-slash.sh \ + ls/time-style-diag.sh \ + ls/x-option.sh \ + mkdir/p-1.sh \ + mkdir/p-2.sh \ + mkdir/p-3.sh \ + mkdir/p-slashdot.sh \ + mkdir/p-thru-slink.sh \ + mkdir/p-v.sh \ + mkdir/parents.sh \ + mkdir/perm.sh \ + mkdir/selinux.sh \ + mkdir/special-1.sh \ + mkdir/t-slash.sh \ + mv/acl.sh \ + mv/atomic.sh \ + mv/atomic2.sh \ + mv/backup-dir.sh \ + mv/backup-is-src.sh \ + mv/childproof.sh \ + mv/diag.sh \ + mv/dir-file.sh \ + mv/dir2dir.sh \ + mv/dup-source.sh \ + mv/force.sh \ + mv/hard-2.sh \ + mv/hard-3.sh \ + mv/hard-4.sh \ + mv/hard-link-1.sh \ + mv/hard-verbose.sh \ + mv/i-1.pl \ + mv/i-2.sh \ + mv/i-3.sh \ + mv/i-4.sh \ + mv/i-5.sh \ + mv/i-link-no.sh \ + mv/into-self.sh \ + mv/into-self-2.sh \ + mv/into-self-3.sh \ + mv/into-self-4.sh \ + mv/leak-fd.sh \ + mv/mv-n.sh \ + mv/mv-special-1.sh \ + mv/no-target-dir.sh \ + mv/part-fail.sh \ + mv/part-hardlink.sh \ + mv/part-rename.sh \ + mv/part-symlink.sh \ + mv/partition-perm.sh \ + mv/perm-1.sh \ + mv/symlink-onto-hardlink.sh \ + mv/symlink-onto-hardlink-to-self.sh \ + mv/to-symlink.sh \ + mv/trailing-slash.sh \ + mv/update.sh \ + readlink/can-e.sh \ + readlink/can-f.sh \ + readlink/can-m.sh \ + readlink/rl-1.sh \ + rmdir/fail-perm.sh \ + rmdir/ignore.sh \ + rmdir/t-slash.sh \ + tail-2/assert-2.sh \ + tail-2/big-4gb.sh \ + tail-2/flush-initial.sh \ + tail-2/follow-name.sh \ + tail-2/follow-stdin.sh \ + tail-2/pipe-f.sh \ + tail-2/pipe-f2.sh \ + tail-2/proc-ksyms.sh \ + tail-2/start-middle.sh \ + touch/60-seconds.sh \ + touch/dangling-symlink.sh \ + touch/dir-1.sh \ + touch/fail-diag.sh \ + touch/fifo.sh \ + touch/no-create-missing.sh \ + touch/no-dereference.sh \ + touch/no-rights.sh \ + touch/not-owner.sh \ + touch/obsolescent.sh \ + touch/read-only.sh \ + touch/relative.sh \ + touch/trailing-slash.sh \ $(root_tests) pr_data = \ diff --git a/tests/chgrp/basic b/tests/chgrp/basic.sh similarity index 100% rename from tests/chgrp/basic rename to tests/chgrp/basic.sh diff --git a/tests/chgrp/default-no-deref b/tests/chgrp/default-no-deref.sh similarity index 100% rename from tests/chgrp/default-no-deref rename to tests/chgrp/default-no-deref.sh diff --git a/tests/chgrp/deref b/tests/chgrp/deref.sh similarity index 100% rename from tests/chgrp/deref rename to tests/chgrp/deref.sh diff --git a/tests/chgrp/no-x b/tests/chgrp/no-x.sh similarity index 100% rename from tests/chgrp/no-x rename to tests/chgrp/no-x.sh diff --git a/tests/chgrp/posix-H b/tests/chgrp/posix-H.sh similarity index 100% rename from tests/chgrp/posix-H rename to tests/chgrp/posix-H.sh diff --git a/tests/chgrp/recurse b/tests/chgrp/recurse.sh similarity index 100% rename from tests/chgrp/recurse rename to tests/chgrp/recurse.sh diff --git a/tests/chmod/c-option b/tests/chmod/c-option.sh similarity index 100% rename from tests/chmod/c-option rename to tests/chmod/c-option.sh diff --git a/tests/chmod/equal-x b/tests/chmod/equal-x.sh similarity index 100% rename from tests/chmod/equal-x rename to tests/chmod/equal-x.sh diff --git a/tests/chmod/equals b/tests/chmod/equals.sh similarity index 100% rename from tests/chmod/equals rename to tests/chmod/equals.sh diff --git a/tests/chmod/inaccessible b/tests/chmod/inaccessible.sh similarity index 100% rename from tests/chmod/inaccessible rename to tests/chmod/inaccessible.sh diff --git a/tests/chmod/no-x b/tests/chmod/no-x.sh similarity index 100% rename from tests/chmod/no-x rename to tests/chmod/no-x.sh diff --git a/tests/chmod/octal b/tests/chmod/octal.sh similarity index 100% rename from tests/chmod/octal rename to tests/chmod/octal.sh diff --git a/tests/chmod/setgid b/tests/chmod/setgid.sh similarity index 100% rename from tests/chmod/setgid rename to tests/chmod/setgid.sh diff --git a/tests/chmod/silent b/tests/chmod/silent.sh similarity index 100% rename from tests/chmod/silent rename to tests/chmod/silent.sh diff --git a/tests/chmod/thru-dangling b/tests/chmod/thru-dangling.sh similarity index 100% rename from tests/chmod/thru-dangling rename to tests/chmod/thru-dangling.sh diff --git a/tests/chmod/umask-x b/tests/chmod/umask-x.sh similarity index 100% rename from tests/chmod/umask-x rename to tests/chmod/umask-x.sh diff --git a/tests/chmod/usage b/tests/chmod/usage.sh similarity index 100% rename from tests/chmod/usage rename to tests/chmod/usage.sh diff --git a/tests/chown/basic b/tests/chown/basic.sh similarity index 100% rename from tests/chown/basic rename to tests/chown/basic.sh diff --git a/tests/chown/deref b/tests/chown/deref.sh similarity index 100% rename from tests/chown/deref rename to tests/chown/deref.sh diff --git a/tests/chown/preserve-root b/tests/chown/preserve-root.sh similarity index 100% rename from tests/chown/preserve-root rename to tests/chown/preserve-root.sh diff --git a/tests/chown/separator b/tests/chown/separator.sh similarity index 100% rename from tests/chown/separator rename to tests/chown/separator.sh diff --git a/tests/cp/abuse b/tests/cp/abuse.sh similarity index 100% rename from tests/cp/abuse rename to tests/cp/abuse.sh diff --git a/tests/cp/acl b/tests/cp/acl.sh similarity index 100% rename from tests/cp/acl rename to tests/cp/acl.sh diff --git a/tests/cp/attr-existing b/tests/cp/attr-existing.sh similarity index 100% rename from tests/cp/attr-existing rename to tests/cp/attr-existing.sh diff --git a/tests/cp/backup-1 b/tests/cp/backup-1.sh similarity index 100% rename from tests/cp/backup-1 rename to tests/cp/backup-1.sh diff --git a/tests/cp/backup-dir b/tests/cp/backup-dir.sh similarity index 100% rename from tests/cp/backup-dir rename to tests/cp/backup-dir.sh diff --git a/tests/cp/backup-is-src b/tests/cp/backup-is-src.sh similarity index 100% rename from tests/cp/backup-is-src rename to tests/cp/backup-is-src.sh diff --git a/tests/cp/capability b/tests/cp/capability.sh similarity index 100% rename from tests/cp/capability rename to tests/cp/capability.sh diff --git a/tests/cp/cp-HL b/tests/cp/cp-HL.sh similarity index 100% rename from tests/cp/cp-HL rename to tests/cp/cp-HL.sh diff --git a/tests/cp/cp-a-selinux b/tests/cp/cp-a-selinux.sh similarity index 100% rename from tests/cp/cp-a-selinux rename to tests/cp/cp-a-selinux.sh diff --git a/tests/cp/cp-deref b/tests/cp/cp-deref.sh similarity index 100% rename from tests/cp/cp-deref rename to tests/cp/cp-deref.sh diff --git a/tests/cp/cp-i b/tests/cp/cp-i.sh similarity index 100% rename from tests/cp/cp-i rename to tests/cp/cp-i.sh diff --git a/tests/cp/cp-mv-backup b/tests/cp/cp-mv-backup.sh similarity index 100% rename from tests/cp/cp-mv-backup rename to tests/cp/cp-mv-backup.sh diff --git a/tests/cp/cp-mv-enotsup-xattr b/tests/cp/cp-mv-enotsup-xattr.sh similarity index 100% rename from tests/cp/cp-mv-enotsup-xattr rename to tests/cp/cp-mv-enotsup-xattr.sh diff --git a/tests/cp/cp-parents b/tests/cp/cp-parents.sh similarity index 100% rename from tests/cp/cp-parents rename to tests/cp/cp-parents.sh diff --git a/tests/cp/deref-slink b/tests/cp/deref-slink.sh similarity index 100% rename from tests/cp/deref-slink rename to tests/cp/deref-slink.sh diff --git a/tests/cp/dir-rm-dest b/tests/cp/dir-rm-dest.sh similarity index 100% rename from tests/cp/dir-rm-dest rename to tests/cp/dir-rm-dest.sh diff --git a/tests/cp/dir-slash b/tests/cp/dir-slash.sh similarity index 100% rename from tests/cp/dir-slash rename to tests/cp/dir-slash.sh diff --git a/tests/cp/dir-vs-file b/tests/cp/dir-vs-file.sh similarity index 100% rename from tests/cp/dir-vs-file rename to tests/cp/dir-vs-file.sh diff --git a/tests/cp/existing-perm-dir b/tests/cp/existing-perm-dir.sh similarity index 100% rename from tests/cp/existing-perm-dir rename to tests/cp/existing-perm-dir.sh diff --git a/tests/cp/existing-perm-race b/tests/cp/existing-perm-race.sh similarity index 100% rename from tests/cp/existing-perm-race rename to tests/cp/existing-perm-race.sh diff --git a/tests/cp/fail-perm b/tests/cp/fail-perm.sh similarity index 100% rename from tests/cp/fail-perm rename to tests/cp/fail-perm.sh diff --git a/tests/cp/fiemap-2 b/tests/cp/fiemap-2.sh similarity index 100% rename from tests/cp/fiemap-2 rename to tests/cp/fiemap-2.sh diff --git a/tests/cp/fiemap-empty b/tests/cp/fiemap-empty.sh similarity index 100% rename from tests/cp/fiemap-empty rename to tests/cp/fiemap-empty.sh diff --git a/tests/cp/fiemap-perf b/tests/cp/fiemap-perf.sh similarity index 100% rename from tests/cp/fiemap-perf rename to tests/cp/fiemap-perf.sh diff --git a/tests/cp/file-perm-race b/tests/cp/file-perm-race.sh similarity index 100% rename from tests/cp/file-perm-race rename to tests/cp/file-perm-race.sh diff --git a/tests/cp/into-self b/tests/cp/into-self.sh similarity index 100% rename from tests/cp/into-self rename to tests/cp/into-self.sh diff --git a/tests/cp/link-heap b/tests/cp/link-heap.sh similarity index 100% rename from tests/cp/link-heap rename to tests/cp/link-heap.sh diff --git a/tests/cp/link-no-deref b/tests/cp/link-no-deref.sh similarity index 100% rename from tests/cp/link-no-deref rename to tests/cp/link-no-deref.sh diff --git a/tests/cp/link-preserve b/tests/cp/link-preserve.sh similarity index 100% rename from tests/cp/link-preserve rename to tests/cp/link-preserve.sh diff --git a/tests/cp/link-symlink b/tests/cp/link-symlink.sh similarity index 100% rename from tests/cp/link-symlink rename to tests/cp/link-symlink.sh diff --git a/tests/cp/link b/tests/cp/link.sh similarity index 100% rename from tests/cp/link rename to tests/cp/link.sh diff --git a/tests/cp/nfs-removal-race b/tests/cp/nfs-removal-race.sh similarity index 100% rename from tests/cp/nfs-removal-race rename to tests/cp/nfs-removal-race.sh diff --git a/tests/cp/no-deref-link1 b/tests/cp/no-deref-link1.sh similarity index 100% rename from tests/cp/no-deref-link1 rename to tests/cp/no-deref-link1.sh diff --git a/tests/cp/no-deref-link2 b/tests/cp/no-deref-link2.sh similarity index 100% rename from tests/cp/no-deref-link2 rename to tests/cp/no-deref-link2.sh diff --git a/tests/cp/no-deref-link3 b/tests/cp/no-deref-link3.sh similarity index 100% rename from tests/cp/no-deref-link3 rename to tests/cp/no-deref-link3.sh diff --git a/tests/cp/parent-perm-race b/tests/cp/parent-perm-race.sh similarity index 100% rename from tests/cp/parent-perm-race rename to tests/cp/parent-perm-race.sh diff --git a/tests/cp/parent-perm b/tests/cp/parent-perm.sh similarity index 100% rename from tests/cp/parent-perm rename to tests/cp/parent-perm.sh diff --git a/tests/cp/perm b/tests/cp/perm.sh similarity index 100% rename from tests/cp/perm rename to tests/cp/perm.sh diff --git a/tests/cp/preserve-2 b/tests/cp/preserve-2.sh similarity index 100% rename from tests/cp/preserve-2 rename to tests/cp/preserve-2.sh diff --git a/tests/cp/preserve-gid b/tests/cp/preserve-gid.sh similarity index 100% rename from tests/cp/preserve-gid rename to tests/cp/preserve-gid.sh diff --git a/tests/cp/preserve-link b/tests/cp/preserve-link.sh similarity index 100% rename from tests/cp/preserve-link rename to tests/cp/preserve-link.sh diff --git a/tests/cp/preserve-slink-time b/tests/cp/preserve-slink-time.sh similarity index 100% rename from tests/cp/preserve-slink-time rename to tests/cp/preserve-slink-time.sh diff --git a/tests/cp/proc-short-read b/tests/cp/proc-short-read.sh similarity index 100% rename from tests/cp/proc-short-read rename to tests/cp/proc-short-read.sh diff --git a/tests/cp/proc-zero-len b/tests/cp/proc-zero-len.sh similarity index 100% rename from tests/cp/proc-zero-len rename to tests/cp/proc-zero-len.sh diff --git a/tests/cp/r-vs-symlink b/tests/cp/r-vs-symlink.sh similarity index 100% rename from tests/cp/r-vs-symlink rename to tests/cp/r-vs-symlink.sh diff --git a/tests/cp/reflink-auto b/tests/cp/reflink-auto.sh similarity index 100% rename from tests/cp/reflink-auto rename to tests/cp/reflink-auto.sh diff --git a/tests/cp/reflink-perm b/tests/cp/reflink-perm.sh similarity index 100% rename from tests/cp/reflink-perm rename to tests/cp/reflink-perm.sh diff --git a/tests/cp/same-file b/tests/cp/same-file.sh similarity index 100% rename from tests/cp/same-file rename to tests/cp/same-file.sh diff --git a/tests/cp/slink-2-slink b/tests/cp/slink-2-slink.sh similarity index 100% rename from tests/cp/slink-2-slink rename to tests/cp/slink-2-slink.sh diff --git a/tests/cp/sparse-fiemap b/tests/cp/sparse-fiemap.sh similarity index 100% rename from tests/cp/sparse-fiemap rename to tests/cp/sparse-fiemap.sh diff --git a/tests/cp/sparse-to-pipe b/tests/cp/sparse-to-pipe.sh similarity index 100% rename from tests/cp/sparse-to-pipe rename to tests/cp/sparse-to-pipe.sh diff --git a/tests/cp/sparse b/tests/cp/sparse.sh similarity index 100% rename from tests/cp/sparse rename to tests/cp/sparse.sh diff --git a/tests/cp/special-bits b/tests/cp/special-bits.sh similarity index 100% rename from tests/cp/special-bits rename to tests/cp/special-bits.sh diff --git a/tests/cp/special-f b/tests/cp/special-f.sh similarity index 100% rename from tests/cp/special-f rename to tests/cp/special-f.sh diff --git a/tests/cp/src-base-dot b/tests/cp/src-base-dot.sh similarity index 100% rename from tests/cp/src-base-dot rename to tests/cp/src-base-dot.sh diff --git a/tests/cp/symlink-slash b/tests/cp/symlink-slash.sh similarity index 100% rename from tests/cp/symlink-slash rename to tests/cp/symlink-slash.sh diff --git a/tests/cp/thru-dangling b/tests/cp/thru-dangling.sh similarity index 100% rename from tests/cp/thru-dangling rename to tests/cp/thru-dangling.sh diff --git a/tests/dd/bytes b/tests/dd/bytes.sh similarity index 100% rename from tests/dd/bytes rename to tests/dd/bytes.sh diff --git a/tests/dd/direct b/tests/dd/direct.sh similarity index 100% rename from tests/dd/direct rename to tests/dd/direct.sh diff --git a/tests/dd/misc b/tests/dd/misc.sh similarity index 100% rename from tests/dd/misc rename to tests/dd/misc.sh diff --git a/tests/dd/nocache b/tests/dd/nocache.sh similarity index 100% rename from tests/dd/nocache rename to tests/dd/nocache.sh diff --git a/tests/dd/not-rewound b/tests/dd/not-rewound.sh similarity index 100% rename from tests/dd/not-rewound rename to tests/dd/not-rewound.sh diff --git a/tests/dd/reblock b/tests/dd/reblock.sh similarity index 100% rename from tests/dd/reblock rename to tests/dd/reblock.sh diff --git a/tests/dd/skip-seek-past-dev b/tests/dd/skip-seek-past-dev.sh similarity index 100% rename from tests/dd/skip-seek-past-dev rename to tests/dd/skip-seek-past-dev.sh diff --git a/tests/dd/skip-seek-past-file b/tests/dd/skip-seek-past-file.sh similarity index 100% rename from tests/dd/skip-seek-past-file rename to tests/dd/skip-seek-past-file.sh diff --git a/tests/dd/skip-seek b/tests/dd/skip-seek.pl similarity index 100% rename from tests/dd/skip-seek rename to tests/dd/skip-seek.pl diff --git a/tests/dd/skip-seek2 b/tests/dd/skip-seek2.sh similarity index 100% rename from tests/dd/skip-seek2 rename to tests/dd/skip-seek2.sh diff --git a/tests/dd/sparse b/tests/dd/sparse.sh similarity index 100% rename from tests/dd/sparse rename to tests/dd/sparse.sh diff --git a/tests/dd/stderr b/tests/dd/stderr.sh similarity index 100% rename from tests/dd/stderr rename to tests/dd/stderr.sh diff --git a/tests/dd/unblock-sync b/tests/dd/unblock-sync.sh similarity index 100% rename from tests/dd/unblock-sync rename to tests/dd/unblock-sync.sh diff --git a/tests/dd/unblock b/tests/dd/unblock.pl similarity index 100% rename from tests/dd/unblock rename to tests/dd/unblock.pl diff --git a/tests/df/df-P b/tests/df/df-P.sh similarity index 100% rename from tests/df/df-P rename to tests/df/df-P.sh diff --git a/tests/df/header b/tests/df/header.sh similarity index 100% rename from tests/df/header rename to tests/df/header.sh diff --git a/tests/df/no-mtab-status b/tests/df/no-mtab-status.sh similarity index 100% rename from tests/df/no-mtab-status rename to tests/df/no-mtab-status.sh diff --git a/tests/df/problematic-chars b/tests/df/problematic-chars.sh similarity index 100% rename from tests/df/problematic-chars rename to tests/df/problematic-chars.sh diff --git a/tests/df/total-unprocessed b/tests/df/total-unprocessed.sh similarity index 100% rename from tests/df/total-unprocessed rename to tests/df/total-unprocessed.sh diff --git a/tests/df/total-verify b/tests/df/total-verify.sh similarity index 100% rename from tests/df/total-verify rename to tests/df/total-verify.sh diff --git a/tests/df/unreadable b/tests/df/unreadable.sh similarity index 100% rename from tests/df/unreadable rename to tests/df/unreadable.sh diff --git a/tests/du/2g b/tests/du/2g.sh similarity index 100% rename from tests/du/2g rename to tests/du/2g.sh diff --git a/tests/du/8gb b/tests/du/8gb.sh similarity index 100% rename from tests/du/8gb rename to tests/du/8gb.sh diff --git a/tests/du/basic b/tests/du/basic.sh similarity index 100% rename from tests/du/basic rename to tests/du/basic.sh diff --git a/tests/du/bigtime b/tests/du/bigtime.sh similarity index 100% rename from tests/du/bigtime rename to tests/du/bigtime.sh diff --git a/tests/du/bind-mount-dir-cycle b/tests/du/bind-mount-dir-cycle.sh similarity index 100% rename from tests/du/bind-mount-dir-cycle rename to tests/du/bind-mount-dir-cycle.sh diff --git a/tests/du/deref-args b/tests/du/deref-args.sh similarity index 100% rename from tests/du/deref-args rename to tests/du/deref-args.sh diff --git a/tests/du/deref b/tests/du/deref.sh similarity index 100% rename from tests/du/deref rename to tests/du/deref.sh diff --git a/tests/du/exclude b/tests/du/exclude.sh similarity index 100% rename from tests/du/exclude rename to tests/du/exclude.sh diff --git a/tests/du/fd-leak b/tests/du/fd-leak.sh similarity index 100% rename from tests/du/fd-leak rename to tests/du/fd-leak.sh diff --git a/tests/du/files0-from-dir b/tests/du/files0-from-dir.sh similarity index 100% rename from tests/du/files0-from-dir rename to tests/du/files0-from-dir.sh diff --git a/tests/du/files0-from b/tests/du/files0-from.pl similarity index 100% rename from tests/du/files0-from rename to tests/du/files0-from.pl diff --git a/tests/du/hard-link b/tests/du/hard-link.sh similarity index 100% rename from tests/du/hard-link rename to tests/du/hard-link.sh diff --git a/tests/du/inacc-dest b/tests/du/inacc-dest.sh similarity index 100% rename from tests/du/inacc-dest rename to tests/du/inacc-dest.sh diff --git a/tests/du/inacc-dir b/tests/du/inacc-dir.sh similarity index 100% rename from tests/du/inacc-dir rename to tests/du/inacc-dir.sh diff --git a/tests/du/inaccessible-cwd b/tests/du/inaccessible-cwd.sh similarity index 100% rename from tests/du/inaccessible-cwd rename to tests/du/inaccessible-cwd.sh diff --git a/tests/du/long-from-unreadable b/tests/du/long-from-unreadable.sh similarity index 100% rename from tests/du/long-from-unreadable rename to tests/du/long-from-unreadable.sh diff --git a/tests/du/long-sloop b/tests/du/long-sloop.sh similarity index 100% rename from tests/du/long-sloop rename to tests/du/long-sloop.sh diff --git a/tests/du/max-depth b/tests/du/max-depth.sh similarity index 100% rename from tests/du/max-depth rename to tests/du/max-depth.sh diff --git a/tests/du/move-dir-while-traversing b/tests/du/move-dir-while-traversing.sh similarity index 100% rename from tests/du/move-dir-while-traversing rename to tests/du/move-dir-while-traversing.sh diff --git a/tests/du/no-deref b/tests/du/no-deref.sh similarity index 100% rename from tests/du/no-deref rename to tests/du/no-deref.sh diff --git a/tests/du/no-x b/tests/du/no-x.sh similarity index 100% rename from tests/du/no-x rename to tests/du/no-x.sh diff --git a/tests/du/one-file-system b/tests/du/one-file-system.sh similarity index 100% rename from tests/du/one-file-system rename to tests/du/one-file-system.sh diff --git a/tests/du/restore-wd b/tests/du/restore-wd.sh similarity index 100% rename from tests/du/restore-wd rename to tests/du/restore-wd.sh diff --git a/tests/du/slash b/tests/du/slash.sh similarity index 100% rename from tests/du/slash rename to tests/du/slash.sh diff --git a/tests/du/slink b/tests/du/slink.sh similarity index 100% rename from tests/du/slink rename to tests/du/slink.sh diff --git a/tests/du/trailing-slash b/tests/du/trailing-slash.sh similarity index 100% rename from tests/du/trailing-slash rename to tests/du/trailing-slash.sh diff --git a/tests/du/two-args b/tests/du/two-args.sh similarity index 100% rename from tests/du/two-args rename to tests/du/two-args.sh diff --git a/tests/fmt/base b/tests/fmt/base.pl similarity index 100% rename from tests/fmt/base rename to tests/fmt/base.pl diff --git a/tests/fmt/goal-option b/tests/fmt/goal-option.sh similarity index 100% rename from tests/fmt/goal-option rename to tests/fmt/goal-option.sh diff --git a/tests/fmt/long-line b/tests/fmt/long-line.sh similarity index 100% rename from tests/fmt/long-line rename to tests/fmt/long-line.sh diff --git a/tests/id/gnu-zero-uids b/tests/id/gnu-zero-uids.sh similarity index 100% rename from tests/id/gnu-zero-uids rename to tests/id/gnu-zero-uids.sh diff --git a/tests/id/no-context b/tests/id/no-context.sh similarity index 100% rename from tests/id/no-context rename to tests/id/no-context.sh diff --git a/tests/install/basic-1 b/tests/install/basic-1.sh similarity index 100% rename from tests/install/basic-1 rename to tests/install/basic-1.sh diff --git a/tests/install/create-leading b/tests/install/create-leading.sh similarity index 100% rename from tests/install/create-leading rename to tests/install/create-leading.sh diff --git a/tests/install/d-slashdot b/tests/install/d-slashdot.sh similarity index 100% rename from tests/install/d-slashdot rename to tests/install/d-slashdot.sh diff --git a/tests/install/install-C-root b/tests/install/install-C-root.sh similarity index 100% rename from tests/install/install-C-root rename to tests/install/install-C-root.sh diff --git a/tests/install/install-C-selinux b/tests/install/install-C-selinux.sh similarity index 100% rename from tests/install/install-C-selinux rename to tests/install/install-C-selinux.sh diff --git a/tests/install/install-C b/tests/install/install-C.sh similarity index 100% rename from tests/install/install-C rename to tests/install/install-C.sh diff --git a/tests/install/strip-program b/tests/install/strip-program.sh similarity index 100% rename from tests/install/strip-program rename to tests/install/strip-program.sh diff --git a/tests/install/trap b/tests/install/trap.sh similarity index 100% rename from tests/install/trap rename to tests/install/trap.sh diff --git a/tests/ln/backup-1 b/tests/ln/backup-1.sh similarity index 100% rename from tests/ln/backup-1 rename to tests/ln/backup-1.sh diff --git a/tests/ln/hard-backup b/tests/ln/hard-backup.sh similarity index 100% rename from tests/ln/hard-backup rename to tests/ln/hard-backup.sh diff --git a/tests/ln/hard-to-sym b/tests/ln/hard-to-sym.sh similarity index 100% rename from tests/ln/hard-to-sym rename to tests/ln/hard-to-sym.sh diff --git a/tests/ln/misc b/tests/ln/misc.sh similarity index 100% rename from tests/ln/misc rename to tests/ln/misc.sh diff --git a/tests/ln/relative b/tests/ln/relative.sh similarity index 100% rename from tests/ln/relative rename to tests/ln/relative.sh diff --git a/tests/ln/sf-1 b/tests/ln/sf-1.sh similarity index 100% rename from tests/ln/sf-1 rename to tests/ln/sf-1.sh diff --git a/tests/ln/slash-decorated-nonexistent-dest b/tests/ln/slash-decorated-nonexistent-dest.sh similarity index 100% rename from tests/ln/slash-decorated-nonexistent-dest rename to tests/ln/slash-decorated-nonexistent-dest.sh diff --git a/tests/ln/target-1 b/tests/ln/target-1.sh similarity index 100% rename from tests/ln/target-1 rename to tests/ln/target-1.sh diff --git a/tests/ls/abmon-align b/tests/ls/abmon-align.sh similarity index 100% rename from tests/ls/abmon-align rename to tests/ls/abmon-align.sh diff --git a/tests/ls/block-size b/tests/ls/block-size.sh similarity index 100% rename from tests/ls/block-size rename to tests/ls/block-size.sh diff --git a/tests/ls/capability b/tests/ls/capability.sh similarity index 100% rename from tests/ls/capability rename to tests/ls/capability.sh diff --git a/tests/ls/color-clear-to-eol b/tests/ls/color-clear-to-eol.sh similarity index 100% rename from tests/ls/color-clear-to-eol rename to tests/ls/color-clear-to-eol.sh diff --git a/tests/ls/color-dtype-dir b/tests/ls/color-dtype-dir.sh similarity index 100% rename from tests/ls/color-dtype-dir rename to tests/ls/color-dtype-dir.sh diff --git a/tests/ls/color-norm b/tests/ls/color-norm.sh similarity index 100% rename from tests/ls/color-norm rename to tests/ls/color-norm.sh diff --git a/tests/ls/dangle b/tests/ls/dangle.sh similarity index 100% rename from tests/ls/dangle rename to tests/ls/dangle.sh diff --git a/tests/ls/dired b/tests/ls/dired.sh similarity index 100% rename from tests/ls/dired rename to tests/ls/dired.sh diff --git a/tests/ls/file-type b/tests/ls/file-type.sh similarity index 100% rename from tests/ls/file-type rename to tests/ls/file-type.sh diff --git a/tests/ls/follow-slink b/tests/ls/follow-slink.sh similarity index 100% rename from tests/ls/follow-slink rename to tests/ls/follow-slink.sh diff --git a/tests/ls/getxattr-speedup b/tests/ls/getxattr-speedup.sh similarity index 100% rename from tests/ls/getxattr-speedup rename to tests/ls/getxattr-speedup.sh diff --git a/tests/ls/infloop b/tests/ls/infloop.sh similarity index 100% rename from tests/ls/infloop rename to tests/ls/infloop.sh diff --git a/tests/ls/inode b/tests/ls/inode.sh similarity index 100% rename from tests/ls/inode rename to tests/ls/inode.sh diff --git a/tests/ls/m-option b/tests/ls/m-option.sh similarity index 100% rename from tests/ls/m-option rename to tests/ls/m-option.sh diff --git a/tests/ls/multihardlink b/tests/ls/multihardlink.sh similarity index 100% rename from tests/ls/multihardlink rename to tests/ls/multihardlink.sh diff --git a/tests/ls/nameless-uid b/tests/ls/nameless-uid.sh similarity index 100% rename from tests/ls/nameless-uid rename to tests/ls/nameless-uid.sh diff --git a/tests/ls/no-arg b/tests/ls/no-arg.sh similarity index 100% rename from tests/ls/no-arg rename to tests/ls/no-arg.sh diff --git a/tests/ls/no-cap b/tests/ls/no-cap.sh similarity index 100% rename from tests/ls/no-cap rename to tests/ls/no-cap.sh diff --git a/tests/ls/proc-selinux-segfault b/tests/ls/proc-selinux-segfault.sh similarity index 100% rename from tests/ls/proc-selinux-segfault rename to tests/ls/proc-selinux-segfault.sh diff --git a/tests/ls/readdir-mountpoint-inode b/tests/ls/readdir-mountpoint-inode.sh similarity index 100% rename from tests/ls/readdir-mountpoint-inode rename to tests/ls/readdir-mountpoint-inode.sh diff --git a/tests/ls/recursive b/tests/ls/recursive.sh similarity index 100% rename from tests/ls/recursive rename to tests/ls/recursive.sh diff --git a/tests/ls/root-rel-symlink-color b/tests/ls/root-rel-symlink-color.sh similarity index 100% rename from tests/ls/root-rel-symlink-color rename to tests/ls/root-rel-symlink-color.sh diff --git a/tests/ls/rt-1 b/tests/ls/rt-1.sh similarity index 100% rename from tests/ls/rt-1 rename to tests/ls/rt-1.sh diff --git a/tests/ls/slink-acl b/tests/ls/slink-acl.sh similarity index 100% rename from tests/ls/slink-acl rename to tests/ls/slink-acl.sh diff --git a/tests/ls/stat-dtype b/tests/ls/stat-dtype.sh similarity index 100% rename from tests/ls/stat-dtype rename to tests/ls/stat-dtype.sh diff --git a/tests/ls/stat-failed b/tests/ls/stat-failed.sh similarity index 100% rename from tests/ls/stat-failed rename to tests/ls/stat-failed.sh diff --git a/tests/ls/stat-free-color b/tests/ls/stat-free-color.sh similarity index 100% rename from tests/ls/stat-free-color rename to tests/ls/stat-free-color.sh diff --git a/tests/ls/stat-free-symlinks b/tests/ls/stat-free-symlinks.sh similarity index 100% rename from tests/ls/stat-free-symlinks rename to tests/ls/stat-free-symlinks.sh diff --git a/tests/ls/stat-vs-dirent b/tests/ls/stat-vs-dirent.sh similarity index 100% rename from tests/ls/stat-vs-dirent rename to tests/ls/stat-vs-dirent.sh diff --git a/tests/ls/symlink-slash b/tests/ls/symlink-slash.sh similarity index 100% rename from tests/ls/symlink-slash rename to tests/ls/symlink-slash.sh diff --git a/tests/ls/time-style-diag b/tests/ls/time-style-diag.sh similarity index 100% rename from tests/ls/time-style-diag rename to tests/ls/time-style-diag.sh diff --git a/tests/ls/x-option b/tests/ls/x-option.sh similarity index 100% rename from tests/ls/x-option rename to tests/ls/x-option.sh diff --git a/tests/misc/arch b/tests/misc/arch.sh similarity index 100% rename from tests/misc/arch rename to tests/misc/arch.sh diff --git a/tests/misc/base64 b/tests/misc/base64.pl similarity index 100% rename from tests/misc/base64 rename to tests/misc/base64.pl diff --git a/tests/misc/basename b/tests/misc/basename.pl similarity index 100% rename from tests/misc/basename rename to tests/misc/basename.pl diff --git a/tests/misc/cat-buf b/tests/misc/cat-buf.sh similarity index 100% rename from tests/misc/cat-buf rename to tests/misc/cat-buf.sh diff --git a/tests/misc/cat-proc b/tests/misc/cat-proc.sh similarity index 100% rename from tests/misc/cat-proc rename to tests/misc/cat-proc.sh diff --git a/tests/misc/chcon-fail b/tests/misc/chcon-fail.sh similarity index 100% rename from tests/misc/chcon-fail rename to tests/misc/chcon-fail.sh diff --git a/tests/misc/chcon b/tests/misc/chcon.sh similarity index 100% rename from tests/misc/chcon rename to tests/misc/chcon.sh diff --git a/tests/misc/chroot-credentials b/tests/misc/chroot-credentials.sh similarity index 100% rename from tests/misc/chroot-credentials rename to tests/misc/chroot-credentials.sh diff --git a/tests/misc/chroot-fail b/tests/misc/chroot-fail.sh similarity index 100% rename from tests/misc/chroot-fail rename to tests/misc/chroot-fail.sh diff --git a/tests/misc/close-stdout b/tests/misc/close-stdout.sh similarity index 100% rename from tests/misc/close-stdout rename to tests/misc/close-stdout.sh diff --git a/tests/misc/comm b/tests/misc/comm.pl similarity index 100% rename from tests/misc/comm rename to tests/misc/comm.pl diff --git a/tests/misc/csplit-1000 b/tests/misc/csplit-1000.sh similarity index 100% rename from tests/misc/csplit-1000 rename to tests/misc/csplit-1000.sh diff --git a/tests/misc/csplit-heap b/tests/misc/csplit-heap.sh similarity index 100% rename from tests/misc/csplit-heap rename to tests/misc/csplit-heap.sh diff --git a/tests/misc/csplit b/tests/misc/csplit.sh similarity index 100% rename from tests/misc/csplit rename to tests/misc/csplit.sh diff --git a/tests/misc/cut b/tests/misc/cut.pl similarity index 100% rename from tests/misc/cut rename to tests/misc/cut.pl diff --git a/tests/misc/date-next-dow b/tests/misc/date-next-dow.pl similarity index 100% rename from tests/misc/date-next-dow rename to tests/misc/date-next-dow.pl diff --git a/tests/misc/date-sec b/tests/misc/date-sec.sh similarity index 100% rename from tests/misc/date-sec rename to tests/misc/date-sec.sh diff --git a/tests/misc/date b/tests/misc/date.pl similarity index 100% rename from tests/misc/date rename to tests/misc/date.pl diff --git a/tests/misc/dircolors b/tests/misc/dircolors.pl similarity index 100% rename from tests/misc/dircolors rename to tests/misc/dircolors.pl diff --git a/tests/misc/dirname b/tests/misc/dirname.pl similarity index 100% rename from tests/misc/dirname rename to tests/misc/dirname.pl diff --git a/tests/misc/env-null b/tests/misc/env-null.sh similarity index 100% rename from tests/misc/env-null rename to tests/misc/env-null.sh diff --git a/tests/misc/env b/tests/misc/env.sh similarity index 100% rename from tests/misc/env rename to tests/misc/env.sh diff --git a/tests/misc/expand b/tests/misc/expand.pl similarity index 100% rename from tests/misc/expand rename to tests/misc/expand.pl diff --git a/tests/misc/expr b/tests/misc/expr.pl similarity index 100% rename from tests/misc/expr rename to tests/misc/expr.pl diff --git a/tests/misc/factor b/tests/misc/factor.pl similarity index 100% rename from tests/misc/factor rename to tests/misc/factor.pl diff --git a/tests/misc/false-status b/tests/misc/false-status.sh similarity index 100% rename from tests/misc/false-status rename to tests/misc/false-status.sh diff --git a/tests/misc/fold b/tests/misc/fold.pl similarity index 100% rename from tests/misc/fold rename to tests/misc/fold.pl diff --git a/tests/misc/groups-dash b/tests/misc/groups-dash.sh similarity index 100% rename from tests/misc/groups-dash rename to tests/misc/groups-dash.sh diff --git a/tests/misc/groups-version b/tests/misc/groups-version.sh similarity index 100% rename from tests/misc/groups-version rename to tests/misc/groups-version.sh diff --git a/tests/misc/head-c b/tests/misc/head-c.sh similarity index 100% rename from tests/misc/head-c rename to tests/misc/head-c.sh diff --git a/tests/misc/head-elide-tail b/tests/misc/head-elide-tail.pl similarity index 100% rename from tests/misc/head-elide-tail rename to tests/misc/head-elide-tail.pl diff --git a/tests/misc/head-pos b/tests/misc/head-pos.sh similarity index 100% rename from tests/misc/head-pos rename to tests/misc/head-pos.sh diff --git a/tests/misc/head b/tests/misc/head.pl similarity index 100% rename from tests/misc/head rename to tests/misc/head.pl diff --git a/tests/misc/help-version b/tests/misc/help-version.sh similarity index 100% rename from tests/misc/help-version rename to tests/misc/help-version.sh diff --git a/tests/misc/id-context b/tests/misc/id-context.sh similarity index 100% rename from tests/misc/id-context rename to tests/misc/id-context.sh diff --git a/tests/misc/id-groups b/tests/misc/id-groups.sh similarity index 100% rename from tests/misc/id-groups rename to tests/misc/id-groups.sh diff --git a/tests/misc/id-setgid b/tests/misc/id-setgid.sh similarity index 100% rename from tests/misc/id-setgid rename to tests/misc/id-setgid.sh diff --git a/tests/misc/invalid-opt b/tests/misc/invalid-opt.pl similarity index 100% rename from tests/misc/invalid-opt rename to tests/misc/invalid-opt.pl diff --git a/tests/misc/join b/tests/misc/join.pl similarity index 100% rename from tests/misc/join rename to tests/misc/join.pl diff --git a/tests/misc/ls-misc b/tests/misc/ls-misc.pl similarity index 100% rename from tests/misc/ls-misc rename to tests/misc/ls-misc.pl diff --git a/tests/misc/ls-time b/tests/misc/ls-time.sh similarity index 100% rename from tests/misc/ls-time rename to tests/misc/ls-time.sh diff --git a/tests/misc/md5sum-bsd b/tests/misc/md5sum-bsd.sh similarity index 100% rename from tests/misc/md5sum-bsd rename to tests/misc/md5sum-bsd.sh diff --git a/tests/misc/md5sum-newline b/tests/misc/md5sum-newline.pl similarity index 100% rename from tests/misc/md5sum-newline rename to tests/misc/md5sum-newline.pl diff --git a/tests/misc/md5sum-parallel b/tests/misc/md5sum-parallel.sh similarity index 100% rename from tests/misc/md5sum-parallel rename to tests/misc/md5sum-parallel.sh diff --git a/tests/misc/md5sum b/tests/misc/md5sum.pl similarity index 100% rename from tests/misc/md5sum rename to tests/misc/md5sum.pl diff --git a/tests/misc/mknod b/tests/misc/mknod.sh similarity index 100% rename from tests/misc/mknod rename to tests/misc/mknod.sh diff --git a/tests/misc/mktemp b/tests/misc/mktemp.pl similarity index 100% rename from tests/misc/mktemp rename to tests/misc/mktemp.pl diff --git a/tests/misc/nice-fail b/tests/misc/nice-fail.sh similarity index 100% rename from tests/misc/nice-fail rename to tests/misc/nice-fail.sh diff --git a/tests/misc/nice b/tests/misc/nice.sh similarity index 100% rename from tests/misc/nice rename to tests/misc/nice.sh diff --git a/tests/misc/nl b/tests/misc/nl.sh similarity index 100% rename from tests/misc/nl rename to tests/misc/nl.sh diff --git a/tests/misc/nohup b/tests/misc/nohup.sh similarity index 100% rename from tests/misc/nohup rename to tests/misc/nohup.sh diff --git a/tests/misc/nproc-avail b/tests/misc/nproc-avail.sh similarity index 100% rename from tests/misc/nproc-avail rename to tests/misc/nproc-avail.sh diff --git a/tests/misc/nproc-positive b/tests/misc/nproc-positive.sh similarity index 100% rename from tests/misc/nproc-positive rename to tests/misc/nproc-positive.sh diff --git a/tests/misc/od-N b/tests/misc/od-N.sh similarity index 100% rename from tests/misc/od-N rename to tests/misc/od-N.sh diff --git a/tests/misc/od-float b/tests/misc/od-float.sh similarity index 100% rename from tests/misc/od-float rename to tests/misc/od-float.sh diff --git a/tests/misc/od-multiple-t b/tests/misc/od-multiple-t.sh similarity index 100% rename from tests/misc/od-multiple-t rename to tests/misc/od-multiple-t.sh diff --git a/tests/misc/od-x8 b/tests/misc/od-x8.sh similarity index 100% rename from tests/misc/od-x8 rename to tests/misc/od-x8.sh diff --git a/tests/misc/od b/tests/misc/od.pl similarity index 100% rename from tests/misc/od rename to tests/misc/od.pl diff --git a/tests/misc/paste b/tests/misc/paste.pl similarity index 100% rename from tests/misc/paste rename to tests/misc/paste.pl diff --git a/tests/misc/pathchk1 b/tests/misc/pathchk1.sh similarity index 100% rename from tests/misc/pathchk1 rename to tests/misc/pathchk1.sh diff --git a/tests/misc/pr b/tests/misc/pr.pl similarity index 100% rename from tests/misc/pr rename to tests/misc/pr.pl diff --git a/tests/misc/printenv b/tests/misc/printenv.sh similarity index 100% rename from tests/misc/printenv rename to tests/misc/printenv.sh diff --git a/tests/misc/printf-cov b/tests/misc/printf-cov.pl similarity index 100% rename from tests/misc/printf-cov rename to tests/misc/printf-cov.pl diff --git a/tests/misc/printf-hex b/tests/misc/printf-hex.sh similarity index 100% rename from tests/misc/printf-hex rename to tests/misc/printf-hex.sh diff --git a/tests/misc/printf-surprise b/tests/misc/printf-surprise.sh similarity index 100% rename from tests/misc/printf-surprise rename to tests/misc/printf-surprise.sh diff --git a/tests/misc/printf b/tests/misc/printf.sh similarity index 100% rename from tests/misc/printf rename to tests/misc/printf.sh diff --git a/tests/misc/ptx-overrun b/tests/misc/ptx-overrun.sh similarity index 100% rename from tests/misc/ptx-overrun rename to tests/misc/ptx-overrun.sh diff --git a/tests/misc/ptx b/tests/misc/ptx.pl similarity index 100% rename from tests/misc/ptx rename to tests/misc/ptx.pl diff --git a/tests/misc/pwd-long b/tests/misc/pwd-long.sh similarity index 100% rename from tests/misc/pwd-long rename to tests/misc/pwd-long.sh diff --git a/tests/misc/pwd-option b/tests/misc/pwd-option.sh similarity index 100% rename from tests/misc/pwd-option rename to tests/misc/pwd-option.sh diff --git a/tests/misc/readlink-fp-loop b/tests/misc/readlink-fp-loop.sh similarity index 100% rename from tests/misc/readlink-fp-loop rename to tests/misc/readlink-fp-loop.sh diff --git a/tests/misc/readlink-root b/tests/misc/readlink-root.sh similarity index 100% rename from tests/misc/readlink-root rename to tests/misc/readlink-root.sh diff --git a/tests/misc/realpath b/tests/misc/realpath.sh similarity index 100% rename from tests/misc/realpath rename to tests/misc/realpath.sh diff --git a/tests/misc/runcon-no-reorder b/tests/misc/runcon-no-reorder.sh similarity index 100% rename from tests/misc/runcon-no-reorder rename to tests/misc/runcon-no-reorder.sh diff --git a/tests/misc/selinux b/tests/misc/selinux.sh similarity index 100% rename from tests/misc/selinux rename to tests/misc/selinux.sh diff --git a/tests/misc/seq-long-double b/tests/misc/seq-long-double.sh similarity index 100% rename from tests/misc/seq-long-double rename to tests/misc/seq-long-double.sh diff --git a/tests/misc/seq b/tests/misc/seq.pl similarity index 100% rename from tests/misc/seq rename to tests/misc/seq.pl diff --git a/tests/misc/sha1sum-vec b/tests/misc/sha1sum-vec.pl similarity index 100% rename from tests/misc/sha1sum-vec rename to tests/misc/sha1sum-vec.pl diff --git a/tests/misc/sha1sum b/tests/misc/sha1sum.pl similarity index 100% rename from tests/misc/sha1sum rename to tests/misc/sha1sum.pl diff --git a/tests/misc/sha224sum b/tests/misc/sha224sum.pl similarity index 100% rename from tests/misc/sha224sum rename to tests/misc/sha224sum.pl diff --git a/tests/misc/sha256sum b/tests/misc/sha256sum.pl similarity index 100% rename from tests/misc/sha256sum rename to tests/misc/sha256sum.pl diff --git a/tests/misc/sha384sum b/tests/misc/sha384sum.pl similarity index 100% rename from tests/misc/sha384sum rename to tests/misc/sha384sum.pl diff --git a/tests/misc/sha512sum b/tests/misc/sha512sum.pl similarity index 100% rename from tests/misc/sha512sum rename to tests/misc/sha512sum.pl diff --git a/tests/misc/shred-exact b/tests/misc/shred-exact.sh similarity index 100% rename from tests/misc/shred-exact rename to tests/misc/shred-exact.sh diff --git a/tests/misc/shred-passes b/tests/misc/shred-passes.sh similarity index 100% rename from tests/misc/shred-passes rename to tests/misc/shred-passes.sh diff --git a/tests/misc/shred-remove b/tests/misc/shred-remove.sh similarity index 100% rename from tests/misc/shred-remove rename to tests/misc/shred-remove.sh diff --git a/tests/misc/shuf b/tests/misc/shuf.sh similarity index 100% rename from tests/misc/shuf rename to tests/misc/shuf.sh diff --git a/tests/misc/sort-NaN-infloop b/tests/misc/sort-NaN-infloop.sh similarity index 100% rename from tests/misc/sort-NaN-infloop rename to tests/misc/sort-NaN-infloop.sh diff --git a/tests/misc/sort-benchmark-random b/tests/misc/sort-benchmark-random.sh similarity index 100% rename from tests/misc/sort-benchmark-random rename to tests/misc/sort-benchmark-random.sh diff --git a/tests/misc/sort-compress-hang b/tests/misc/sort-compress-hang.sh similarity index 100% rename from tests/misc/sort-compress-hang rename to tests/misc/sort-compress-hang.sh diff --git a/tests/misc/sort-compress-proc b/tests/misc/sort-compress-proc.sh similarity index 100% rename from tests/misc/sort-compress-proc rename to tests/misc/sort-compress-proc.sh diff --git a/tests/misc/sort-compress b/tests/misc/sort-compress.sh similarity index 100% rename from tests/misc/sort-compress rename to tests/misc/sort-compress.sh diff --git a/tests/misc/sort-continue b/tests/misc/sort-continue.sh similarity index 100% rename from tests/misc/sort-continue rename to tests/misc/sort-continue.sh diff --git a/tests/misc/sort-debug-keys b/tests/misc/sort-debug-keys.sh similarity index 100% rename from tests/misc/sort-debug-keys rename to tests/misc/sort-debug-keys.sh diff --git a/tests/misc/sort-debug-warn b/tests/misc/sort-debug-warn.sh similarity index 100% rename from tests/misc/sort-debug-warn rename to tests/misc/sort-debug-warn.sh diff --git a/tests/misc/sort-discrim b/tests/misc/sort-discrim.sh similarity index 100% rename from tests/misc/sort-discrim rename to tests/misc/sort-discrim.sh diff --git a/tests/misc/sort-exit-early b/tests/misc/sort-exit-early.sh similarity index 100% rename from tests/misc/sort-exit-early rename to tests/misc/sort-exit-early.sh diff --git a/tests/misc/sort-files0-from b/tests/misc/sort-files0-from.pl similarity index 100% rename from tests/misc/sort-files0-from rename to tests/misc/sort-files0-from.pl diff --git a/tests/misc/sort-float b/tests/misc/sort-float.sh similarity index 100% rename from tests/misc/sort-float rename to tests/misc/sort-float.sh diff --git a/tests/misc/sort-merge-fdlimit b/tests/misc/sort-merge-fdlimit.sh similarity index 100% rename from tests/misc/sort-merge-fdlimit rename to tests/misc/sort-merge-fdlimit.sh diff --git a/tests/misc/sort-merge b/tests/misc/sort-merge.pl similarity index 100% rename from tests/misc/sort-merge rename to tests/misc/sort-merge.pl diff --git a/tests/misc/sort-month b/tests/misc/sort-month.sh similarity index 100% rename from tests/misc/sort-month rename to tests/misc/sort-month.sh diff --git a/tests/misc/sort-rand b/tests/misc/sort-rand.sh similarity index 100% rename from tests/misc/sort-rand rename to tests/misc/sort-rand.sh diff --git a/tests/misc/sort-spinlock-abuse b/tests/misc/sort-spinlock-abuse.sh similarity index 100% rename from tests/misc/sort-spinlock-abuse rename to tests/misc/sort-spinlock-abuse.sh diff --git a/tests/misc/sort-stale-thread-mem b/tests/misc/sort-stale-thread-mem.sh similarity index 100% rename from tests/misc/sort-stale-thread-mem rename to tests/misc/sort-stale-thread-mem.sh diff --git a/tests/misc/sort-u-FMR b/tests/misc/sort-u-FMR.sh similarity index 100% rename from tests/misc/sort-u-FMR rename to tests/misc/sort-u-FMR.sh diff --git a/tests/misc/sort-unique-segv b/tests/misc/sort-unique-segv.sh similarity index 100% rename from tests/misc/sort-unique-segv rename to tests/misc/sort-unique-segv.sh diff --git a/tests/misc/sort-unique b/tests/misc/sort-unique.sh similarity index 100% rename from tests/misc/sort-unique rename to tests/misc/sort-unique.sh diff --git a/tests/misc/sort-version b/tests/misc/sort-version.sh similarity index 100% rename from tests/misc/sort-version rename to tests/misc/sort-version.sh diff --git a/tests/misc/sort b/tests/misc/sort.pl similarity index 100% rename from tests/misc/sort rename to tests/misc/sort.pl diff --git a/tests/misc/stat-birthtime b/tests/misc/stat-birthtime.sh similarity index 100% rename from tests/misc/stat-birthtime rename to tests/misc/stat-birthtime.sh diff --git a/tests/misc/stat-fmt b/tests/misc/stat-fmt.sh similarity index 100% rename from tests/misc/stat-fmt rename to tests/misc/stat-fmt.sh diff --git a/tests/misc/stat-hyphen b/tests/misc/stat-hyphen.sh similarity index 100% rename from tests/misc/stat-hyphen rename to tests/misc/stat-hyphen.sh diff --git a/tests/misc/stat-mount b/tests/misc/stat-mount.sh similarity index 100% rename from tests/misc/stat-mount rename to tests/misc/stat-mount.sh diff --git a/tests/misc/stat-nanoseconds b/tests/misc/stat-nanoseconds.sh similarity index 100% rename from tests/misc/stat-nanoseconds rename to tests/misc/stat-nanoseconds.sh diff --git a/tests/misc/stat-printf b/tests/misc/stat-printf.pl similarity index 100% rename from tests/misc/stat-printf rename to tests/misc/stat-printf.pl diff --git a/tests/misc/stat-slash b/tests/misc/stat-slash.sh similarity index 100% rename from tests/misc/stat-slash rename to tests/misc/stat-slash.sh diff --git a/tests/misc/stdbuf b/tests/misc/stdbuf.sh similarity index 100% rename from tests/misc/stdbuf rename to tests/misc/stdbuf.sh diff --git a/tests/misc/stty-invalid b/tests/misc/stty-invalid.sh similarity index 100% rename from tests/misc/stty-invalid rename to tests/misc/stty-invalid.sh diff --git a/tests/misc/stty-pairs b/tests/misc/stty-pairs.sh similarity index 100% rename from tests/misc/stty-pairs rename to tests/misc/stty-pairs.sh diff --git a/tests/misc/stty-row-col b/tests/misc/stty-row-col.sh similarity index 100% rename from tests/misc/stty-row-col rename to tests/misc/stty-row-col.sh diff --git a/tests/misc/stty b/tests/misc/stty.sh similarity index 100% rename from tests/misc/stty rename to tests/misc/stty.sh diff --git a/tests/misc/sum-sysv b/tests/misc/sum-sysv.sh similarity index 100% rename from tests/misc/sum-sysv rename to tests/misc/sum-sysv.sh diff --git a/tests/misc/sum b/tests/misc/sum.pl similarity index 100% rename from tests/misc/sum rename to tests/misc/sum.pl diff --git a/tests/misc/tac-2-nonseekable b/tests/misc/tac-2-nonseekable.sh similarity index 100% rename from tests/misc/tac-2-nonseekable rename to tests/misc/tac-2-nonseekable.sh diff --git a/tests/misc/tac-continue b/tests/misc/tac-continue.sh similarity index 100% rename from tests/misc/tac-continue rename to tests/misc/tac-continue.sh diff --git a/tests/misc/tac b/tests/misc/tac.pl similarity index 100% rename from tests/misc/tac rename to tests/misc/tac.pl diff --git a/tests/misc/tail b/tests/misc/tail.pl similarity index 100% rename from tests/misc/tail rename to tests/misc/tail.pl diff --git a/tests/misc/tee-dash b/tests/misc/tee-dash.sh similarity index 100% rename from tests/misc/tee-dash rename to tests/misc/tee-dash.sh diff --git a/tests/misc/tee b/tests/misc/tee.sh similarity index 100% rename from tests/misc/tee rename to tests/misc/tee.sh diff --git a/tests/misc/test-diag b/tests/misc/test-diag.pl similarity index 100% rename from tests/misc/test-diag rename to tests/misc/test-diag.pl diff --git a/tests/misc/test b/tests/misc/test.pl similarity index 100% rename from tests/misc/test rename to tests/misc/test.pl diff --git a/tests/misc/timeout-group b/tests/misc/timeout-group.sh similarity index 100% rename from tests/misc/timeout-group rename to tests/misc/timeout-group.sh diff --git a/tests/misc/timeout-parameters b/tests/misc/timeout-parameters.sh similarity index 100% rename from tests/misc/timeout-parameters rename to tests/misc/timeout-parameters.sh diff --git a/tests/misc/timeout b/tests/misc/timeout.sh similarity index 100% rename from tests/misc/timeout rename to tests/misc/timeout.sh diff --git a/tests/misc/tr-case-class b/tests/misc/tr-case-class.sh similarity index 100% rename from tests/misc/tr-case-class rename to tests/misc/tr-case-class.sh diff --git a/tests/misc/tr b/tests/misc/tr.pl similarity index 100% rename from tests/misc/tr rename to tests/misc/tr.pl diff --git a/tests/misc/truncate-dangling-symlink b/tests/misc/truncate-dangling-symlink.sh similarity index 100% rename from tests/misc/truncate-dangling-symlink rename to tests/misc/truncate-dangling-symlink.sh diff --git a/tests/misc/truncate-dir-fail b/tests/misc/truncate-dir-fail.sh similarity index 100% rename from tests/misc/truncate-dir-fail rename to tests/misc/truncate-dir-fail.sh diff --git a/tests/misc/truncate-fail-diag b/tests/misc/truncate-fail-diag.sh similarity index 100% rename from tests/misc/truncate-fail-diag rename to tests/misc/truncate-fail-diag.sh diff --git a/tests/misc/truncate-fifo b/tests/misc/truncate-fifo.sh similarity index 100% rename from tests/misc/truncate-fifo rename to tests/misc/truncate-fifo.sh diff --git a/tests/misc/truncate-no-create-missing b/tests/misc/truncate-no-create-missing.sh similarity index 100% rename from tests/misc/truncate-no-create-missing rename to tests/misc/truncate-no-create-missing.sh diff --git a/tests/misc/truncate-overflow b/tests/misc/truncate-overflow.sh similarity index 100% rename from tests/misc/truncate-overflow rename to tests/misc/truncate-overflow.sh diff --git a/tests/misc/truncate-owned-by-other b/tests/misc/truncate-owned-by-other.sh similarity index 100% rename from tests/misc/truncate-owned-by-other rename to tests/misc/truncate-owned-by-other.sh diff --git a/tests/misc/truncate-parameters b/tests/misc/truncate-parameters.sh similarity index 100% rename from tests/misc/truncate-parameters rename to tests/misc/truncate-parameters.sh diff --git a/tests/misc/truncate-relative b/tests/misc/truncate-relative.sh similarity index 100% rename from tests/misc/truncate-relative rename to tests/misc/truncate-relative.sh diff --git a/tests/misc/tsort b/tests/misc/tsort.pl similarity index 100% rename from tests/misc/tsort rename to tests/misc/tsort.pl diff --git a/tests/misc/tty-eof b/tests/misc/tty-eof.pl similarity index 100% rename from tests/misc/tty-eof rename to tests/misc/tty-eof.pl diff --git a/tests/misc/unexpand b/tests/misc/unexpand.pl similarity index 100% rename from tests/misc/unexpand rename to tests/misc/unexpand.pl diff --git a/tests/misc/uniq-perf b/tests/misc/uniq-perf.sh similarity index 100% rename from tests/misc/uniq-perf rename to tests/misc/uniq-perf.sh diff --git a/tests/misc/uniq b/tests/misc/uniq.pl similarity index 100% rename from tests/misc/uniq rename to tests/misc/uniq.pl diff --git a/tests/misc/wc-files0-from b/tests/misc/wc-files0-from.pl similarity index 100% rename from tests/misc/wc-files0-from rename to tests/misc/wc-files0-from.pl diff --git a/tests/misc/wc-files0 b/tests/misc/wc-files0.sh similarity index 100% rename from tests/misc/wc-files0 rename to tests/misc/wc-files0.sh diff --git a/tests/misc/wc-parallel b/tests/misc/wc-parallel.sh similarity index 100% rename from tests/misc/wc-parallel rename to tests/misc/wc-parallel.sh diff --git a/tests/misc/wc b/tests/misc/wc.pl similarity index 100% rename from tests/misc/wc rename to tests/misc/wc.pl diff --git a/tests/misc/xattr b/tests/misc/xattr.sh similarity index 100% rename from tests/misc/xattr rename to tests/misc/xattr.sh diff --git a/tests/misc/xstrtol b/tests/misc/xstrtol.pl similarity index 100% rename from tests/misc/xstrtol rename to tests/misc/xstrtol.pl diff --git a/tests/mkdir/p-1 b/tests/mkdir/p-1.sh similarity index 100% rename from tests/mkdir/p-1 rename to tests/mkdir/p-1.sh diff --git a/tests/mkdir/p-2 b/tests/mkdir/p-2.sh similarity index 100% rename from tests/mkdir/p-2 rename to tests/mkdir/p-2.sh diff --git a/tests/mkdir/p-3 b/tests/mkdir/p-3.sh similarity index 100% rename from tests/mkdir/p-3 rename to tests/mkdir/p-3.sh diff --git a/tests/mkdir/p-slashdot b/tests/mkdir/p-slashdot.sh similarity index 100% rename from tests/mkdir/p-slashdot rename to tests/mkdir/p-slashdot.sh diff --git a/tests/mkdir/p-thru-slink b/tests/mkdir/p-thru-slink.sh similarity index 100% rename from tests/mkdir/p-thru-slink rename to tests/mkdir/p-thru-slink.sh diff --git a/tests/mkdir/p-v b/tests/mkdir/p-v.sh similarity index 100% rename from tests/mkdir/p-v rename to tests/mkdir/p-v.sh diff --git a/tests/mkdir/parents b/tests/mkdir/parents.sh similarity index 100% rename from tests/mkdir/parents rename to tests/mkdir/parents.sh diff --git a/tests/mkdir/perm b/tests/mkdir/perm.sh similarity index 100% rename from tests/mkdir/perm rename to tests/mkdir/perm.sh diff --git a/tests/mkdir/selinux b/tests/mkdir/selinux.sh similarity index 100% rename from tests/mkdir/selinux rename to tests/mkdir/selinux.sh diff --git a/tests/mkdir/special-1 b/tests/mkdir/special-1.sh similarity index 100% rename from tests/mkdir/special-1 rename to tests/mkdir/special-1.sh diff --git a/tests/mkdir/t-slash b/tests/mkdir/t-slash.sh similarity index 100% rename from tests/mkdir/t-slash rename to tests/mkdir/t-slash.sh diff --git a/tests/mkdir/writable-under-readonly b/tests/mkdir/writable-under-readonly.sh similarity index 100% rename from tests/mkdir/writable-under-readonly rename to tests/mkdir/writable-under-readonly.sh diff --git a/tests/mv/acl b/tests/mv/acl.sh similarity index 100% rename from tests/mv/acl rename to tests/mv/acl.sh diff --git a/tests/mv/atomic b/tests/mv/atomic.sh similarity index 100% rename from tests/mv/atomic rename to tests/mv/atomic.sh diff --git a/tests/mv/atomic2 b/tests/mv/atomic2.sh similarity index 100% rename from tests/mv/atomic2 rename to tests/mv/atomic2.sh diff --git a/tests/mv/backup-dir b/tests/mv/backup-dir.sh similarity index 100% rename from tests/mv/backup-dir rename to tests/mv/backup-dir.sh diff --git a/tests/mv/backup-is-src b/tests/mv/backup-is-src.sh similarity index 100% rename from tests/mv/backup-is-src rename to tests/mv/backup-is-src.sh diff --git a/tests/mv/childproof b/tests/mv/childproof.sh similarity index 100% rename from tests/mv/childproof rename to tests/mv/childproof.sh diff --git a/tests/mv/diag b/tests/mv/diag.sh similarity index 100% rename from tests/mv/diag rename to tests/mv/diag.sh diff --git a/tests/mv/dir-file b/tests/mv/dir-file.sh similarity index 100% rename from tests/mv/dir-file rename to tests/mv/dir-file.sh diff --git a/tests/mv/dir2dir b/tests/mv/dir2dir.sh similarity index 100% rename from tests/mv/dir2dir rename to tests/mv/dir2dir.sh diff --git a/tests/mv/dup-source b/tests/mv/dup-source.sh similarity index 100% rename from tests/mv/dup-source rename to tests/mv/dup-source.sh diff --git a/tests/mv/force b/tests/mv/force.sh similarity index 100% rename from tests/mv/force rename to tests/mv/force.sh diff --git a/tests/mv/hard-2 b/tests/mv/hard-2.sh similarity index 100% rename from tests/mv/hard-2 rename to tests/mv/hard-2.sh diff --git a/tests/mv/hard-3 b/tests/mv/hard-3.sh similarity index 100% rename from tests/mv/hard-3 rename to tests/mv/hard-3.sh diff --git a/tests/mv/hard-4 b/tests/mv/hard-4.sh similarity index 100% rename from tests/mv/hard-4 rename to tests/mv/hard-4.sh diff --git a/tests/mv/hard-link-1 b/tests/mv/hard-link-1.sh similarity index 100% rename from tests/mv/hard-link-1 rename to tests/mv/hard-link-1.sh diff --git a/tests/mv/hard-verbose b/tests/mv/hard-verbose.sh similarity index 100% rename from tests/mv/hard-verbose rename to tests/mv/hard-verbose.sh diff --git a/tests/mv/i-1 b/tests/mv/i-1.pl similarity index 100% rename from tests/mv/i-1 rename to tests/mv/i-1.pl diff --git a/tests/mv/i-2 b/tests/mv/i-2.sh similarity index 100% rename from tests/mv/i-2 rename to tests/mv/i-2.sh diff --git a/tests/mv/i-3 b/tests/mv/i-3.sh similarity index 100% rename from tests/mv/i-3 rename to tests/mv/i-3.sh diff --git a/tests/mv/i-4 b/tests/mv/i-4.sh similarity index 100% rename from tests/mv/i-4 rename to tests/mv/i-4.sh diff --git a/tests/mv/i-5 b/tests/mv/i-5.sh similarity index 100% rename from tests/mv/i-5 rename to tests/mv/i-5.sh diff --git a/tests/mv/i-link-no b/tests/mv/i-link-no.sh similarity index 100% rename from tests/mv/i-link-no rename to tests/mv/i-link-no.sh diff --git a/tests/mv/into-self-2 b/tests/mv/into-self-2.sh similarity index 100% rename from tests/mv/into-self-2 rename to tests/mv/into-self-2.sh diff --git a/tests/mv/into-self-3 b/tests/mv/into-self-3.sh similarity index 100% rename from tests/mv/into-self-3 rename to tests/mv/into-self-3.sh diff --git a/tests/mv/into-self-4 b/tests/mv/into-self-4.sh similarity index 100% rename from tests/mv/into-self-4 rename to tests/mv/into-self-4.sh diff --git a/tests/mv/into-self b/tests/mv/into-self.sh similarity index 100% rename from tests/mv/into-self rename to tests/mv/into-self.sh diff --git a/tests/mv/leak-fd b/tests/mv/leak-fd.sh similarity index 100% rename from tests/mv/leak-fd rename to tests/mv/leak-fd.sh diff --git a/tests/mv/mv-n b/tests/mv/mv-n.sh similarity index 100% rename from tests/mv/mv-n rename to tests/mv/mv-n.sh diff --git a/tests/mv/mv-special-1 b/tests/mv/mv-special-1.sh similarity index 100% rename from tests/mv/mv-special-1 rename to tests/mv/mv-special-1.sh diff --git a/tests/mv/no-target-dir b/tests/mv/no-target-dir.sh similarity index 100% rename from tests/mv/no-target-dir rename to tests/mv/no-target-dir.sh diff --git a/tests/mv/part-fail b/tests/mv/part-fail.sh similarity index 100% rename from tests/mv/part-fail rename to tests/mv/part-fail.sh diff --git a/tests/mv/part-hardlink b/tests/mv/part-hardlink.sh similarity index 100% rename from tests/mv/part-hardlink rename to tests/mv/part-hardlink.sh diff --git a/tests/mv/part-rename b/tests/mv/part-rename.sh similarity index 100% rename from tests/mv/part-rename rename to tests/mv/part-rename.sh diff --git a/tests/mv/part-symlink b/tests/mv/part-symlink.sh similarity index 100% rename from tests/mv/part-symlink rename to tests/mv/part-symlink.sh diff --git a/tests/mv/partition-perm b/tests/mv/partition-perm.sh similarity index 100% rename from tests/mv/partition-perm rename to tests/mv/partition-perm.sh diff --git a/tests/mv/perm-1 b/tests/mv/perm-1.sh similarity index 100% rename from tests/mv/perm-1 rename to tests/mv/perm-1.sh diff --git a/tests/mv/sticky-to-xpart b/tests/mv/sticky-to-xpart.sh similarity index 100% rename from tests/mv/sticky-to-xpart rename to tests/mv/sticky-to-xpart.sh diff --git a/tests/mv/symlink-onto-hardlink-to-self b/tests/mv/symlink-onto-hardlink-to-self.sh similarity index 100% rename from tests/mv/symlink-onto-hardlink-to-self rename to tests/mv/symlink-onto-hardlink-to-self.sh diff --git a/tests/mv/symlink-onto-hardlink b/tests/mv/symlink-onto-hardlink.sh similarity index 100% rename from tests/mv/symlink-onto-hardlink rename to tests/mv/symlink-onto-hardlink.sh diff --git a/tests/mv/to-symlink b/tests/mv/to-symlink.sh similarity index 100% rename from tests/mv/to-symlink rename to tests/mv/to-symlink.sh diff --git a/tests/mv/trailing-slash b/tests/mv/trailing-slash.sh similarity index 100% rename from tests/mv/trailing-slash rename to tests/mv/trailing-slash.sh diff --git a/tests/mv/update b/tests/mv/update.sh similarity index 100% rename from tests/mv/update rename to tests/mv/update.sh diff --git a/tests/pr/pr-tests b/tests/pr/pr-tests.pl similarity index 100% rename from tests/pr/pr-tests rename to tests/pr/pr-tests.pl diff --git a/tests/readlink/can-e b/tests/readlink/can-e.sh similarity index 100% rename from tests/readlink/can-e rename to tests/readlink/can-e.sh diff --git a/tests/readlink/can-f b/tests/readlink/can-f.sh similarity index 100% rename from tests/readlink/can-f rename to tests/readlink/can-f.sh diff --git a/tests/readlink/can-m b/tests/readlink/can-m.sh similarity index 100% rename from tests/readlink/can-m rename to tests/readlink/can-m.sh diff --git a/tests/readlink/rl-1 b/tests/readlink/rl-1.sh similarity index 100% rename from tests/readlink/rl-1 rename to tests/readlink/rl-1.sh diff --git a/tests/rm/cycle b/tests/rm/cycle.sh similarity index 100% rename from tests/rm/cycle rename to tests/rm/cycle.sh diff --git a/tests/rm/d-1 b/tests/rm/d-1.sh similarity index 100% rename from tests/rm/d-1 rename to tests/rm/d-1.sh diff --git a/tests/rm/d-2 b/tests/rm/d-2.sh similarity index 100% rename from tests/rm/d-2 rename to tests/rm/d-2.sh diff --git a/tests/rm/d-3 b/tests/rm/d-3.sh similarity index 100% rename from tests/rm/d-3 rename to tests/rm/d-3.sh diff --git a/tests/rm/dangling-symlink b/tests/rm/dangling-symlink.sh similarity index 100% rename from tests/rm/dangling-symlink rename to tests/rm/dangling-symlink.sh diff --git a/tests/rm/deep-1 b/tests/rm/deep-1.sh similarity index 100% rename from tests/rm/deep-1 rename to tests/rm/deep-1.sh diff --git a/tests/rm/deep-2 b/tests/rm/deep-2.sh similarity index 100% rename from tests/rm/deep-2 rename to tests/rm/deep-2.sh diff --git a/tests/rm/dir-no-w b/tests/rm/dir-no-w.sh similarity index 100% rename from tests/rm/dir-no-w rename to tests/rm/dir-no-w.sh diff --git a/tests/rm/dir-nonrecur b/tests/rm/dir-nonrecur.sh similarity index 100% rename from tests/rm/dir-nonrecur rename to tests/rm/dir-nonrecur.sh diff --git a/tests/rm/dot-rel b/tests/rm/dot-rel.sh similarity index 100% rename from tests/rm/dot-rel rename to tests/rm/dot-rel.sh diff --git a/tests/rm/empty-inacc b/tests/rm/empty-inacc.sh similarity index 100% rename from tests/rm/empty-inacc rename to tests/rm/empty-inacc.sh diff --git a/tests/rm/empty-name b/tests/rm/empty-name.pl similarity index 100% rename from tests/rm/empty-name rename to tests/rm/empty-name.pl diff --git a/tests/rm/ext3-perf b/tests/rm/ext3-perf.sh similarity index 100% rename from tests/rm/ext3-perf rename to tests/rm/ext3-perf.sh diff --git a/tests/rm/f-1 b/tests/rm/f-1.sh similarity index 100% rename from tests/rm/f-1 rename to tests/rm/f-1.sh diff --git a/tests/rm/fail-2eperm b/tests/rm/fail-2eperm.sh similarity index 100% rename from tests/rm/fail-2eperm rename to tests/rm/fail-2eperm.sh diff --git a/tests/rm/fail-eacces b/tests/rm/fail-eacces.sh similarity index 100% rename from tests/rm/fail-eacces rename to tests/rm/fail-eacces.sh diff --git a/tests/rm/hash b/tests/rm/hash.sh similarity index 100% rename from tests/rm/hash rename to tests/rm/hash.sh diff --git a/tests/rm/i-1 b/tests/rm/i-1.sh similarity index 100% rename from tests/rm/i-1 rename to tests/rm/i-1.sh diff --git a/tests/rm/i-never b/tests/rm/i-never.sh similarity index 100% rename from tests/rm/i-never rename to tests/rm/i-never.sh diff --git a/tests/rm/i-no-r b/tests/rm/i-no-r.sh similarity index 100% rename from tests/rm/i-no-r rename to tests/rm/i-no-r.sh diff --git a/tests/rm/ignorable b/tests/rm/ignorable.sh similarity index 100% rename from tests/rm/ignorable rename to tests/rm/ignorable.sh diff --git a/tests/rm/inaccessible b/tests/rm/inaccessible.sh similarity index 100% rename from tests/rm/inaccessible rename to tests/rm/inaccessible.sh diff --git a/tests/rm/interactive-always b/tests/rm/interactive-always.sh similarity index 100% rename from tests/rm/interactive-always rename to tests/rm/interactive-always.sh diff --git a/tests/rm/interactive-once b/tests/rm/interactive-once.sh similarity index 100% rename from tests/rm/interactive-once rename to tests/rm/interactive-once.sh diff --git a/tests/rm/ir-1 b/tests/rm/ir-1.sh similarity index 100% rename from tests/rm/ir-1 rename to tests/rm/ir-1.sh diff --git a/tests/rm/isatty b/tests/rm/isatty.sh similarity index 100% rename from tests/rm/isatty rename to tests/rm/isatty.sh diff --git a/tests/rm/many-dir-entries-vs-OOM b/tests/rm/many-dir-entries-vs-OOM.sh similarity index 100% rename from tests/rm/many-dir-entries-vs-OOM rename to tests/rm/many-dir-entries-vs-OOM.sh diff --git a/tests/rm/no-give-up b/tests/rm/no-give-up.sh similarity index 100% rename from tests/rm/no-give-up rename to tests/rm/no-give-up.sh diff --git a/tests/rm/one-file-system b/tests/rm/one-file-system.sh similarity index 100% rename from tests/rm/one-file-system rename to tests/rm/one-file-system.sh diff --git a/tests/rm/one-file-system2 b/tests/rm/one-file-system2.sh similarity index 100% rename from tests/rm/one-file-system2 rename to tests/rm/one-file-system2.sh diff --git a/tests/rm/r-1 b/tests/rm/r-1.sh similarity index 100% rename from tests/rm/r-1 rename to tests/rm/r-1.sh diff --git a/tests/rm/r-2 b/tests/rm/r-2.sh similarity index 100% rename from tests/rm/r-2 rename to tests/rm/r-2.sh diff --git a/tests/rm/r-3 b/tests/rm/r-3.sh similarity index 100% rename from tests/rm/r-3 rename to tests/rm/r-3.sh diff --git a/tests/rm/r-4 b/tests/rm/r-4.sh similarity index 100% rename from tests/rm/r-4 rename to tests/rm/r-4.sh diff --git a/tests/rm/read-only b/tests/rm/read-only.sh similarity index 100% rename from tests/rm/read-only rename to tests/rm/read-only.sh diff --git a/tests/rm/readdir-bug b/tests/rm/readdir-bug.sh similarity index 100% rename from tests/rm/readdir-bug rename to tests/rm/readdir-bug.sh diff --git a/tests/rm/rm1 b/tests/rm/rm1.sh similarity index 100% rename from tests/rm/rm1 rename to tests/rm/rm1.sh diff --git a/tests/rm/rm2 b/tests/rm/rm2.sh similarity index 100% rename from tests/rm/rm2 rename to tests/rm/rm2.sh diff --git a/tests/rm/rm3 b/tests/rm/rm3.sh similarity index 100% rename from tests/rm/rm3 rename to tests/rm/rm3.sh diff --git a/tests/rm/rm4 b/tests/rm/rm4.sh similarity index 100% rename from tests/rm/rm4 rename to tests/rm/rm4.sh diff --git a/tests/rm/rm5 b/tests/rm/rm5.sh similarity index 100% rename from tests/rm/rm5 rename to tests/rm/rm5.sh diff --git a/tests/rm/sunos-1 b/tests/rm/sunos-1.sh similarity index 100% rename from tests/rm/sunos-1 rename to tests/rm/sunos-1.sh diff --git a/tests/rm/unread2 b/tests/rm/unread2.sh similarity index 100% rename from tests/rm/unread2 rename to tests/rm/unread2.sh diff --git a/tests/rm/unread3 b/tests/rm/unread3.sh similarity index 100% rename from tests/rm/unread3 rename to tests/rm/unread3.sh diff --git a/tests/rm/unreadable b/tests/rm/unreadable.pl similarity index 100% rename from tests/rm/unreadable rename to tests/rm/unreadable.pl diff --git a/tests/rm/v-slash b/tests/rm/v-slash.sh similarity index 100% rename from tests/rm/v-slash rename to tests/rm/v-slash.sh diff --git a/tests/rmdir/fail-perm b/tests/rmdir/fail-perm.sh similarity index 100% rename from tests/rmdir/fail-perm rename to tests/rmdir/fail-perm.sh diff --git a/tests/rmdir/ignore b/tests/rmdir/ignore.sh similarity index 100% rename from tests/rmdir/ignore rename to tests/rmdir/ignore.sh diff --git a/tests/rmdir/t-slash b/tests/rmdir/t-slash.sh similarity index 100% rename from tests/rmdir/t-slash rename to tests/rmdir/t-slash.sh diff --git a/tests/split/additional-suffix b/tests/split/additional-suffix.sh similarity index 100% rename from tests/split/additional-suffix rename to tests/split/additional-suffix.sh diff --git a/tests/split/b-chunk b/tests/split/b-chunk.sh similarity index 100% rename from tests/split/b-chunk rename to tests/split/b-chunk.sh diff --git a/tests/split/fail b/tests/split/fail.sh similarity index 100% rename from tests/split/fail rename to tests/split/fail.sh diff --git a/tests/split/filter b/tests/split/filter.sh similarity index 100% rename from tests/split/filter rename to tests/split/filter.sh diff --git a/tests/split/guard-input b/tests/split/guard-input.sh similarity index 100% rename from tests/split/guard-input rename to tests/split/guard-input.sh diff --git a/tests/split/l-chunk b/tests/split/l-chunk.sh similarity index 100% rename from tests/split/l-chunk rename to tests/split/l-chunk.sh diff --git a/tests/split/lines b/tests/split/lines.sh similarity index 100% rename from tests/split/lines rename to tests/split/lines.sh diff --git a/tests/split/numeric b/tests/split/numeric.sh similarity index 100% rename from tests/split/numeric rename to tests/split/numeric.sh diff --git a/tests/split/r-chunk b/tests/split/r-chunk.sh similarity index 100% rename from tests/split/r-chunk rename to tests/split/r-chunk.sh diff --git a/tests/split/suffix-auto-length b/tests/split/suffix-auto-length.sh similarity index 100% rename from tests/split/suffix-auto-length rename to tests/split/suffix-auto-length.sh diff --git a/tests/split/suffix-length b/tests/split/suffix-length.sh similarity index 100% rename from tests/split/suffix-length rename to tests/split/suffix-length.sh diff --git a/tests/tail-2/F-vs-missing b/tests/tail-2/F-vs-missing.sh similarity index 100% rename from tests/tail-2/F-vs-missing rename to tests/tail-2/F-vs-missing.sh diff --git a/tests/tail-2/F-vs-rename b/tests/tail-2/F-vs-rename.sh similarity index 100% rename from tests/tail-2/F-vs-rename rename to tests/tail-2/F-vs-rename.sh diff --git a/tests/tail-2/append-only b/tests/tail-2/append-only.sh similarity index 100% rename from tests/tail-2/append-only rename to tests/tail-2/append-only.sh diff --git a/tests/tail-2/assert-2 b/tests/tail-2/assert-2.sh similarity index 100% rename from tests/tail-2/assert-2 rename to tests/tail-2/assert-2.sh diff --git a/tests/tail-2/assert b/tests/tail-2/assert.sh similarity index 100% rename from tests/tail-2/assert rename to tests/tail-2/assert.sh diff --git a/tests/tail-2/big-4gb b/tests/tail-2/big-4gb.sh similarity index 100% rename from tests/tail-2/big-4gb rename to tests/tail-2/big-4gb.sh diff --git a/tests/tail-2/flush-initial b/tests/tail-2/flush-initial.sh similarity index 100% rename from tests/tail-2/flush-initial rename to tests/tail-2/flush-initial.sh diff --git a/tests/tail-2/follow-name b/tests/tail-2/follow-name.sh similarity index 100% rename from tests/tail-2/follow-name rename to tests/tail-2/follow-name.sh diff --git a/tests/tail-2/follow-stdin b/tests/tail-2/follow-stdin.sh similarity index 100% rename from tests/tail-2/follow-stdin rename to tests/tail-2/follow-stdin.sh diff --git a/tests/tail-2/infloop-1 b/tests/tail-2/infloop-1.sh similarity index 100% rename from tests/tail-2/infloop-1 rename to tests/tail-2/infloop-1.sh diff --git a/tests/tail-2/inotify-hash-abuse b/tests/tail-2/inotify-hash-abuse.sh similarity index 100% rename from tests/tail-2/inotify-hash-abuse rename to tests/tail-2/inotify-hash-abuse.sh diff --git a/tests/tail-2/inotify-hash-abuse2 b/tests/tail-2/inotify-hash-abuse2.sh similarity index 100% rename from tests/tail-2/inotify-hash-abuse2 rename to tests/tail-2/inotify-hash-abuse2.sh diff --git a/tests/tail-2/inotify-race b/tests/tail-2/inotify-race.sh similarity index 100% rename from tests/tail-2/inotify-race rename to tests/tail-2/inotify-race.sh diff --git a/tests/tail-2/inotify-rotate b/tests/tail-2/inotify-rotate.sh similarity index 100% rename from tests/tail-2/inotify-rotate rename to tests/tail-2/inotify-rotate.sh diff --git a/tests/tail-2/pid b/tests/tail-2/pid.sh similarity index 100% rename from tests/tail-2/pid rename to tests/tail-2/pid.sh diff --git a/tests/tail-2/pipe-f b/tests/tail-2/pipe-f.sh similarity index 100% rename from tests/tail-2/pipe-f rename to tests/tail-2/pipe-f.sh diff --git a/tests/tail-2/pipe-f2 b/tests/tail-2/pipe-f2.sh similarity index 100% rename from tests/tail-2/pipe-f2 rename to tests/tail-2/pipe-f2.sh diff --git a/tests/tail-2/proc-ksyms b/tests/tail-2/proc-ksyms.sh similarity index 100% rename from tests/tail-2/proc-ksyms rename to tests/tail-2/proc-ksyms.sh diff --git a/tests/tail-2/start-middle b/tests/tail-2/start-middle.sh similarity index 100% rename from tests/tail-2/start-middle rename to tests/tail-2/start-middle.sh diff --git a/tests/tail-2/tail-n0f b/tests/tail-2/tail-n0f.sh similarity index 100% rename from tests/tail-2/tail-n0f rename to tests/tail-2/tail-n0f.sh diff --git a/tests/tail-2/wait b/tests/tail-2/wait.sh similarity index 100% rename from tests/tail-2/wait rename to tests/tail-2/wait.sh diff --git a/tests/touch/60-seconds b/tests/touch/60-seconds.sh similarity index 100% rename from tests/touch/60-seconds rename to tests/touch/60-seconds.sh diff --git a/tests/touch/dangling-symlink b/tests/touch/dangling-symlink.sh similarity index 100% rename from tests/touch/dangling-symlink rename to tests/touch/dangling-symlink.sh diff --git a/tests/touch/dir-1 b/tests/touch/dir-1.sh similarity index 100% rename from tests/touch/dir-1 rename to tests/touch/dir-1.sh diff --git a/tests/touch/empty-file b/tests/touch/empty-file.sh similarity index 100% rename from tests/touch/empty-file rename to tests/touch/empty-file.sh diff --git a/tests/touch/fail-diag b/tests/touch/fail-diag.sh similarity index 100% rename from tests/touch/fail-diag rename to tests/touch/fail-diag.sh diff --git a/tests/touch/fifo b/tests/touch/fifo.sh similarity index 100% rename from tests/touch/fifo rename to tests/touch/fifo.sh diff --git a/tests/touch/no-create-missing b/tests/touch/no-create-missing.sh similarity index 100% rename from tests/touch/no-create-missing rename to tests/touch/no-create-missing.sh diff --git a/tests/touch/no-dereference b/tests/touch/no-dereference.sh similarity index 100% rename from tests/touch/no-dereference rename to tests/touch/no-dereference.sh diff --git a/tests/touch/no-rights b/tests/touch/no-rights.sh similarity index 100% rename from tests/touch/no-rights rename to tests/touch/no-rights.sh diff --git a/tests/touch/not-owner b/tests/touch/not-owner.sh similarity index 100% rename from tests/touch/not-owner rename to tests/touch/not-owner.sh diff --git a/tests/touch/now-owned-by-other b/tests/touch/now-owned-by-other.sh similarity index 100% rename from tests/touch/now-owned-by-other rename to tests/touch/now-owned-by-other.sh diff --git a/tests/touch/obsolescent b/tests/touch/obsolescent.sh similarity index 100% rename from tests/touch/obsolescent rename to tests/touch/obsolescent.sh diff --git a/tests/touch/read-only b/tests/touch/read-only.sh similarity index 100% rename from tests/touch/read-only rename to tests/touch/read-only.sh diff --git a/tests/touch/relative b/tests/touch/relative.sh similarity index 100% rename from tests/touch/relative rename to tests/touch/relative.sh diff --git a/tests/touch/trailing-slash b/tests/touch/trailing-slash.sh similarity index 100% rename from tests/touch/trailing-slash rename to tests/touch/trailing-slash.sh -- 2.7.4