From 72a3ebf235b52fdb715214027026f66a0ad7da4d Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Wed, 5 Jan 2022 17:31:54 -0500 Subject: [PATCH] Enable routine running of regex.linux.utf8 regression test. Up to now this has just sat there as a test you could invoke via EXTRA_TESTS, which of course nobody does. I'm feeling encouraged because c2e8bd275 hasn't yet broke anything, so let's try making this run with a suitable guard condition (similar to collate.linux.utf8). --- src/test/regress/expected/regex.linux.utf8.out | 11 +++++++++-- src/test/regress/expected/regex.linux.utf8_1.out | 11 +++++++++++ src/test/regress/parallel_schedule | 2 +- src/test/regress/sql/regex.linux.utf8.sql | 12 ++++++++++-- 4 files changed, 31 insertions(+), 5 deletions(-) create mode 100644 src/test/regress/expected/regex.linux.utf8_1.out diff --git a/src/test/regress/expected/regex.linux.utf8.out b/src/test/regress/expected/regex.linux.utf8.out index 7c170a99f3d..3550cffb88d 100644 --- a/src/test/regress/expected/regex.linux.utf8.out +++ b/src/test/regress/expected/regex.linux.utf8.out @@ -1,8 +1,15 @@ /* - * This test is for Linux/glibc systems and others that implement proper - * locale classification of Unicode characters with high code values. + * This test is for Linux/glibc systems (conceivably it could be run on + * others that implement proper classification of high Unicode characters). * It must be run in a database with UTF8 encoding and a Unicode-aware locale. */ +SELECT getdatabaseencoding() <> 'UTF8' OR + current_setting('lc_ctype') = 'C' OR + version() !~ 'linux-gnu' + AS skip_test \gset +\if :skip_test +\quit +\endif SET client_encoding TO UTF8; -- -- Test the "high colormap" logic with single characters and ranges that diff --git a/src/test/regress/expected/regex.linux.utf8_1.out b/src/test/regress/expected/regex.linux.utf8_1.out new file mode 100644 index 00000000000..9c6ff495418 --- /dev/null +++ b/src/test/regress/expected/regex.linux.utf8_1.out @@ -0,0 +1,11 @@ +/* + * This test is for Linux/glibc systems (conceivably it could be run on + * others that implement proper classification of high Unicode characters). + * It must be run in a database with UTF8 encoding and a Unicode-aware locale. + */ +SELECT getdatabaseencoding() <> 'UTF8' OR + current_setting('lc_ctype') = 'C' OR + version() !~ 'linux-gnu' + AS skip_test \gset +\if :skip_test +\quit diff --git a/src/test/regress/parallel_schedule b/src/test/regress/parallel_schedule index 5b0c73d7e37..d442eb7411a 100644 --- a/src/test/regress/parallel_schedule +++ b/src/test/regress/parallel_schedule @@ -94,7 +94,7 @@ test: create_table_like alter_generic alter_operator misc async dbsize misc_func # rules cannot run concurrently with any test that creates # a view or rule in the public schema # collate.*.utf8 tests cannot be run in parallel with each other -test: rules psql psql_crosstab amutils stats_ext collate.linux.utf8 +test: rules psql psql_crosstab amutils stats_ext collate.linux.utf8 regex.linux.utf8 # run by itself so it can run parallel workers test: select_parallel diff --git a/src/test/regress/sql/regex.linux.utf8.sql b/src/test/regress/sql/regex.linux.utf8.sql index 45778116452..2dd269e3727 100644 --- a/src/test/regress/sql/regex.linux.utf8.sql +++ b/src/test/regress/sql/regex.linux.utf8.sql @@ -1,9 +1,17 @@ /* - * This test is for Linux/glibc systems and others that implement proper - * locale classification of Unicode characters with high code values. + * This test is for Linux/glibc systems (conceivably it could be run on + * others that implement proper classification of high Unicode characters). * It must be run in a database with UTF8 encoding and a Unicode-aware locale. */ +SELECT getdatabaseencoding() <> 'UTF8' OR + current_setting('lc_ctype') = 'C' OR + version() !~ 'linux-gnu' + AS skip_test \gset +\if :skip_test +\quit +\endif + SET client_encoding TO UTF8; -- -- 2.39.5