On Tue, Oct 20, 2009 at 1:44 PM, mikev <mike.vo...@emc.com> wrote: > Any suggestions for what to check when running on windows with: > rspec (1.2.9) > rspec-rails (1.2.9) > rails 2.3.3 > ruby 1.8.6 > spec_server >
FYI - spec_server is removed from rspec-rails as of 1.2.9 and is no longer being maintained by me. If anyone is interested in taking over maintenance, it's up on github in a separate repo and freely available for forking: http://github.com/dchelimsky/spec_server Cheers, David > > Run autospec with --drb option and get the following exception. Run > autospec or 'spec spec' works fine. > > /spec/spec_helper.rb:19: undefined method > `use_transactional_fixtures=' for #<Spec::Runner::Configuration: > 0xe1e0934> (NoMethodError) > > spec_helper.rb contains: > > # This file is copied to ~/spec when you run 'ruby script/generate > rspec' > # from the project root directory. > ENV["RAILS_ENV"] ||= 'test' > require File.expand_path(File.join(File.dirname > (__FILE__),'..','config','environment')) > require 'spec/autorun' > require 'spec/rails' > > # Uncomment the next line to use webrat's matchers > #require 'webrat/integrations/rspec-rails' > > # Requires supporting files with custom matchers and macros, etc, > # in ./support/ and its subdirectories. > Dir[File.expand_path(File.join(File.dirname > (__FILE__),'support','**','*.rb'))].each {|f| require f} > > Spec::Runner.configure do |config| > # If you're not using ActiveRecord you should remove these > # lines, delete config/database.yml and disable :active_record > # in your config/boot.rb > config.use_transactional_fixtures = true > config.use_instantiated_fixtures = false > config.fixture_path = RAILS_ROOT + '/spec/fixtures/' > ... > > > spec_server contains was copied from > http://github.com/dchelimsky/spec_server: > > #!/usr/bin/env ruby > gem 'test-unit', '1.2.3' if RUBY_VERSION.to_f >= 1.9 > > puts "Loading Rails environment" > ENV["RAILS_ENV"] ||= 'test' > require File.expand_path(File.dirname(__FILE__) + "/../config/ > environment") unless defined?(RAILS_ROOT) > > require 'optparse' > > if Rails::VERSION::STRING >= '2.2' && > Rails.configuration.cache_classes > raise <<-MESSAGE > > #{'*'*65} > > Rails.configuration.cache_classes == true > This means that spec_server won't reload your classes when > you change them, which defeats the purpose of spec_server. > Please set 'config.cache_classes = false' (it's probably > set to true in config/environments/test.rb) and give it > another try. > > #{'*'*65} > MESSAGE > end > > require 'drb/drb' > require 'rbconfig' > > # This is based on Florian Weber's TDDMate > module Spec > module Rails > class SpecServer > class << self > def restart_test_server > puts "restarting" > 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 > > def daemonize(pid_file = nil) > return yield if $DEBUG > pid = Process.fork{ > Process.setsid > Dir.chdir(RAILS_ROOT) > trap("SIGINT"){ exit! 0 } > trap("SIGTERM"){ exit! 0 } > trap("SIGHUP"){ restart_test_server } > File.open("/dev/null"){|f| > STDERR.reopen f > STDIN.reopen f > STDOUT.reopen f > } > run > } > puts "spec_server launched (PID: %d)" % pid > File.open(pid_file,"w"){|f| f.puts pid } if pid_file > exit! 0 > end > > def run > trap("USR2") > { ::Spec::Rails::SpecServer.restart_test_server } if > Signal.list.has_key?("USR2") > DRb.start_service("druby:// > 127.0.0.1:8989", ::Spec::Rails::SpecServer.new) > DRb.thread.join > end > end > > def run(argv, stderr, stdout) > $stdout = stdout > $stderr = stderr > > ::Rails::Configuration.extend Module.new {def cache_classes; > false; end} > > ::ActiveSupport.const_defined?(:Dependencies) ? > ::ActiveSupport::Dependencies.mechanism = :load : > ::Dependencies.mechanism = :load > > require 'action_controller/dispatcher' > dispatcher = ::ActionController::Dispatcher.new($stdout) > > if ::ActionController::Dispatcher.respond_to? > (:reload_application) > ::ActionController::Dispatcher.reload_application > else > dispatcher.reload_application > end > > if Object.const_defined?(:Fixtures) && Fixtures.respond_to? > (:reset_cache) > Fixtures.reset_cache > end > > unless Object.const_defined?(:ApplicationController) > %w(application_controller.rb application.rb).each do |name| > require_dependency(name) if File.exists?("#{RAILS_ROOT}/ > app/controllers/#{name}") > end > end > load "#{RAILS_ROOT}/spec/spec_helper.rb" > > if in_memory_database? > load "#{RAILS_ROOT}/db/schema.rb" > ActiveRecord::Migrator.up('db/migrate') > end > > ::Spec::Runner::CommandLine.run( > ::Spec::Runner::OptionParser.parse( > argv, > $stderr, > $stdout > ) > ) > > if ::ActionController::Dispatcher.respond_to? > (:cleanup_application) > ::ActionController::Dispatcher.cleanup_application > else > dispatcher.cleanup_application > end > > end > > def in_memory_database? > ENV["RAILS_ENV"] == "test" and > ::ActiveRecord::Base.connection.class.to_s == > "ActiveRecord::ConnectionAdapters::SQLite3Adapter" and > ::Rails::Configuration.new.database_configuration['test'] > ['database'] == ':memory:' > end > end > end > end > > options = Hash.new > parser = OptionParser.new > parser.on("-d", "--daemon") {|ignore| options[:daemon] = true } > parser.on("-p", "--pid PIDFILE"){|pid| options[:pid] = pid } > parser.parse!(ARGV) > > if options[:daemon] > ::Spec::Rails::SpecServer.daemonize(options[:pid]) > else > ::Spec::Rails::SpecServer.run > end > > _______________________________________________ > rspec-users mailing list > rspec-users@rubyforge.org > http://rubyforge.org/mailman/listinfo/rspec-users >
_______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users