From: Amitai Schlair Date: Sat, 21 Jan 2012 20:00:52 +0000 (-0500) Subject: Simplify startup: use Test::More unconditionally, then determine X-Git-Url: http://git.tremily.us/?p=ikiwiki.git;a=commitdiff_plain;h=f18160b95d1f9120a5cb656aca84892f811f1972 Simplify startup: use Test::More unconditionally, then determine the test plan at runtime. Use IkiWiki unconditionally too (as that's not what I'm testing here) to avoid the TAP error of printing a test result before having printed the plan. --- diff --git a/t/cvs.t b/t/cvs.t index 2937ac2ed..fdd26dbc8 100755 --- a/t/cvs.t +++ b/t/cvs.t @@ -1,35 +1,30 @@ #!/usr/bin/perl use warnings; use strict; +use Test::More; +use IkiWiki; + my $dir; -BEGIN { - $dir="/tmp/ikiwiki-test-cvs.$$"; - my $cvs=`which cvs`; - chomp $cvs; - my $cvsps=`which cvsps`; - chomp $cvsps; - if (! -x $cvs || ! -x $cvsps) { - eval q{ - use Test::More skip_all => "cvs or cvsps not available" - } - } - if (! mkdir($dir)) { - die $@; - } + +sub _determine_test_plan { + + my $cvs=`which cvs`; chomp $cvs; + my $cvsps=`which cvsps`; chomp $cvsps; + return (skip_all => 'cvs or cvsps not available') + unless -x $cvs && -x $cvsps; + foreach my $module ('File::ReadBackwards', 'File::MimeInfo') { eval qq{use $module}; if ($@) { - eval qq{ - use Test::More skip_all => "$module not available" - } + return (skip_all => "$module not available"); } } -} -use Test::More tests => 12; -BEGIN { use_ok("IkiWiki"); } + return (tests => 11); +} sub _startup { + _mktempdir(); _generate_minimal_config(); _create_test_repo(); } @@ -38,6 +33,13 @@ sub _shutdown { system "rm -rf $dir"; } +sub _mktempdir { + $dir="/tmp/ikiwiki-test-cvs.$$"; + if (! mkdir($dir)) { + die $@; + } +} + sub _generate_minimal_config { %config=IkiWiki::defaultconfig(); $config{rcs} = "cvs"; @@ -99,6 +101,7 @@ sub test_manual_commit { is($changes[1]{pages}[0]{"page"}, "test1"); } +plan(_determine_test_plan()); _startup(); test_web_commit(); test_manual_commit();