diff options
-rw-r--r-- | lib/Benchmark.pm | 28 | ||||
-rw-r--r-- | lib/Benchmark.t | 2 |
2 files changed, 25 insertions, 5 deletions
diff --git a/lib/Benchmark.pm b/lib/Benchmark.pm index 0ca7c59e4f..c472d58ffd 100644 --- a/lib/Benchmark.pm +++ b/lib/Benchmark.pm @@ -485,19 +485,39 @@ sub usage { # The cache needs two branches: 's' for strings and 'c' for code. The # empty loop is different in these two cases. -sub clearcache ($) { +$_Usage{clearcache} = <<'USAGE'; +usage: clearcache($count); +USAGE + +sub clearcache { + die usage unless @_ == 1; delete $Cache{"$_[0]c"}; delete $Cache{"$_[0]s"}; } -sub clearallcache () { +$_Usage{clearallcache} = <<'USAGE'; +usage: clearallcache(); +USAGE + +sub clearallcache { + die usage if @_; %Cache = (); } -sub enablecache () { +$_Usage{enablecache} = <<'USAGE'; +usage: enablecache(); +USAGE + +sub enablecache { + die usage if @_; $Do_Cache = 1; } -sub disablecache () { +$_Usage{disablecache} = <<'USAGE'; +usage: disablecache(); +USAGE + +sub disablecache { + die usage if @_; $Do_Cache = 0; } diff --git a/lib/Benchmark.t b/lib/Benchmark.t index b4d714931c..8081476785 100644 --- a/lib/Benchmark.t +++ b/lib/Benchmark.t @@ -583,7 +583,7 @@ is_deeply ([keys %Benchmark::Cache], \@before_keys, foreach my $func (@takes_no_args) { eval "$func(42)"; - like( $@, qr/Too many arguments for Benchmark::$func/, "$func usage: with args" ); + is( $@, $usage{$func}, "$func usage: with args" ); } } |