æä½ã®Net::SSL::ExpireDateã¨Test::Baseã¨ã§è¨¼ææ¸ã®æéåãããã§ãã¯ã
ãããªæãã®åºåã
$ prove -v sample/cert-expire.t sample/cert-expire....1..2 ok 1 - rt.cpan.org ok 2 - www.google.com ok All tests successful. Files=1, Tests=2, 5 wallclock secs ( 0.33 cusr + 0.03 csys = 0.36 CPU)
ã§ãæéåãã®ãããã¨ãããªæãã«ã
$ prove -v sample/cert-expire.t sample/cert-expire....1..2 # Failed test 'rt.cpan.org' # in sample/cert-expire.t at line 27. # got: '2015-04-14T05:12:17' # expected: undef not ok 1 - rt.cpan.org (snip)
追è¨
- Test::*ã使ãçæ³ã¯id:kdaiba:20061120:p1ããããã ãã¾ããã¼
- Regexp::Assembleã使ã£ãdispatch tableã¯ãPerl Hacks: Tips & Tools for Programming, Debugging, and Survivingã®Hack 98. Improve Your Dispatch Tablesããããã ãã¾ããã¼
- ãã£ã±ãRegexp::Assemble使ãã®ããããRegexp::Common::netã¨ã使ã£ã¦ãã¿ã«æ¸ããã
#!/usr/bin/env perl # -*- mode: cperl; -*- use Test::Base; use Net::SSL::ExpireDate; use Regexp::Common qw(net); my $Check_Duration; # $Check_Duration = '15 years'; plan tests => 1 * blocks; run { my $block = shift; my $ed = Net::SSL::ExpireDate->new( build_arg($block->name) ); is($ed->is_expired($Check_Duration) && $ed->expire_date->iso8601, undef, $block->name); }; sub build_arg { my ($v) = @_; if ($v =~ m{^(file)://(.+)}) { return $1 => $2; } elsif ($v =~ m{^(https)://([^/]+)}) { return $1 => $2; } elsif ($v =~ m{^$RE{net}{domain}{-nospace}{-keep}$}) { return 'https' => $1; } elsif (-r $v) { return 'file' => $v; } else { croak "$v: assume file. but cannot read."; } } __END__ === rt.cpan.org === www.google.com