Skip to content

Commit ac4e2b6

Browse files
committed
Add expected failure test
1 parent 1ed3deb commit ac4e2b6

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

test/test.pl

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -298,6 +298,7 @@
298298
run_test(\&test_vcf_view,$opts,in=>'weird-chr-names',out=>'weird-chr-names.5.out',args=>'',reg=>'-r {1:1-1}:1-2');
299299
run_test(\&test_vcf_view,$opts,in=>'weird-chr-names',out=>'weird-chr-names.5.out',args=>'',reg=>'-r {1:1-1}:1,{1:1-1}:2');
300300
run_test(\&test_vcf_view,$opts,in=>'weird-chr-names',out=>'weird-chr-names.6.out',args=>'',reg=>'-r {1:1-1}:1-1');
301+
run_test(\&test_vcf_view,$opts,in=>'weird-chr-names',args=>'',reg=>'-r {1:1-1}-2',expected_failure=>1);
301302
run_test(\&test_vcf_view,$opts,in=>'view',out=>'view.1.out',args=>'-aUc1 -C1 -s NA00002 -v snps',reg=>'');
302303
run_test(\&test_vcf_view,$opts,in=>'view',out=>'view.2.out',args=>'-f PASS -Xks NA00003',reg=>'-r20,Y');
303304
run_test(\&test_vcf_view,$opts,in=>'view',out=>'view.3.out',args=>'-xs NA00003',reg=>'');
@@ -1083,7 +1084,13 @@ sub test_cmd
10831084
10841085
my ($ret,$out,$err) = _cmd3("$args{cmd}");
10851086
if ( length($err) ) { $err =~ s/\n/\n\t\t/gs; $err = "\n\n\t\t$err\n"; }
1086-
if ( $ret ) { failed($opts,$test,"Non-zero status $ret$err"); return; }
1087+
if ( $ret && !$args{expected_failure} ) { failed($opts,$test,"Non-zero status $ret$err"); return; }
1088+
if ( $args{expected_failure} )
1089+
{
1090+
if ( !$ret ) { failed($opts,$test,"Expected failure but the test returned $ret$err"); }
1091+
else { passed($opts,$test,"ok, expected non-zero status"); }
1092+
return;
1093+
}
10871094
if ( $$opts{redo_outputs} && -e "$$opts{path}/$args{out}" )
10881095
{
10891096
rename("$$opts{path}/$args{out}","$$opts{path}/$args{out}.old");
@@ -1155,9 +1162,10 @@ sub failed
11551162
}
11561163
sub passed
11571164
{
1158-
my ($opts,$test) = @_;
1165+
my ($opts,$test,$reason) = @_;
11591166
$$opts{nok}++;
1160-
print ".. ok\n\n";
1167+
if ( !defined $reason ) { $reason = 'ok'; }
1168+
print ".. $reason\n\n";
11611169
}
11621170
sub is_file_newer
11631171
{

0 commit comments

Comments
 (0)