Re: [PATCH] OAuth: fix performance bug with stuck multiplexer events - Mailing list pgsql-hackers

From Dagfinn Ilmari Mannsåker
Subject Re: [PATCH] OAuth: fix performance bug with stuck multiplexer events
Date
Msg-id 87ldnvgkdq.fsf@wibble.ilmari.org
Whole thread Raw
In response to [PATCH] OAuth: fix performance bug with stuck multiplexer events  (Jacob Champion <jacob.champion@enterprisedb.com>)
Responses Re: [PATCH] OAuth: fix performance bug with stuck multiplexer events
List pgsql-hackers
Jacob Champion <jacob.champion@enterprisedb.com> writes:

> From 50257bf32eb2b0972e5139ac4a79367372c77385 Mon Sep 17 00:00:00 2001
> From: Jacob Champion <jacob.champion@enterprisedb.com>
> Date: Wed, 5 Mar 2025 15:04:34 -0800
> Subject: [PATCH v3 5/5] oauth: Add unit tests for multiplexer handling

I haven't read the meat of the patch, but I have some comments on the
tests:

> +IPC::Run::run ['oauth_tests'],
> +  '>', IPC::Run::new_chunker, sub { print {$out} $_[0] },
> +  '2>', IPC::Run::new_chunker, sub { print {$err} $_[0] }
> +  or die "oauth_tests returned $?";

We've recently switched to using fat commas (=>) between options and
their arguments, and that includes the file redirections in IPC::Run.
Although not semantically meaningful, I'd also be tempted to put parens
around the argument list for each redirect, so it's clear that they go
together.

Also, indirect object syntax (print {$fh} ...) is ugly and
old-fashioned, it's nicer to call it as a method on the filehandle.

So I'd write the above as:

    IPC::Run::run ['oauth_tests'],
      '>' => (IPC::Run::new_chunker, sub { $out->print($_[0]) }),
      '2>' => (IPC::Run::new_chunker, sub { $err->print($_[0]) })
     or die "oauth_tests returned $?";


As for the C TAP tests, there's already a bunch of TAP-outputting
infrastructure in pg_regress.c.  Would it make sense to factor that out
into a common library?

- ilmari



pgsql-hackers by date:

Previous
From: Andrey Borodin
Date:
Subject: Re: VM corruption on standby
Next
From: Aleksander Alekseev
Date:
Subject: Re: VM corruption on standby