| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  | #################################################################################################################################### | 
					
						
							| 
									
										
										
										
											2016-04-14 09:30:54 -04:00
										 |  |  | # ConfigTest.pm - Unit Tests for pgBackRest::Param and pgBackRest::Config::Config | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  | #################################################################################################################################### | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  | package pgBackRestTest::Config::ConfigTest; | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | #################################################################################################################################### | 
					
						
							|  |  |  | # Perl includes | 
					
						
							|  |  |  | #################################################################################################################################### | 
					
						
							|  |  |  | use strict; | 
					
						
							|  |  |  | use warnings FATAL => qw(all); | 
					
						
							|  |  |  | use Carp qw(confess); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  | use Cwd qw(abs_path); | 
					
						
							| 
									
										
										
										
											2015-06-13 18:25:49 -04:00
										 |  |  | use Exporter qw(import); | 
					
						
							| 
									
										
										
										
											2015-08-05 08:43:41 -04:00
										 |  |  | use Scalar::Util qw(blessed); | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-04-14 09:30:54 -04:00
										 |  |  | use pgBackRest::Common::Exception; | 
					
						
							|  |  |  | use pgBackRest::Common::Ini; | 
					
						
							|  |  |  | use pgBackRest::Common::Log; | 
					
						
							|  |  |  | use pgBackRest::Config::Config; | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  | use pgBackRestTest::Backup::Common::HostBaseTest; | 
					
						
							|  |  |  | use pgBackRestTest::Common::HostGroupTest; | 
					
						
							| 
									
										
										
										
											2016-04-14 09:30:54 -04:00
										 |  |  | use pgBackRestTest::CommonTest; | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | sub optionSetTest | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     my $oOption = shift; | 
					
						
							|  |  |  |     my $strKey = shift; | 
					
						
							|  |  |  |     my $strValue = shift; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     $$oOption{option}{$strKey} = $strValue; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-01-03 20:24:14 -05:00
										 |  |  | sub optionBoolSetTest | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  | { | 
					
						
							|  |  |  |     my $oOption = shift; | 
					
						
							|  |  |  |     my $strKey = shift; | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |     my $bValue = shift; | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |     $$oOption{boolean}{$strKey} = defined($bValue) ? $bValue : true; | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-18 16:55:09 -04:00
										 |  |  | sub commandSetTest | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  | { | 
					
						
							|  |  |  |     my $oOption = shift; | 
					
						
							| 
									
										
										
										
											2015-06-18 16:55:09 -04:00
										 |  |  |     my $strCommand = shift; | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-18 16:55:09 -04:00
										 |  |  |     $$oOption{command} = $strCommand; | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | sub optionRemoveTest | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     my $oOption = shift; | 
					
						
							|  |  |  |     my $strKey = shift; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     delete($$oOption{option}{$strKey}); | 
					
						
							|  |  |  |     delete($$oOption{boolean}{$strKey}); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | sub argvWriteTest | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     my $oOption = shift; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     @ARGV = (); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     if (defined($$oOption{boolean})) | 
					
						
							|  |  |  |     { | 
					
						
							| 
									
										
										
										
											2015-06-21 12:06:13 -04:00
										 |  |  |         foreach my $strKey (keys(%{$$oOption{boolean}})) | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |         { | 
					
						
							|  |  |  |             if ($$oOption{boolean}{$strKey}) | 
					
						
							|  |  |  |             { | 
					
						
							|  |  |  |                 $ARGV[@ARGV] = "--${strKey}"; | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |             else | 
					
						
							|  |  |  |             { | 
					
						
							|  |  |  |                 $ARGV[@ARGV] = "--no-${strKey}"; | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     if (defined($$oOption{option})) | 
					
						
							|  |  |  |     { | 
					
						
							| 
									
										
										
										
											2015-06-21 12:06:13 -04:00
										 |  |  |         foreach my $strKey (keys(%{$$oOption{option}})) | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |         { | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |             $ARGV[@ARGV] = "--${strKey}=$$oOption{option}{$strKey}"; | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-18 16:55:09 -04:00
										 |  |  |     $ARGV[@ARGV] = $$oOption{command}; | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  |     &log(INFO, "    command line: " . join(" ", @ARGV)); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     %$oOption = (); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  | sub configLoadExpect | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  | { | 
					
						
							|  |  |  |     my $oOption = shift; | 
					
						
							| 
									
										
										
										
											2015-06-18 16:55:09 -04:00
										 |  |  |     my $strCommand = shift; | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |     my $iExpectedError = shift; | 
					
						
							|  |  |  |     my $strErrorParam1 = shift; | 
					
						
							|  |  |  |     my $strErrorParam2 = shift; | 
					
						
							|  |  |  |     my $strErrorParam3 = shift; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     my $oOptionRuleExpected = optionRuleGet(); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-18 16:55:09 -04:00
										 |  |  |     commandSetTest($oOption, $strCommand); | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |     argvWriteTest($oOption); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     eval | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         configLoad(); | 
					
						
							|  |  |  |     }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     if ($@) | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         if (!defined($iExpectedError)) | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |             confess $@; | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         my $oMessage = $@; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-04-14 09:30:54 -04:00
										 |  |  |         if (blessed($oMessage) && $oMessage->isa('pgBackRest::Common::Exception')) | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |         { | 
					
						
							|  |  |  |             if ($oMessage->code() != $iExpectedError) | 
					
						
							|  |  |  |             { | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |                 confess "expected error ${iExpectedError} from configLoad but got " . $oMessage->code() . | 
					
						
							|  |  |  |                         " '" . $oMessage->message() . "'"; | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |             } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             my $strError; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             if ($iExpectedError == ERROR_OPTION_REQUIRED) | 
					
						
							|  |  |  |             { | 
					
						
							| 
									
										
										
										
											2015-06-18 16:55:09 -04:00
										 |  |  |                 $strError = "${strCommand} command requires option: ${strErrorParam1}" . | 
					
						
							| 
									
										
										
										
											2015-05-28 20:52:42 -04:00
										 |  |  |                             (defined($strErrorParam2) ? "\nHINT: ${strErrorParam2}" : ''); | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |             } | 
					
						
							| 
									
										
										
										
											2015-06-18 16:55:09 -04:00
										 |  |  |             elsif ($iExpectedError == ERROR_COMMAND_REQUIRED) | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |             { | 
					
						
							| 
									
										
										
										
											2015-06-18 16:55:09 -04:00
										 |  |  |                 $strError = "command must be specified"; | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |             } | 
					
						
							|  |  |  |             elsif ($iExpectedError == ERROR_OPTION_INVALID) | 
					
						
							|  |  |  |             { | 
					
						
							|  |  |  |                 $strError = "option '${strErrorParam1}' not valid without option '${strErrorParam2}'"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                 if (defined($strErrorParam3)) | 
					
						
							|  |  |  |                 { | 
					
						
							|  |  |  |                     $strError .= @{$strErrorParam3} == 1 ? " = '$$strErrorParam3[0]'" : | 
					
						
							|  |  |  |                                  " in ('" . join("', '",@{ $strErrorParam3}) . "')"; | 
					
						
							|  |  |  |                 } | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |             elsif ($iExpectedError == ERROR_OPTION_INVALID_VALUE) | 
					
						
							|  |  |  |             { | 
					
						
							| 
									
										
										
										
											2016-06-22 18:01:18 -04:00
										 |  |  |                 $strError = "'${strErrorParam1}' is not valid for '${strErrorParam2}' option" . | 
					
						
							|  |  |  |                             (defined($strErrorParam3) ? "\nHINT: ${strErrorParam3}." : ''); | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |             } | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |             elsif ($iExpectedError == ERROR_OPTION_INVALID_RANGE) | 
					
						
							|  |  |  |             { | 
					
						
							|  |  |  |                 $strError = "'${strErrorParam1}' is not valid for '${strErrorParam2}' option"; | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |             elsif ($iExpectedError == ERROR_OPTION_INVALID_PAIR) | 
					
						
							|  |  |  |             { | 
					
						
							|  |  |  |                 $strError = "'${strErrorParam1}' not valid key/value for '${strErrorParam2}' option"; | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |             elsif ($iExpectedError == ERROR_OPTION_NEGATE) | 
					
						
							|  |  |  |             { | 
					
						
							|  |  |  |                 $strError = "option '${strErrorParam1}' cannot be both set and negated"; | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |             elsif ($iExpectedError == ERROR_FILE_INVALID) | 
					
						
							|  |  |  |             { | 
					
						
							|  |  |  |                 $strError = "'${strErrorParam1}' is not a file"; | 
					
						
							|  |  |  |             } | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |             else | 
					
						
							|  |  |  |             { | 
					
						
							|  |  |  |                 confess "must construct message for error ${iExpectedError}, use this as an example: '" . $oMessage->message() . "'"; | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             if ($oMessage->message() ne $strError) | 
					
						
							|  |  |  |             { | 
					
						
							|  |  |  |                 confess "expected error message \"${strError}\" from configLoad but got \"" . $oMessage->message() . "\""; | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |         else | 
					
						
							|  |  |  |         { | 
					
						
							| 
									
										
										
										
											2016-04-14 09:30:54 -04:00
										 |  |  |             confess "configLoad should throw pgBackRest::Common::Exception:\n$oMessage"; | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     else | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         if (defined($iExpectedError)) | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |             confess "expected error ${iExpectedError} from configLoad but got success"; | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     # cmp_deeply(OPTION_rule_get(), $oOptionRuleExpected, 'compare original and new rule hashes') | 
					
						
							|  |  |  |     #     or die 'comparison failed'; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | sub optionTestExpect | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     my $strOption = shift; | 
					
						
							|  |  |  |     my $strExpectedValue = shift; | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |     my $strExpectedKey = shift; | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  |     if (defined($strExpectedValue)) | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         my $strActualValue = optionGet($strOption); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |         if (defined($strExpectedKey)) | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |             $strActualValue = $$strActualValue{$strExpectedKey}; | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         if (!defined($strActualValue)) | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |             confess "expected option ${strOption} to have value ${strExpectedValue} but [undef] found instead"; | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |         $strActualValue eq $strExpectedValue | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |             or confess "expected option ${strOption} to have value ${strExpectedValue} but ${strActualValue} found instead"; | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |     } | 
					
						
							|  |  |  |     elsif (optionTest($strOption)) | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         confess "expected option ${strOption} to be [undef], but " . optionGet($strOption) . ' found instead'; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #################################################################################################################################### | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  | # configTestRun | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  | #################################################################################################################################### | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  | sub configTestRun | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  | { | 
					
						
							|  |  |  |     my $strTest = shift; | 
					
						
							| 
									
										
										
										
											2016-01-13 22:43:26 -05:00
										 |  |  |     my $iThreadMax = shift; | 
					
						
							|  |  |  |     my $bVmOut = shift; | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  |     # Setup test variables | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  |     my $oHostGroup = hostGroupGet(); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |     my $iRun; | 
					
						
							|  |  |  |     my $bCreate; | 
					
						
							|  |  |  |     my $strStanza = 'main'; | 
					
						
							|  |  |  |     my $oOption = {}; | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |     my $oConfig = {}; | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |     my @oyArray; | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  |     my $strTestPath = $oHostGroup->paramGet(HOST_PARAM_TEST_PATH); | 
					
						
							|  |  |  |     my $strConfigFile = "${strTestPath}/pgbackrest.conf"; | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |     use constant BOGUS => 'bogus'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     # Print test banner | 
					
						
							| 
									
										
										
										
											2016-01-13 22:43:26 -05:00
										 |  |  |     if (!$bVmOut) | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         &log(INFO, 'CONFIG MODULE ******************************************************************'); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |     #------------------------------------------------------------------------------------------------------------------------------- | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |     # Test command-line options | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |     #------------------------------------------------------------------------------------------------------------------------------- | 
					
						
							| 
									
										
										
										
											2016-01-09 08:21:53 -05:00
										 |  |  |     my $strThisTest = 'option'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     if ($strTest eq 'all' || $strTest eq $strThisTest) | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |     { | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |         $iRun = 0; | 
					
						
							| 
									
										
										
										
											2016-01-09 08:21:53 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-01-13 22:43:26 -05:00
										 |  |  |         if (!$bVmOut) | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |             &log(INFO, "Test ${strThisTest}\n"); | 
					
						
							|  |  |  |         } | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  |         if (testRun(++$iRun, 'backup with no stanza')) | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |         { | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |             optionSetTest($oOption, OPTION_DB_PATH, '/db'); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-18 16:55:09 -04:00
										 |  |  |             configLoadExpect($oOption, CMD_BACKUP, ERROR_OPTION_REQUIRED, OPTION_STANZA); | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  |         if (testRun(++$iRun, 'backup with boolean stanza')) | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |         { | 
					
						
							| 
									
										
										
										
											2016-01-03 20:24:14 -05:00
										 |  |  |             optionBoolSetTest($oOption, OPTION_STANZA); | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-18 16:55:09 -04:00
										 |  |  |             configLoadExpect($oOption, CMD_BACKUP, ERROR_COMMAND_REQUIRED); | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  |         if (testRun(++$iRun, 'backup type defaults to ' . BACKUP_TYPE_INCR)) | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |         { | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_STANZA, $strStanza); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |             optionSetTest($oOption, OPTION_DB_PATH, '/db'); | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-18 16:55:09 -04:00
										 |  |  |             configLoadExpect($oOption, CMD_BACKUP); | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |             optionTestExpect(OPTION_TYPE, BACKUP_TYPE_INCR); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  |         if (testRun(++$iRun, 'backup type set to ' . BACKUP_TYPE_FULL)) | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |         { | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_STANZA, $strStanza); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |             optionSetTest($oOption, OPTION_DB_PATH, '/db'); | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |             optionSetTest($oOption, OPTION_TYPE, BACKUP_TYPE_FULL); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-18 16:55:09 -04:00
										 |  |  |             configLoadExpect($oOption, CMD_BACKUP); | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |             optionTestExpect(OPTION_TYPE, BACKUP_TYPE_FULL); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  |         if (testRun(++$iRun, 'backup type invalid')) | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |         { | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_STANZA, $strStanza); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |             optionSetTest($oOption, OPTION_DB_PATH, '/db'); | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |             optionSetTest($oOption, OPTION_TYPE, BOGUS); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-18 16:55:09 -04:00
										 |  |  |             configLoadExpect($oOption, CMD_BACKUP, ERROR_OPTION_INVALID_VALUE, BOGUS, OPTION_TYPE); | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  |         if (testRun(++$iRun, 'backup invalid force')) | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |         { | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_STANZA, $strStanza); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |             optionSetTest($oOption, OPTION_DB_PATH, '/db'); | 
					
						
							| 
									
										
										
										
											2016-01-03 20:24:14 -05:00
										 |  |  |             optionBoolSetTest($oOption, OPTION_FORCE); | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-02-19 19:32:02 -05:00
										 |  |  |             configLoadExpect($oOption, CMD_BACKUP, ERROR_OPTION_INVALID, OPTION_FORCE, 'no-' . OPTION_ONLINE); | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  |         if (testRun(++$iRun, 'backup valid force')) | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |         { | 
					
						
							|  |  |  |             # $oOption = {}; | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_STANZA, $strStanza); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |             optionSetTest($oOption, OPTION_DB_PATH, '/db'); | 
					
						
							| 
									
										
										
										
											2016-02-19 19:32:02 -05:00
										 |  |  |             optionBoolSetTest($oOption, OPTION_ONLINE, false); | 
					
						
							| 
									
										
										
										
											2016-01-03 20:24:14 -05:00
										 |  |  |             optionBoolSetTest($oOption, OPTION_FORCE); | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-18 16:55:09 -04:00
										 |  |  |             configLoadExpect($oOption, CMD_BACKUP); | 
					
						
							| 
									
										
										
										
											2016-02-19 19:32:02 -05:00
										 |  |  |             optionTestExpect(OPTION_ONLINE, false); | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |             optionTestExpect(OPTION_FORCE, true); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  |         if (testRun(++$iRun, 'backup invalid value for ' . OPTION_TEST_DELAY)) | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |         { | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_STANZA, $strStanza); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |             optionSetTest($oOption, OPTION_DB_PATH, '/db'); | 
					
						
							| 
									
										
										
										
											2016-01-03 20:24:14 -05:00
										 |  |  |             optionBoolSetTest($oOption, OPTION_TEST); | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |             optionSetTest($oOption, OPTION_TEST_DELAY, BOGUS); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-18 16:55:09 -04:00
										 |  |  |             configLoadExpect($oOption, CMD_BACKUP, ERROR_OPTION_INVALID_VALUE, BOGUS, OPTION_TEST_DELAY); | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  |         if (testRun(++$iRun, 'backup invalid ' . OPTION_TEST_DELAY)) | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |         { | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_STANZA, $strStanza); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |             optionSetTest($oOption, OPTION_DB_PATH, '/db'); | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |             optionSetTest($oOption, OPTION_TEST_DELAY, 5); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-18 16:55:09 -04:00
										 |  |  |             configLoadExpect($oOption, CMD_BACKUP, ERROR_OPTION_INVALID, OPTION_TEST_DELAY, OPTION_TEST); | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  |         if (testRun(++$iRun, 'backup check ' . OPTION_TEST_DELAY . ' undef')) | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |         { | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_STANZA, $strStanza); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |             optionSetTest($oOption, OPTION_DB_PATH, '/db'); | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-18 16:55:09 -04:00
										 |  |  |             configLoadExpect($oOption, CMD_BACKUP); | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |             optionTestExpect(OPTION_TEST_DELAY); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  |         if (testRun(++$iRun, 'restore invalid ' . OPTION_TARGET)) | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |         { | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_STANZA, $strStanza); | 
					
						
							| 
									
										
										
										
											2016-06-18 09:55:00 -04:00
										 |  |  |             optionSetTest($oOption, OPTION_DB_PATH, '/db'); | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |             optionSetTest($oOption, OPTION_TYPE, RECOVERY_TYPE_DEFAULT); | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_TARGET, BOGUS); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             @oyArray = (RECOVERY_TYPE_NAME, RECOVERY_TYPE_TIME, RECOVERY_TYPE_XID); | 
					
						
							| 
									
										
										
										
											2015-06-18 16:55:09 -04:00
										 |  |  |             configLoadExpect($oOption, CMD_RESTORE, ERROR_OPTION_INVALID, OPTION_TARGET, OPTION_TYPE, \@oyArray); | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  |         if (testRun(++$iRun, 'restore ' . OPTION_TARGET)) | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |         { | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_STANZA, $strStanza); | 
					
						
							| 
									
										
										
										
											2016-06-18 09:55:00 -04:00
										 |  |  |             optionSetTest($oOption, OPTION_DB_PATH, '/db'); | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |             optionSetTest($oOption, OPTION_TYPE, RECOVERY_TYPE_NAME); | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_TARGET, BOGUS); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-18 16:55:09 -04:00
										 |  |  |             configLoadExpect($oOption, CMD_RESTORE); | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |             optionTestExpect(OPTION_TYPE, RECOVERY_TYPE_NAME); | 
					
						
							|  |  |  |             optionTestExpect(OPTION_TARGET, BOGUS); | 
					
						
							|  |  |  |             optionTestExpect(OPTION_TARGET_TIMELINE); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  |         if (testRun(++$iRun, 'invalid string ' . OPTION_THREAD_MAX)) | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |         { | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_STANZA, $strStanza); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |             optionSetTest($oOption, OPTION_DB_PATH, '/db'); | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |             optionSetTest($oOption, OPTION_THREAD_MAX, BOGUS); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-18 16:55:09 -04:00
										 |  |  |             configLoadExpect($oOption, CMD_BACKUP, ERROR_OPTION_INVALID_VALUE, BOGUS, OPTION_THREAD_MAX); | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  |         if (testRun(++$iRun, 'invalid float ' . OPTION_THREAD_MAX)) | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |         { | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_STANZA, $strStanza); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |             optionSetTest($oOption, OPTION_DB_PATH, '/db'); | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |             optionSetTest($oOption, OPTION_THREAD_MAX, '0.0'); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-18 16:55:09 -04:00
										 |  |  |             configLoadExpect($oOption, CMD_BACKUP, ERROR_OPTION_INVALID_VALUE, '0.0', OPTION_THREAD_MAX); | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  |         if (testRun(++$iRun, 'valid ' . OPTION_THREAD_MAX)) | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |         { | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_STANZA, $strStanza); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |             optionSetTest($oOption, OPTION_DB_PATH, '/db'); | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |             optionSetTest($oOption, OPTION_THREAD_MAX, '2'); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-18 16:55:09 -04:00
										 |  |  |             configLoadExpect($oOption, CMD_BACKUP); | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  |         if (testRun(++$iRun, 'valid float ' . OPTION_TEST_DELAY)) | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |         { | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_STANZA, $strStanza); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |             optionSetTest($oOption, OPTION_DB_PATH, '/db'); | 
					
						
							| 
									
										
										
										
											2016-01-03 20:24:14 -05:00
										 |  |  |             optionBoolSetTest($oOption, OPTION_TEST); | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |             optionSetTest($oOption, OPTION_TEST_DELAY, '0.25'); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-18 16:55:09 -04:00
										 |  |  |             configLoadExpect($oOption, CMD_BACKUP); | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  |         if (testRun(++$iRun, 'valid int ' . OPTION_TEST_DELAY)) | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |         { | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_STANZA, $strStanza); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |             optionSetTest($oOption, OPTION_DB_PATH, '/db'); | 
					
						
							| 
									
										
										
										
											2016-01-03 20:24:14 -05:00
										 |  |  |             optionBoolSetTest($oOption, OPTION_TEST); | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |             optionSetTest($oOption, OPTION_TEST_DELAY, 3); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-18 16:55:09 -04:00
										 |  |  |             configLoadExpect($oOption, CMD_BACKUP); | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  |         if (testRun(++$iRun, 'restore valid ' . OPTION_TARGET_TIMELINE)) | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |         { | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_STANZA, $strStanza); | 
					
						
							| 
									
										
										
										
											2016-06-18 09:55:00 -04:00
										 |  |  |             optionSetTest($oOption, OPTION_DB_PATH, '/db'); | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |             optionSetTest($oOption, OPTION_TARGET_TIMELINE, 2); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-18 16:55:09 -04:00
										 |  |  |             configLoadExpect($oOption, CMD_RESTORE); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  |         if (testRun(++$iRun, 'invalid ' . OPTION_BUFFER_SIZE)) | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |         { | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_STANZA, $strStanza); | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_BUFFER_SIZE, '512'); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-18 16:55:09 -04:00
										 |  |  |             configLoadExpect($oOption, CMD_RESTORE, ERROR_OPTION_INVALID_RANGE, '512', OPTION_BUFFER_SIZE); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  |         if (testRun(++$iRun, CMD_BACKUP . ' invalid option ' . OPTION_RETENTION_ARCHIVE_TYPE)) | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |         { | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_STANZA, $strStanza); | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_DB_PATH, '/db'); | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_RETENTION_ARCHIVE_TYPE, BOGUS); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-18 16:55:09 -04:00
										 |  |  |             configLoadExpect($oOption, CMD_BACKUP, ERROR_OPTION_INVALID, OPTION_RETENTION_ARCHIVE_TYPE, OPTION_RETENTION_ARCHIVE); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  |         if (testRun(++$iRun, CMD_BACKUP . ' invalid value ' . OPTION_RETENTION_ARCHIVE_TYPE)) | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |         { | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_STANZA, $strStanza); | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_DB_PATH, '/db'); | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_RETENTION_ARCHIVE, 3); | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_RETENTION_ARCHIVE_TYPE, BOGUS); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-18 16:55:09 -04:00
										 |  |  |             configLoadExpect($oOption, CMD_BACKUP, ERROR_OPTION_INVALID_VALUE, BOGUS, OPTION_RETENTION_ARCHIVE_TYPE); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  |         if (testRun(++$iRun, CMD_BACKUP . ' invalid value ' . OPTION_PROTOCOL_TIMEOUT)) | 
					
						
							| 
									
										
										
										
											2016-06-22 18:01:18 -04:00
										 |  |  |         { | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_STANZA, $strStanza); | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_DB_PATH, '/db'); | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_DB_TIMEOUT, 5); | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_PROTOCOL_TIMEOUT, 4); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             configLoadExpect( | 
					
						
							|  |  |  |                 $oOption, CMD_BACKUP, ERROR_OPTION_INVALID_VALUE, 4, OPTION_PROTOCOL_TIMEOUT, | 
					
						
							|  |  |  |                 "'protocol-timeout' option should be greater than 'db-timeout' option"); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  |         if (testRun(++$iRun, CMD_BACKUP . ' valid value ' . OPTION_RETENTION_ARCHIVE_TYPE)) | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |         { | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_STANZA, $strStanza); | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_DB_PATH, '/db'); | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_RETENTION_ARCHIVE, 1); | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_RETENTION_ARCHIVE_TYPE, BACKUP_TYPE_FULL); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-18 16:55:09 -04:00
										 |  |  |             configLoadExpect($oOption, CMD_BACKUP); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |             optionTestExpect(OPTION_RETENTION_ARCHIVE, 1); | 
					
						
							|  |  |  |             optionTestExpect(OPTION_RETENTION_ARCHIVE_TYPE, BACKUP_TYPE_FULL); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  |         if (testRun(++$iRun, CMD_RESTORE . ' invalid value ' . OPTION_RESTORE_RECOVERY_OPTION)) | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |         { | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_STANZA, $strStanza); | 
					
						
							| 
									
										
										
										
											2016-06-18 09:55:00 -04:00
										 |  |  |             optionSetTest($oOption, OPTION_DB_PATH, '/db'); | 
					
						
							| 
									
										
										
										
											2015-09-08 07:31:24 -04:00
										 |  |  |             optionSetTest($oOption, OPTION_RESTORE_RECOVERY_OPTION, '='); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-09-08 07:31:24 -04:00
										 |  |  |             configLoadExpect($oOption, CMD_RESTORE, ERROR_OPTION_INVALID_PAIR, '=', OPTION_RESTORE_RECOVERY_OPTION); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  |         if (testRun(++$iRun, CMD_RESTORE . ' invalid value ' . OPTION_RESTORE_RECOVERY_OPTION)) | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |         { | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_STANZA, $strStanza); | 
					
						
							| 
									
										
										
										
											2016-06-18 09:55:00 -04:00
										 |  |  |             optionSetTest($oOption, OPTION_DB_PATH, '/db'); | 
					
						
							| 
									
										
										
										
											2015-09-08 07:31:24 -04:00
										 |  |  |             optionSetTest($oOption, OPTION_RESTORE_RECOVERY_OPTION, '=' . BOGUS); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-09-08 07:31:24 -04:00
										 |  |  |             configLoadExpect($oOption, CMD_RESTORE, ERROR_OPTION_INVALID_PAIR, '=' . BOGUS, OPTION_RESTORE_RECOVERY_OPTION); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  |         if (testRun(++$iRun, CMD_RESTORE . ' invalid value ' . OPTION_RESTORE_RECOVERY_OPTION)) | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |         { | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_STANZA, $strStanza); | 
					
						
							| 
									
										
										
										
											2016-06-18 09:55:00 -04:00
										 |  |  |             optionSetTest($oOption, OPTION_DB_PATH, '/db'); | 
					
						
							| 
									
										
										
										
											2015-09-08 07:31:24 -04:00
										 |  |  |             optionSetTest($oOption, OPTION_RESTORE_RECOVERY_OPTION, BOGUS . '='); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-09-08 07:31:24 -04:00
										 |  |  |             configLoadExpect($oOption, CMD_RESTORE, ERROR_OPTION_INVALID_PAIR, BOGUS . '=', OPTION_RESTORE_RECOVERY_OPTION); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  |         if (testRun(++$iRun, CMD_RESTORE . ' valid value ' . OPTION_RESTORE_RECOVERY_OPTION)) | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |         { | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_STANZA, $strStanza); | 
					
						
							| 
									
										
										
										
											2016-06-18 09:55:00 -04:00
										 |  |  |             optionSetTest($oOption, OPTION_DB_PATH, '/db'); | 
					
						
							| 
									
										
										
										
											2015-09-08 07:31:24 -04:00
										 |  |  |             optionSetTest($oOption, OPTION_RESTORE_RECOVERY_OPTION, 'primary-conn-info=db.domain.net'); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-18 16:55:09 -04:00
										 |  |  |             configLoadExpect($oOption, CMD_RESTORE); | 
					
						
							| 
									
										
										
										
											2015-09-08 07:31:24 -04:00
										 |  |  |             optionTestExpect(OPTION_RESTORE_RECOVERY_OPTION, 'db.domain.net', 'primary-conn-info'); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  |         if (testRun(++$iRun, CMD_RESTORE . ' values passed to ' . CMD_ARCHIVE_GET)) | 
					
						
							| 
									
										
										
										
											2015-04-19 17:29:52 -04:00
										 |  |  |         { | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_STANZA, $strStanza); | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_DB_PATH, '/db path/main'); | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_REPO_PATH, '/repo'); | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_BACKUP_HOST, 'db.mydomain.com'); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-18 16:55:09 -04:00
										 |  |  |             configLoadExpect($oOption, CMD_RESTORE); | 
					
						
							| 
									
										
										
										
											2015-04-19 17:29:52 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-18 16:55:09 -04:00
										 |  |  |             my $strCommand = commandWrite(CMD_ARCHIVE_GET); | 
					
						
							| 
									
										
										
										
											2015-05-08 19:33:34 -04:00
										 |  |  |             my $strExpectedCommand = abs_path($0) . " --backup-host=db.mydomain.com \"--db-path=/db path/main\"" . | 
					
						
							| 
									
										
										
										
											2016-04-14 22:50:02 -04:00
										 |  |  |                                      " --repo-path=/repo --stanza=main " . CMD_ARCHIVE_GET; | 
					
						
							| 
									
										
										
										
											2015-04-19 17:29:52 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  |             if ($strCommand ne $strExpectedCommand) | 
					
						
							|  |  |  |             { | 
					
						
							|  |  |  |                 confess "expected command '${strExpectedCommand}' but got '${strCommand}'"; | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  |         if (testRun(++$iRun, CMD_BACKUP . ' default value ' . OPTION_COMMAND_REMOTE)) | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |         { | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_STANZA, $strStanza); | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_DB_PATH, '/db'); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-18 16:55:09 -04:00
										 |  |  |             configLoadExpect($oOption, CMD_BACKUP); | 
					
						
							| 
									
										
										
										
											2015-06-17 11:26:07 -04:00
										 |  |  |             optionTestExpect(OPTION_COMMAND_REMOTE, abs_path($0)); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |         } | 
					
						
							| 
									
										
										
										
											2015-05-28 20:52:42 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  |         if (testRun(++$iRun, CMD_BACKUP . ' missing option ' . OPTION_DB_PATH)) | 
					
						
							| 
									
										
										
										
											2015-05-28 20:52:42 -04:00
										 |  |  |         { | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_STANZA, $strStanza); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-05-14 10:36:35 -04:00
										 |  |  |             configLoadExpect($oOption, CMD_BACKUP, ERROR_OPTION_REQUIRED, OPTION_DB_PATH, 'does this stanza exist?'); | 
					
						
							| 
									
										
										
										
											2015-05-28 20:52:42 -04:00
										 |  |  |         } | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     #------------------------------------------------------------------------------------------------------------------------------- | 
					
						
							|  |  |  |     # Test mixed command-line/config | 
					
						
							|  |  |  |     #------------------------------------------------------------------------------------------------------------------------------- | 
					
						
							| 
									
										
										
										
											2016-01-09 08:21:53 -05:00
										 |  |  |     $strThisTest = 'config'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     if ($strTest eq 'all' || $strTest eq $strThisTest) | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |     { | 
					
						
							|  |  |  |         $iRun = 0; | 
					
						
							| 
									
										
										
										
											2016-01-09 08:21:53 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-01-13 22:43:26 -05:00
										 |  |  |         if (!$bVmOut) | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |             &log(INFO, "Test ${strThisTest}\n"); | 
					
						
							|  |  |  |         } | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  |         if (testRun(++$iRun, 'set and negate option ' . OPTION_CONFIG)) | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |         { | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_STANZA, $strStanza); | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_DB_PATH, '/db'); | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_CONFIG, '/dude/dude.conf'); | 
					
						
							| 
									
										
										
										
											2016-01-03 20:24:14 -05:00
										 |  |  |             optionBoolSetTest($oOption, OPTION_CONFIG, false); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-18 16:55:09 -04:00
										 |  |  |             configLoadExpect($oOption, CMD_BACKUP, ERROR_OPTION_NEGATE, OPTION_CONFIG); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  |         if (testRun(++$iRun, 'option ' . OPTION_CONFIG)) | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |         { | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_STANZA, $strStanza); | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_DB_PATH, '/db'); | 
					
						
							| 
									
										
										
										
											2016-01-03 20:24:14 -05:00
										 |  |  |             optionBoolSetTest($oOption, OPTION_CONFIG, false); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-18 16:55:09 -04:00
										 |  |  |             configLoadExpect($oOption, CMD_BACKUP); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |             optionTestExpect(OPTION_CONFIG); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  |         if (testRun(++$iRun, 'default option ' . OPTION_CONFIG)) | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |         { | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_STANZA, $strStanza); | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_DB_PATH, '/db'); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-18 16:55:09 -04:00
										 |  |  |             configLoadExpect($oOption, CMD_BACKUP); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |             optionTestExpect(OPTION_CONFIG, OPTION_DEFAULT_CONFIG); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  |         if (testRun(++$iRun, 'config file is a path')) | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |         { | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_STANZA, $strStanza); | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_DB_PATH, '/db'); | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  |             optionSetTest($oOption, OPTION_CONFIG, $strTestPath); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  |             configLoadExpect($oOption, CMD_BACKUP, ERROR_FILE_INVALID, $strTestPath); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  |         if (testRun(++$iRun, 'load from config stanza command section - option ' . OPTION_THREAD_MAX)) | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |         { | 
					
						
							|  |  |  |             $oConfig = {}; | 
					
						
							| 
									
										
										
										
											2015-06-18 16:55:09 -04:00
										 |  |  |             $$oConfig{"${strStanza}:" . &CMD_BACKUP}{&OPTION_THREAD_MAX} = 2; | 
					
						
							| 
									
										
										
										
											2015-06-13 18:25:49 -04:00
										 |  |  |             iniSave($strConfigFile, $oConfig, true); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_STANZA, $strStanza); | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_DB_PATH, '/db'); | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_CONFIG, $strConfigFile); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-18 16:55:09 -04:00
										 |  |  |             configLoadExpect($oOption, CMD_BACKUP); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |             optionTestExpect(OPTION_THREAD_MAX, 2); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  |         if (testRun(++$iRun, 'load from config stanza section - option ' . OPTION_THREAD_MAX)) | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |         { | 
					
						
							|  |  |  |             $oConfig = {}; | 
					
						
							| 
									
										
										
										
											2016-04-14 09:30:54 -04:00
										 |  |  |             $$oConfig{$strStanza}{&OPTION_THREAD_MAX} = 3; | 
					
						
							| 
									
										
										
										
											2015-06-13 18:25:49 -04:00
										 |  |  |             iniSave($strConfigFile, $oConfig, true); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_STANZA, $strStanza); | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_DB_PATH, '/db'); | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_CONFIG, $strConfigFile); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-18 16:55:09 -04:00
										 |  |  |             configLoadExpect($oOption, CMD_BACKUP); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |             optionTestExpect(OPTION_THREAD_MAX, 3); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  |         if (testRun(++$iRun, 'load from config global command section - option ' . OPTION_THREAD_MAX)) | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |         { | 
					
						
							|  |  |  |             $oConfig = {}; | 
					
						
							| 
									
										
										
										
											2016-04-14 09:30:54 -04:00
										 |  |  |             $$oConfig{&CONFIG_SECTION_GLOBAL . ':' . &CMD_BACKUP}{&OPTION_THREAD_MAX} = 2; | 
					
						
							| 
									
										
										
										
											2015-06-13 18:25:49 -04:00
										 |  |  |             iniSave($strConfigFile, $oConfig, true); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_STANZA, $strStanza); | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_DB_PATH, '/db'); | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_CONFIG, $strConfigFile); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-18 16:55:09 -04:00
										 |  |  |             configLoadExpect($oOption, CMD_BACKUP); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |             optionTestExpect(OPTION_THREAD_MAX, 2); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  |         if (testRun(++$iRun, 'load from config global section - option ' . OPTION_THREAD_MAX)) | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |         { | 
					
						
							|  |  |  |             $oConfig = {}; | 
					
						
							| 
									
										
										
										
											2016-04-14 09:30:54 -04:00
										 |  |  |             $$oConfig{&CONFIG_SECTION_GLOBAL}{&OPTION_THREAD_MAX} = 5; | 
					
						
							| 
									
										
										
										
											2015-06-13 18:25:49 -04:00
										 |  |  |             iniSave($strConfigFile, $oConfig, true); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_STANZA, $strStanza); | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_DB_PATH, '/db'); | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_CONFIG, $strConfigFile); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-18 16:55:09 -04:00
										 |  |  |             configLoadExpect($oOption, CMD_BACKUP); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |             optionTestExpect(OPTION_THREAD_MAX, 5); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  |         if (testRun(++$iRun, 'default - option ' . OPTION_THREAD_MAX)) | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |         { | 
					
						
							|  |  |  |             $oConfig = {}; | 
					
						
							| 
									
										
										
										
											2015-06-13 18:25:49 -04:00
										 |  |  |             iniSave($strConfigFile, $oConfig, true); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_STANZA, $strStanza); | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_DB_PATH, '/db'); | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_CONFIG, $strConfigFile); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-18 16:55:09 -04:00
										 |  |  |             configLoadExpect($oOption, CMD_BACKUP); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |             optionTestExpect(OPTION_THREAD_MAX, 1); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  |         if (testRun(++$iRun, 'command-line override - option ' . OPTION_THREAD_MAX)) | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |         { | 
					
						
							|  |  |  |             $oConfig = {}; | 
					
						
							| 
									
										
										
										
											2016-04-14 09:30:54 -04:00
										 |  |  |             $$oConfig{&CONFIG_SECTION_GLOBAL}{&OPTION_THREAD_MAX} = 9; | 
					
						
							| 
									
										
										
										
											2015-06-13 18:25:49 -04:00
										 |  |  |             iniSave($strConfigFile, $oConfig, true); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_STANZA, $strStanza); | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_DB_PATH, '/db'); | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_THREAD_MAX, 7); | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_CONFIG, $strConfigFile); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-18 16:55:09 -04:00
										 |  |  |             configLoadExpect($oOption, CMD_BACKUP); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |             optionTestExpect(OPTION_THREAD_MAX, 7); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  |         if (testRun(++$iRun, 'invalid boolean - option ' . OPTION_HARDLINK)) | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |         { | 
					
						
							|  |  |  |             $oConfig = {}; | 
					
						
							| 
									
										
										
										
											2016-04-14 09:30:54 -04:00
										 |  |  |             $$oConfig{&CONFIG_SECTION_GLOBAL . ':' . &CMD_BACKUP}{&OPTION_HARDLINK} = 'Y'; | 
					
						
							| 
									
										
										
										
											2015-06-13 18:25:49 -04:00
										 |  |  |             iniSave($strConfigFile, $oConfig, true); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_STANZA, $strStanza); | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_DB_PATH, '/db'); | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_CONFIG, $strConfigFile); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-18 16:55:09 -04:00
										 |  |  |             configLoadExpect($oOption, CMD_BACKUP, ERROR_OPTION_INVALID_VALUE, 'Y', OPTION_HARDLINK); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  |         if (testRun(++$iRun, 'invalid value - option ' . OPTION_LOG_LEVEL_CONSOLE)) | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |         { | 
					
						
							|  |  |  |             $oConfig = {}; | 
					
						
							| 
									
										
										
										
											2016-04-14 09:30:54 -04:00
										 |  |  |             $$oConfig{&CONFIG_SECTION_GLOBAL}{&OPTION_LOG_LEVEL_CONSOLE} = BOGUS; | 
					
						
							| 
									
										
										
										
											2015-06-13 18:25:49 -04:00
										 |  |  |             iniSave($strConfigFile, $oConfig, true); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_STANZA, $strStanza); | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_DB_PATH, '/db'); | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_CONFIG, $strConfigFile); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-18 16:55:09 -04:00
										 |  |  |             configLoadExpect($oOption, CMD_BACKUP, ERROR_OPTION_INVALID_VALUE, BOGUS, OPTION_LOG_LEVEL_CONSOLE); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  |         if (testRun(++$iRun, 'valid value - option ' . OPTION_LOG_LEVEL_CONSOLE)) | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |         { | 
					
						
							|  |  |  |             $oConfig = {}; | 
					
						
							| 
									
										
										
										
											2016-04-14 09:30:54 -04:00
										 |  |  |             $$oConfig{&CONFIG_SECTION_GLOBAL}{&OPTION_LOG_LEVEL_CONSOLE} = lc(INFO); | 
					
						
							| 
									
										
										
										
											2015-06-13 18:25:49 -04:00
										 |  |  |             iniSave($strConfigFile, $oConfig, true); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_STANZA, $strStanza); | 
					
						
							| 
									
										
										
										
											2016-06-18 09:55:00 -04:00
										 |  |  |             optionSetTest($oOption, OPTION_DB_PATH, '/db'); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |             optionSetTest($oOption, OPTION_CONFIG, $strConfigFile); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-18 16:55:09 -04:00
										 |  |  |             configLoadExpect($oOption, CMD_RESTORE); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  |         if (testRun(++$iRun, 'archive-push - option ' . OPTION_LOG_LEVEL_CONSOLE)) | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |         { | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_STANZA, $strStanza); | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_CONFIG, $strConfigFile); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-18 16:55:09 -04:00
										 |  |  |             configLoadExpect($oOption, CMD_ARCHIVE_PUSH); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  |         if (testRun(++$iRun, CMD_EXPIRE . ' ' . OPTION_RETENTION_FULL)) | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |         { | 
					
						
							|  |  |  |             $oConfig = {}; | 
					
						
							| 
									
										
										
										
											2016-04-14 09:30:54 -04:00
										 |  |  |             $$oConfig{"${strStanza}:" . &CMD_EXPIRE}{&OPTION_RETENTION_FULL} = 2; | 
					
						
							| 
									
										
										
										
											2015-06-13 18:25:49 -04:00
										 |  |  |             iniSave($strConfigFile, $oConfig, true); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_STANZA, $strStanza); | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_CONFIG, $strConfigFile); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-18 16:55:09 -04:00
										 |  |  |             configLoadExpect($oOption, CMD_EXPIRE); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |             optionTestExpect(OPTION_RETENTION_FULL, 2); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  |         if (testRun(++$iRun, CMD_BACKUP . ' option ' . OPTION_COMPRESS)) | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |         { | 
					
						
							|  |  |  |             $oConfig = {}; | 
					
						
							| 
									
										
										
										
											2016-04-14 09:30:54 -04:00
										 |  |  |             $$oConfig{&CONFIG_SECTION_GLOBAL . ':' . &CMD_BACKUP}{&OPTION_COMPRESS} = 'n'; | 
					
						
							| 
									
										
										
										
											2015-06-13 18:25:49 -04:00
										 |  |  |             iniSave($strConfigFile, $oConfig, true); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_STANZA, $strStanza); | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_DB_PATH, '/db'); | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_CONFIG, $strConfigFile); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-18 16:55:09 -04:00
										 |  |  |             configLoadExpect($oOption, CMD_BACKUP); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |             optionTestExpect(OPTION_COMPRESS, false); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  |         if (testRun(++$iRun, CMD_RESTORE . ' global option ' . OPTION_RESTORE_RECOVERY_OPTION . ' error')) | 
					
						
							| 
									
										
										
										
											2016-04-14 09:30:54 -04:00
										 |  |  |         { | 
					
						
							|  |  |  |             $oConfig = {}; | 
					
						
							|  |  |  |             $$oConfig{&CONFIG_SECTION_GLOBAL . ':' . &CMD_RESTORE}{&OPTION_RESTORE_RECOVERY_OPTION} = 'bogus='; | 
					
						
							|  |  |  |             iniSave($strConfigFile, $oConfig, true); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_STANZA, $strStanza); | 
					
						
							| 
									
										
										
										
											2016-06-18 09:55:00 -04:00
										 |  |  |             optionSetTest($oOption, OPTION_DB_PATH, '/db'); | 
					
						
							| 
									
										
										
										
											2016-04-14 09:30:54 -04:00
										 |  |  |             optionSetTest($oOption, OPTION_CONFIG, $strConfigFile); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             configLoadExpect($oOption, CMD_RESTORE, ERROR_OPTION_INVALID_VALUE, 'bogus=', OPTION_RESTORE_RECOVERY_OPTION); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  |         if (testRun(++$iRun, CMD_RESTORE . ' global option ' . OPTION_RESTORE_RECOVERY_OPTION . ' error')) | 
					
						
							| 
									
										
										
										
											2016-04-14 09:30:54 -04:00
										 |  |  |         { | 
					
						
							|  |  |  |             $oConfig = {}; | 
					
						
							|  |  |  |             $$oConfig{&CONFIG_SECTION_GLOBAL . ':' . &CMD_RESTORE}{&OPTION_RESTORE_RECOVERY_OPTION} = '=bogus'; | 
					
						
							|  |  |  |             iniSave($strConfigFile, $oConfig, true); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_STANZA, $strStanza); | 
					
						
							| 
									
										
										
										
											2016-06-18 09:55:00 -04:00
										 |  |  |             optionSetTest($oOption, OPTION_DB_PATH, '/db'); | 
					
						
							| 
									
										
										
										
											2016-04-14 09:30:54 -04:00
										 |  |  |             optionSetTest($oOption, OPTION_CONFIG, $strConfigFile); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             configLoadExpect($oOption, CMD_RESTORE, ERROR_OPTION_INVALID_VALUE, '=bogus', OPTION_RESTORE_RECOVERY_OPTION); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  |         if (testRun(++$iRun, CMD_RESTORE . ' global option ' . OPTION_RESTORE_RECOVERY_OPTION)) | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |         { | 
					
						
							|  |  |  |             $oConfig = {}; | 
					
						
							| 
									
										
										
										
											2016-04-14 09:30:54 -04:00
										 |  |  |             $$oConfig{&CONFIG_SECTION_GLOBAL . ':' . &CMD_RESTORE}{&OPTION_RESTORE_RECOVERY_OPTION} = | 
					
						
							|  |  |  |                 'archive-command=/path/to/pgbackrest'; | 
					
						
							| 
									
										
										
										
											2015-06-13 18:25:49 -04:00
										 |  |  |             iniSave($strConfigFile, $oConfig, true); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_STANZA, $strStanza); | 
					
						
							| 
									
										
										
										
											2016-06-18 09:55:00 -04:00
										 |  |  |             optionSetTest($oOption, OPTION_DB_PATH, '/db'); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |             optionSetTest($oOption, OPTION_CONFIG, $strConfigFile); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-18 16:55:09 -04:00
										 |  |  |             configLoadExpect($oOption, CMD_RESTORE); | 
					
						
							| 
									
										
										
										
											2016-04-14 09:30:54 -04:00
										 |  |  |             optionTestExpect(OPTION_RESTORE_RECOVERY_OPTION, '/path/to/pgbackrest', 'archive-command'); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  |         if (testRun(++$iRun, CMD_RESTORE . ' stanza option ' . OPTION_RESTORE_RECOVERY_OPTION)) | 
					
						
							| 
									
										
										
										
											2015-04-01 15:58:33 -04:00
										 |  |  |         { | 
					
						
							|  |  |  |             $oConfig = {}; | 
					
						
							| 
									
										
										
										
											2016-04-14 09:30:54 -04:00
										 |  |  |             $$oConfig{$strStanza}{&OPTION_RESTORE_RECOVERY_OPTION} = ['standby-mode=on', 'a=b']; | 
					
						
							| 
									
										
										
										
											2015-06-13 18:25:49 -04:00
										 |  |  |             iniSave($strConfigFile, $oConfig, true); | 
					
						
							| 
									
										
										
										
											2015-04-01 15:58:33 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_STANZA, $strStanza); | 
					
						
							| 
									
										
										
										
											2016-06-18 09:55:00 -04:00
										 |  |  |             optionSetTest($oOption, OPTION_DB_PATH, '/db'); | 
					
						
							| 
									
										
										
										
											2015-04-01 15:58:33 -04:00
										 |  |  |             optionSetTest($oOption, OPTION_CONFIG, $strConfigFile); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-04-14 09:30:54 -04:00
										 |  |  |             configLoadExpect($oOption, CMD_RESTORE); | 
					
						
							|  |  |  |             optionTestExpect(OPTION_RESTORE_RECOVERY_OPTION, 'b', 'a'); | 
					
						
							|  |  |  |             optionTestExpect(OPTION_RESTORE_RECOVERY_OPTION, 'on', 'standby-mode'); | 
					
						
							| 
									
										
										
										
											2015-04-01 15:58:33 -04:00
										 |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  |         if (testRun(++$iRun, CMD_BACKUP . ' option ' . OPTION_DB_PATH)) | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |         { | 
					
						
							|  |  |  |             $oConfig = {}; | 
					
						
							|  |  |  |             $$oConfig{$strStanza}{&OPTION_DB_PATH} = '/path/to/db'; | 
					
						
							| 
									
										
										
										
											2015-06-13 18:25:49 -04:00
										 |  |  |             iniSave($strConfigFile, $oConfig, true); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_STANZA, $strStanza); | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_CONFIG, $strConfigFile); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-18 16:55:09 -04:00
										 |  |  |             configLoadExpect($oOption, CMD_BACKUP); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |             optionTestExpect(OPTION_DB_PATH, '/path/to/db'); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  |         if (testRun(++$iRun, CMD_BACKUP . ' option ' . OPTION_BACKUP_ARCHIVE_CHECK)) | 
					
						
							| 
									
										
										
										
											2016-01-03 20:24:14 -05:00
										 |  |  |         { | 
					
						
							|  |  |  |             $oConfig = {}; | 
					
						
							|  |  |  |             $$oConfig{$strStanza}{&OPTION_DB_PATH} = '/path/to/db'; | 
					
						
							|  |  |  |             iniSave($strConfigFile, $oConfig, true); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_STANZA, $strStanza); | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_CONFIG, $strConfigFile); | 
					
						
							|  |  |  |             optionBoolSetTest($oOption, OPTION_BACKUP_ARCHIVE_CHECK, false); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             configLoadExpect($oOption, CMD_BACKUP); | 
					
						
							| 
									
										
										
										
											2016-02-19 19:32:02 -05:00
										 |  |  |             optionTestExpect(OPTION_ONLINE, true); | 
					
						
							| 
									
										
										
										
											2016-01-03 20:24:14 -05:00
										 |  |  |             optionTestExpect(OPTION_BACKUP_ARCHIVE_CHECK, false); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  |         if (testRun(++$iRun, CMD_ARCHIVE_PUSH . ' option ' . OPTION_DB_PATH)) | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |         { | 
					
						
							|  |  |  |             $oConfig = {}; | 
					
						
							|  |  |  |             $$oConfig{$strStanza}{&OPTION_DB_PATH} = '/path/to/db'; | 
					
						
							| 
									
										
										
										
											2015-06-13 18:25:49 -04:00
										 |  |  |             iniSave($strConfigFile, $oConfig, true); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_STANZA, $strStanza); | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_CONFIG, $strConfigFile); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-18 16:55:09 -04:00
										 |  |  |             configLoadExpect($oOption, CMD_ARCHIVE_PUSH); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |             optionTestExpect(OPTION_DB_PATH, '/path/to/db'); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  |         if (testRun(++$iRun, CMD_BACKUP . ' option ' . OPTION_REPO_PATH)) | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |         { | 
					
						
							|  |  |  |             $oConfig = {}; | 
					
						
							| 
									
										
										
										
											2016-04-14 09:30:54 -04:00
										 |  |  |             $$oConfig{&CONFIG_SECTION_GLOBAL}{&OPTION_REPO_PATH} = '/repo'; | 
					
						
							| 
									
										
										
										
											2015-06-13 18:25:49 -04:00
										 |  |  |             iniSave($strConfigFile, $oConfig, true); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_STANZA, $strStanza); | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_DB_PATH, '/db'); | 
					
						
							|  |  |  |             optionSetTest($oOption, OPTION_CONFIG, $strConfigFile); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-18 16:55:09 -04:00
										 |  |  |             configLoadExpect($oOption, CMD_BACKUP); | 
					
						
							| 
									
										
										
										
											2015-03-12 12:15:19 -04:00
										 |  |  |             optionTestExpect(OPTION_REPO_PATH, '/repo'); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         # Cleanup | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  |         testCleanup(); | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  |     } | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-24 08:12:58 -04:00
										 |  |  | our @EXPORT = qw(configTestRun); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-03-08 13:26:09 -04:00
										 |  |  | 1; |