diff options
author | jftucker <jftucker@gmail.com> | 2008-06-25 00:27:08 +0200 |
---|---|---|
committer | jftucker <jftucker@gmail.com> | 2008-06-25 00:27:08 +0200 |
commit | 16fec95e34ffb192d726dbb9bc56979d978ab98a (patch) | |
tree | 8f6f52498601327462e979ec2611f7e5f76a344d | |
parent | fcf008d0ae93712b9fa0aa3e2bd9b6b74719cf4f (diff) | |
download | bacon-16fec95e34ffb192d726dbb9bc56979d978ab98a.tar.gz bacon-16fec95e34ffb192d726dbb9bc56979d978ab98a.tar.xz bacon-16fec95e34ffb192d726dbb9bc56979d978ab98a.zip |
adding autotest support
The autotest auto discovery uses bacons test/unit output. It does not currently call specific examples (TODO). It currently attempts to fix the rspec auto discovery by removing it if it finds a .bacon under test/ or spec/. In fact, these are the only conditions under which the bacon autotest will load. darcs-hash:20080624222708-28a3f-839431c7732599ab78c7279d8dffcf4f4ee3c9e8.gz
-rw-r--r-- | lib/autotest/bacon.rb | 27 | ||||
-rw-r--r-- | lib/autotest/discover.rb | 9 |
2 files changed, 36 insertions, 0 deletions
diff --git a/lib/autotest/bacon.rb b/lib/autotest/bacon.rb new file mode 100644 index 0000000..d2e3be0 --- /dev/null +++ b/lib/autotest/bacon.rb @@ -0,0 +1,27 @@ +Autotest.add_hook :initialize do |att| + att.clear_mappings + + att.add_mapping(%r%^(test|spec)/.*\.rb$%) do |filename, _| + filename + end + + att.add_mapping(%r%^lib/(.*)\.rb$%) do |filename, m| + ["test/test_#{m[1]}.rb", "test/spec_#{m[1]}.rb", "spec/spec_#{m[1]}.rb"] + end + + false +end + +class Autotest::Bacon < Autotest + def initialize + super + self.libs = %w[. lib test spec].join(File::PATH_SEPARATOR) + end + + def make_test_cmd(files_to_test) + args = files_to_test.keys.flatten.join(' ') + args = '-a' if args.empty? + # TODO : make regex to pass to -n using values + "#{ruby} -S bacon -o TestUnit #{args}" + end +end \ No newline at end of file diff --git a/lib/autotest/discover.rb b/lib/autotest/discover.rb new file mode 100644 index 0000000..8012c67 --- /dev/null +++ b/lib/autotest/discover.rb @@ -0,0 +1,9 @@ +Autotest.add_discovery do + if File.exist?('spec/.bacon') || File.exist?('test/.bacon') + class Autotest + @@discoveries.delete_if { |d| d.inspect =~ /rspec/ } + warn 'Removing rspec from autotest!' + end + 'bacon' + end +end \ No newline at end of file |