mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-04 00:02:52 -05:00 
			
		
		
		
	psql: More tests
Add some basic tests for command-line option handling and help output, similar to what we have for other command-line programs. This also creates a place to put some more one-off test cases later. Discussion: https://www.postgresql.org/message-id/2570e2ae-fa0f-aac9-f72f-bb59a9983a20@enterprisedb.com
This commit is contained in:
		
							parent
							
								
									f9c4cb6868
								
							
						
					
					
						commit
						c0280bc3ed
					
				
							
								
								
									
										33
									
								
								src/bin/psql/t/001_basic.pl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								src/bin/psql/t/001_basic.pl
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,33 @@
 | 
			
		||||
 | 
			
		||||
# Copyright (c) 2021, PostgreSQL Global Development Group
 | 
			
		||||
 | 
			
		||||
use strict;
 | 
			
		||||
use warnings;
 | 
			
		||||
 | 
			
		||||
use PostgresNode;
 | 
			
		||||
use TestLib;
 | 
			
		||||
use Test::More tests => 23;
 | 
			
		||||
 | 
			
		||||
program_help_ok('psql');
 | 
			
		||||
program_version_ok('psql');
 | 
			
		||||
program_options_handling_ok('psql');
 | 
			
		||||
 | 
			
		||||
my ($stdout, $stderr);
 | 
			
		||||
my $result;
 | 
			
		||||
 | 
			
		||||
# test --help=foo, analogous to program_help_ok()
 | 
			
		||||
foreach my $arg (qw(commands variables))
 | 
			
		||||
{
 | 
			
		||||
	$result = IPC::Run::run [ 'psql', "--help=$arg" ], '>', \$stdout, '2>', \$stderr;
 | 
			
		||||
	ok($result, "psql --help=$arg exit code 0");
 | 
			
		||||
	isnt($stdout, '', "psql --help=$arg goes to stdout");
 | 
			
		||||
	is($stderr, '', "psql --help=$arg nothing to stderr");
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
my $node = PostgresNode->new('main');
 | 
			
		||||
$node->init;
 | 
			
		||||
$node->start;
 | 
			
		||||
 | 
			
		||||
$node->command_like([ 'psql', '-c', '\copyright' ], qr/Copyright/, '\copyright');
 | 
			
		||||
$node->command_like([ 'psql', '-c', '\help' ], qr/ALTER/, '\help without arguments');
 | 
			
		||||
$node->command_like([ 'psql', '-c', '\help SELECT' ], qr/SELECT/, '\help');
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user