coreutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 6/7] tests: add .sh and .pl suffixes to shell and perl tests, res


From: Stefano Lattarini
Subject: [PATCH 6/7] tests: add .sh and .pl suffixes to shell and perl tests, respectively
Date: Thu, 30 Aug 2012 14:13:12 +0200

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
-- 
1.7.12




reply via email to

[Prev in Thread] Current Thread [Next in Thread]