rutema 1.1.1 → 1.1.2
Sign up to get free protection for your applications and to get access to all the features.
- data/Manifest.txt +1 -0
- data/lib/rutema/rake.rb +22 -4
- data/lib/rutema/system.rb +1 -1
- data/test/test_rake.rb +32 -0
- metadata +5 -3
data/Manifest.txt
CHANGED
data/lib/rutema/rake.rb
CHANGED
@@ -1,10 +1,21 @@
|
|
1
1
|
require 'rutema/system'
|
2
2
|
require 'optparse'
|
3
|
+
require 'rake'
|
3
4
|
|
4
5
|
module Rutema
|
5
|
-
#Integrates rutema with rake
|
6
|
+
#Integrates rutema with rake.
|
7
|
+
#
|
8
|
+
#You can pass a hash with the parameters or use the block syntax:
|
9
|
+
# RakeTask.new do |rt|
|
10
|
+
# rt.config_file="config.rutema"
|
11
|
+
# rt.dependencies=[]
|
12
|
+
# rt.add_dependency("some_other_task")
|
13
|
+
# rt.name="name"
|
14
|
+
# rt.log_file="."
|
15
|
+
# end
|
6
16
|
class RakeTask
|
7
17
|
attr_accessor :config_file, :log_file, :name
|
18
|
+
attr_reader :rake_task
|
8
19
|
#Params is a parameter hash.
|
9
20
|
#
|
10
21
|
#Valid parameters are:
|
@@ -14,13 +25,16 @@ module Rutema
|
|
14
25
|
#:log_file => path to the file where the log is saved. If missing then the logger prints in stdout
|
15
26
|
#
|
16
27
|
#:name => the name for the rutema task. If missing then the task is named rutema, otherwise it will be rutema:name
|
28
|
+
#
|
29
|
+
#:dependencies => an array of dependencies for the task
|
17
30
|
def initialize params=nil
|
18
31
|
params||={}
|
19
32
|
@config_file=params[:config_file]
|
20
33
|
@log_file=params[:log]
|
21
34
|
@name=params[:name]
|
35
|
+
@dependencies=params[:dependencies]
|
22
36
|
yield self if block_given?
|
23
|
-
|
37
|
+
@dependencies||=[]
|
24
38
|
raise "No rutema configuration given, :config_file is nil" unless @config_file
|
25
39
|
args=['-c',@config_file]
|
26
40
|
args+=['-l',@log_file] if @log_file
|
@@ -28,15 +42,19 @@ module Rutema
|
|
28
42
|
OptionParser::Arguable.extend_object(args)
|
29
43
|
if @name
|
30
44
|
desc "Executes the tests in #{File.basename(@config_file)}"
|
31
|
-
task :"rutema:#{@name}" do
|
45
|
+
@rake_task=task :"rutema:#{@name}" do
|
32
46
|
Rutema::RutemaX.new(args)
|
33
47
|
end
|
34
48
|
else
|
35
49
|
desc "Executes the tests in #{File.basename(@config_file)}"
|
36
|
-
task :rutema do
|
50
|
+
@rake_task=task :rutema do
|
37
51
|
Rutema::RutemaX.new(args)
|
38
52
|
end
|
39
53
|
end
|
40
54
|
end
|
55
|
+
#Adds a dependency to the rutema task created
|
56
|
+
def add_dependency dependency
|
57
|
+
task @rake_task => [dependency]
|
58
|
+
end
|
41
59
|
end
|
42
60
|
end
|
data/lib/rutema/system.rb
CHANGED
data/test/test_rake.rb
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
$:.unshift File.join(File.dirname(__FILE__),"..","lib")
|
2
|
+
require 'rubygems'
|
3
|
+
require 'rutema/gems'
|
4
|
+
require 'test/unit'
|
5
|
+
require 'rutema/rake'
|
6
|
+
|
7
|
+
module TestRutema
|
8
|
+
class TestRakeTask<Test::Unit::TestCase
|
9
|
+
def test_rake_task
|
10
|
+
t=nil
|
11
|
+
assert_nothing_raised() { t=Rutema::RakeTask.new(:config_file=>"rutema.rutema") }
|
12
|
+
assert_not_nil(t)
|
13
|
+
assert_equal("rutema", t.rake_task.name)
|
14
|
+
assert_equal([], t.rake_task.prerequisites)
|
15
|
+
assert_nothing_raised() { t.add_dependency("some_task") }
|
16
|
+
assert_equal(["some_task"], t.rake_task.prerequisites)
|
17
|
+
|
18
|
+
end
|
19
|
+
|
20
|
+
def test_rake_task_block
|
21
|
+
t=nil
|
22
|
+
assert_nothing_raised() { t=Rutema::RakeTask.new do |rt|
|
23
|
+
rt.name="test"
|
24
|
+
rt.config_file="rutema.rutema"
|
25
|
+
rt.add_dependency("some_task")
|
26
|
+
end }
|
27
|
+
assert_equal("rutema:test", t.rake_task.name)
|
28
|
+
assert_nothing_raised() { t.add_dependency("some_task") }
|
29
|
+
assert_equal(["some_task"], t.rake_task.prerequisites)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rutema
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 23
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 1.1.
|
9
|
+
- 2
|
10
|
+
version: 1.1.2
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Vassilis Rizopoulos
|
@@ -227,6 +227,7 @@ files:
|
|
227
227
|
- test/test_specification.rb
|
228
228
|
- test/test_system.rb
|
229
229
|
- test/test_couchdb.rb
|
230
|
+
- test/test_rake.rb
|
230
231
|
has_rdoc: true
|
231
232
|
homepage:
|
232
233
|
licenses: []
|
@@ -266,6 +267,7 @@ test_files:
|
|
266
267
|
- test/test_configuration.rb
|
267
268
|
- test/test_couchdb.rb
|
268
269
|
- test/test_model.rb
|
270
|
+
- test/test_rake.rb
|
269
271
|
- test/test_reporter.rb
|
270
272
|
- test/test_specification.rb
|
271
273
|
- test/test_system.rb
|