guard-ocunit 0.1.2 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +6 -4
- data/lib/guard/ocunit/formatter.rb +5 -4
- data/lib/guard/ocunit/runner.rb +22 -6
- data/lib/guard/ocunit/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f3693467e7c421fa2ae3e31ce689a2cb057e6ca5
|
4
|
+
data.tar.gz: 31d888a945ff841994b01a31ec27f760636532b3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8d66ef2adb5f7d5d0996b6d9d84bcfbea4b1dbd0cd1e2648819f3b2be240bfb9d955ae7e854e967540fa617cdc662c1cc1ac477f877050633e233fe7935f81e0
|
7
|
+
data.tar.gz: 110c8ac5ff41a4ab3885fef1b0655cce6320d6b601d7f688e4ae8974b87325116a96ea270a2999da974431a87fc2f83ba1fa322413b49128c142d7cc36909146
|
data/README.md
CHANGED
@@ -9,18 +9,20 @@ OCUnit guard allows to automatically launch tests when files are modified.
|
|
9
9
|
|
10
10
|
Please be sure to have [Guard](https://github.com/guard/guard) and [ios-sim](https://github.com/phonegap/ios-sim) installed before continue. `guard-ocunit` uses `ios-sim` for running `application` tests from command line, for more info refer to the [SO](http://stackoverflow.com/questions/12557935/xcode-4-5-command-line-unit-testing) question.
|
11
11
|
|
12
|
-
Install the gem:
|
12
|
+
* Install the gem:
|
13
13
|
|
14
|
-
```
|
14
|
+
```bash
|
15
15
|
$ gem install guard-ocunit
|
16
16
|
```
|
17
17
|
|
18
|
-
Add guard definition to your Guardfile by running this command:
|
18
|
+
* Add guard definition to your Guardfile by running this command:
|
19
19
|
|
20
|
-
```
|
20
|
+
```bash
|
21
21
|
$ guard init ocunit
|
22
22
|
```
|
23
23
|
|
24
|
+
* Enable `Run` in the `Build` section of your test bundle’s scheme.
|
25
|
+
|
24
26
|
## Usage
|
25
27
|
|
26
28
|
Please read [Guard usage doc](https://github.com/guard/guard#readme)
|
@@ -28,10 +28,10 @@ class Guard::OCUnit::Formatter < Array
|
|
28
28
|
when /(started|Executed|finished)/
|
29
29
|
@verbose ? line : ''
|
30
30
|
when /^#{Date.today}/
|
31
|
-
|
31
|
+
line
|
32
32
|
else
|
33
33
|
@current_failure << line unless line.strip.empty?
|
34
|
-
@verbose ? line : ''
|
34
|
+
@verbose ? line.yellow : ''
|
35
35
|
end
|
36
36
|
self
|
37
37
|
end
|
@@ -48,9 +48,10 @@ class Guard::OCUnit::Formatter < Array
|
|
48
48
|
end
|
49
49
|
|
50
50
|
def dump_error_messages
|
51
|
+
puts "\n\n"
|
51
52
|
return if @error_messages.empty?
|
52
53
|
|
53
|
-
puts "
|
54
|
+
puts "Failures:\n"
|
54
55
|
puts @error_messages.join + "\n"
|
55
56
|
end
|
56
57
|
|
@@ -119,7 +120,7 @@ private
|
|
119
120
|
|
120
121
|
def failure_case(failure)
|
121
122
|
components = failure.split(':')
|
122
|
-
case_name = "\n#{@error_messages.size + 1}."
|
123
|
+
case_name = "\n #{@error_messages.size + 1}."
|
123
124
|
case_name << components[3]
|
124
125
|
end
|
125
126
|
|
data/lib/guard/ocunit/runner.rb
CHANGED
@@ -17,7 +17,7 @@ module Guard
|
|
17
17
|
def initialize(options = {})
|
18
18
|
@options = {
|
19
19
|
:test_bundle => nil,
|
20
|
-
:derived_data =>
|
20
|
+
:derived_data => nil,
|
21
21
|
:workspace => nil,
|
22
22
|
:scheme => nil,
|
23
23
|
:project => nil,
|
@@ -42,11 +42,13 @@ module Guard
|
|
42
42
|
|
43
43
|
def xcodebuild(options = {})
|
44
44
|
options = @options.merge(options)
|
45
|
-
|
45
|
+
update_build_path(nil, options)
|
46
46
|
|
47
47
|
formatter = XcodeBuild::Formatters::ProgressFormatter.new
|
48
48
|
reporter = XcodeBuild::Reporter.new(formatter)
|
49
49
|
output_buffer = XcodeBuild::OutputTranslator.new(reporter)
|
50
|
+
path_handler = BuildPathHandler.new
|
51
|
+
reporter.direct_raw_output_to = path_handler
|
50
52
|
|
51
53
|
arguments = []
|
52
54
|
arguments << "-workspace #{options[:workspace]}" unless options[:workspace].to_s.empty?
|
@@ -57,18 +59,21 @@ module Guard
|
|
57
59
|
arguments << "-alltargets" if options[:workspace].to_s.empty?
|
58
60
|
arguments << "clean" if options[:clean]
|
59
61
|
arguments << "build"
|
60
|
-
arguments << "CONFIGURATION_BUILD_DIR=#{@built_products_dir}"
|
62
|
+
arguments << "CONFIGURATION_BUILD_DIR=#{@built_products_dir}" if @derived_data
|
61
63
|
arguments << options[:build_variables] unless options[:build_variables].to_s.empty?
|
62
64
|
|
63
|
-
XcodeBuild.run(arguments.compact.join(' '), output_buffer)
|
65
|
+
build_result = XcodeBuild.run(arguments.compact.join(' '), output_buffer)
|
66
|
+
update_build_path(path_handler.build_path, options)
|
67
|
+
build_result
|
64
68
|
end
|
65
69
|
|
66
70
|
private
|
67
71
|
|
68
|
-
def
|
72
|
+
def update_build_path(build_path, options)
|
69
73
|
project_folder = options[:project] && File.dirname(options[:project])
|
70
74
|
@derived_data = project_folder || options[:derived_data]
|
71
|
-
|
75
|
+
joined_path = File.join(@derived_data, 'build/') if @derived_data
|
76
|
+
@built_products_dir = build_path || joined_path || '/tmp/tests/build/'
|
72
77
|
|
73
78
|
scheme_name = options[:scheme]
|
74
79
|
@test_bundle_path = File.join(@built_products_dir, "#{options[:test_bundle]}.octest")
|
@@ -126,5 +131,16 @@ module Guard
|
|
126
131
|
command.compact.join(' ')
|
127
132
|
end
|
128
133
|
end
|
134
|
+
|
135
|
+
class BuildPathHandler
|
136
|
+
|
137
|
+
attr_reader :build_path
|
138
|
+
|
139
|
+
def <<(line)
|
140
|
+
match = line.match(/setenv BUILT_PRODUCTS_DIR (?<build_path>.*)/)
|
141
|
+
@build_path = match['build_path'] if match
|
142
|
+
end
|
143
|
+
end
|
144
|
+
|
129
145
|
end
|
130
146
|
end
|
data/lib/guard/ocunit/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: guard-ocunit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Arthur Evstifeev
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-05-
|
11
|
+
date: 2013-05-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: guard
|