]> granicus.if.org Git - postgresql/commitdiff
Unset language-related locale settings in any case, otherwise psql will
authorPeter Eisentraut <peter_e@gmx.net>
Thu, 12 Feb 2009 13:26:03 +0000 (13:26 +0000)
committerPeter Eisentraut <peter_e@gmx.net>
Thu, 12 Feb 2009 13:26:03 +0000 (13:26 +0000)
speak in tongues and mess up the regression test diffs.

doc/src/sgml/regress.sgml
src/test/regress/pg_regress.c

index 1cb90264fd461986360103ccf33ae9e13acac4a8..ac8680412cc0f1de3cbc4344228e6caf1096ba51 100644 (file)
@@ -1,4 +1,4 @@
-<!-- $PostgreSQL: pgsql/doc/src/sgml/regress.sgml,v 1.61 2009/02/11 14:03:41 petere Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/regress.sgml,v 1.62 2009/02/12 13:26:03 petere Exp $ -->
 
  <chapter id="regress">
   <title id="regress-title">Regression Tests</title>
@@ -218,11 +218,15 @@ gmake installcheck
      locale-related environment variables on
      the <command>make</command> command line, for example:
 <programlisting>
-gmake check LC_ALL=de_DE.utf8
+gmake check LANG=de_DE.utf8
 </programlisting>
-     or analogously to use no locale:
+     (The regression test driver unsets <envar>LC_ALL</envar>, so it
+     does not work to choose the locale using that variable.)  To use
+     no locale, either unset all locale-related environment variables
+     (or set them to <literal>C</literal>) or use the following
+     special invocation:
 <programlisting>
-gmake check LC_ALL=C
+gmake check NO_LOCALE=1
 </programlisting>
      When running the tests against an existing installation, the
      locale setup is determined by the existing installation.  To
index 2ff76483d2e3f97f0841e831b1dd846acfa6febf..7bd297f20c13e2b738cb89bb9e72dbb4719a1431 100644 (file)
@@ -11,7 +11,7 @@
  * Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $PostgreSQL: pgsql/src/test/regress/pg_regress.c,v 1.60 2009/02/11 14:03:42 petere Exp $
+ * $PostgreSQL: pgsql/src/test/regress/pg_regress.c,v 1.61 2009/02/12 13:26:03 petere Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -694,18 +694,25 @@ initialize_environment(void)
                unsetenv("LC_COLLATE");
                unsetenv("LC_CTYPE");
                unsetenv("LC_MONETARY");
-               unsetenv("LC_MESSAGES");
                unsetenv("LC_NUMERIC");
                unsetenv("LC_TIME");
-               unsetenv("LC_ALL");
                unsetenv("LANG");
-               unsetenv("LANGUAGE");
                /* On Windows the default locale cannot be English, so force it */
 #if defined(WIN32) || defined(__CYGWIN__)
                putenv("LANG=en");
 #endif
        }
 
+       /*
+        * Set translation-related settings to English; otherwise psql
+        * will produce translated messages and produce diffs.  (XXX If we
+        * ever support translation of pg_regress, this needs to be moved
+        * elsewhere, where psql is actually called.)
+        */
+       unsetenv("LANGUAGE");
+       unsetenv("LC_ALL");
+       putenv("LC_MESSAGES=C");
+
        /*
         * Set multibyte as requested
         */