From ba15f16107bea8a93edc505f3013cd7df4ac90fc Mon Sep 17 00:00:00 2001 From: Michael Paquier Date: Tue, 8 Feb 2022 10:35:27 +0900 Subject: [PATCH] Add PostgreSQL::Test::Cluster::config_data() This is useful to grab some configuration information from a node already set up, and I personally found two cases for it: pg_upgrade and a test to emulate check_guc. Author: Michael Paquier Discussion: https://postgr.es/m/20211129030833.GJ17618@telsasoft.com Discussion: https://postgr.es/m/YJ8xTmLQkotVLpN5@paquier.xyz --- src/test/perl/PostgreSQL/Test/Cluster.pm | 25 ++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/test/perl/PostgreSQL/Test/Cluster.pm b/src/test/perl/PostgreSQL/Test/Cluster.pm index 265f3ae6574..41beadff9dd 100644 --- a/src/test/perl/PostgreSQL/Test/Cluster.pm +++ b/src/test/perl/PostgreSQL/Test/Cluster.pm @@ -327,6 +327,31 @@ sub install_path =pod +=item $node->config_data($option) + +Return a string holding configuration data from pg_config, with $option +being the option switch used with the pg_config command. + +=cut + +sub config_data +{ + my ($self, $option) = @_; + local %ENV = $self->_get_env(); + + my ($stdout, $stderr); + my $result = + IPC::Run::run [ $self->installed_command('pg_config'), $option ], + '>', \$stdout, '2>', \$stderr + or die "could not execute pg_config"; + chomp($stdout); + $stdout =~ s/\r$//; + + return $stdout; +} + +=pod + =item $node->info() Return a string containing human-readable diagnostic information (paths, etc) -- 2.39.5