standardize some error messages
authorBo Borgerson <gigabo@gmail.com>
Fri, 4 Apr 2008 15:13:13 +0000 (11:13 -0400)
committerJim Meyering <meyering@redhat.com>
Sun, 8 Jun 2008 10:11:47 +0000 (12:11 +0200)
* 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.

22 files changed:
.x-sc_error_message_uppercase [new file with mode: 0644]
lib/xmemxfrm.c
maint.mk
src/cp.c
src/date.c
src/dircolors.c
src/du.c
src/expr.c
src/install.c
src/join.c
src/ln.c
src/mv.c
src/od.c
src/pr.c
src/split.c
src/truncate.c
src/wc.c
tests/du/files0-from
tests/misc/join
tests/misc/split-a
tests/misc/wc-files0-from
tests/misc/xstrtol

diff --git a/.x-sc_error_message_uppercase b/.x-sc_error_message_uppercase
new file mode 100644 (file)
index 0000000..2452230
--- /dev/null
@@ -0,0 +1 @@
+build-aux/cvsu
index 039f978..84f5158 100644 (file)
@@ -52,9 +52,9 @@ xmemxfrm (char *restrict dest, size_t destsize,
   if (errno)
     {
       error (0, errno, _("string transformation failed"));
-      error (0, 0, _("Set LC_ALL='C' to work around the problem."));
+      error (0, 0, _("set LC_ALL='C' to work around the problem"));
       error (exit_failure, 0,
-            _("The untransformed string was %s."),
+            _("the untransformed string was %s"),
             quotearg_n_style_mem (0, locale_quoting_style, src, srcsize));
     }
 
index 5f9f1f0..8844829 100644 (file)
--- a/maint.mk
+++ b/maint.mk
@@ -144,6 +144,29 @@ sc_error_exit_success:
          { echo '$(ME): found error (EXIT_SUCCESS' 1>&2;               \
            exit 1; } || :
 
+# `FATAL:' should be fully upper-cased in error messages
+# `WARNING:' should be fully upper-cased, or fully lower-cased
+sc_error_message_warn_fatal:
+       @grep -nEA2 '[^rp]error \(' $$($(VC_LIST_EXCEPT))               \
+           | grep -E '"Warning|"Fatal|"fatal' &&                       \
+         { echo '$(ME): use FATAL, WARNING or warning' 1>&2;           \
+           exit 1; } || :
+
+# Error messages should not start with a capital letter
+sc_error_message_uppercase:
+       @grep -nEA2 '[^rp]error \(' $$($(VC_LIST_EXCEPT))               \
+           | grep -E '"[A-Z]'                                          \
+           | grep -vE '"FATAL|"WARNING|"Java|"C#|PRIuMAX' &&           \
+         { echo '$(ME): found capitalized error message' 1>&2;         \
+           exit 1; } || :
+
+# Error messages should not end with a period
+sc_error_message_period:
+       @grep -nEA2 '[^rp]error \(' $$($(VC_LIST_EXCEPT))               \
+           | grep -E '[^."]\."' &&                                     \
+         { echo '$(ME): found error message ending in period' 1>&2;    \
+           exit 1; } || :
+
 sc_file_system:
        @grep -ni 'file''system' $$($(VC_LIST_EXCEPT)) &&               \
          { echo '$(ME): found use of "file''system";'                  \
index 01b9c18..c768d1b 100644 (file)
--- a/src/cp.c
+++ b/src/cp.c
@@ -592,7 +592,7 @@ do_copy (int n_files, char **file, const char *target_directory,
     {
       if (target_directory)
        error (EXIT_FAILURE, 0,
-              _("Cannot combine --target-directory (-t) "
+              _("cannot combine --target-directory (-t) "
                 "and --no-target-directory (-T)"));
       if (2 < n_files)
        {
index aa4d69d..2439052 100644 (file)
@@ -441,8 +441,8 @@ main (int argc, char **argv)
        {
          error (0, 0,
                 _("the argument %s lacks a leading `+';\n"
-                  "When using an option to specify date(s), any non-option\n"
-                  "argument must be a format string beginning with `+'."),
+                  "when using an option to specify date(s), any non-option\n"
+                  "argument must be a format string beginning with `+'"),
                 quote (argv[optind]));
          usage (EXIT_FAILURE);
        }
index 44ec537..56194f7 100644 (file)
@@ -448,8 +448,8 @@ to select a shell syntax are mutually exclusive"));
       error (0, 0, _("extra operand %s"), quote (argv[!print_database]));
       if (print_database)
        fprintf (stderr, "%s\n",
-                _("File operands cannot be combined with "
-                  "--print-database (-p)."));
+                _("file operands cannot be combined with "
+                  "--print-database (-p)"));
       usage (EXIT_FAILURE);
     }
 
index 32cb363..d974991 100644 (file)
--- a/src/du.c
+++ b/src/du.c
@@ -937,7 +937,7 @@ main (int argc, char **argv)
        {
          error (0, 0, _("extra operand %s"), quote (argv[optind]));
          fprintf (stderr, "%s\n",
-                  _("File operands cannot be combined with --files0-from."));
+                  _("file operands cannot be combined with --files0-from"));
          usage (EXIT_FAILURE);
        }
 
index d6b1985..bbcb5a9 100644 (file)
@@ -777,9 +777,9 @@ eval2 (bool evaluate)
              if (errno)
                {
                  error (0, errno, _("string comparison failed"));
-                 error (0, 0, _("Set LC_ALL='C' to work around the problem."));
+                 error (0, 0, _("set LC_ALL='C' to work around the problem"));
                  error (EXPR_INVALID, 0,
-                        _("The strings compared were %s and %s."),
+                        _("the strings compared were %s and %s"),
                         quotearg_n_style (0, locale_quoting_style, l->u.s),
                         quotearg_n_style (1, locale_quoting_style, r->u.s));
                }
index aa14b94..0d3927d 100644 (file)
@@ -420,8 +420,8 @@ main (int argc, char **argv)
        case PRESERVE_CONTEXT_OPTION:
          if ( ! selinux_enabled)
            {
-             error (0, 0, _("Warning: ignoring --preserve-context; "
-                            "this kernel is not SELinux-enabled."));
+             error (0, 0, _("WARNING: ignoring --preserve-context; "
+                            "this kernel is not SELinux-enabled"));
              break;
            }
          x.preserve_security_context = true;
@@ -430,8 +430,8 @@ main (int argc, char **argv)
        case 'Z':
          if ( ! selinux_enabled)
            {
-             error (0, 0, _("Warning: ignoring --context (-Z); "
-                            "this kernel is not SELinux-enabled."));
+             error (0, 0, _("WARNING: ignoring --context (-Z); "
+                            "this kernel is not SELinux-enabled"));
              break;
            }
          scontext = optarg;
@@ -487,7 +487,7 @@ main (int argc, char **argv)
     {
       if (target_directory)
        error (EXIT_FAILURE, 0,
-              _("Cannot combine --target-directory (-t) "
+              _("cannot combine --target-directory (-t) "
                 "and --no-target-directory (-T)"));
       if (2 < n_files)
        {
index 3287268..4c506d1 100644 (file)
@@ -380,7 +380,7 @@ check_order (const struct line *prev,
            {
              error ((check_input_order == CHECK_ORDER_ENABLED
                      ? EXIT_FAILURE : 0),
-                    0, _("File %d is not in sorted order"), whatfile);
+                    0, _("file %d is not in sorted order"), whatfile);
 
              /* If we get to here, the message was just a warning, but we
                 want only to issue it once. */
index 1372240..2dc5628 100644 (file)
--- a/src/ln.c
+++ b/src/ln.c
@@ -507,7 +507,7 @@ main (int argc, char **argv)
     {
       if (target_directory)
        error (EXIT_FAILURE, 0,
-              _("Cannot combine --target-directory "
+              _("cannot combine --target-directory "
                 "and --no-target-directory"));
       if (n_files != 2)
        {
index bab26ba..fc255f3 100644 (file)
--- a/src/mv.c
+++ b/src/mv.c
@@ -450,7 +450,7 @@ main (int argc, char **argv)
     {
       if (target_directory)
        error (EXIT_FAILURE, 0,
-              _("Cannot combine --target-directory (-t) "
+              _("cannot combine --target-directory (-t) "
                 "and --no-target-directory (-T)"));
       if (2 < n_files)
        {
index 3273ec2..4df8e7d 100644 (file)
--- a/src/od.c
+++ b/src/od.c
@@ -1838,7 +1838,7 @@ it must be one character from [doxn]"),
        {
          error (0, 0, _("extra operand %s"), quote (argv[optind + 1]));
          error (0, 0, "%s\n",
-                _("Compatibility mode supports at most one file."));
+                _("compatibility mode supports at most one file"));
          usage (EXIT_FAILURE);
        }
     }
index 27ff859..6ffe8f1 100644 (file)
--- a/src/pr.c
+++ b/src/pr.c
@@ -913,7 +913,7 @@ main (int argc, char **argv)
              error (EXIT_FAILURE, 0,
                     _("`--pages=FIRST_PAGE[:LAST_PAGE]' missing argument"));
            else if (! first_last_page (oi, 0, optarg))
-             error (EXIT_FAILURE, 0, _("Invalid page range %s"),
+             error (EXIT_FAILURE, 0, _("invalid page range %s"),
                     quote (optarg));
            break;
          }
@@ -1099,11 +1099,11 @@ main (int argc, char **argv)
 
   if (parallel_files & explicit_columns)
     error (EXIT_FAILURE, 0,
-        _("Cannot specify number of columns when printing in parallel."));
+        _("cannot specify number of columns when printing in parallel"));
 
   if (parallel_files & print_across_flag)
     error (EXIT_FAILURE, 0,
-       _("Cannot specify both printing across and printing in parallel."));
+       _("cannot specify both printing across and printing in parallel"));
 
 /* Translate some old short options to new/long options.
    To meet downward compatibility with other UNIX pr utilities
@@ -2394,7 +2394,7 @@ print_header (void)
   print_white_space ();
 
   if (page_number == 0)
-    error (EXIT_FAILURE, 0, _("Page number overflow"));
+    error (EXIT_FAILURE, 0, _("page number overflow"));
 
   /* The translator must ensure that formatting the translation of
      "Page %"PRIuMAX does not generate more than (sizeof page_text - 1)
index 71200fb..181d837 100644 (file)
@@ -189,7 +189,7 @@ next_file_name (void)
          sufindex[i] = 0;
          outfile_mid[i] = suffix_alphabet[sufindex[i]];
        }
-      error (EXIT_FAILURE, 0, _("Output file suffixes exhausted"));
+      error (EXIT_FAILURE, 0, _("output file suffixes exhausted"));
     }
 }
 
index f353067..f26fd45 100644 (file)
@@ -326,7 +326,7 @@ main (int argc, char **argv)
   /* must specify either size or reference file */
   if ((ref_file && got_size) || (!ref_file && !got_size))
     {
-      error (0, 0, _("You must specify one of %s or %s"),
+      error (0, 0, _("you must specify one of %s or %s"),
              quote_n (0, "--size"), quote_n (1, "--reference"));
       usage (EXIT_FAILURE);
     }
index 8073bb0..e6b9a1e 100644 (file)
--- a/src/wc.c
+++ b/src/wc.c
@@ -646,7 +646,7 @@ main (int argc, char **argv)
        {
          error (0, 0, _("extra operand %s"), quote (argv[optind]));
          fprintf (stderr, "%s\n",
-                  _("File operands cannot be combined with --files0-from."));
+                  _("file operands cannot be combined with --files0-from"));
          usage (EXIT_FAILURE);
        }
 
index 3e299f3..5cdbd89 100755 (executable)
@@ -31,7 +31,7 @@ my @Tests =
    # invalid extra command line argument
    ['f-extra-arg', '--files0-from=- no-such', {IN=>"a"}, {EXIT=>1},
     {ERR => "$prog: extra operand `no-such'\n"
-        . "File operands cannot be combined with --files0-from.\n"
+       . "file operands cannot be combined with --files0-from\n"
         . "Try `$prog --help' for more information.\n"}
     ],
 
index 772c2c4..4c36c32 100755 (executable)
@@ -166,7 +166,7 @@ my @tv = (
 # With check, both inputs out of order (in fact, in reverse order)
 ['chkodr-5', '--check-order',
  [" b 1\n a 2\n", " b Y\n a Z\n"], "", 1,
- "$prog: File 1 is not in sorted order\n"],
+ "$prog: file 1 is not in sorted order\n"],
 
 # Without order check, both inputs out of order and some lines
 # unpairable.  This is NOT supported by the GNU extension.  All that
index b390099..19f3f0a 100755 (executable)
@@ -38,7 +38,7 @@ for f in $files; do
   printf 'creating file `%s'\''\n' $f
 done > exp || framework_failure
 
-echo split: Output file suffixes exhausted \
+echo split: output file suffixes exhausted \
   > exp-too-short || framework_failure
 
 fail=0
index 5050143..c8ce7d6 100755 (executable)
@@ -31,8 +31,8 @@ my @Tests =
    # invalid extra command line argument
    ['f-extra-arg', '--files0-from=- no-such', {IN=>"a"}, {EXIT=>1},
     {ERR => "$prog: extra operand `no-such'\n"
-        . "File operands cannot be combined with --files0-from.\n"
-        . "Try `$prog --help' for more information.\n"}
+       . "file operands cannot be combined with --files0-from\n"
+       . "Try `$prog --help' for more information.\n"}
     ],
 
    # missing input file
index 0ebd32b..08f9d1d 100755 (executable)
@@ -38,9 +38,8 @@ my @Tests =
    ['simply-inval', "--pages=x", {EXIT => 1},
     {ERR=>"$prog: invalid --pages argument `x'\n"}],
 
-   # FIXME: should be lower case "invalid".
    ['inv-pg-range', "--pages=9x", {EXIT => 1},
-    {ERR=>"$prog: Invalid page range `9x'\n"}],
+    {ERR=>"$prog: invalid page range `9x'\n"}],
   );
 
 my $save_temps = $ENV{DEBUG};