Re: Proposal: Save user's original authenticated identity for logging

Peter Eisentraut <peter.eisentraut@enterprisedb.com>

From: Peter Eisentraut <peter.eisentraut@enterprisedb.com>
To: Michael Paquier <michael@paquier.xyz>
Cc: Jacob Champion <pchampion@vmware.com>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2021-09-22T08:20:47Z
Lists: pgsql-hackers
On 22.09.21 09:39, Michael Paquier wrote:
> On Wed, Sep 22, 2021 at 08:59:38AM +0200, Peter Eisentraut wrote:
>> I noticed this patch eliminated one $Test::Builder::Level assignment. Was
>> there a reason for this?
>>
>> I think we should add it back, and also add a few missing ones in similar
>> places.  See attached patch.
>>
>> [...]
>>
>>   {
>> +	local $Test::Builder::Level = $Test::Builder::Level + 1;
>> +
> 
> So you are referring to this one removed in c50624c.  In what does
> this addition change things compared to what has been added in
> connect_ok() and connect_fails()?  I am pretty sure that I have
> removed this one because this logic got refactored in
> PostgresNode.pm.

This should be added to each level of a function call that represents a 
test.  This ensures that when a test fails, the line number points to 
the top-level location of the test_role() call.  Otherwise it would 
point to the connect_ok() call inside test_role().



Commits

  1. Add missing $Test::Builder::Level settings

  2. Add some information about authenticated identity via log_connections

  3. Fix some issues with SSL and Kerberos tests

  4. Refactor all TAP test suites doing connection checks