Home Explore Blog CI



postgresql

5th chunk of `doc/src/sgml/regress.sgml`
a25a1240e35d9d43f4d65d05b00d9bfde2c18f1838966c8f0000000100000fa1
 <literal>kerberos</literal>, additional tests that require
       an MIT Kerberos installation are enabled.
      </para>
     </listitem>
    </varlistentry>

    <varlistentry>
     <term><literal>wal_consistency_checking</literal></term>
     <listitem>
      <para>
       Uses <literal>wal_consistency_checking=all</literal> while running
       certain tests under <filename>src/test/recovery</filename>.  Not
       enabled by default because it is resource intensive.
      </para>
     </listitem>
    </varlistentry>

    <varlistentry>
     <term><literal>xid_wraparound</literal></term>
     <listitem>
      <para>
       Runs the test suite under <filename>src/test/modules/xid_wraparound</filename>.
       Not enabled by default because it is resource intensive.
      </para>
     </listitem>
    </varlistentry>

    <varlistentry>
     <term><literal>oauth</literal></term>
     <listitem>
      <para>
       Runs the test suite under <filename>src/test/modules/oauth_validator</filename>.
       This opens TCP/IP listen sockets for a test server running HTTPS.
      </para>
     </listitem>
    </varlistentry>
   </variablelist>

   Tests for features that are not supported by the current build
   configuration are not run even if they are mentioned in
   <varname>PG_TEST_EXTRA</varname>.
  </para>

  <para>
   In addition, there are tests in <filename>src/test/modules</filename>
   which will be run by <literal>make check-world</literal> but not
   by <literal>make installcheck-world</literal>.  This is because they
   install non-production extensions or have other side-effects that are
   considered undesirable for a production installation.  You can
   use <literal>make install</literal> and <literal>make
   installcheck</literal> in one of those subdirectories if you wish,
   but it's not recommended to do so with a non-test server.
  </para>
  </sect2>

  <sect2 id="regress-run-locale">
   <title>Locale and Encoding</title>

   <para>
    By default, tests using 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>
make check LANG=C
make 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>ENCODING</envar>, for example:
<screen>
make check LANG=C ENCODING=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 database encoding can be set for tests against either a temporary or
    an existing installation, though in the latter case it must be
    compatible with the installation's locale.
   </para>
  </sect2>

  <sect2 id="regress-run-custom-settings">
   <title>Custom Server Settings</title>

   <para>
    There are several ways to use custom server settings when running a test
    suite.  This can be useful to enable additional logging, adjust resource
    limits, or enable extra run-time checks such as <xref
    linkend="guc-debug-discard-caches"/>.  But note that not all tests can be
    expected to pass cleanly with arbitrary settings.
   </para>

   <para>
    Extra options can be passed to the various <command>initdb</command>
    commands that are run internally during test setup

Title: Advanced PostgreSQL Testing Options
Summary
This section discusses various options for customizing PostgreSQL test suites, including running additional tests with PG_TEST_EXTRA, testing different locales and encodings, and using custom server settings, such as enabling extra logging or adjusting resource limits, to modify test behavior.