diff options
-rw-r--r-- | lib/mongrel/stats.rb | 6 | ||||
-rw-r--r-- | tools/rakehelp.rb | 16 |
2 files changed, 15 insertions, 7 deletions
diff --git a/lib/mongrel/stats.rb b/lib/mongrel/stats.rb index 9e8bf7c..be78741 100644 --- a/lib/mongrel/stats.rb +++ b/lib/mongrel/stats.rb @@ -74,7 +74,11 @@ class Stats # Calculates the standard deviation of the data so far. def sd # (sqrt( ((s).sumsq - ( (s).sum * (s).sum / (s).n)) / ((s).n-1) )) - Math.sqrt( (@sumsq - ( @sum * @sum / @n)) / (@n-1) ) + begin + return Math.sqrt( (@sumsq - ( @sum * @sum / @n)) / (@n-1) ) + rescue Errno::EDOM + return 0.0 + end end diff --git a/tools/rakehelp.rb b/tools/rakehelp.rb index 2a8f573..ad66679 100644 --- a/tools/rakehelp.rb +++ b/tools/rakehelp.rb @@ -1,5 +1,3 @@ -require 'rcov/rcovtask' - def make(makedir) Dir.chdir(makedir) do sh(PLATFORM =~ /win32/ ? 'nmake' : 'make') @@ -111,8 +109,14 @@ def sub_project(project, *targets) end end -Rcov::RcovTask.new do |t| - t.test_files = FileList['test/test*.rb'] - t.rcov_opts << "-x /usr" - t.output_dir = "test/coverage" +# Conditional require rcov/rcovtask if present +begin + require 'rcov/rcovtask' + + Rcov::RcovTask.new do |t| + t.test_files = FileList['test/test*.rb'] + t.rcov_opts << "-x /usr" + t.output_dir = "test/coverage" + end +rescue end |