summaryrefslogtreecommitdiff
path: root/tests
AgeCommit message (Collapse)Author
2008-09-29fix make variable quotation errorRalf Wildenhues
* tests/check.mk (TESTS_ENVIRONMENT): Quote shell variable $tmp__, fix expansion.
2008-09-27rm -r: avoid O(n^2) performance for a directory with very many entriesJim Meyering
This enhancement works around a problem that is specific to at least ext3 and ext4 file systems. With them, it would take hours to remove a two-million-entry directory. RAM-backed file systems (tmpfs) are not affected, since there is no seek penalty. * remove.c (rm_malloc, rm_free, compare_ino): New functions. (dirent_count, preprocess_dir): New function. [struct readdir_data]: New struct. (remove_cwd_entries): Call preprocess_dir. * tests/rm/ext3-perf: New file. Test for the performance fix. * NEWS: mention the new feature
2008-09-26seq -0.1 0.1 2: print final number when locale's decimal point is ","Jim Meyering
* src/seq.c (print_numbers): Use strtold, not c_strtold to convert from just-formatted-using-asprintf string back to double, since asprintf may have used something other than "." as the decimal point. Reported by lsof@nodata.co.uk as <http://bugzilla.redhat.com/463556>. Thanks to Ondřej Vašík for discovering that the bug was locale-related. $ LC_ALL=cs_CZ.UTF-8 seq -0.1 0.1 2|grep 2.0 [Exit 1] $ seq -0.1 0.1 2|grep 2.0 2.0 * tests/check.mk (TESTS_ENVIRONMENT): Add LOCALE_FR_UTF8, for... * tests/misc/seq [locale-dec-pt]: New test for the above. * NEWS (bug fix): Mention it.
2008-09-10fix minor shell issues in test suiteRalf Wildenhues
* tests/misc/help-version: Fix bad quoting. * tests/cp/same-file: Fix unportable shell quoting. * tests/mv/part-symlink: Likewise.
2008-09-10tests: don't use "local" in bourne shell scriptsJim Meyering
* tests/test-lib.sh (remove_tmp_, skip_if_mcstransd_is_running_): Avoid failure on Solaris 11, since their /bin/sh passes the tests in posix-shell.m4, yet does not support "local" (which is not POSIX).
2008-09-10tests: use "Exit $fail", not (exit $fail); exit $failJim Meyering
* tests/test-lib.sh (Exit): New function by Ralf Wildenhues in automake http://git.sv.gnu.org/gitweb/?p=automake.git;a=commitdiff;h=20594c08f63 * tests/**: Convert all uses: This restrictive change converted the vast majority: git grep -l '^(exit \$fail); exit \$fail$' \ | xargs perl -pi -e 's/'^\(exit \$fail\); exit \$fail$/Exit \$fail/' And this did the rest, plus a few undesirable ones, so I manually backed out the changes to ChangeLog-* and build-aux/check.mk: git grep -l -E '\(exit [^)]+\); exit ' \ | xargs perl -pi -e 's/\(exit (.+?)\); exit \1/Exit $1/'
2008-09-08tests: move input-tty into a test-lib.sh functionJim Meyering
* tests/test-lib.sh (require_controlling_input_terminal_): New function, from * tests/input-tty: ...here. Remove file. * tests/Makefile.am (EXTRA_DIST): Remove input-tty. * tests/mv/i-3: Use the function, not the file. * tests/misc/stty: Likewise. * tests/misc/stty-row-col: Likewise. * tests/misc/stty-invalid: Likewise.
2008-09-07tests: work around Solaris 11 bugJim Meyering
* tests/misc/printf-surprise: Accept bogus prefix on stderr output.
2008-09-07tests: don't let rounding-to-1KB blocks provoke a failureJim Meyering
* tests/df/total-awk: Use df's --block-size=512 option.
2008-09-07tests: don't fail due to built-in sleep from Solaris 11's /bin/shJim Meyering
* tests/misc/help-version (id_args): Invoke via env to ensure we run the just-built version of sleep.
2008-09-06install: new option: --strip-program,Kamil Dudka
...to specify the program used to strip binaries * src/install.c (main): Handle new option --strip-program. (strip): Use strip program from global variable strip_program. (usage): Mention new option --strip-program in --help. * tests/tests/strip-program: Test case for new option --strip-program. * tests/Makefile.am: Add new test case to test set. * doc/coreutils.texi: Mention new option --strip-program. * NEWS: Mention the change. * TODO: Remove completed task.
2008-09-03df: new option: --total to print grand totalsKamil Dudka
* src/df.c (add_uint_with_neg_flag): New function to add two integral values with separate negation flag. (show_dev): New parameter force_fsu to display numbers directly. Collect summary statistics on each printed device. (usage): Mention new option --total in --help. (main): Initialize summary on program start. Handle new option --total. * tests/df/total: Dummy test case for new --total option. * tests/df/total-awk: Better test case for new --total option (requires awk). * doc/coreutils.texi: Mention new parameter --total. * NEWS: Mention the change. * TODO: Removed completed task.
2008-08-15adjustJim Meyering
2008-08-15sort: new option, --sort=version, for version number orderingBruce Korb
* src/sort.c [struct keyfield] (version): New member. (usage): Describe --version-sort. (sort_options): Add 'V'. (long_options): Add "version-sort". (CHECK_TABLE, _ct_, SORT_TABLE, _st_): Define new macros. (check_args, sort_args, sort_types): Use these new macros in declarations. (ARGMATCH_VERIFY): Remove use. No longer needed. (compare_version): New function. (key_compare): Add a case. (check_ordering_compatibility): Handle new type. (main): Likewise. Reformat two expressions for readability. * tests/misc/sort-version: new test file * tests/Makefile.am: add it to the list * doc/coreutils.texi (sort invocation): Document it. * NEWS: Mention the new feature.
2008-08-14set envvars via "env" to avoid spurious set -x output from bad shellsJim Meyering
* tests/dd/misc: Set LC_ALL=C via env. * tests/cp/thru-dangling: Set POSIXLY_CORRECT via env. This is necessary at least on AIX 5.3. Reported by Jeph Cowan and Ralf Wildenhues. Details here: http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14235/focus=14257
2008-08-14mktemp, sort, tac: don't use undefined after mkstemp failureJim Meyering
When mkstemp fails, the template buffer may have undefined contents, so we must not print it. * src/sort.c (create_temp_file): Use temp_dir, not "file" when diagnosing failed mkstemp, because "file" may be undefined. * tests/misc/sort-merge: Adjust for new expected output. Jeph Cowan and Ralf Wildenhues reported the test failure: http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14235/focus=14257 * src/tac.c (copy_to_temp): Don't use template buffer after failed mkstemp call, since its contents may be undefined. * tests/misc/tac (pipe-bad-tmpdir): New test for the above. * src/mktemp.c (main): Save a copy of the template string, solely for use in case mkstemp fails. * tests/misc/mktemp (pipe-bad-tmpdir): New test for the above.
2008-08-10sort: don't print uninitialized in diagnosticJim Meyering
* src/sort.c (specify_nmerge): Do use uinttostr value. Provoke with e.g., sort -m --batch-size=18446744073709551617 Omit quotes around known-numeric value in diagnostic. * tests/misc/sort-merge [nmerge-big]: Tighten ERR_SUBST regexp to require a numeric value in that diagnostic, so this particular failure cannot reappear.
2008-08-09* tests/misc/expr: Add tests of the new GMP-based code.Jim Meyering
2008-08-01ls: --color now highlights files with capabilities, tooKamil Dudka
* src/ls.c: [HAVE_CAP] Include <sys/capability.h>. (has_capability): New function for capability detection. (print_color_indicator): Colorize file with capability. * m4/jm-macro.m4: New configure option: --disable-libcap. Check for libcap usability. * src/Makefile.am (dir_LDADD, ls_LDADD, ...): Append $(LIB_CAP). * src/dircolors.c: Update color lists. * src/dircolors.hin: Mention new CAPABILITY color attribute. * tests/ls/capability: Test for ls - colorize file with capability. * tests/Makefile.am (root_tests): Add ls/capability. * NEWS: Mention the change.
2008-07-27shuf: honor --zero-terminated option even with --input-range=LO-HIJim Meyering
* src/shuf.c (write_permuted_output): Add EOLBYTE parameter and use it rather than hard-coding "\n". (main): Adjust sole caller. * tests/misc/shuf: Add a test to exercise this bug fix. * NEWS: Mention it.
2008-07-23dd: minor fullblock changesJim Meyering
* src/dd.c (O_FULLBLOCK): Define using an enum, not #define. Derive the value, rather than hard-coding to one that might conflict. (usage): Mention iflag=fullblock in --help output. (scanargs): Reset the O_FULLBLOCK bit, so that we don't try to set an undefined attribute via fcntl (fd, F_SETFL, ... * tests/dd/misc: Signal framework_failure when necessary. Use "compare actual expected", so any diffs look "right". * NEWS (dd): Alphabetize and reword. * coreutils.texi (dd invocation): Adjust wording.
2008-07-23dd: new option: iflag=fullblock to accumulate full input blocksKamil Dudka
* src/dd.c (iread_fullblock): New function for reading full blocks. (scanargs): Check for new parameter iflag=fullblock. (skip): Use iread_fnc pointer instead of iread function. (dd_copy): Use iread_fnc pointer instead of iread function. * tests/dd/misc: Add test for dd - read full blocks. * doc/coretuils.texi: Mention new parameter iflag=fullblock. * NEWS: Mentioned the change.
2008-07-22tests: do not run chmod on a prefix of space-embedded tmpdirJim Meyering
* TESTS/test-lib.sh (remove_tmp_): New function. (trap 0): Use it instead of open-coded (and misquoted) version.
2008-07-22tests: again, do not change the mode of all directories below $HOMERalf Wildenhues
* tests/CuTmpdir.pm (chmod_tree): Do not run chmod on undefined argument, can happen when the build path contains spaces.
2008-07-15fix two bugs in ptxJim Meyering
* src/ptx.c (fix_output_parameters): Don't let before_max_width go negative -- that would cause an infloop in define_all_fields. (main): Don't clobber name[0] with lists of two or more input files. * tests/misc/ptx: New file. Test for the above. * tests/Makefile.am (TESTS): Add misc/ptx.
2008-07-11tests: expand: test for lines starting with both spaces and tabsPádraig Brady
The expand released in current distributions (Fedora Core 4 - Fedora 9 at least), doesn't expand --initial tabs if spaces are present. tests/misc/expand: Add test to verify --initial works correctly with lines starting with both spaces and tabs.
2008-07-10make check: accommodate stricter POSIX-conforming shellsJim Meyering
Without this, test-related variable settings were not exported to the shell_or_perl_ function when using dash or Solaris 11's /bin/sh. * tests/check.mk (TESTS_ENVIRONMENT): Use an explicit "export", so as not to rely on non-POSIX behavior of some /bin/sh (e.g., bash-based ones).
2008-06-30truncate: ignore whitespace in --size parametersPádraig Brady
Without this, `truncate -s '> -1' F` would truncate F to length 0, and `truncate -s " +1" F` would truncate F to 1 byte. Now, each elicits a diagnostic. * src/truncate.c: Skip leading white space in the --size option argument and any white space after one of the relative modifiers, so that the presence of a +/- modifier can be detected reliably. * tests/misc/truncate-parameters: Add tests for the above.
2008-06-27timeout: fix invalid argument testsPádraig Brady
* tests/misc/timeout-parameters: Remove test for invalid signal number (we don't know what signal numbers are invalid on all systems). Also tweak the other invalid signal check so that the rest of the arguments are correct.
2008-06-26tests: accommodate difference in an AIX 5.3 diagnosticPeter O'Gorman
* tests/mkdir/selinux: Handle different strerror (ENOTSUP) spelling.
2008-06-20sort: Fix bug where --batch-size option shrank SORT_SIZE.Bo Borgerson
* src/sort.c (specify_nmerge, main): Only adjust SORT_SIZE if it's already set. * tests/misc/sort-merge: Test bug fix.
2008-06-19tests: avoid test failure when root's primary group-ID is not 0Jim Meyering
* tests/cp/preserve-gid: Expect a cp-without-`-p'-created file to have a group ID of $(id -g). Reported by Jarod Wilson. Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13803/focus=13837
2008-06-19tests: avoid root-only test failure when run in a chrootJim Meyering
* tests/misc/runcon-no-reorder: Accept the diagnostic that is produced when running in a chroot without /selinux/context. Reported by Jarod Wilson. Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13803/focus=13837
2008-06-18* tests/check.mk: Fix a typo in a comment.Jim Meyering
2008-06-17sort: accept new option --batch-size=NMERGEBo Borgerson
* src/sort.c: (static unsigned int nmerge) Replace constant NMERGE. (specify_nmerge) Validate and apply new option. (mergefps) Replace some arrays with pointers to xnmalloc'd storage. * tests/misc/sort-merge: Test new option. * doc/coreutils.texi: Describe new option. * NEWS: Advertise new option.
2008-06-17sort: add new option --files0-from=FBo Borgerson
* src/sort.c: Support new option. * tests/misc/sort-files0-from: Test new option. * tests/misc/Makefile.am: Indicate new test. * docs/coreutils.texi: Explain new option. * NEWS: Advertise new option. Signed-off-by: Bo Borgerson <gigabo@gmail.com>
2008-06-16chcon: correct --verbose output to include newlinesJim Meyering
* src/chcon.c (process_file): Append "\n" to --verbose diagnostic. * tests/misc/chcon: Add a test for the above. * NEWS: mention the bug fix Reported by Carl D. Roth in http://bugzilla.redhat.com/451478.
2008-06-14run gnulib-tests in parallelJim Meyering
* tests/Makefile.am: Define AUTOMAKE_OPTIONS, so check.mk can append. * tests/check.mk: Define SUFFIXES, so check.mk can append. * build-aux/check.mk (SUFFIXES): Append, so as not to evoke automake warning the prior definition in gnulib-tests/gnulib.mk. (AUTOMAKE_OPTIONS): Likewise. * gnulib-tests/Makefile.am (TEST_LOGS): Define. Include build-aux/check.mk
2008-06-13od: align multiple -t specsEric Blake
* src/od.c (struct tspec): Add pad_width field, and adjust print_function prototype. (decode_one_format): Rewrite all fmt_string values to account for pad width. (FMT_BYTES_ALLOCATED): Adjust to new format style. (main): Compute pad width per spec. (write_block): Account for pad width. (dump): Don't print padding-only fields. (PRINT_TYPE, print_named_ascii, print_ascii): All print functions adjusted to use variable pad width. * tests/Makefile.am (TESTS): Add test. * tests/misc/od-multiple-t: New file. * THANKS: Update. * NEWS: Mention the improvement. Reported by Gary Johnson.
2008-06-13skip (don't fail) root-only tests for common set-up failuresJim Meyering
Address 2 of 4 failures reported by Jarod Wilson in http://bugzilla.redhat.com/442352. More details here: http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13803 * tests/cp/cp-a-selinux: Skip the test if "mkfs -t ext2" fails. * tests/rm/fail-2eperm: Skip the test if "rm" is not accessible.
2008-06-12comm: accept new option: --output-delimiter=STRBo Borgerson
* src/comm.c (delimiter): New global. (writeline): Use delimiter string instead of single TAB character. (main): Initialize delimiter. * tests/misc/comm: Add tests for comm output delimiter specification. * doc/coreutils.texi: Document new option. * NEWS: Advertise new option. * TODO: Remove associated item.
2008-06-12comm: ensure that input files are sortedBo Borgerson
* NEWS: List new behavior. * doc/coreutils.texi (checkOrderOption) New macro for describing `--check-order' and `--nocheck-order', used in both join and comm. * src/comm.c (main): Initialize new options. (usage): Describe new options. (compare_files): Keep an extra pair of buffers for the previous line from each file to check the internal order. (check_order): If an order-check is required, compare and handle the result appropriately. (copylinebuffer): Copy a linebuffer; used for copy before read. * tests/misc/Makefile.am: List new test. * tests/misc/comm: Tests for the comm program, including the new order-checking functionality and attendant command-line options.
2008-06-11tests: skip a chown test on FreeBSD 6.xJim Meyering
* tests/chown/separator: Skip this test if is likely to fail due to the combination of a bogus group name and a broken getgrnam function.
2008-06-11tests: remove duplicate mention of misc/selinuxJim Meyering
* tests/Makefile.am (TESTS): Remove misc/selinux, since it's already listed in $(root_tests).
2008-06-10remove test for specific diagnostic when truncating missing directoryPádraig Brady
Solaris 10 returns ENOTDIR when truncating a nonexistent directory, whereas Linux returns EISDIR (because it has a trailing /). * tests/misc/truncate-fail-diag: Remove the test for the specific error.
2008-06-10timeout: use system-independent exit valuesPádraig Brady
Change exit values from ETIMEDOUT and ECANCELED, the values of which are system dependent, to 124 and 125 respectively. * src/timeout.c (EXIT_TIMEDOUT, EXIT_CANCELED): Define. (usage, main): Adjust. * coreutils.texi (timeout invocation): Update. * tests/misc/timeout: Adjust.
2008-06-08standardize some error messagesBo Borgerson
* maint.mk: (sc_error_message_warn_fatal, sc_error_message_uppercase): (sc_error_message_period): Add automatic checks for non-standard error messages. * .x-sc_error_message_uppercase: explicit exclusion for this check * src/cp.c: Standardize some error messages. * src/date.c: Likewise. * src/dircolors.c: Likewise. * src/du.c: Likewise. * src/expr.c: Likewise. * src/install.c: Likewise. * src/join.c: Likewise. * src/ln.c: Likewise. * src/mv.c: Likewise. * src/od.c: Likewise. * src/pr.c: Likewise. * src/split.c: Likewise. * src/truncate.c: Likewise. * src/wc.c: Likewise. * tests/du/files0-from: Expect new error message. * tests/misc/join: Likewise. * tests/misc/split-a: Likewise. * tests/misc/wc-files0-from: Likewise. * tests/misc/xstrtol: Likewise. * lib/xmemxfrm.c: Likewise.
2008-06-06Add new program: truncatePádraig Brady
* AUTHORS: Register as the author * NEWS: Mention this change * README: Add truncate command to list * src/truncate.c: New command * src/Makefile.am: Add truncate command to list to build * src/.gitignore: Add truncate binary to list to ignore * doc/coreutils.texi (truncate invocation): Add truncate info * man/Makefile.am: Add truncate man page to list to build * man/truncate.x: Add truncate man page template * po/POTFILES.in: Add truncate to list to translate * tests/Makefile.am: Add truncate tests * tests/misc/help-version: Add support for new truncate command * tests/misc/truncate-dangling-symlink: check dangling link ok * tests/misc/truncate-dir-fail: ensure dirs fail * tests/misc/truncate-fail-diag: validate messages for missing paths * tests/misc/truncate-fifo: ensure fifos ignored * tests/misc/truncate-no-create-missing: ensure -c option honoured * tests/misc/truncate-overflow: check signed integer overflows * tests/misc/truncate-owned-by-other: root permissions check * tests/misc/truncate-parameters: check invalid parameter combinations * tests/misc/truncate-relative: check invalid relative sizes
2008-06-02new program: timeoutPádraig Brady
* AUTHORS: Register as the author. * NEWS: Mention this change. * README: Add timeout command to list. * src/timeout.c: New file. * src/kill.c (operand2sig): Move function to its own file, now that timeout.c will also use it. * src/operand2sig.c (operand2sig): New file, extracted from kill.c. * src/operand2sig.h (operand2sig): Declare. * src/Makefile.am (EXTRA_PROGRAMS): Add timeout. * src/.gitignore: Add timeout binary to list to ignore. * doc/coreutils.texi (timeout invocation): Add timeout info. (Signal specifications): New section, also referenced by kill. * man/Makefile.am (timeout.1): Add dependency. * man/timeout.x: New file. * po/POTFILES.in: Add timeout.c and operand2sig.c to list to translate. * tests/Makefile.am (TESTS): Add the two new tests. * tests/misc/help-version: Add support for new timeout command. * tests/misc/invalid-opt: Add support for new timeout command. * tests/misc/timeout: New file: check basic timeout operation. * tests/misc/timeout-parameters: New file: check invalid parameter combinations.
2008-06-01md5sum: new option, --quiet, to suppress OK messagesErik Auerswald
sha1sum, sha224sum, sha384sum, and sha512sum accept it, too. * src/md5sum.c: add option --quiet to suppress OK messages * doc/coreutils.texi: document option --quiet * tests/misc/md5sum: add test for option --quiet * NEWS: mention new option --quiet for md5sum+sha*sum in "New features" section