<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>lib/tasks/rspec.rake</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -1,3 +1,6 @@
 #!/usr/bin/env ruby
-ENV['RSPEC'] = 'true'
-system 'autotest'
\ No newline at end of file
+gem 'test-unit', '1.2.3' if RUBY_VERSION.to_f &gt;= 1.9
+ENV['RSPEC'] = 'true'     # allows autotest to discover rspec
+ENV['AUTOTEST'] = 'true'  # allows autotest to run w/ color on linux
+system((RUBY_PLATFORM =~ /mswin|mingw/ ? 'autotest.bat' : 'autotest'), *ARGV) ||
+  $stderr.puts(&quot;Unable to find autotest.  Please install ZenTest or fix your PATH&quot;)</diff>
      <filename>script/autospec</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,22 @@
 #!/usr/bin/env ruby
-$LOAD_PATH.unshift(File.expand_path(File.dirname(__FILE__) + &quot;/../vendor/plugins/rspec/lib&quot;))
-require 'spec'
-exit ::Spec::Runner::CommandLine.run(::Spec::Runner::OptionParser.parse(ARGV, STDERR, STDOUT))
+gem 'test-unit', '1.2.3' if RUBY_VERSION.to_f &gt;= 1.9
+rails_root = File.expand_path(File.dirname(__FILE__) + &quot;/..&quot;)
+rspec_gem_dir = nil
+Dir[&quot;#{rails_root}/vendor/gems/*&quot;].each do |subdir|
+  rspec_gem_dir = subdir if subdir.gsub(&quot;#{rails_root}/vendor/gems/&quot;,&quot;&quot;) =~ /^(\w+-)?rspec-(\d+)/ &amp;&amp; File.exist?(&quot;#{subdir}/lib/spec/rake/spectask.rb&quot;)
+end
+rspec_plugin_dir = File.expand_path(&quot;#{rails_root}/vendor/plugins/rspec&quot;)
+
+if rspec_gem_dir &amp;&amp; (test ?d, rspec_plugin_dir)
+  raise &quot;\n#{'*'*50}\nYou have rspec installed in both vendor/gems and vendor/plugins\nPlease pick one and dispose of the other.\n#{'*'*50}\n\n&quot;
+end
+
+if rspec_gem_dir
+  $LOAD_PATH.unshift(&quot;#{rspec_gem_dir}/lib&quot;) 
+elsif File.exist?(rspec_plugin_dir)
+  $LOAD_PATH.unshift(&quot;#{rspec_plugin_dir}/lib&quot;)
+end
+
+
+require 'spec/autorun'
+exit ::Spec::Runner::CommandLine.run</diff>
      <filename>script/spec</filename>
    </modified>
    <modified>
      <diff>@@ -1,116 +1,52 @@
 #!/usr/bin/env ruby
-$LOAD_PATH.unshift File.dirname(__FILE__) + '/../vendor/plugins/rspec/lib' # For rspec installed as plugin
-require 'rubygems'
-require 'drb/drb'
-require 'rbconfig'
-require 'spec'
-require 'optparse'
-
-# This is based on Florian Weber's TDDMate
-module Spec
-  module Runner
-    class RailsSpecServer
-      def run(argv, stderr, stdout)
-        $stdout = stdout
-        $stderr = stderr
-
-        base = ActiveRecord::Base
-        def base.clear_reloadable_connections!
-          active_connections.each do |name, conn|
-            if conn.requires_reloading?
-              conn.disconnect!
-              active_connections.delete(name)
-            end
-          end
-        end
-
-        if ActionController.const_defined?(:Dispatcher)
-          dispatcher = ::ActionController::Dispatcher.new($stdout)
-          dispatcher.cleanup_application
-        elsif ::Dispatcher.respond_to?(:reset_application!)
-          ::Dispatcher.reset_application!
-        else
-          raise &quot;Application reloading failed&quot;
-        end
-        if Object.const_defined?(:Fixtures) &amp;&amp; Fixtures.respond_to?(:reset_cache)
-          Fixtures.reset_cache
-        end
+gem 'test-unit', '1.2.3' if RUBY_VERSION.to_f &gt;= 1.9
+rails_root = File.expand_path(File.dirname(__FILE__) + &quot;/..&quot;)
+rspec_rails_gem_dir = nil
+Dir[&quot;#{rails_root}/vendor/gems/*&quot;].each do |subdir|
+  rspec_rails_gem_dir = subdir if subdir.gsub(&quot;#{rails_root}/vendor/gems/&quot;,&quot;&quot;) =~ /^(\w+-)?rspec-rails-(\d+)/
+end
+rspec_rails_plugin_dir = File.expand_path(&quot;#{rails_root}/vendor/plugins/rspec-rails&quot;)
 
-        ::Dependencies.mechanism = :load
-        require_dependency('application.rb') unless Object.const_defined?(:ApplicationController)
-        load File.dirname(__FILE__) + '/../spec/spec_helper.rb'
+if rspec_rails_gem_dir &amp;&amp; (test ?d, rspec_rails_plugin_dir)
+  raise &quot;\n#{'*'*50}\nYou have rspec installed in both vendor/gems and vendor/plugins\nPlease pick one and dispose of the other.\n#{'*'*50}\n\n&quot;
+end
 
-        if in_memory_database?
-          load &quot;#{RAILS_ROOT}/db/schema.rb&quot; # use db agnostic schema by default
-          ActiveRecord::Migrator.up('db/migrate') # use migrations
-        end
+if rspec_rails_gem_dir
+  $LOAD_PATH.unshift(&quot;#{rspec_rails_gem_dir}/lib&quot;) 
+elsif File.exist?(rspec_rails_plugin_dir)
+  $LOAD_PATH.unshift(&quot;#{rspec_rails_plugin_dir}/lib&quot;)
+end
 
-        ::Spec::Runner::CommandLine.run(
-          ::Spec::Runner::OptionParser.parse(
-            argv,
-            $stderr,
-            $stdout
-          )
-        )
-      end
+require 'optparse'
+require 'spec/rails/spec_server'
 
-      def in_memory_database?
-        ENV[&quot;RAILS_ENV&quot;] == &quot;test&quot; and
-        ::ActiveRecord::Base.connection.class.to_s == &quot;ActiveRecord::ConnectionAdapters::SQLite3Adapter&quot; and
-        ::Rails::Configuration.new.database_configuration['test']['database'] == ':memory:'
-      end
-    end
-  end
-end
 puts &quot;Loading Rails environment&quot;
 
 ENV[&quot;RAILS_ENV&quot;] = &quot;test&quot;
 require File.expand_path(File.dirname(__FILE__) + &quot;/../config/environment&quot;)
-require 'dispatcher'
 
-def restart_test_server
-  puts &quot;restarting&quot;
-  config       = ::Config::CONFIG
-  ruby         = File::join(config['bindir'], config['ruby_install_name']) + config['EXEEXT']
-  command_line = [ruby, $0, ARGV].flatten.join(' ')
-  exec(command_line)
-end
+if Rails::VERSION::STRING &gt;= '2.2' &amp;&amp; Rails.configuration.cache_classes
+  warn &lt;&lt;-MESSAGE
+
+#{'*'*50}
 
-def daemonize(pid_file = nil)
-  return yield if $DEBUG
-  pid = Process.fork{
-    Process.setsid
-    Dir.chdir(RAILS_ROOT)
-    trap(&quot;SIGINT&quot;){ exit! 0 }
-    trap(&quot;SIGTERM&quot;){ exit! 0 }
-    trap(&quot;SIGHUP&quot;){ restart_test_server }
-    File.open(&quot;/dev/null&quot;){|f|
-      STDERR.reopen f
-      STDIN.reopen  f
-      STDOUT.reopen f
-    }
-    yield
-  }
-  puts &quot;spec_server launched. (PID: %d)&quot; % pid
-  File.open(pid_file,&quot;w&quot;){|f| f.puts pid } if pid_file
-  exit! 0
+spec_server won't reload your classes if config.cache_classes
+is set to true. Please modify environment/test.rb:
+
+    config.cache_classes = false
+
+#{'*'*50}
+MESSAGE
 end
 
 options = Hash.new
-opts = OptionParser.new
-opts.on(&quot;-d&quot;, &quot;--daemon&quot;){|v| options[:daemon] = true }
-opts.on(&quot;-p&quot;, &quot;--pid PIDFILE&quot;){|v| options[:pid] = v }
-opts.parse!(ARGV)
-
-puts &quot;Ready&quot;
-exec_server = lambda {
-  trap(&quot;USR2&quot;) { restart_test_server } if Signal.list.has_key?(&quot;USR2&quot;)
-  DRb.start_service(&quot;druby://127.0.0.1:8989&quot;, Spec::Runner::RailsSpecServer.new)
-  DRb.thread.join
-}
+parser = OptionParser.new
+parser.on(&quot;-d&quot;, &quot;--daemon&quot;)     {|ignore| options[:daemon] = true }
+parser.on(&quot;-p&quot;, &quot;--pid PIDFILE&quot;){|pid|    options[:pid]    = pid  }
+parser.parse!(ARGV)
 
 if options[:daemon]
-  daemonize(options[:pid], &amp;exec_server)
+  ::Spec::Rails::SpecServer.daemonize(options[:pid])
 else
-  exec_server.call
+  ::Spec::Rails::SpecServer.run
 end</diff>
      <filename>script/spec_server</filename>
    </modified>
    <modified>
      <diff>@@ -2,7 +2,7 @@
 # from the project root directory.
 ENV[&quot;RAILS_ENV&quot;] = &quot;test&quot;
 require File.expand_path(File.dirname(__FILE__) + &quot;/../config/environment&quot;)
-require 'spec'
+require 'spec/autorun'
 require 'spec/rails'
 require 'model_stubbing'
 require File.dirname(__FILE__) + '/stubs'</diff>
      <filename>spec/spec_helper.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>40623a07bebdc4f34ad75ddccea4b6c934a1c748</id>
    </parent>
  </parents>
  <author>
    <name>Jordan McKible</name>
    <email>jordan@mckible.com</email>
  </author>
  <url>http://github.com/jmckible/stardate/commit/920ba9a2b0b623215d4fa1ed4ef38d479a12d077</url>
  <id>920ba9a2b0b623215d4fa1ed4ef38d479a12d077</id>
  <committed-date>2009-03-21T00:35:09-07:00</committed-date>
  <authored-date>2009-03-21T00:35:09-07:00</authored-date>
  <message>Update rspec generated files.</message>
  <tree>891f7475569cc979cea8143c1f9996201f9f32bc</tree>
  <committer>
    <name>Jordan McKible</name>
    <email>jordan@mckible.com</email>
  </committer>
</commit>
