testbot 0.3.8 → 0.3.9.pre
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/adapters/cucumber_adapter.rb +6 -2
- data/lib/adapters/helpers/ruby_env.rb +25 -0
- data/lib/adapters/rspec_adapter.rb +6 -2
- data/lib/adapters/test_unit_adapter.rb +5 -2
- data/lib/runner.rb +2 -3
- data/lib/testbot.rb +1 -1
- metadata +13 -9
@@ -1,7 +1,11 @@
|
|
1
|
+
require File.expand_path(File.join(File.dirname(__FILE__), "/helpers/ruby_env"))
|
2
|
+
|
1
3
|
class CucumberAdapter
|
2
4
|
|
3
|
-
def self.command(ruby_interpreter, files)
|
4
|
-
|
5
|
+
def self.command(project_path, ruby_interpreter, files)
|
6
|
+
cucumber_command = RubyEnv.ruby_command(project_path, :script => "script/cucumber", :bin => "cucumber",
|
7
|
+
:ruby_interpreter => ruby_interpreter)
|
8
|
+
"export AUTOTEST=1; #{ruby_interpreter} #{cucumber_command} -f progress --backtrace -r features/support -r features/step_definitions #{files} -t ~@disabled"
|
5
9
|
end
|
6
10
|
|
7
11
|
def self.test_files(dir)
|
@@ -0,0 +1,25 @@
|
|
1
|
+
class RubyEnv
|
2
|
+
|
3
|
+
def self.bundler?(project_path)
|
4
|
+
Gem.available?("bundler") && File.exists?("#{project_path}/Gemfile")
|
5
|
+
end
|
6
|
+
|
7
|
+
def self.ruby_command(project_path, opts = {})
|
8
|
+
ruby_interpeter = opts[:ruby_interpeter] || "ruby"
|
9
|
+
|
10
|
+
if File.exists?("#{project_path}/#{opts[:script]}")
|
11
|
+
command = opts[:script]
|
12
|
+
elsif opts[:bin]
|
13
|
+
command = opts[:bin]
|
14
|
+
else
|
15
|
+
command = ruby_interpeter
|
16
|
+
end
|
17
|
+
|
18
|
+
if bundler?(project_path)
|
19
|
+
"#{ruby_interpeter} -S bundle exec #{command}"
|
20
|
+
else
|
21
|
+
"#{ruby_interpeter} -S #{command}"
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
@@ -1,7 +1,11 @@
|
|
1
|
+
require File.expand_path(File.join(File.dirname(__FILE__), "/helpers/ruby_env"))
|
2
|
+
|
1
3
|
class RSpecAdapter
|
2
4
|
|
3
|
-
def self.command(ruby_interpreter, files)
|
4
|
-
|
5
|
+
def self.command(project_path, ruby_interpreter, files)
|
6
|
+
spec_command = RubyEnv.ruby_command(project_path, :script => "script/spec", :bin => "rspec",
|
7
|
+
:ruby_interpreter => ruby_interpreter)
|
8
|
+
"export RSPEC_COLOR=true; #{spec_command} -O spec/spec.opts #{files}"
|
5
9
|
end
|
6
10
|
|
7
11
|
def self.test_files(dir)
|
@@ -1,7 +1,10 @@
|
|
1
|
+
require File.expand_path(File.join(File.dirname(__FILE__), "/helpers/ruby_env"))
|
2
|
+
|
1
3
|
class TestUnitAdapter
|
2
4
|
|
3
|
-
def self.command(ruby_interpreter, files)
|
4
|
-
|
5
|
+
def self.command(project_path, ruby_interpreter, files)
|
6
|
+
ruby_command = RubyEnv.ruby_command(project_path, :ruby_interpreter => ruby_interpreter)
|
7
|
+
"#{ruby_command} -Itest -e '%w(#{files}).each { |file| require(file) }'"
|
5
8
|
end
|
6
9
|
|
7
10
|
def self.test_files(dir)
|
data/lib/runner.rb
CHANGED
@@ -49,7 +49,7 @@ class Job
|
|
49
49
|
base_environment = "export RAILS_ENV=test; export TEST_ENV_NUMBER=#{test_env_number}; cd #{@project};"
|
50
50
|
|
51
51
|
adapter = Adapter.find(@type)
|
52
|
-
result += `#{base_environment} #{adapter.command(ruby_cmd, @files)} 2>&1`
|
52
|
+
result += `#{base_environment} #{adapter.command(@project, ruby_cmd, @files)} 2>&1`
|
53
53
|
|
54
54
|
Server.put("/jobs/#{@id}", :body => { :result => result, :success => ($?.exitstatus == 0) })
|
55
55
|
puts "Job #{@id} finished."
|
@@ -169,8 +169,7 @@ class Runner
|
|
169
169
|
end
|
170
170
|
|
171
171
|
def before_run(job)
|
172
|
-
|
173
|
-
bundler_cmd = use_bundler ? "bundle; " : ""
|
172
|
+
bundler_cmd = RubyEnv.bundler?(job.project) ? "bundle; " : ""
|
174
173
|
system "export RAILS_ENV=test; export TEST_INSTANCES=#{@config.max_instances}; cd #{job.project}; #{bundler_cmd} rake testbot:before_run"
|
175
174
|
end
|
176
175
|
|
data/lib/testbot.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: testbot
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
5
|
-
prerelease:
|
4
|
+
hash: 961916024
|
5
|
+
prerelease: true
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 3
|
9
|
-
-
|
10
|
-
|
9
|
+
- 9
|
10
|
+
- pre
|
11
|
+
version: 0.3.9.pre
|
11
12
|
platform: ruby
|
12
13
|
authors:
|
13
14
|
- "Joakim Kolsj\xC3\xB6"
|
@@ -15,7 +16,7 @@ autorequire:
|
|
15
16
|
bindir: bin
|
16
17
|
cert_chain: []
|
17
18
|
|
18
|
-
date: 2010-12-
|
19
|
+
date: 2010-12-02 00:00:00 +01:00
|
19
20
|
default_executable:
|
20
21
|
dependencies:
|
21
22
|
- !ruby/object:Gem::Dependency
|
@@ -173,6 +174,7 @@ extra_rdoc_files: []
|
|
173
174
|
files:
|
174
175
|
- lib/adapters/adapter.rb
|
175
176
|
- lib/adapters/cucumber_adapter.rb
|
177
|
+
- lib/adapters/helpers/ruby_env.rb
|
176
178
|
- lib/adapters/rspec_adapter.rb
|
177
179
|
- lib/adapters/test_unit_adapter.rb
|
178
180
|
- lib/generators/testbot/templates/testbot.rake.erb
|
@@ -218,12 +220,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
218
220
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
219
221
|
none: false
|
220
222
|
requirements:
|
221
|
-
- - "
|
223
|
+
- - ">"
|
222
224
|
- !ruby/object:Gem::Version
|
223
|
-
hash:
|
225
|
+
hash: 25
|
224
226
|
segments:
|
225
|
-
-
|
226
|
-
|
227
|
+
- 1
|
228
|
+
- 3
|
229
|
+
- 1
|
230
|
+
version: 1.3.1
|
227
231
|
requirements: []
|
228
232
|
|
229
233
|
rubyforge_project:
|