2013-11-17 21:58:21 +03:00
|
|
|
#!/usr/bin/perl
|
2014-04-03 00:25:37 +03:00
|
|
|
####################################################################################################################################
|
|
|
|
# test.pl - Unit Tests for Simple Postgres Backup and Restore
|
|
|
|
####################################################################################################################################
|
|
|
|
|
|
|
|
####################################################################################################################################
|
|
|
|
# Perl includes
|
|
|
|
####################################################################################################################################
|
|
|
|
use strict;
|
|
|
|
use warnings;
|
|
|
|
use english;
|
|
|
|
|
|
|
|
use File::Basename;
|
|
|
|
use Getopt::Long;
|
|
|
|
use Carp;
|
|
|
|
|
|
|
|
use lib dirname($0) . "/lib";
|
2014-05-14 22:07:37 +03:00
|
|
|
use BackRestTest::FileTest;
|
2014-04-03 00:25:37 +03:00
|
|
|
|
|
|
|
####################################################################################################################################
|
2014-06-04 04:22:07 +03:00
|
|
|
# Command line parameters
|
|
|
|
####################################################################################################################################
|
2014-06-05 17:20:03 +03:00
|
|
|
my $strLogLevel = 'off'; # Log level for tests
|
|
|
|
my $strModule = 'all';
|
|
|
|
my $strModuleTest = 'all';
|
2014-06-04 04:22:07 +03:00
|
|
|
|
2014-06-05 17:20:03 +03:00
|
|
|
GetOptions ("log-level=s" => \$strLogLevel,
|
|
|
|
"module=s" => \$strModule,
|
|
|
|
"module-test=s" => \$strModuleTest)
|
2014-06-04 04:22:07 +03:00
|
|
|
or die("Error in command line arguments\n");
|
|
|
|
|
|
|
|
####################################################################################################################################
|
|
|
|
# Setup
|
|
|
|
####################################################################################################################################
|
|
|
|
# Set a neutral umask so tests work as expected
|
|
|
|
umask(0);
|
|
|
|
|
|
|
|
# Set console log level to trace for testing
|
|
|
|
log_level_set(undef, uc($strLogLevel));
|
|
|
|
|
2014-06-05 17:20:03 +03:00
|
|
|
if ($strModuleTest ne 'all' && $strModule eq 'all')
|
|
|
|
{
|
|
|
|
confess "--module must be provided for test \"${strModuleTest}\"";
|
|
|
|
}
|
|
|
|
|
2014-06-04 04:22:07 +03:00
|
|
|
####################################################################################################################################
|
|
|
|
# Runs tests
|
2014-04-03 00:25:37 +03:00
|
|
|
####################################################################################################################################
|
2014-06-05 17:20:03 +03:00
|
|
|
if ($strModule eq 'all' || $strModule eq "file")
|
|
|
|
{
|
|
|
|
BackRestFileTest($strModuleTest);
|
|
|
|
}
|
2014-05-14 22:07:37 +03:00
|
|
|
|
2014-06-02 00:23:33 +03:00
|
|
|
print "\nTEST COMPLETED SUCCESSFULLY (DESPITE ANY ERROR MESSAGES YOU SAW)\n";
|