how to run encoding-dependent tests by default

From: Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com>
To: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: how to run encoding-dependent tests by default
Date: 2019-06-17 14:56:00
Message-ID: 052295c2-a2e1-9a21-bd36-8fbff8686cf3@2ndquadrant.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

There is a fair amount of collation-related functionality that is only
being tested by sql/collate.icu.utf8.sql and sql/collate.linux.utf8.sql,
which are not run by default. There is more functionality planned in
this area, so making the testing more straightforward would be useful.

The reason these tests cannot be run by default (other than that they
don't apply to each build, which is easy to figure out) is that

a) They contain UTF8 non-ASCII characters that might not convert to
every server-side encoding, and

b) The error messages mention the encoding name ('ERROR: collation
"foo" for encoding "UTF8" does not exist')

The server encoding can be set more-or-less arbitrarily for each test
run, and moreover it is computed from the locale, so it's not easy to
determine ahead of time from a makefile, say.

What would be a good way to sort this out? None of these problems are
terribly difficult on their own, but I'm struggling to come up with a
coherent solution.

--
Peter Eisentraut http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Stephen Frost 2019-06-17 15:05:24 Re: [PATCH] Stop ALTER SYSTEM from making bad assumptions
Previous Message Tomas Vondra 2019-06-17 14:52:47 Re: [Proposal] Table-level Transparent Data Encryption (TDE) and Key Management Service (KMS)