Test suite for rpmatch function.
authordrepper <drepper>
Sun, 8 Mar 1998 15:04:56 +0000 (15:04 +0000)
committerdrepper <drepper>
Sun, 8 Mar 1998 15:04:56 +0000 (15:04 +0000)
localedata/tst-rpmatch.c [new file with mode: 0644]
localedata/tst-rpmatch.sh [new file with mode: 0755]

diff --git a/localedata/tst-rpmatch.c b/localedata/tst-rpmatch.c
new file mode 100644 (file)
index 0000000..f799304
--- /dev/null
@@ -0,0 +1,37 @@
+/* Test program for
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Jochen Hein <jochen.hein@delphi.central.de>.
+
+   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.  */
+
+#include <locale.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+int
+main (int argc, char* argv[])
+{
+  setlocale (LC_ALL, argv[1]);
+
+  if (rpmatch (argv[2]) != atol (argv[3]))
+    {
+      fprintf (stderr,"Failed: Locale %s, String %s, Exp: %s, got %d\n",
+              argv[1], argv[2], argv[3], rpmatch (argv[2]));
+      exit (EXIT_FAILURE);
+    }
+  exit (EXIT_SUCCESS);
+}
diff --git a/localedata/tst-rpmatch.sh b/localedata/tst-rpmatch.sh
new file mode 100755 (executable)
index 0000000..7718b54
--- /dev/null
@@ -0,0 +1,64 @@
+#! /bin/sh -f
+#
+# Copyright (C) 1998 Free Software Foundation, Inc.
+# This file is part of the GNU C Library and contains tests for
+# the rpmatch(3)-implementation.
+# contributed by Jochen Hein <jochen.hein@delphi.central.de>
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program 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 General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+common_objpfx=$1
+IFS="§"
+rc=0
+while read locale string result dummy; do
+    if [ "$locale" != "#" ]; then
+       LOCPATH=${common_objpfx}localedata \
+       ${common_objpfx}elf/ld.so --library-path $common_objpfx \
+       ${common_objpfx}localedata/tst-rpmatch $locale $string $result \
+       || exit 1
+    fi
+done <<EOF
+#§ These are the tests for rpmatch in glibc.  Each line contains one test,
+#§ comments start with #§ in the first column.  The fields are seperated
+#§ by paragraph signs and contain: the locale, the string, the expected
+#§ return value of rpmatch(3).  If the test fails, test-rpmatch prints
+#§ all these informations
+C§Yes§1
+C§yes§1
+C§YES§1
+C§YeS§1
+C§YEs§1
+C§yEs§1
+C§yES§1
+C§yeS§1
+C§No§0
+C§no§0
+#§ Uh, that's nonsense
+C§nonsens§0
+C§Error§-1
+de_DE§Yes§1
+de_DE§Ja§1
+de_DE§Jammerschade§1
+de_DE§dejavu§-1
+de_DE§Nein§0
+de_DE§Fehler§-1
+de_DE§jein§1
+EOF
+
+rc=$?
+if [ $rc -eq 1 ]; then
+    echo "Errors"
+fi
+exit $rc