Thanks for the feedback! I've updated the test to use `command_fails_like()` instead of `command_fails()`, so it now asserts that the error message matches the expected stderr output. I also changed the test invocation to use the `-U => ''` syntax for consistency, as seen in the adjacent `--username` test.
Let me know if any further adjustments are needed. Best regards, Jianghua Yang Dagfinn Ilmari Mannsåker <ilm...@ilmari.org> 于2025年7月2日周三 07:09写道: > Jianghua Yang <yjhj...@gmail.com> writes: > > > - A regression test is added to `src/bin/initdb/t/001_initdb.pl` to > verify > > that the case `initdb -U ''` fails as expected. > [ ... ] > > diff --git a/src/bin/initdb/t/001_initdb.pl b/src/bin/initdb/t/ > 001_initdb.pl > > index 15dd10ce40a..67eb53064f6 100644 > > --- a/src/bin/initdb/t/001_initdb.pl > > +++ b/src/bin/initdb/t/001_initdb.pl > > @@ -37,6 +37,10 @@ command_fails( > > command_fails([ 'initdb', '--username' => 'pg_test', $datadir ], > > 'role names cannot begin with "pg_"'); > > > > +command_fails( > > + [ 'initdb', '-U', '', $datadir ], > > + 'empty username not allowed'); > > + > > This only tests that it fails, not that it fails as expected. It should > use command_fails_like() to check that stderr contains the expected > error. Also, it shoud use => between the -U option and its argument, as > seen in the above test with --username. > > - ilmari >
0001-initdb-Reject-empty-string-for-U-username-option-v3.patch
Description: Binary data