nunitr 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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: []