<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -21,6 +21,7 @@ module RspecShnork
     end
     
     def failure_message
+      max_messages = 5
       msg = &lt;&lt;-EOM
       Shnork found #{messages_to_string(404)} and #{messages_to_string(500)}.
       One or both of these are over the accepted thresholds (404 -&gt; #{@thresholds[404]}, 500 -&gt; #{@thresholds[500]}).
@@ -28,8 +29,9 @@ module RspecShnork
       [404, 500].each do |error|
         i = 0
         if messages_for(error) &gt; 0 then
-          msg += &quot;      First couple of #{error} errors:\n&quot;
-          while i &lt; 6 and i &lt; messages_for(error)
+          show_errors = messages_for(error) &lt; max_messages ? messages_for(error) : max_messages
+          msg += &quot;      First #{show_errors} discovered #{error} error#{ show_errors == 1 ? '' : 's'}:\n&quot;
+          while i &lt; max_messages and i &lt; messages_for(error)
             msg += &quot;      * &quot; + @results.codes[error][i] + &quot;\n&quot;
             i += 1
           end</diff>
      <filename>lib/rspec_shnork_matchers.rb</filename>
    </modified>
    <modified>
      <diff>@@ -22,8 +22,8 @@ module Shnork
     attr_accessor :depth
     
     def initialize
-      Sinatra::Application.default_options[:run] = false
-      Sinatra::Application.default_options[:environment] = :production
+      set :env, :production
+      set :run, false
       @app = Sinatra::application
       @request = Rack::MockRequest.new(Sinatra.build_application)
       @reached = []
@@ -62,12 +62,8 @@ module Shnork
       @internal_depth[page] = from ? @internal_depth[from] + 1 : 0
       @internal_pred[page]  = from
       return unless less_than_max_depth @internal_depth[page]
-      begin
         @page = @request.get(page)
         @page = @request.get(@page.headers[&quot;Location&quot;]) if @page.status &gt;= 300 and @page.status &lt; 400
-      rescue
-        raise RuntimeError, &quot;error while attempting to retrieve page #{page}&quot;
-      end
       @results.add @page.status, page
       @found = @found | links(page)
       record page</diff>
      <filename>lib/shnork.rb</filename>
    </modified>
    <modified>
      <diff>@@ -5,6 +5,36 @@ get '/' do
   &lt;&lt;-EOM
   Hello World!
   &lt;a href=&quot;/&quot;&gt;Home&lt;/a&gt;
-  &lt;a href=&quot;/working-link/&quot;&gt;Working Link&lt;/a&gt;
+  &lt;a href=&quot;/working-link&quot;&gt;Working Link&lt;/a&gt;
+  &lt;a href=&quot;/working-link/1&quot;&gt;Working Link&lt;/a&gt;
+  &lt;a href=&quot;/working-link/2&quot;&gt;Working Link&lt;/a&gt;
+  &lt;a href=&quot;/working-link/3&quot;&gt;Working Link&lt;/a&gt;
+  &lt;a href=&quot;/working-link/4&quot;&gt;Working Link&lt;/a&gt;
+  &lt;a href=&quot;/working-link/5&quot;&gt;Working Link&lt;/a&gt;
+  &lt;a href=&quot;/working-link/6&quot;&gt;Working Link&lt;/a&gt;
   EOM
-end
\ No newline at end of file
+end
+
+get '/working-link' do
+  &lt;&lt;-EOM
+  This is a working page!
+  EOM
+end
+
+get '/working-link/:number' do
+  &lt;&lt;-EOM
+  This is a working page!
+  Here is another: &lt;a href='/working-link'&gt;Working Link&lt;/a&gt;
+  This is a broken link: &lt;a href='/broken-link/#{params[:number]}'&gt;Broken Link #{params[:number]}&lt;/a&gt;
+  This link will cause a 500 error: &lt;a href='/error/#{params[:number]}'&gt;500 Error link #{params[:number]}&lt;/a&gt;
+  EOM
+end
+
+error do
+  &quot;&lt;h1&gt;500&lt;/h1&gt;&quot;
+end
+
+get '/error/:number' do
+    throw :halt, [500, 'error']
+end
+</diff>
      <filename>spec/site.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>f9c5a208031d603c348a34003abc76313633927b</id>
    </parent>
  </parents>
  <author>
    <name>Ardekantur</name>
    <email>greystone@ardekantur.com</email>
  </author>
  <url>http://github.com/ardekantur/shnork/commit/bcebf4750d07564d34ddcafbdc4151a01ff20577</url>
  <id>bcebf4750d07564d34ddcafbdc4151a01ff20577</id>
  <committed-date>2008-11-25T18:13:56-08:00</committed-date>
  <authored-date>2008-11-25T18:13:56-08:00</authored-date>
  <message>more intelligent rspec matcher messages</message>
  <tree>e25240c077b3fafb3986055a4c3d528c81ebf377</tree>
  <committer>
    <name>Ardekantur</name>
    <email>greystone@ardekantur.com</email>
  </committer>
</commit>
