summaryrefslogtreecommitdiff
path: root/tests
AgeCommit message (Collapse)Author
2009-04-03ls: fix alignment when month names have varying widthsPádraig Brady
Reported by Samuel Thibault and Stéphane Raimbault, as the glibc fr_FR locale has recently changed to use the official but variable width abbreviated month names. Other glibc locales also have variable widths. http://sourceware.org/ml/libc-locales/2008-q1/msg00035.html http://sourceware.org/bugzilla/show_bug.cgi?id=9859 * NEWS: Mention the fix * gl/lib/mbsalign.c: A new module to align and truncate a string in a specified number of screen cells, while handling multi-byte characters appropriately. * gl/lib/mbsalign.h: Ditto * gl/modules/mbsalign: Ditto * bootstrap.conf: Reference the new module * src/ls.c (abmon_init): New function, precompute the abbreviated months aligned left in a minimum width column <= 5 screen cells. (align_nstrftime): New function, replace the first %b in the format specification to strftime with the precomputed month string. Note using the cached month strings speeds up `ls -lU` by around 17% on glibc-2.7-2 on linux at least. Also if we implement this function using heap storage rather than automatic storage, and use snprintf instead of strcpy, ls will slow down by 2% and 1% respectively (i.e. a net gain of 14% rather than 17%). * tests/ls/abmon-align: A new test to test ls alignment for various formats and locales * tests/Makefile.am: Reference the new test
2009-04-02tests: skip mv/i-3 if /dev/stdin is unreadableJim Meyering
* tests/mv/i-3: Skip if /dev/stdin is unreadable. Reported by Sergei Steshenko.
2009-03-31tests: enable automake's color-tests and parallel-tests via configure.acJim Meyering
* gnulib-tests/Makefile.am (AUTOMAKE_OPTIONS): Don't define here. * tests/Makefile.am (AUTOMAKE_OPTIONS): Likewise. * configure.ac (AM_INIT_AUTOMAKE): Instead, add color-tests and parallel-tests here.
2009-03-31build: use Automake's new parallel-tests featureRalf Wildenhues
* build-aux/check.mk: Remove, not needed any more. * tests/Makefile.am (AUTOMAKE_OPTIONS): Add parallel-tests and color-tests. * tests/check.mk: Do not include build-aux/check.mk any more. (SUFFIXES, TEST_LOGS): Remove. (TESTS_ENVIRONMENT): Use $$f rather than $$tst in $PERL invocation. * gnulib-tests/Makefile.am: Do not include build-aux/check.mk. (AUTOMAKE_OPTIONS): New macro, add parallel-test and color-tests. (TEST_LOGS): Remove.
2009-03-29tests: don't use lang-default from individual testsJim Meyering
* tests/sample-test: Don't recommend using lang-default here. It is now run for each test automatically, via TESTS_ENVIRONMENT. * tests/dd/reblock: Don't source lang-default here. * tests/misc/truncate-fail-diag: Likewise.
2009-03-29tests: other-fs-tmpdir: remove just-added duplicate /usr/tmpJim Meyering
* tests/other-fs-tmpdir (CANDIDATE_TMP_DIRS): Remove 2nd /usr/tmp.
2009-03-29tests: other-fs-tmpdir: avoid bogus "skipped **********..." diagnosticJim Meyering
* tests/other-fs-tmpdir (CANDIDATE_TMP_DIRS): Add /dev/shm to the list. Don't use a line of asterisks as the first line of the "why skipped" diagnostic, now that that line is printed on 'make check's stderr.
2009-03-27tests: avoid spurious test failure in set-GID build dirJim Meyering
* tests/install/install-C-root: Skip this test if in set-gid directory. Reported by Sven Joachim and C de-Avillez.
2009-03-27tests: migrate setgid-check into test-lib.shJim Meyering
* tests/test-lib.sh (skip_if_setgid_): New function. * tests/setgid-check: Remove file. * tests/Makefile.am (EXTRA_DIST): Remove setgid-check. * tests/chmod/c-option: Use the new function rather than sourcing the separate file. * tests/cp/cp-parents: Likewise. * tests/install/install-C: Likewise. * tests/mkdir/parents: Likewise. * tests/mkdir/perm: Likewise.
2009-03-26tests: mark the rm/ext3-perf test as "very" expensiveJim Meyering
* tests/rm/ext3-perf: Relegate this test to the very_expensive category, since it is failing too often for me, when run in parallel (-j4) with other disk-hammering tests. This test fails when it takes too long, so the fact that it fails under pressure is an inconvenience more than a real problem.
2009-03-25pwd: support -L and -PEric Blake
* src/pwd.c (longopts): New variable. (logical_getcwd): New function. (main): Use it. (usage): Document new options. * doc/coreutils.texi (pwd invocation): Likewise. * NEWS: Likewise. * TODO (pwd): Mark it done. * tests/misc/pwd-option: New file. * tests/Makefile.am (TESTS): Add test. * THANKS: Update. Reported by Paul D. Smith, in savannah bug 24949.
2009-03-25tests: CuTmpdir.pm: avoid use of undefined variable in warningRalf Wildenhues
* tests/CuTmpdir.pm (chmod_tree): Do not warn if $dir is undefined.
2009-03-24tests: ls -v: exercise yet another change in gnulib's new filevercmpJim Meyering
* tests/misc/ls-misc: Add names with ~ and ~.1~ suffixes.
2009-03-24ls: make it possible to disable coloring of hard linksKamil Dudka
* src/ls.c (print_color_indicator): Don't color hard links if disabled (when there is an empty hl= in the LS_COLORS environment variable). * tests/ls/hardlink: Add test case for disabled hard link highlighting. * NEWS: Mention the change.
2009-03-20tests: avoid spurious mkdir/selinux test failure on HP-UX 11.23Jim Meyering
* tests/mkdir/selinux: Accept yet another diagnostic. Reported by Matthew Woehlke.
2009-03-19tests: df/total-verify: avoid test failure with older PerlJim Meyering
* tests/df/total-verify: Don't use perl's -f option. Reported by Matthew Woehlke.
2009-03-18tests: adjust sort-continue not to fail under valgrindJim Meyering
* tests/misc/sort-continue: Don't run cat inside fd-limited shell. If sort fails to run in an fd-limited shell, skip the test.
2009-03-18tests: add another sort/nmerge testPaul Eggert
* tests/Makefile.am (TESTS): Add sort-merge-fdlimit. * tests/misc/sort-merge-fdlimit: New file. * doc/coreutils.texi (sort invocation): Document that we now silently lower nmerge if necessary. Patch by Paul Eggert, Nima Nikzad, Max Chang, Alexander Nguyen, Sahil Amoli, and Nick Graham.
2009-03-18sort: handle fd exhaustion better when mergingPaul Eggert
This is an alternative to my 9 March patch labeled "Silently lower nmerge; don't (sometimes incorrectly) range-check" <http://lists.gnu.org/archive/html/bug-coreutils/2009-03/msg00070.html>. It differs by not using 'dup' to probe for extra file descriptors; instead, it simply calls 'open' (and 'pipe') to open files and pipes, until one of these calls fails due to file descriptor exhaustion; it then backs off by 1, does a merge with the files that it has opened, and then retries with the (now-smaller) number of files. This patch requires quite a few more changes to the source code than the earlier patch, but it is in some sense "better" because it doesn't need to call "dup" ahead of time in order to decide whether "open" or "pipe" will fail. Also, it's more robust in the case where "open" or "pipe" fails with errno==EMFILE because some system-wide limit is exhausted. * src/sort.c (create_temp_file): New arg SURVIVE_FD_EXHAUSTION. (stream_open): New function, containing guts of xfopen. (xfopen): Use it. (pipe_fork): Set errno on failure. (maybe_create_temp): New function, containing guts of create_temp. (create_temp): Use it. (open_temp): Distinguish failures due to file descriptor exhaustion from other failures, and on fd exhaustion return a notice to caller rather than dying. Don't test execlp's return value; when it returns, it *always* returns -1. (open_input_files): New function. (mergefps): New arg FPS. It's now the caller's responsibility to open the input and output files. All callers changed. (mergefiles): New function. (avoid_trashing_input, merge): Handle the case where a single merge can't merge as much as we wanted due to file descriptor exhaustion, by merging as much as we can and then retrying. * tests/Makefile.am (TESTS): Add misc/sort-continue. * tests/misc/sort-continue: New file. * THANKS: Add Glen Lenker and Matt Pham who coauthored this patch.
2009-03-15maint: remove long-unused MakefileJim Meyering
* tests/sort-time/Makefile: Remove long-unused file.
2009-03-12tests: groups-version: don't require that id be builtJim Meyering
* tests/misc/groups-version: groups is now independent of id.
2009-03-12tests: skip the groups-dash test when "groups" is not builtJim Meyering
* tests/misc/groups-dash: Skip if groups is not being installed. Suggested by Mike Frysinger. Also fail if groups exits with nonzero status.
2009-03-11cp: make -a option preserve xattrs, but with reduced diagnosticsOndřej Vašík
* copy.c (copy_attr_by_fd): Reduce xattr diagnostics for 'cp -a'. (copy_attr_by_name): Likewise. * cp.c (main): Preserve xattrs with -a option, when possible. * doc/coreutils.texi: Document that xattrs are preserved with cp -a, with no added diagnostics. * NEWS: Mention the change. * tests/misc/xattr: Add tests for 'cp --preserve=all' and 'cp -a'.
2009-03-11cat: Fix immediate output of processed dataPádraig Brady
Introduced by commit 790892db, 2006-06-08 "Ensure that cat works ...". * NEWS: Mention the bugfix. * src/cat.c (cat): Fix the typo which stopped the writing of processed data before a blocking read() is done. * tests/misc/cat-buf: Add to ensure processed data is not buffered. * tests/Makefile.am: Reference the new test.
2009-03-08tests: add a test for newly-fixed bug in comm --check-orderJim Meyering
* tests/misc/comm (ooo-prefix): Add a test for today's fix. * NEWS (Bug fixes): Mention it.
2009-03-08tests: ls -v: exercise the bug fixed by gnulib's new filevercmpJim Meyering
* tests/misc/ls-misc (version-sort): New test. (mk_file): New function. Reported by Josh Triplett in <http://bugs.debian.org/517558>. Details in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16902 * NEWS (Bug fixes): Mention it.
2009-03-07pr: fix a bug whereby --indent=N (-o) did not indent header linesJim Meyering
* src/pr.c (print_header): Honor chars_per_margin also for the header. Inspired by a patch from C de-Avillez. This change also adjusts two other %*s directives to be %*.*s instead, (for the padding on either side of "file_text") to correct a bug that could make pr print one space of padding instead of none. * NEWS (Bug fixes): Mention it. * tests/pr/o3Jml24f-lm-lo: Adjust for new expected output. * tests/pr/o3a3Sl24f-tn: Likewise. * tests/pr/o3a3Snl24f-tn: Likewise. * tests/pr/o3a3l24f-tn: Likewise. * tests/pr/o3b3Sl24f-tn: Likewise. * tests/pr/o3b3Snl24f-tn: Likewise. * tests/pr/o3b3l24f-tn: Likewise. * tests/pr/o3mSl24f-bl-tn: Likewise. * tests/pr/o3mSnl24fbltn: Likewise. * tests/pr/o3ml24f-bl-tn: Likewise.
2009-03-06tests: fix just-introduced typo in rm/ext3-perfJim Meyering
* tests/rm/ext3-perf: Fix typo in commit 2b1e6636bea, 2009-02-27 "tests: rm/ext3-perf: relax this test".
2009-03-02tests: rm/ext3-perf: relax this testJim Meyering
* tests/rm/ext3-perf: If set-up takes too long, use the set-up time as the removal time limit. Otherwise, a parallel "make check" would usually fail when run with RUN_VERY_EXPENSIVE_TESTS=yes.
2009-03-02tests: don't skip setgid-dir related tests on SELinux-enabled systemsJim Meyering
* tests/setgid-check: The change in ls (use ".", not "+") caused this check always to report the working directory as set-gid. Now, use stat, not ls.
2009-03-02tests: reflect the s/+/./ SELinux indicator changeJim Meyering
* tests/mkdir/perm: Now that this test is no longer always skipped, make it work independently of ls: use stat, not ls, to get perm string. * test-lib.sh (rwx_to_mode_): Use stat, not ls to get perm string This test was run only when RUN_VERY_EXPENSIVE_TESTS=yes was set.
2009-03-02tests: when skipping a test, say why on screen, not just in the logJim Meyering
* tests/test-lib.sh: Redirect also to descriptor 9. Better one-line why-skip diagnostics. * tests/check.mk (TESTS_ENVIRONMENT): Redirect 9 to stderr. * tests/misc/pwd-unreadable-parent: Remove redundant "skipping..." diag.
2009-02-28tests: sort: Check skipping blanks in multibyte localesPádraig Brady
* tests/misc/sort: On Fedora 8 at least, sort -k1b,1 mishandles blanks in multibyte locales, so add test.
2009-02-27cp: diagnose invalid "cp -rl dir dir" right away, once againJim Meyering
Running "mkdir dir; cp -rl dir dir" would create dir/dir/dir/... rather than diagnosing the "copy-into-self" failure. The easy fix would have been to revert this part of the change [3ece0355 2008-11-09 cp: use far less memory in some cases] that introduced the bug: - remember_copied (dst_name, dst_sb.st_ino, dst_sb.st_dev); + if (!x->hard_link) + remember_copied (dst_name, dst_sb.st_ino, dst_sb.st_dev); However, that would have induced the failure of the new cp/link-heap test, due to the added memory pressure of recording 10k dev/ino pairs. And besides, I liked that improvement and wanted to keep it. Now that it's obvious recording the just-created-directory dev/ino needn't depend on the setting of hard_link, I realized it is necessary to record the pair only for the first directory created for each source command-line argument. I made that change, then noticed the new test, cp -rl a d d, would pass when run once, yet output the into-self diagnostic twice. Also note the side effect: it creates d/a and d/d. However, running that same command a second time, now with the modified directory, would fail. That turned out to be due to the fact that although the first into-self failure was detected in copy_dir, that function would continue copying other entries regardless -- and that would make it fail (eventually) with the unwanted recursion. * src/copy.c (copy_internal): This function needed an indicator of whether, for a give command line argument, it had already created its first directory. If so, no more need to record dev/ino pairs. If this is the first, then do record its pair. Hence, the new parameter. (copy_dir, copy): Update callers. (copy_dir): Upon any into-self failure, break out of the loop. * tests/cp/into-self: Test for the above. Reported by Mikael Magnusson.
2009-02-26tests: stty-row-col would hang when run in the backgroundJim Meyering
* tests/misc/stty-row-col: Don't hang when run in background at least on Solaris 10 and OpenBSD.
2009-02-26sort: Fix two bugs with determining the end of fieldPádraig Brady
* src/sort.c: When no specific number of chars to skip is specified for the end field, always skip the whole field. Also never include leading spaces from next field. * tests/misc/sort: Add 2 new tests for these cases. * NEWS: Mention this bug fix. * THANKS: Add bug reporter. Reported by Davide Canova.
2009-02-26tests: Remove system specific error stringsPádraig Brady
* tests/dd/skip-seek-past-file: Just check for the non system specific part of the error strings. This was causing an erroneous failure on NetBSD 1.6 at least.
2009-02-25tests: using printf with \e for ESC isn't portableJim Meyering
* tests/ls/color-clear-to-eol: Use \33, not \e for ascii ESC. This test failed when using the built-in printf of /bin/sh from NetBSD 1.6.
2009-02-22tests: reenable temporarily-disabled tests using e.g., trap '' TTOUJim Meyering
Revert "tests: skip newly-modified tests unconditionally..." This reverts commit 773a88d33f68e50a2919c8a8310c646a7e5fabc2. * tests/misc/stty: Don't skip. * tests/misc/stty-invalid: Likewise. * tests/mv/i-3: Likewise.
2009-02-21tests: skip new install-C test if working directory is set-gidJim Meyering
* tests/install/install-C: Use setgid-check.
2009-02-21tests: skip newly-modified tests unconditionally, just to be safeJim Meyering
* tests/misc/stty-invalid: Skip. * tests/misc/stty: Likewise. * tests/mv/i-3: Likewise.
2009-02-21tests: don't let SIGTTOU/TTIN hang a backgrounded "make check"Jim Meyering
Running "make check &" would hang due to SIGTTOU and SIGTTIN signals. * tests/misc/stty: Ignore SIGTTOU. * tests/misc/stty-invalid: Likewise. * tests/mv/i-3: Ignore SIGTTIN.
2009-02-18maint: add copyright noticesJim Meyering
* HACKING: Add copyright notice. * tests/test-lib.sh: Likewise.
2009-02-18cp: -a now preserves SELinux context, with reduced diagnosticsOndřej Vašík
* copy.c (copy_reg): Reduce SELinux context diagnostics for 'cp -a'. (copy_internal): Likewise * copy.h (cp_options): Add boolean reduce_diagnostics. * cp.c (usage): Say that --archive (-a) behaves like -dR --preserve=all. (cp_option_init): Initialize added reduce_diagnostics. (main): Add reduce_diagnostics for the -a option, and preserve SELinux context, if possible. * mv.c (cp_options_init): Initialize new cp_options booleans. * install.c (cp_option_init): Likewise. * NEWS: Mention those behaviour changes. * doc/coreutils.texi: Document --preserve=context, document that diagnostics are not shown for failures of non-mandatory attributes (just SELinux at the moment). * tests/cp/cp-a-selinux: Check not only failures, but succesful use of preserving SELinux context in cp.
2009-02-18add missing copyright datesEric Blake
* NEWS: Add 2009 to copyright. * README: Likewise. * README-hacking: Likewise. * TODO: Likewise. * doc/Makefile.am: Likewise. * m4/prereq.m4: Likewise. * src/nl.c: Likewise. * src/seq.c: Likewise. * tests/cp/cp-i: Likewise. * tests/install/install-C: Likewise. * tests/install/install-C-root: Likewise. * tests/install/install-C-selinux: Likewise. * tests/misc/seq: Likewise. * tests/mv/mv-n: Likewise.
2009-02-17install: add --compare (-C) option to install file only when necessaryKamil Dudka
* src/install.c (have_same_content): New function to compare files content. (extra_mode): New function checking for non-permission bits in mode. (need_copy): New function to check if copy is necessary. (main): Handle new option --compare (-C). (copy_file): Skip file copying if not necessary. (usage): Show new option --compare (-C) in --help. * tests/install/install-C: Basic tests for install --compare (-C). * tests/install/install-C-root: Tests requiring root privileges. * tests/install/install-C-selinux: Tests requiring SELinux. * tests/Makefile.am: Add new tests for install --compare (-C). * doc/coreutils.texi: Document new install option --compare (-C). * NEWS: Mention the change.
2009-02-14seq: Fix equal width calculation when '.' added to last numberPádraig Brady
Issue reported by Samuel Hapák. <http://lists.gnu.org/archive/html/bug-coreutils/2009-02/msg00139.html> * src/seq.c: Account for '.' added to "last" number. * tests/misc/seq: Add corresponding test. * NEWS: Mention the fix.
2009-02-10ls: clean up after wrapped+colored file names with clear-to-EOLJim Meyering
This change addresses a relatively unusual case: ls --color, with a highlighted name being printed initially in the last row of a terminal emulator (possibly followed by other lines of output) such that it is wrapped onto the following line, as the terminal emulator scrolls the output. That would cause the entire following line to be highlighted, even if the name happened to use only one position. The least-invasive patch would have made colorized output larger for all uses. The approach taken below is more invasive, but limits the increase in overhead to only those lines that are expected to wrap. * src/ls.c (enum indicator_no): Add C_CLR_TO_EOL. (indicator_name): Add "cl". (color_indicator): Add default escape codes for "cl". (print_long_format): Propagate width to print_name_with_quoting. (print_name_with_quoting): Print new C_CLR_TO_EOL string if needed. Return the width of what we're printing. (print_file_name_and_frills): Propagate width. (print_type_indicator): Return bool (aka width). (print_many_per_line): Pass column position to print_* function. (print_current_files): Likewise. (print_horizontal): Likewise. (print_with_commas): Likewise. * src/dircolors.c (slack_codes): Add "CLRTOEOL". (ls_codes): Add "cl". * tests/ls/color-clear-to-eol: New file. Test for this fix. * tests/Makefile.am (TESTS): Add ls/color-clear-to-eol. * THANKS: Update. Reported by Alexander V. Lukyanov. See thread for details: http://thread.gmane.org/gmane.linux.kernel/740021/focus=14824 Thanks to Jan Engelhardt for helping me reproduce the problem. Demonstrate with this in an 80-column xterm: seq 200 # to start in the "bottom" row touch zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz.foo env LS_COLORS='*.foo=0;31;42' ls -og --color=always Before the fix, you'd see something like this: (where the file name is printed in red on a green background, and each "=" denotes a space on a green background) ... -rw-r--r-- 1 0 Feb 5 11:31 zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz\ zzzzzzzzzzzzzz.foo=================================================== After the patch, the trailing green spaces are gone: -rw-r--r-- 1 0 Feb 5 11:31 zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz\ zzzzzzzzzzzzzz.foo
2009-02-10* tests/test-lib.sh: Use skip_test_... in place of echo...;exit 77.Jim Meyering
2009-02-10tests: avoid skipping stty-* testsNix
* tests/test-lib.sh (require_controlling_input_terminal_): Check stdout, not stdin.