diff options
author | Noah Misch <noah@leadboat.com> | 2015-01-16 01:27:31 -0500 |
---|---|---|
committer | Noah Misch <noah@leadboat.com> | 2015-01-16 01:28:22 -0500 |
commit | 03f80d9e9afcfa485f2c583ba6c486cd93a5bda5 (patch) | |
tree | 84b5fec699a08097222c4fbb2b78c31d588d4551 /src | |
parent | 34668c8eca065d745bf1166a92c9efc588e7aee2 (diff) | |
download | postgresql-03f80d9e9afcfa485f2c583ba6c486cd93a5bda5.tar.gz postgresql-03f80d9e9afcfa485f2c583ba6c486cd93a5bda5.zip |
Update "pg_regress --no-locale" for Darwin and Windows.
Commit 894459e59ffa5c7fee297b246c17e1f72564db1d revealed this option to
be broken for NLS builds on Darwin, but "make -C contrib/unaccent check"
and the buildfarm client rely on it. Fix that configuration by
redefining the option to imply LANG=C on Darwin. In passing, use LANG=C
instead of LANG=en on Windows; since only postmaster startup uses that
value, testers are unlikely to notice the change. Back-patch to 9.0,
like the predecessor commit.
Diffstat (limited to 'src')
-rw-r--r-- | src/test/regress/pg_regress.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/test/regress/pg_regress.c b/src/test/regress/pg_regress.c index 4ce18051888..1e8e2ccd2f1 100644 --- a/src/test/regress/pg_regress.c +++ b/src/test/regress/pg_regress.c @@ -789,9 +789,17 @@ initialize_environment(void) unsetenv("LC_NUMERIC"); unsetenv("LC_TIME"); unsetenv("LANG"); - /* On Windows the default locale cannot be English, so force it */ -#if defined(WIN32) || defined(__CYGWIN__) - putenv("LANG=en"); + + /* + * Most platforms have adopted the POSIX locale as their + * implementation-defined default locale. Exceptions include native + * Windows, Darwin with --enable-nls, and Cygwin with --enable-nls. + * (Use of --enable-nls matters because libintl replaces setlocale().) + * Also, PostgreSQL does not support Darwin with locale environment + * variables unset; see PostmasterMain(). + */ +#if defined(WIN32) || defined(__CYGWIN__) || defined(__darwin__) + putenv("LANG=C"); #endif } |