diff --git a/doc/src/sgml/regress.sgml b/doc/src/sgml/regress.sgml index 1cb90264fd461986360103ccf33ae9e13acac4a8..ac8680412cc0f1de3cbc4344228e6caf1096ba51 100644 --- a/doc/src/sgml/regress.sgml +++ b/doc/src/sgml/regress.sgml @@ -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 diff --git a/src/test/regress/pg_regress.c b/src/test/regress/pg_regress.c index 2ff76483d2e3f97f0841e831b1dd846acfa6febf..7bd297f20c13e2b738cb89bb9e72dbb4719a1431 100644 --- a/src/test/regress/pg_regress.c +++ b/src/test/regress/pg_regress.c @@ -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 */