diff --git a/doc/src/sgml/regress.sgml b/doc/src/sgml/regress.sgml index 6a3ac95558b592a104bf3769fe2695ab91988d3f..59083eca1a11208edebb131841bb98026f691cac 100644 --- a/doc/src/sgml/regress.sgml +++ b/doc/src/sgml/regress.sgml @@ -194,6 +194,48 @@ gmake standbycheck Additional automated testing may be available in later releases. </para> </sect2> + + <sect2> + <title>Locale and encoding</title> + + <para> + By default, the tests against a temporary installation use the + locale defined in the current environment and the corresponding + database encoding as determined by <command>initdb</command>. It + can be useful to test different locales by setting the appropriate + environment variables, for example: +<screen> +gmake check LANG=C +gmake check LC_COLLATE=en_US.utf8 LC_CTYPE=fr_CA.utf8 +</screen> + For implementation reasons, setting <envar>LC_ALL</envar> does not + work for this purpose; all the other locale-related environment + variables do work. + </para> + + <para> + When testing against an existing installation, the locale is + determined by the existing database cluster and cannot be set + separately for the test run. + </para> + + <para> + You can also choose the database encoding explicitly by setting + the variable <envar>MULTIBYTE</envar>, for example: +<screen> +gmake check LANG=C MULTIBYTE=EUC_JP +</screen> + Setting the database encoding this way typically only makes sense + if the locale is C; otherwise the encoding is chosen automatically + from the locale, and specifying an encoding that does not match + the locale will result in an error. + </para> + + <para> + The encoding can be set for tests against a temporary or an + existing installation. + </para> + </sect2> </sect1> <sect1 id="regress-evaluation"> diff --git a/src/test/regress/GNUmakefile b/src/test/regress/GNUmakefile index cb67e5a12a84ad439149e2d6633bb079e9e48c61..15b9ec49f716729ee65a84ee570dc3ef358313ba 100644 --- a/src/test/regress/GNUmakefile +++ b/src/test/regress/GNUmakefile @@ -23,9 +23,6 @@ endif # where to find psql for testing an existing installation PSQLDIR = $(bindir) -# default encoding -MULTIBYTE = SQL_ASCII - # maximum simultaneous connections for parallel tests MAXCONNOPT = ifdef MAX_CONNECTIONS @@ -141,7 +138,7 @@ tablespace-setup: ## Run tests ## -pg_regress_call = ./pg_regress --inputdir=$(srcdir) --dlpath=. --multibyte=$(MULTIBYTE) $(NOLOCALE) +pg_regress_call = ./pg_regress --inputdir=$(srcdir) --dlpath=. $(if $(MULTIBYTE),--multibyte=$(MULTIBYTE)) $(NOLOCALE) check: all tablespace-setup $(pg_regress_call) --temp-install=./tmp_check --top-builddir=$(top_builddir) --schedule=$(srcdir)/parallel_schedule $(MAXCONNOPT) $(TEMP_CONF)