guard-ocunit 0.1.2 → 0.1.3
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.
- 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
|