postgresql/src/test/kerberos
Tom Lane 5c31afc49d Avoid time-of-day-dependent failure in log rotation test.
Buildfarm members pogona and petalura have shown a failure when
pg_ctl/t/004_logrotate.pl starts just before local midnight.
The default rotate-at-midnight behavior occurs just before the
Perl script examines current_logfiles, so it figures that the
rotation it's already requested has occurred ... but in reality,
that rotation happens just after it looks, so the expected new
log data goes into a different file than the one it's examining.

In HEAD, src/test/kerberos/t/001_auth.pl has acquired similar code
that evidently has a related failure mode.  Besides being quite new,
few buildfarm critters run that test, so it's unsurprising that
we've not yet seen a failure there.

Fix both cases by setting log_rotation_age = 0 so that no time-based
rotation can occur.  Also absorb 004_logrotate.pl's decision to
set lc_messages = 'C' into the kerberos test, in hopes that it will
work in non-English prevailing locales.

Report: https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=pogona&dt=2020-12-24%2022%3A10%3A04
Report: https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=petalura&dt=2020-02-01%2022%3A20%3A04
2020-12-24 21:37:46 -05:00
..
t Avoid time-of-day-dependent failure in log rotation test. 2020-12-24 21:37:46 -05:00
.gitignore
Makefile Update copyrights for 2020 2020-01-01 12:21:45 -05:00
README Correct several behavior descriptions in comments. 2020-08-15 20:21:52 -07:00

README

src/test/kerberos/README

Tests for Kerberos/GSSAPI functionality
=======================================

This directory contains a test suite for Kerberos/GSSAPI
functionality.  This requires a full MIT Kerberos installation,
including server and client tools, and is therefore kept separate and
not run by default.

CAUTION: The test server run by this test is configured to listen for TCP
connections on localhost. Any user on the same host is able to log in to the
test server while the tests are running. Do not run this suite on a multi-user
system where you don't trust all local users! Also, this test suite creates a
KDC server that listens for TCP/IP connections on localhost without any real
access control.

Running the tests
=================

NOTE: You must have given the --enable-tap-tests argument to configure.

Run
    make check
or
    make installcheck
You can use "make installcheck" if you previously did "make install".
In that case, the code in the installation tree is tested.  With
"make check", a temporary installation tree is built from the current
sources and then tested.

Either way, this test initializes, starts, and stops a test Postgres
cluster, as well as a test KDC server.

Requirements
============

MIT Kerberos server and client tools are required.  Heimdal is not
supported.

Debian/Ubuntu packages: krb5-admin-server krb5-kdc krb5-user

RHEL/CentOS/Fedora packages: krb5-server krb5-workstation

FreeBSD port: krb5 (base system has Heimdal)