about summary refs log tree commit diff
path: root/stdlib
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2000-10-27 23:37:52 +0000
committerUlrich Drepper <drepper@redhat.com>2000-10-27 23:37:52 +0000
commit9f6c1fc4947e0b6d007cff159166bc0373386c61 (patch)
treeacf2ed53901c12bf2fa3137cbd4515c4da9d3932 /stdlib
parent6d5503b16a70cdddc904b7614b9927ee55720a27 (diff)
downloadglibc-9f6c1fc4947e0b6d007cff159166bc0373386c61.tar.gz
glibc-9f6c1fc4947e0b6d007cff159166bc0373386c61.tar.xz
glibc-9f6c1fc4947e0b6d007cff159166bc0373386c61.zip
Update.
	* stdlib/fmtmsg.c (fmtmsg): Change output format slightly to make
	it look better and bring it closer to SysV behavior.
	* stdlib/Makefile (distribute): Add tst-fmtmsg.sh.
	(test-srcs): Add tst-fmtmsg.
	(tests): Add $(objpfx)tst-fmtmsg.out.  Add rule to generate it.
	* stdlib/tst-fmtmsg.sh: New file.
	* stdlib/tst-fmtmsg.c: New file.
Diffstat (limited to 'stdlib')
-rw-r--r--stdlib/Makefile8
-rw-r--r--stdlib/fmtmsg.c22
-rw-r--r--stdlib/tst-fmtmsg.c52
-rwxr-xr-xstdlib/tst-fmtmsg.sh336
4 files changed, 405 insertions, 13 deletions
diff --git a/stdlib/Makefile b/stdlib/Makefile
index 19e88f3aca..e9cef42f2c 100644
--- a/stdlib/Makefile
+++ b/stdlib/Makefile
@@ -49,7 +49,8 @@ routines	:=							      \
 	strtoimax strtoumax wcstoimax wcstoumax				      \
 	getcontext setcontext makecontext swapcontext
 
-distribute	:= exit.h grouping.h abort-instr.h isomac.c
+distribute	:= exit.h grouping.h abort-instr.h isomac.c tst-fmtmsg.sh
+test-srcs	:= tst-fmtmsg
 tests		:= tst-strtol tst-strtod testmb testrand testsort testdiv \
 		   test-canon test-canon2 tst-strtoll tst-environ	  \
 		   tst-xpg-basename tst-random tst-bsearch tst-limits
@@ -130,10 +131,13 @@ endif
 test-canon-ARGS = --test-dir=${common-objpfx}stdlib
 
 # Run a test on the header files we use.
-tests: $(objpfx)isomac.out
+tests: $(objpfx)isomac.out $(objpfx)tst-fmtmsg.out
 
 $(objpfx)isomac.out: $(objpfx)isomac
 	$(dir $<)$(notdir $<) '$(CC)' '-I../include -I.. $(+sysdep-includes)' > $<.out
 
 $(objpfx)isomac: isomac.c
 	$(native-compile)
+
+$(objpfx)tst-fmtmsg.out: tst-fmtmsg.sh $(objpfx)tst-fmtmsg
+	$(SHELL) -e $< $(common-objpfx) $(common-objpfx)stdlib/
diff --git a/stdlib/fmtmsg.c b/stdlib/fmtmsg.c
index 126132d859..1c9e4298cd 100644
--- a/stdlib/fmtmsg.c
+++ b/stdlib/fmtmsg.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 1999 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1999, 2000 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -145,15 +145,15 @@ fmtmsg (long int classification, const char *label, int severity,
 
       if (fprintf (stderr, "%s%s%s%s%s%s%s%s%s%s\n",
 		   do_label ? label : "",
-		   do_label && (do_severity | do_text) ? ": " : "",
+		   do_label && (do_severity | do_text | do_action | do_tag)
+		   ? ": " : "",
 		   do_severity ? severity_rec->string : "",
-		   do_severity && do_text ? ": " : "",
+		   do_severity && (do_text | do_action | do_tag) ? ": " : "",
 		   do_text ? text : "",
-		   (do_label | do_severity | do_text) && (do_action | do_tag)
-		   ? "\n" : "",
+		   do_text && (do_action | do_tag) ? "\n" : "",
 		   do_action ? "TO FIX: " : "",
 		   do_action ? action : "",
-		   do_action && do_tag ? " " : "",
+		   do_action && do_tag ? "  " : "",
 		   do_tag ? tag : "") == EOF)
 	/* Oh, oh.  An error occurred during the output.  */
 	result = MM_NOMSG;
@@ -169,15 +169,15 @@ fmtmsg (long int classification, const char *label, int severity,
 
       syslog (LOG_ERR, "%s%s%s%s%s%s%s%s%s%s\n",
 	      do_label ? label : "",
-	      do_label && (do_severity | do_text) ? ": " : "",
+	      do_label && (do_severity | do_text | do_action | do_tag)
+	      ? ": " : "",
 	      do_severity ? severity_rec->string : "",
-	      do_severity && do_text ? ": " : "",
+	      do_severity && (do_text | do_action | do_tag) ? ": " : "",
 	      do_text ? text : "",
-	      (do_label | do_severity | do_text) && (do_action | do_tag)
-	      ? "\n" : "",
+	      do_text && (do_action | do_tag) ? "\n" : "",
 	      do_action ? "TO FIX: " : "",
 	      do_action ? action : "",
-	      do_action && do_tag ? " " : "",
+	      do_action && do_tag ? "  " : "",
 	      do_tag ? tag : "");
     }
 
diff --git a/stdlib/tst-fmtmsg.c b/stdlib/tst-fmtmsg.c
new file mode 100644
index 0000000000..d5369bda62
--- /dev/null
+++ b/stdlib/tst-fmtmsg.c
@@ -0,0 +1,52 @@
+#include <fmtmsg.h>
+#include <mcheck.h>
+#include <stdio.h>
+
+
+#define MM_TEST 10
+
+int
+main (void)
+{
+  int result = 0;
+
+  mtrace ();
+
+  if (addseverity (MM_TEST, "TEST") != MM_OK)
+    {
+      puts ("addseverity failed");
+      result = 1;
+    }
+
+  if (fmtmsg (MM_PRINT, "GLIBC:tst-fmtmsg", MM_HALT, "halt",
+	      "should print message for MM_HALT", "GLIBC:tst-fmtmsg:1")
+      != MM_OK)
+    result = 1;
+
+  if (fmtmsg (MM_PRINT, "GLIBC:tst-fmtmsg", MM_ERROR, "halt",
+	      "should print message for MM_ERROR", "GLIBC:tst-fmtmsg:2")
+      != MM_OK)
+    result = 1;
+
+  if (fmtmsg (MM_PRINT, "GLIBC:tst-fmtmsg", MM_WARNING, "halt",
+	      "should print message for MM_WARNING", "GLIBC:tst-fmtmsg:3")
+      != MM_OK)
+    result = 1;
+
+  if (fmtmsg (MM_PRINT, "GLIBC:tst-fmtmsg", MM_INFO, "halt",
+	      "should print message for MM_INFO", "GLIBC:tst-fmtmsg:4")
+      != MM_OK)
+    result = 1;
+
+  if (fmtmsg (MM_PRINT, "GLIBC:tst-fmtmsg", MM_NOSEV, "halt",
+	      "should print message for MM_NOSEV", "GLIBC:tst-fmtmsg:5")
+      != MM_OK)
+    result = 1;
+
+  if (fmtmsg (MM_PRINT, "GLIBC:tst-fmtmsg", MM_TEST, "halt",
+	      "should print message for MM_TEST", "GLIBC:tst-fmtmsg:6")
+      != MM_OK)
+    result = 1;
+
+  return result;
+}
diff --git a/stdlib/tst-fmtmsg.sh b/stdlib/tst-fmtmsg.sh
new file mode 100755
index 0000000000..6f083cab15
--- /dev/null
+++ b/stdlib/tst-fmtmsg.sh
@@ -0,0 +1,336 @@
+#! /bin/sh
+# Test of fmtmsg function family.
+# Copyright (C) 2000 Free Software Foundation, Inc.
+# This file is part of the GNU C Library.
+#
+# The GNU C Library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Library General Public License as
+# published by the Free Software Foundation; either version 2 of the
+# License, or (at your option) any later version.
+#
+# The GNU C Library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+#
+# You should have received a copy of the GNU Library General Public
+# License along with the GNU C Library; see the file COPYING.LIB.  If
+# not, write to the Free Software Foundation, Inc.,
+# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+common_objpfx=$1
+objpfx=$2
+
+test="${common_objpfx}elf/ld.so --library-path $common_objpfx \
+${objpfx}tst-fmtmsg"
+out=${objpfx}tst-fmtmsg.out
+
+LC_ALL=C
+export LC_ALL
+
+(MSGVERB= $test || exit 1;
+ MSGVERB=label $test || exit 1;
+ MSGVERB=severity $test || exit 1;
+ MSGVERB=severity:label $test || exit 1;
+ MSGVERB=text $test || exit 1;
+ MSGVERB=text:label $test || exit 1;
+ MSGVERB=text:severity $test || exit 1;
+ MSGVERB=text:severity:label $test || exit 1;
+ MSGVERB=action $test || exit 1;
+ MSGVERB=action:label $test || exit 1;
+ MSGVERB=action:severity $test || exit 1;
+ MSGVERB=action:severity:label $test || exit 1;
+ MSGVERB=action:text $test || exit 1;
+ MSGVERB=action:text:label $test || exit 1;
+ MSGVERB=action:text:severity $test || exit 1;
+ MSGVERB=action:text:severity:label $test || exit 1;
+ MSGVERB=tag $test || exit 1;
+ MSGVERB=tag:label $test || exit 1;
+ MSGVERB=tag:severity $test || exit 1;
+ MSGVERB=tag:severity:label $test || exit 1;
+ MSGVERB=tag:text $test || exit 1;
+ MSGVERB=tag:text:label $test || exit 1;
+ MSGVERB=tag:text:severity $test || exit 1;
+ MSGVERB=tag:text:severity:label $test || exit 1;
+ MSGVERB=tag:action $test || exit 1;
+ MSGVERB=tag:action:label $test || exit 1;
+ MSGVERB=tag:action:severity $test || exit 1;
+ MSGVERB=tag:action:severity:label $test || exit 1;
+ MSGVERB=tag:action:text $test || exit 1;
+ MSGVERB=tag:action:text:label $test || exit 1;
+ MSGVERB=tag:action:text:severity $test || exit 1;
+ MSGVERB=tag:action:text:severity:label $test || exit 1;) 2> $out
+
+cmp $out <<EOF
+GLIBC:tst-fmtmsg: HALT: halt
+TO FIX: should print message for MM_HALT  GLIBC:tst-fmtmsg:1
+GLIBC:tst-fmtmsg: ERROR: halt
+TO FIX: should print message for MM_ERROR  GLIBC:tst-fmtmsg:2
+GLIBC:tst-fmtmsg: WARNING: halt
+TO FIX: should print message for MM_WARNING  GLIBC:tst-fmtmsg:3
+GLIBC:tst-fmtmsg: INFO: halt
+TO FIX: should print message for MM_INFO  GLIBC:tst-fmtmsg:4
+GLIBC:tst-fmtmsg: halt
+TO FIX: should print message for MM_NOSEV  GLIBC:tst-fmtmsg:5
+GLIBC:tst-fmtmsg: TEST: halt
+TO FIX: should print message for MM_TEST  GLIBC:tst-fmtmsg:6
+GLIBC:tst-fmtmsg
+GLIBC:tst-fmtmsg
+GLIBC:tst-fmtmsg
+GLIBC:tst-fmtmsg
+GLIBC:tst-fmtmsg
+GLIBC:tst-fmtmsg
+HALT
+ERROR
+WARNING
+INFO
+
+TEST
+GLIBC:tst-fmtmsg: HALT
+GLIBC:tst-fmtmsg: ERROR
+GLIBC:tst-fmtmsg: WARNING
+GLIBC:tst-fmtmsg: INFO
+GLIBC:tst-fmtmsg
+GLIBC:tst-fmtmsg: TEST
+halt
+halt
+halt
+halt
+halt
+halt
+GLIBC:tst-fmtmsg: halt
+GLIBC:tst-fmtmsg: halt
+GLIBC:tst-fmtmsg: halt
+GLIBC:tst-fmtmsg: halt
+GLIBC:tst-fmtmsg: halt
+GLIBC:tst-fmtmsg: halt
+HALT: halt
+ERROR: halt
+WARNING: halt
+INFO: halt
+halt
+TEST: halt
+GLIBC:tst-fmtmsg: HALT: halt
+GLIBC:tst-fmtmsg: ERROR: halt
+GLIBC:tst-fmtmsg: WARNING: halt
+GLIBC:tst-fmtmsg: INFO: halt
+GLIBC:tst-fmtmsg: halt
+GLIBC:tst-fmtmsg: TEST: halt
+TO FIX: should print message for MM_HALT
+TO FIX: should print message for MM_ERROR
+TO FIX: should print message for MM_WARNING
+TO FIX: should print message for MM_INFO
+TO FIX: should print message for MM_NOSEV
+TO FIX: should print message for MM_TEST
+GLIBC:tst-fmtmsg: TO FIX: should print message for MM_HALT
+GLIBC:tst-fmtmsg: TO FIX: should print message for MM_ERROR
+GLIBC:tst-fmtmsg: TO FIX: should print message for MM_WARNING
+GLIBC:tst-fmtmsg: TO FIX: should print message for MM_INFO
+GLIBC:tst-fmtmsg: TO FIX: should print message for MM_NOSEV
+GLIBC:tst-fmtmsg: TO FIX: should print message for MM_TEST
+HALT: TO FIX: should print message for MM_HALT
+ERROR: TO FIX: should print message for MM_ERROR
+WARNING: TO FIX: should print message for MM_WARNING
+INFO: TO FIX: should print message for MM_INFO
+TO FIX: should print message for MM_NOSEV
+TEST: TO FIX: should print message for MM_TEST
+GLIBC:tst-fmtmsg: HALT: TO FIX: should print message for MM_HALT
+GLIBC:tst-fmtmsg: ERROR: TO FIX: should print message for MM_ERROR
+GLIBC:tst-fmtmsg: WARNING: TO FIX: should print message for MM_WARNING
+GLIBC:tst-fmtmsg: INFO: TO FIX: should print message for MM_INFO
+GLIBC:tst-fmtmsg: TO FIX: should print message for MM_NOSEV
+GLIBC:tst-fmtmsg: TEST: TO FIX: should print message for MM_TEST
+halt
+TO FIX: should print message for MM_HALT
+halt
+TO FIX: should print message for MM_ERROR
+halt
+TO FIX: should print message for MM_WARNING
+halt
+TO FIX: should print message for MM_INFO
+halt
+TO FIX: should print message for MM_NOSEV
+halt
+TO FIX: should print message for MM_TEST
+GLIBC:tst-fmtmsg: halt
+TO FIX: should print message for MM_HALT
+GLIBC:tst-fmtmsg: halt
+TO FIX: should print message for MM_ERROR
+GLIBC:tst-fmtmsg: halt
+TO FIX: should print message for MM_WARNING
+GLIBC:tst-fmtmsg: halt
+TO FIX: should print message for MM_INFO
+GLIBC:tst-fmtmsg: halt
+TO FIX: should print message for MM_NOSEV
+GLIBC:tst-fmtmsg: halt
+TO FIX: should print message for MM_TEST
+HALT: halt
+TO FIX: should print message for MM_HALT
+ERROR: halt
+TO FIX: should print message for MM_ERROR
+WARNING: halt
+TO FIX: should print message for MM_WARNING
+INFO: halt
+TO FIX: should print message for MM_INFO
+halt
+TO FIX: should print message for MM_NOSEV
+TEST: halt
+TO FIX: should print message for MM_TEST
+GLIBC:tst-fmtmsg: HALT: halt
+TO FIX: should print message for MM_HALT
+GLIBC:tst-fmtmsg: ERROR: halt
+TO FIX: should print message for MM_ERROR
+GLIBC:tst-fmtmsg: WARNING: halt
+TO FIX: should print message for MM_WARNING
+GLIBC:tst-fmtmsg: INFO: halt
+TO FIX: should print message for MM_INFO
+GLIBC:tst-fmtmsg: halt
+TO FIX: should print message for MM_NOSEV
+GLIBC:tst-fmtmsg: TEST: halt
+TO FIX: should print message for MM_TEST
+GLIBC:tst-fmtmsg:1
+GLIBC:tst-fmtmsg:2
+GLIBC:tst-fmtmsg:3
+GLIBC:tst-fmtmsg:4
+GLIBC:tst-fmtmsg:5
+GLIBC:tst-fmtmsg:6
+GLIBC:tst-fmtmsg: GLIBC:tst-fmtmsg:1
+GLIBC:tst-fmtmsg: GLIBC:tst-fmtmsg:2
+GLIBC:tst-fmtmsg: GLIBC:tst-fmtmsg:3
+GLIBC:tst-fmtmsg: GLIBC:tst-fmtmsg:4
+GLIBC:tst-fmtmsg: GLIBC:tst-fmtmsg:5
+GLIBC:tst-fmtmsg: GLIBC:tst-fmtmsg:6
+HALT: GLIBC:tst-fmtmsg:1
+ERROR: GLIBC:tst-fmtmsg:2
+WARNING: GLIBC:tst-fmtmsg:3
+INFO: GLIBC:tst-fmtmsg:4
+GLIBC:tst-fmtmsg:5
+TEST: GLIBC:tst-fmtmsg:6
+GLIBC:tst-fmtmsg: HALT: GLIBC:tst-fmtmsg:1
+GLIBC:tst-fmtmsg: ERROR: GLIBC:tst-fmtmsg:2
+GLIBC:tst-fmtmsg: WARNING: GLIBC:tst-fmtmsg:3
+GLIBC:tst-fmtmsg: INFO: GLIBC:tst-fmtmsg:4
+GLIBC:tst-fmtmsg: GLIBC:tst-fmtmsg:5
+GLIBC:tst-fmtmsg: TEST: GLIBC:tst-fmtmsg:6
+halt
+GLIBC:tst-fmtmsg:1
+halt
+GLIBC:tst-fmtmsg:2
+halt
+GLIBC:tst-fmtmsg:3
+halt
+GLIBC:tst-fmtmsg:4
+halt
+GLIBC:tst-fmtmsg:5
+halt
+GLIBC:tst-fmtmsg:6
+GLIBC:tst-fmtmsg: halt
+GLIBC:tst-fmtmsg:1
+GLIBC:tst-fmtmsg: halt
+GLIBC:tst-fmtmsg:2
+GLIBC:tst-fmtmsg: halt
+GLIBC:tst-fmtmsg:3
+GLIBC:tst-fmtmsg: halt
+GLIBC:tst-fmtmsg:4
+GLIBC:tst-fmtmsg: halt
+GLIBC:tst-fmtmsg:5
+GLIBC:tst-fmtmsg: halt
+GLIBC:tst-fmtmsg:6
+HALT: halt
+GLIBC:tst-fmtmsg:1
+ERROR: halt
+GLIBC:tst-fmtmsg:2
+WARNING: halt
+GLIBC:tst-fmtmsg:3
+INFO: halt
+GLIBC:tst-fmtmsg:4
+halt
+GLIBC:tst-fmtmsg:5
+TEST: halt
+GLIBC:tst-fmtmsg:6
+GLIBC:tst-fmtmsg: HALT: halt
+GLIBC:tst-fmtmsg:1
+GLIBC:tst-fmtmsg: ERROR: halt
+GLIBC:tst-fmtmsg:2
+GLIBC:tst-fmtmsg: WARNING: halt
+GLIBC:tst-fmtmsg:3
+GLIBC:tst-fmtmsg: INFO: halt
+GLIBC:tst-fmtmsg:4
+GLIBC:tst-fmtmsg: halt
+GLIBC:tst-fmtmsg:5
+GLIBC:tst-fmtmsg: TEST: halt
+GLIBC:tst-fmtmsg:6
+TO FIX: should print message for MM_HALT  GLIBC:tst-fmtmsg:1
+TO FIX: should print message for MM_ERROR  GLIBC:tst-fmtmsg:2
+TO FIX: should print message for MM_WARNING  GLIBC:tst-fmtmsg:3
+TO FIX: should print message for MM_INFO  GLIBC:tst-fmtmsg:4
+TO FIX: should print message for MM_NOSEV  GLIBC:tst-fmtmsg:5
+TO FIX: should print message for MM_TEST  GLIBC:tst-fmtmsg:6
+GLIBC:tst-fmtmsg: TO FIX: should print message for MM_HALT  GLIBC:tst-fmtmsg:1
+GLIBC:tst-fmtmsg: TO FIX: should print message for MM_ERROR  GLIBC:tst-fmtmsg:2
+GLIBC:tst-fmtmsg: TO FIX: should print message for MM_WARNING  GLIBC:tst-fmtmsg:3
+GLIBC:tst-fmtmsg: TO FIX: should print message for MM_INFO  GLIBC:tst-fmtmsg:4
+GLIBC:tst-fmtmsg: TO FIX: should print message for MM_NOSEV  GLIBC:tst-fmtmsg:5
+GLIBC:tst-fmtmsg: TO FIX: should print message for MM_TEST  GLIBC:tst-fmtmsg:6
+HALT: TO FIX: should print message for MM_HALT  GLIBC:tst-fmtmsg:1
+ERROR: TO FIX: should print message for MM_ERROR  GLIBC:tst-fmtmsg:2
+WARNING: TO FIX: should print message for MM_WARNING  GLIBC:tst-fmtmsg:3
+INFO: TO FIX: should print message for MM_INFO  GLIBC:tst-fmtmsg:4
+TO FIX: should print message for MM_NOSEV  GLIBC:tst-fmtmsg:5
+TEST: TO FIX: should print message for MM_TEST  GLIBC:tst-fmtmsg:6
+GLIBC:tst-fmtmsg: HALT: TO FIX: should print message for MM_HALT  GLIBC:tst-fmtmsg:1
+GLIBC:tst-fmtmsg: ERROR: TO FIX: should print message for MM_ERROR  GLIBC:tst-fmtmsg:2
+GLIBC:tst-fmtmsg: WARNING: TO FIX: should print message for MM_WARNING  GLIBC:tst-fmtmsg:3
+GLIBC:tst-fmtmsg: INFO: TO FIX: should print message for MM_INFO  GLIBC:tst-fmtmsg:4
+GLIBC:tst-fmtmsg: TO FIX: should print message for MM_NOSEV  GLIBC:tst-fmtmsg:5
+GLIBC:tst-fmtmsg: TEST: TO FIX: should print message for MM_TEST  GLIBC:tst-fmtmsg:6
+halt
+TO FIX: should print message for MM_HALT  GLIBC:tst-fmtmsg:1
+halt
+TO FIX: should print message for MM_ERROR  GLIBC:tst-fmtmsg:2
+halt
+TO FIX: should print message for MM_WARNING  GLIBC:tst-fmtmsg:3
+halt
+TO FIX: should print message for MM_INFO  GLIBC:tst-fmtmsg:4
+halt
+TO FIX: should print message for MM_NOSEV  GLIBC:tst-fmtmsg:5
+halt
+TO FIX: should print message for MM_TEST  GLIBC:tst-fmtmsg:6
+GLIBC:tst-fmtmsg: halt
+TO FIX: should print message for MM_HALT  GLIBC:tst-fmtmsg:1
+GLIBC:tst-fmtmsg: halt
+TO FIX: should print message for MM_ERROR  GLIBC:tst-fmtmsg:2
+GLIBC:tst-fmtmsg: halt
+TO FIX: should print message for MM_WARNING  GLIBC:tst-fmtmsg:3
+GLIBC:tst-fmtmsg: halt
+TO FIX: should print message for MM_INFO  GLIBC:tst-fmtmsg:4
+GLIBC:tst-fmtmsg: halt
+TO FIX: should print message for MM_NOSEV  GLIBC:tst-fmtmsg:5
+GLIBC:tst-fmtmsg: halt
+TO FIX: should print message for MM_TEST  GLIBC:tst-fmtmsg:6
+HALT: halt
+TO FIX: should print message for MM_HALT  GLIBC:tst-fmtmsg:1
+ERROR: halt
+TO FIX: should print message for MM_ERROR  GLIBC:tst-fmtmsg:2
+WARNING: halt
+TO FIX: should print message for MM_WARNING  GLIBC:tst-fmtmsg:3
+INFO: halt
+TO FIX: should print message for MM_INFO  GLIBC:tst-fmtmsg:4
+halt
+TO FIX: should print message for MM_NOSEV  GLIBC:tst-fmtmsg:5
+TEST: halt
+TO FIX: should print message for MM_TEST  GLIBC:tst-fmtmsg:6
+GLIBC:tst-fmtmsg: HALT: halt
+TO FIX: should print message for MM_HALT  GLIBC:tst-fmtmsg:1
+GLIBC:tst-fmtmsg: ERROR: halt
+TO FIX: should print message for MM_ERROR  GLIBC:tst-fmtmsg:2
+GLIBC:tst-fmtmsg: WARNING: halt
+TO FIX: should print message for MM_WARNING  GLIBC:tst-fmtmsg:3
+GLIBC:tst-fmtmsg: INFO: halt
+TO FIX: should print message for MM_INFO  GLIBC:tst-fmtmsg:4
+GLIBC:tst-fmtmsg: halt
+TO FIX: should print message for MM_NOSEV  GLIBC:tst-fmtmsg:5
+GLIBC:tst-fmtmsg: TEST: halt
+TO FIX: should print message for MM_TEST  GLIBC:tst-fmtmsg:6
+EOF
+exit $?