Skip to content
Snippets Groups Projects
Select Git revision
  • benchmark-tools
  • postgres-lambda
  • master default
  • REL9_4_25
  • REL9_5_20
  • REL9_6_16
  • REL_10_11
  • REL_11_6
  • REL_12_1
  • REL_12_0
  • REL_12_RC1
  • REL_12_BETA4
  • REL9_4_24
  • REL9_5_19
  • REL9_6_15
  • REL_10_10
  • REL_11_5
  • REL_12_BETA3
  • REL9_4_23
  • REL9_5_18
  • REL9_6_14
  • REL_10_9
  • REL_11_4
23 results

TestLib.pm

Blame
  • TestLib.pm 4.18 KiB
    package TestLib;
    
    use strict;
    use warnings;
    
    use Exporter 'import';
    our @EXPORT = qw(
      tempdir
      start_test_server
      restart_test_server
      psql
      system_or_bail
    
      command_ok
      command_fails
      command_exit_is
      program_help_ok
      program_version_ok
      program_options_handling_ok
      command_like
      issues_sql_like
    );
    
    use Cwd;
    use File::Spec;
    use File::Temp ();
    use Test::More;
    
    BEGIN
    {
    	eval {
    		require IPC::Run;
    		import IPC::Run qw(run start);
    		1;
    	} or do
    	{
    		plan skip_all => "IPC::Run not available";
    	  }
    }
    
    delete $ENV{PGCONNECT_TIMEOUT};
    delete $ENV{PGDATA};
    delete $ENV{PGDATABASE};
    delete $ENV{PGHOSTADDR};
    delete $ENV{PGREQUIRESSL};
    delete $ENV{PGSERVICE};
    delete $ENV{PGSSLMODE};
    delete $ENV{PGUSER};
    
    if (!$ENV{PGPORT})
    {
    	$ENV{PGPORT} = 65432;
    }
    
    $ENV{PGPORT} = int($ENV{PGPORT}) % 65536;
    
    
    #
    # Helper functions
    #
    
    
    sub tempdir
    {
    	return File::Temp::tempdir('tmp_testXXXX', DIR => $ENV{TESTDIR} || cwd(), CLEANUP => 1);
    }
    
    my ($test_server_datadir, $test_server_logfile);
    
    sub start_test_server