From: Steve Peters Date: Fri, 5 May 2006 16:26:48 +0000 (+0000) Subject: These Module::Build tests depended on STDIN. Unfortunately, cron X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=f4892442dfa01b3fabfea640ca8f25af35c76aa1;p=p5sagit%2Fp5-mst-13.2.git These Module::Build tests depended on STDIN. Unfortunately, cron closes STDIN, so these build failures were only seen while running smokes through cron. p4raw-id: //depot/perl@28108 --- diff --git a/lib/Module/Build/t/extend.t b/lib/Module/Build/t/extend.t index 9a76851..2c4a503 100644 --- a/lib/Module/Build/t/extend.t +++ b/lib/Module/Build/t/extend.t @@ -227,38 +227,41 @@ print "Hello, World!\n"; eval{ $mb->y_n('Prompt?', 'invalid default') }; like $@, qr/Invalid default/, "y_n() requires a default of 'y' or 'n'"; + SKIP:{ - $ENV{PERL_MM_USE_DEFAULT} = 1; + skip "No available STDIN", 7 unless -t STDIN; - eval{ $mb->y_n("# Is this a question?") }; - like $@, qr/ERROR:/, 'Do not allow default-less y_n() for unattended builds'; + $ENV{PERL_MM_USE_DEFAULT} = 1; - eval{ $ans = $mb->prompt('# Is this a question?') }; - like $@, qr/ERROR:/, 'Do not allow default-less prompt() for unattended builds'; + eval{ $mb->y_n("# Is this a question?") }; + like $@, qr/ERROR:/, 'Do not allow default-less y_n() for unattended builds'; + eval{ $ans = $mb->prompt('# Is this a question?') }; + like $@, qr/ERROR:/, 'Do not allow default-less prompt() for unattended builds'; - $ENV{PERL_MM_USE_DEFAULT} = 0; + $ENV{PERL_MM_USE_DEFAULT} = 0; - $ans = $mb->prompt('# Is this a question?'); - print "\n"; # fake after input - is $ans, 'y', "prompt() doesn't require default for interactive builds"; + $ans = $mb->prompt('# Is this a question?'); + print "\n"; # fake after input + is $ans, 'y', "prompt() doesn't require default for interactive builds"; - $ans = $mb->y_n('# Say yes'); - print "\n"; # fake after input - ok $ans, "y_n() doesn't require default for interactive build"; + $ans = $mb->y_n('# Say yes'); + print "\n"; # fake after input + ok $ans, "y_n() doesn't require default for interactive build"; - # Test Defaults - *{Module::Build::_readline} = sub { '' }; + # Test Defaults + *{Module::Build::_readline} = sub { '' }; - $ans = $mb->prompt("# Is this a question"); - is $ans, '', "default for prompt() without a default is ''"; + $ans = $mb->prompt("# Is this a question"); + is $ans, '', "default for prompt() without a default is ''"; - $ans = $mb->prompt("# Is this a question", 'y'); - is $ans, 'y', " prompt() with a default"; + $ans = $mb->prompt("# Is this a question", 'y'); + is $ans, 'y', " prompt() with a default"; - $ans = $mb->y_n("# Is this a question", 'y'); - ok $ans, " y_n() with a default"; + $ans = $mb->y_n("# Is this a question", 'y'); + ok $ans, " y_n() with a default"; + } } # cleanup