mirror of
https://github.com/TracksApp/tracks.git
synced 2025-12-25 19:48:48 +01:00
* Ran rake rails:update * Added old actionwebservice framework * Updated RSpec and RSpec-Rails * Removed asset_packager plugin (not compatible, Scott no longer maintaining), and replaced with bundle_fu. See the bundle_fu README for more info. * Hacks to UJS and ARTS plugins, which are no longer supported. Probably should move off both UJS and RJS. * Hack to flashobject_helper plugin (upgrade to Rails 2.2-compatible version if/when it comes out.) * Hack to skinny-spec plugin, for Rails 2.2 compatibility. Should check for official release. * Hacks to resource_feeder plugin, for Rails 2.2 compatibility. Should check for official release (not likely) or move off it. * Addressed some deprecation warnings. More to come. * My mobile mime type hackery is no longer necessary with new Rails features. Yay! * Updated environment.rb.tmpl with changes TODO: * Restore view specs marked pending * Fix failing integration tests. * Try selenium tests. * Investigate OpenID support. * Address deprecation warnings. * Consider moving parts of environment.rb to initializers * Address annoying config.gem warning about highline gem
46 lines
1.2 KiB
Ruby
46 lines
1.2 KiB
Ruby
require 'autotest'
|
|
|
|
Autotest.add_hook :initialize do |at|
|
|
at.clear_mappings
|
|
# watch out: Ruby bug (1.8.6):
|
|
# %r(/) != /\//
|
|
at.add_mapping(%r%^spec/.*_spec.rb$%) { |filename, _|
|
|
filename
|
|
}
|
|
at.add_mapping(%r%^lib/(.*)\.rb$%) { |_, m|
|
|
["spec/#{m[1]}_spec.rb"]
|
|
}
|
|
at.add_mapping(%r%^spec/(spec_helper|shared/.*)\.rb$%) {
|
|
at.files_matching %r%^spec/.*_spec\.rb$%
|
|
}
|
|
end
|
|
|
|
class RspecCommandError < StandardError; end
|
|
|
|
class Autotest::Rspec < Autotest
|
|
|
|
def initialize
|
|
super
|
|
self.failed_results_re = /^\d+\)\n(?:\e\[\d*m)?(?:.*?Error in )?'([^\n]*)'(?: FAILED)?(?:\e\[\d*m)?\n(.*?)\n\n/m
|
|
self.completed_re = /\n(?:\e\[\d*m)?\d* examples?/m
|
|
end
|
|
|
|
def consolidate_failures(failed)
|
|
filters = new_hash_of_arrays
|
|
failed.each do |spec, trace|
|
|
if trace =~ /\n(\.\/)?(.*spec\.rb):[\d]+:\Z?/
|
|
filters[$2] << spec
|
|
end
|
|
end
|
|
return filters
|
|
end
|
|
|
|
def make_test_cmd(files_to_test)
|
|
return '' if files_to_test.empty?
|
|
return "#{ruby} -S #{files_to_test.keys.flatten.join(' ')} #{add_options_if_present}"
|
|
end
|
|
|
|
def add_options_if_present # :nodoc:
|
|
File.exist?("spec/spec.opts") ? "-O spec/spec.opts " : ""
|
|
end
|
|
end
|