nunitr 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/lib/nunitr/nunit.rb +43 -0
  2. data/lib/nunitr.rb +6 -0
  3. metadata +105 -0
@@ -0,0 +1,43 @@
1
+ include Rake::DSL
2
+
3
+ class NUnit
4
+
5
+ attr_accessor :nunit_runner, :teamcity_nunit_version
6
+
7
+ def initialize()
8
+ @teamcity_nunit_version = 'v4.0 x86 NUnit-2.5.3'
9
+ end
10
+
11
+ def run(pattern, environment=nil)
12
+ glob_pattern = "**/[b][i][n]/Release/#{pattern}.dll"
13
+ dlls = Dir.glob(glob_pattern)
14
+ raise TestFilesNotFound, "No tests found for pattern #{glob_pattern}" if dlls.empty?
15
+
16
+ if !environment.nil?
17
+ dlls.each do |dll|
18
+ config = File.dirname(dll) + "/App.#{environment}.config"
19
+ raise ConfigFileNotFound, "Config file #{config} not found" if !File.exists?(config)
20
+ sh "copy #{config} #{dll + '.config'}".gsub('/', '\\')
21
+ end
22
+ end
23
+
24
+ sh "#{runner} #{dlls.join(' ').strip}"
25
+ end
26
+
27
+ def runner
28
+ if ENV['teamcity.dotnet.nunitlauncher'].nil?
29
+ sh './tools/nuget.exe install Nunit.Runners -o ./tools'
30
+ nunit = Dir.glob('./tools/**/nunit-console.exe').last
31
+ else
32
+ nunit = "#{ENV['teamcity.dotnet.nunitlauncher']} #{@teamcity_nunit_version}"
33
+ end
34
+
35
+ nunit
36
+ end
37
+ end
38
+
39
+ class TestFilesNotFound < StandardError
40
+ end
41
+
42
+ class ConfigFileNotFound < StandardError
43
+ end
data/lib/nunitr.rb ADDED
@@ -0,0 +1,6 @@
1
+ root_dir = File.expand_path(File.dirname(__FILE__))
2
+ $: << root_dir
3
+ $: << File.join(root_dir, 'nunitr')
4
+ $: << File.join(root_dir, 'nunitr', 'support')
5
+
6
+ Dir.glob(File.join(root_dir, '**/*.rb')).each {|file| require file }
metadata ADDED
@@ -0,0 +1,105 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: nunitr
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Robert Beal
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-07-18 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rake
16
+ requirement: &15288640 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - =
20
+ - !ruby/object:Gem::Version
21
+ version: 0.9.2.2
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *15288640
25
+ - !ruby/object:Gem::Dependency
26
+ name: rspec
27
+ requirement: &15288060 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - =
31
+ - !ruby/object:Gem::Version
32
+ version: 2.9.0
33
+ type: :development
34
+ prerelease: false
35
+ version_requirements: *15288060
36
+ - !ruby/object:Gem::Dependency
37
+ name: mocha
38
+ requirement: &15287520 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - =
42
+ - !ruby/object:Gem::Version
43
+ version: 0.10.5
44
+ type: :development
45
+ prerelease: false
46
+ version_requirements: *15287520
47
+ - !ruby/object:Gem::Dependency
48
+ name: rdoc
49
+ requirement: &15286980 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - =
53
+ - !ruby/object:Gem::Version
54
+ version: '3.12'
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: *15286980
58
+ - !ruby/object:Gem::Dependency
59
+ name: jeweler
60
+ requirement: &15282560 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - =
64
+ - !ruby/object:Gem::Version
65
+ version: 1.8.3
66
+ type: :development
67
+ prerelease: false
68
+ version_requirements: *15282560
69
+ description: Find and tokenise files!
70
+ email: rob.beal@7digital.com
71
+ executables: []
72
+ extensions: []
73
+ extra_rdoc_files: []
74
+ files:
75
+ - lib/nunitr.rb
76
+ - lib/nunitr/nunit.rb
77
+ homepage: https://github.com/7digital/NUnitr
78
+ licenses:
79
+ - MIT
80
+ post_install_message:
81
+ rdoc_options: []
82
+ require_paths:
83
+ - lib
84
+ required_ruby_version: !ruby/object:Gem::Requirement
85
+ none: false
86
+ requirements:
87
+ - - ! '>='
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ segments:
91
+ - 0
92
+ hash: -3516396697800684759
93
+ required_rubygems_version: !ruby/object:Gem::Requirement
94
+ none: false
95
+ requirements:
96
+ - - ! '>='
97
+ - !ruby/object:Gem::Version
98
+ version: '0'
99
+ requirements: []
100
+ rubyforge_project:
101
+ rubygems_version: 1.8.17
102
+ signing_key:
103
+ specification_version: 3
104
+ summary: Build tasks for .Net projects
105
+ test_files: []