spassky 0.1.36 → 0.1.37
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +43 -4
- data/lib/spassky/client/cli.rb +3 -3
- data/lib/spassky/client/directory_reader.rb +17 -13
- data/lib/spassky/client/pusher.rb +21 -9
- data/lib/spassky/client/test_suite_runner.rb +62 -0
- data/lib/spassky/device_test_status.rb +9 -0
- data/lib/spassky/server/app.rb +28 -18
- data/lib/spassky/server/device_database.rb +20 -13
- data/lib/spassky/server/device_list.rb +7 -1
- data/lib/spassky/server/test_run.rb +13 -7
- data/lib/spassky/test_suite_result.rb +70 -0
- data/lib/spassky/{test_result_summariser.rb → test_suite_result_summariser.rb} +7 -7
- data/lib/spassky/version.rb +1 -1
- data/spassky.gemspec +0 -1
- data/spec/spassky/client/cli_spec.rb +7 -7
- data/spec/spassky/client/pusher_spec.rb +4 -4
- data/spec/spassky/client/{test_runner_spec.rb → test_suite_runner_spec.rb} +42 -42
- data/spec/spassky/server/app_spec.rb +8 -8
- data/spec/spassky/server/device_database_spec.rb +0 -10
- data/spec/spassky/{test_result_spec.rb → test_suite_result_spec.rb} +19 -19
- data/spec/spassky/{test_result_summariser_spec.rb → test_suite_result_summariser_spec.rb} +5 -5
- metadata +37 -48
- data/lib/spassky/client/test_runner.rb +0 -52
- data/lib/spassky/test_result.rb +0 -76
@@ -1,8 +1,8 @@
|
|
1
1
|
require 'spec_helper'
|
2
|
-
require 'spassky/client/
|
2
|
+
require 'spassky/client/test_suite_runner'
|
3
3
|
|
4
4
|
module Spassky::Client
|
5
|
-
describe
|
5
|
+
describe TestSuiteRunner do
|
6
6
|
before do
|
7
7
|
@test_pusher = mock(:test_pusher)
|
8
8
|
@writer = mock(:writer)
|
@@ -11,73 +11,73 @@ module Spassky::Client
|
|
11
11
|
Kernel.stub!(:exit)
|
12
12
|
@directory_reader = mock(:directory_reader)
|
13
13
|
@directory_reader.stub!(:read_files).and_return({ "test.html" => "contents" })
|
14
|
-
@
|
14
|
+
@test_suite_runner = TestSuiteRunner.new(@test_pusher, @writer, @directory_reader)
|
15
15
|
end
|
16
16
|
|
17
|
-
def
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
17
|
+
def new_test_suite_result status, summary
|
18
|
+
test_suite_result = mock :"#{status.gsub(" ", "_")}_test_suite_result"
|
19
|
+
test_suite_result.stub!(:status).and_return status
|
20
|
+
test_suite_result.stub!(:summary).and_return summary
|
21
|
+
test_suite_result.stub!(:completed_since).and_return([])
|
22
|
+
test_suite_result
|
23
23
|
end
|
24
24
|
|
25
|
-
def
|
26
|
-
|
25
|
+
def new_in_progress_test_suite_result
|
26
|
+
new_test_suite_result "in progress", "in progress summary"
|
27
27
|
end
|
28
28
|
|
29
|
-
def
|
30
|
-
|
29
|
+
def new_passed_test_suite_result
|
30
|
+
new_test_suite_result "pass", "pass summary"
|
31
31
|
end
|
32
32
|
|
33
|
-
def
|
34
|
-
|
33
|
+
def new_failed_test_suite_result
|
34
|
+
new_test_suite_result "fail", "fail summary"
|
35
35
|
end
|
36
36
|
|
37
|
-
def
|
38
|
-
|
37
|
+
def new_timeout_test_suite_result
|
38
|
+
new_test_suite_result "timed out", "timed out summary"
|
39
39
|
end
|
40
40
|
|
41
41
|
it "reads a test" do
|
42
42
|
@test_pusher.stub!(:push)
|
43
43
|
@directory_reader.should_receive(:read_files).and_return(:file_body)
|
44
|
-
@
|
44
|
+
@test_suite_runner.run_test_suite("foo_test", "test name")
|
45
45
|
end
|
46
46
|
|
47
47
|
it "pushes the test" do
|
48
48
|
@test_pusher.should_receive(:push).with({:name => 'foo_test', :contents => { "test.html" => "contents" }.to_json })
|
49
|
-
@
|
49
|
+
@test_suite_runner.run_test_suite("path/to/test", "foo_test")
|
50
50
|
end
|
51
51
|
|
52
52
|
context "timeout" do
|
53
53
|
it 'returns a exit status of 2' do
|
54
|
-
@test_pusher.stub!(:push).and_yield(
|
54
|
+
@test_pusher.stub!(:push).and_yield(new_timeout_test_suite_result)
|
55
55
|
Kernel.should_receive(:exit).with(2)
|
56
|
-
@
|
56
|
+
@test_suite_runner.run_test_suite("foo_test", "test name")
|
57
57
|
end
|
58
58
|
end
|
59
59
|
|
60
60
|
context "failing test" do
|
61
61
|
before do
|
62
|
-
@test_pusher.stub!(:push).and_yield(
|
62
|
+
@test_pusher.stub!(:push).and_yield(new_failed_test_suite_result)
|
63
63
|
end
|
64
64
|
|
65
65
|
it "only writes once" do
|
66
66
|
@writer.should_receive(:write_failing).once
|
67
|
-
@
|
67
|
+
@test_suite_runner.run_test_suite("foo_test", "test name")
|
68
68
|
end
|
69
69
|
|
70
70
|
it "writes out an error code" do
|
71
71
|
Kernel.should_receive(:exit).with(1)
|
72
|
-
@
|
72
|
+
@test_suite_runner.run_test_suite("foo_test", "test name")
|
73
73
|
end
|
74
74
|
end
|
75
75
|
|
76
76
|
context "passing test" do
|
77
77
|
it "writes passing output" do
|
78
|
-
@test_pusher.stub!(:push).and_yield(
|
78
|
+
@test_pusher.stub!(:push).and_yield(new_passed_test_suite_result)
|
79
79
|
@writer.should_receive(:write_passing).with("pass summary")
|
80
|
-
@
|
80
|
+
@test_suite_runner.run_test_suite("foo_test", "test name")
|
81
81
|
end
|
82
82
|
end
|
83
83
|
|
@@ -88,57 +88,57 @@ module Spassky::Client
|
|
88
88
|
|
89
89
|
it "writes out the error" do
|
90
90
|
@writer.should_receive(:write_failing).with("hell")
|
91
|
-
@
|
91
|
+
@test_suite_runner.run_test_suite("foo_test", "test name")
|
92
92
|
end
|
93
93
|
|
94
94
|
it "exits with an error code" do
|
95
95
|
Kernel.should_receive(:exit).with(1)
|
96
|
-
@
|
96
|
+
@test_suite_runner.run_test_suite("foo_test", "test name")
|
97
97
|
end
|
98
98
|
end
|
99
99
|
|
100
100
|
context "in progress" do
|
101
101
|
it "writes nothing" do
|
102
|
-
@test_pusher.stub!(:push).and_yield(
|
102
|
+
@test_pusher.stub!(:push).and_yield(new_in_progress_test_suite_result)
|
103
103
|
@writer = mock(:writer)
|
104
104
|
@writer.should_not_receive(:write_passing)
|
105
105
|
@writer.should_not_receive(:write_failing)
|
106
|
-
|
106
|
+
TestSuiteRunner.new(@test_pusher, @writer, @directory_reader).run_test_suite("foo_test", "test name")
|
107
107
|
end
|
108
108
|
end
|
109
109
|
|
110
110
|
context "in progress, then passed result yielded" do
|
111
111
|
it "only writes out the summary when the status is not 'in progress'" do
|
112
|
-
|
113
|
-
|
114
|
-
@test_pusher.stub!(:push).and_yield(
|
112
|
+
in_progress_test_suite_result = new_in_progress_test_suite_result
|
113
|
+
pass_test_suite_result = new_passed_test_suite_result
|
114
|
+
@test_pusher.stub!(:push).and_yield(in_progress_test_suite_result).and_yield(pass_test_suite_result)
|
115
115
|
@writer.should_receive(:write_passing).with("pass summary").once
|
116
|
-
@
|
116
|
+
@test_suite_runner.run_test_suite("foo_test", "test name")
|
117
117
|
end
|
118
118
|
end
|
119
119
|
|
120
120
|
context "in progress twice then passed result yielded" do
|
121
121
|
it "writes the difference between test results on each iteration" do
|
122
|
-
in_progress_one =
|
123
|
-
in_progress_two =
|
122
|
+
in_progress_one = new_in_progress_test_suite_result
|
123
|
+
in_progress_two = new_in_progress_test_suite_result
|
124
124
|
@test_pusher.stub!(:push).and_yield(in_progress_one).and_yield(in_progress_two)
|
125
125
|
|
126
126
|
in_progress_two.stub!(:completed_since).with(in_progress_one).and_return([
|
127
|
-
mock(:status_one, :status => "pass", :device_id => "ipad", :test_name => "foo", :message => "
|
128
|
-
mock(:status_one, :status => "fail", :device_id => "iphone", :test_name => "bar", :message => "
|
127
|
+
mock(:status_one, :status => "pass", :device_id => "ipad", :test_name => "foo", :message => "test_suite_result"),
|
128
|
+
mock(:status_one, :status => "fail", :device_id => "iphone", :test_name => "bar", :message => "test_suite_result")
|
129
129
|
])
|
130
130
|
|
131
131
|
@writer.should_receive(:write_passing).with("PASS foo on ipad").once
|
132
132
|
@writer.should_receive(:write_failing).with("FAIL bar on iphone").once
|
133
133
|
|
134
|
-
@
|
134
|
+
@test_suite_runner.run_test_suite("foo bar", "test name")
|
135
135
|
end
|
136
136
|
end
|
137
137
|
|
138
138
|
context "failed result yielded" do
|
139
139
|
it "writes out the test message" do
|
140
|
-
in_progress_one =
|
141
|
-
in_progress_two =
|
140
|
+
in_progress_one = new_in_progress_test_suite_result
|
141
|
+
in_progress_two = new_in_progress_test_suite_result
|
142
142
|
@test_pusher.stub!(:push).and_yield(in_progress_one).and_yield(in_progress_two)
|
143
143
|
|
144
144
|
in_progress_two.stub!(:completed_since).with(in_progress_one).and_return([
|
@@ -147,7 +147,7 @@ module Spassky::Client
|
|
147
147
|
|
148
148
|
@writer.should_receive(:write_failing).with("test result message").once
|
149
149
|
|
150
|
-
@
|
150
|
+
@test_suite_runner.run_test_suite("foo bar", "test name")
|
151
151
|
end
|
152
152
|
end
|
153
153
|
end
|
@@ -86,9 +86,9 @@ module Spassky::Server
|
|
86
86
|
test.should_receive(:save_result_for_device).with(
|
87
87
|
:device_identifier => "the device identifier",
|
88
88
|
:status => "pass",
|
89
|
-
:message => "
|
89
|
+
:message => "the_test_suite_result_message"
|
90
90
|
)
|
91
|
-
get "/test_runs/123/run/random/assert?status=pass&message=
|
91
|
+
get "/test_runs/123/run/random/assert?status=pass&message=the_test_suite_result_message"
|
92
92
|
end
|
93
93
|
end
|
94
94
|
|
@@ -188,9 +188,9 @@ module Spassky::Server
|
|
188
188
|
describe "GET /test_runs/123" do
|
189
189
|
it "returns the status of the test with the id '123'" do
|
190
190
|
test_run = mock(:test_run)
|
191
|
-
|
192
|
-
|
193
|
-
test_run.stub!(:result).and_return(
|
191
|
+
test_suite_result = mock(:test_suite_result)
|
192
|
+
test_suite_result.stub!(:to_json).and_return("the test run as json")
|
193
|
+
test_run.stub!(:result).and_return(test_suite_result)
|
194
194
|
test_run.stub!(:update_connected_devices)
|
195
195
|
TestRun.should_receive(:find).with('123').and_return test_run
|
196
196
|
get '/test_runs/123'
|
@@ -199,9 +199,9 @@ module Spassky::Server
|
|
199
199
|
|
200
200
|
it "tells the test run which devices are still connected" do
|
201
201
|
test_run = mock(:test_run)
|
202
|
-
|
203
|
-
|
204
|
-
test_run.stub!(:result).and_return(
|
202
|
+
test_suite_result = mock(:test_suite_result)
|
203
|
+
test_suite_result.stub!(:to_json).and_return("the test run as json")
|
204
|
+
test_run.stub!(:result).and_return(test_suite_result)
|
205
205
|
TestRun.stub!(:find).with('123').and_return test_run
|
206
206
|
still_connected_devices = ["device1", "device2"]
|
207
207
|
device_list.stub!(:recently_connected_devices).and_return(still_connected_devices)
|
@@ -75,15 +75,5 @@ module Spassky::Server
|
|
75
75
|
end
|
76
76
|
end
|
77
77
|
end
|
78
|
-
|
79
|
-
context "request device that exists" do
|
80
|
-
it "returns a device" do
|
81
|
-
wurfl = mock :wurfl
|
82
|
-
device = mock :device
|
83
|
-
wurfl.stub!(:[]).and_return(device)
|
84
|
-
WURFL.stub!(:new).and_return(wurfl)
|
85
|
-
DeviceDatabase.new.device("user agent").should == (device)
|
86
|
-
end
|
87
|
-
end
|
88
78
|
end
|
89
79
|
end
|
@@ -1,11 +1,11 @@
|
|
1
1
|
require 'spec_helper'
|
2
|
-
require 'spassky/
|
2
|
+
require 'spassky/test_suite_result'
|
3
3
|
|
4
4
|
module Spassky
|
5
|
-
describe
|
5
|
+
describe TestSuiteResult do
|
6
6
|
context "when no devices are connected" do
|
7
7
|
it "is in progress" do
|
8
|
-
|
8
|
+
TestSuiteResult.new([]).status.should == "in progress"
|
9
9
|
end
|
10
10
|
end
|
11
11
|
|
@@ -13,13 +13,13 @@ module Spassky
|
|
13
13
|
device_statuses = stub(:device_statuses)
|
14
14
|
test_result_summariser = stub(:test_result_summariser)
|
15
15
|
test_result_summariser.stub!(:summary).and_return("the summary")
|
16
|
-
|
17
|
-
|
16
|
+
TestSuiteResultSummariser.stub!(:new).with(device_statuses).and_return(test_result_summariser)
|
17
|
+
TestSuiteResult.new(device_statuses).summary.should == "the summary"
|
18
18
|
end
|
19
19
|
|
20
20
|
context "when all devices pass" do
|
21
21
|
it "is a pass" do
|
22
|
-
|
22
|
+
TestSuiteResult.new([
|
23
23
|
FactoryGirl.build(:device_test_status),
|
24
24
|
FactoryGirl.build(:device_test_status)
|
25
25
|
]).status.should == "pass"
|
@@ -28,7 +28,7 @@ module Spassky
|
|
28
28
|
|
29
29
|
context "when any device fails" do
|
30
30
|
it "is a fail" do
|
31
|
-
|
31
|
+
TestSuiteResult.new([
|
32
32
|
FactoryGirl.build(:device_test_status),
|
33
33
|
FactoryGirl.build(:device_test_status, :status => 'fail')
|
34
34
|
]).status.should == "fail"
|
@@ -37,7 +37,7 @@ module Spassky
|
|
37
37
|
|
38
38
|
context "when any test is still in progress" do
|
39
39
|
it "is a fail" do
|
40
|
-
|
40
|
+
TestSuiteResult.new([
|
41
41
|
FactoryGirl.build(:device_test_status),
|
42
42
|
FactoryGirl.build(:device_test_status, :status => 'fail'),
|
43
43
|
FactoryGirl.build(:device_test_status, :status => 'in progress')
|
@@ -47,19 +47,19 @@ module Spassky
|
|
47
47
|
|
48
48
|
context "when 1 test times out" do
|
49
49
|
it "has the status 'timed out'" do
|
50
|
-
|
50
|
+
test_suite_result = TestSuiteResult.new([
|
51
51
|
FactoryGirl.build(:device_test_status, :status => 'timed out'),
|
52
52
|
FactoryGirl.build(:device_test_status)
|
53
53
|
])
|
54
|
-
|
54
|
+
test_suite_result.status.should == "timed out"
|
55
55
|
end
|
56
56
|
end
|
57
57
|
|
58
58
|
it "can be serialized and deserialized" do
|
59
59
|
device_test_statuses = [FactoryGirl.build(:device_test_status)]
|
60
|
-
|
61
|
-
json =
|
62
|
-
deserialized =
|
60
|
+
test_suite_result = TestSuiteResult.new(device_test_statuses)
|
61
|
+
json = test_suite_result.to_json
|
62
|
+
deserialized = TestSuiteResult.from_json(json)
|
63
63
|
deserialized.device_statuses.size.should == 1
|
64
64
|
deserialized.device_statuses.first.device_id.should == device_test_statuses.first.device_id
|
65
65
|
deserialized.device_statuses.first.status.should == device_test_statuses.first.status
|
@@ -71,12 +71,12 @@ module Spassky
|
|
71
71
|
status_1 = FactoryGirl.build(:device_test_status)
|
72
72
|
status_2 = FactoryGirl.build(:device_test_status, :status => 'in progress', :test_name => 'test2')
|
73
73
|
status_3 = FactoryGirl.build(:device_test_status, :status => 'fail', :test_name => 'test3')
|
74
|
-
|
75
|
-
|
74
|
+
test_suite_result = TestSuiteResult.new([status_1, status_2, status_3])
|
75
|
+
test_suite_result.completed_since(nil).should == [status_1, status_3]
|
76
76
|
end
|
77
77
|
end
|
78
78
|
|
79
|
-
describe "#completed_since(
|
79
|
+
describe "#completed_since(other_test_suite_result)" do
|
80
80
|
it "returns all device test results that are no longer in progress" do
|
81
81
|
status_a1 = FactoryGirl.build(:device_test_status, :status => 'pass', :test_name => 'test1')
|
82
82
|
status_a2 = FactoryGirl.build(:device_test_status, :status => 'in progress', :test_name => 'test2')
|
@@ -85,10 +85,10 @@ module Spassky
|
|
85
85
|
status_b2 = FactoryGirl.build(:device_test_status, :status => 'fail', :test_name => 'test2')
|
86
86
|
status_b3 = FactoryGirl.build(:device_test_status, :status => 'timed out', :test_name => 'test3')
|
87
87
|
|
88
|
-
|
89
|
-
|
88
|
+
test_suite_result_before = TestSuiteResult.new([status_a1, status_a2, status_a3])
|
89
|
+
test_suite_result_after = TestSuiteResult.new([status_b1, status_b2, status_b3])
|
90
90
|
|
91
|
-
|
91
|
+
test_suite_result_after.completed_since(test_suite_result_before).should == [status_b2, status_b3]
|
92
92
|
end
|
93
93
|
end
|
94
94
|
end
|
@@ -1,13 +1,13 @@
|
|
1
1
|
require "spec_helper"
|
2
2
|
|
3
3
|
module Spassky
|
4
|
-
describe
|
4
|
+
describe TestSuiteResultSummariser do
|
5
5
|
it "shows passing tests" do
|
6
6
|
device_statuses = [
|
7
7
|
FactoryGirl.build(:device_test_status),
|
8
8
|
FactoryGirl.build(:device_test_status)
|
9
9
|
]
|
10
|
-
|
10
|
+
TestSuiteResultSummariser.new(device_statuses).summary.should == "2 passed"
|
11
11
|
end
|
12
12
|
|
13
13
|
it "shows failing tests" do
|
@@ -15,7 +15,7 @@ module Spassky
|
|
15
15
|
FactoryGirl.build(:device_test_status, :status => 'fail'),
|
16
16
|
FactoryGirl.build(:device_test_status, :status => 'fail')
|
17
17
|
]
|
18
|
-
|
18
|
+
TestSuiteResultSummariser.new(device_statuses).summary.should == "2 failed"
|
19
19
|
end
|
20
20
|
|
21
21
|
it "shows timed out tests" do
|
@@ -23,7 +23,7 @@ module Spassky
|
|
23
23
|
FactoryGirl.build(:device_test_status, :status => 'timed out'),
|
24
24
|
FactoryGirl.build(:device_test_status, :status => 'timed out')
|
25
25
|
]
|
26
|
-
|
26
|
+
TestSuiteResultSummariser.new(device_statuses).summary.should == "2 timed out"
|
27
27
|
end
|
28
28
|
|
29
29
|
it "shows failed, passed and timed out tests" do
|
@@ -35,7 +35,7 @@ module Spassky
|
|
35
35
|
FactoryGirl.build(:device_test_status, :status => 'timed out'),
|
36
36
|
FactoryGirl.build(:device_test_status, :status => 'timed out')
|
37
37
|
]
|
38
|
-
|
38
|
+
TestSuiteResultSummariser.new(device_statuses).summary.should == "2 passed, 2 failed, 2 timed out"
|
39
39
|
end
|
40
40
|
end
|
41
41
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spassky
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.37
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -11,11 +11,11 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2011-09-
|
14
|
+
date: 2011-09-14 00:00:00.000000000Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: rest-client
|
18
|
-
requirement: &
|
18
|
+
requirement: &70236430903100 !ruby/object:Gem::Requirement
|
19
19
|
none: false
|
20
20
|
requirements:
|
21
21
|
- - ! '>='
|
@@ -23,10 +23,10 @@ dependencies:
|
|
23
23
|
version: '0'
|
24
24
|
type: :runtime
|
25
25
|
prerelease: false
|
26
|
-
version_requirements: *
|
26
|
+
version_requirements: *70236430903100
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: json
|
29
|
-
requirement: &
|
29
|
+
requirement: &70236430902660 !ruby/object:Gem::Requirement
|
30
30
|
none: false
|
31
31
|
requirements:
|
32
32
|
- - ! '>='
|
@@ -34,10 +34,10 @@ dependencies:
|
|
34
34
|
version: '0'
|
35
35
|
type: :runtime
|
36
36
|
prerelease: false
|
37
|
-
version_requirements: *
|
37
|
+
version_requirements: *70236430902660
|
38
38
|
- !ruby/object:Gem::Dependency
|
39
39
|
name: sinatra
|
40
|
-
requirement: &
|
40
|
+
requirement: &70236430902140 !ruby/object:Gem::Requirement
|
41
41
|
none: false
|
42
42
|
requirements:
|
43
43
|
- - ! '>='
|
@@ -45,10 +45,10 @@ dependencies:
|
|
45
45
|
version: '0'
|
46
46
|
type: :runtime
|
47
47
|
prerelease: false
|
48
|
-
version_requirements: *
|
48
|
+
version_requirements: *70236430902140
|
49
49
|
- !ruby/object:Gem::Dependency
|
50
50
|
name: rainbow
|
51
|
-
requirement: &
|
51
|
+
requirement: &70236430901620 !ruby/object:Gem::Requirement
|
52
52
|
none: false
|
53
53
|
requirements:
|
54
54
|
- - ! '>='
|
@@ -56,10 +56,10 @@ dependencies:
|
|
56
56
|
version: '0'
|
57
57
|
type: :runtime
|
58
58
|
prerelease: false
|
59
|
-
version_requirements: *
|
59
|
+
version_requirements: *70236430901620
|
60
60
|
- !ruby/object:Gem::Dependency
|
61
61
|
name: wurfl-lite
|
62
|
-
requirement: &
|
62
|
+
requirement: &70236430835860 !ruby/object:Gem::Requirement
|
63
63
|
none: false
|
64
64
|
requirements:
|
65
65
|
- - ! '>='
|
@@ -67,10 +67,10 @@ dependencies:
|
|
67
67
|
version: '0'
|
68
68
|
type: :runtime
|
69
69
|
prerelease: false
|
70
|
-
version_requirements: *
|
70
|
+
version_requirements: *70236430835860
|
71
71
|
- !ruby/object:Gem::Dependency
|
72
72
|
name: commandable
|
73
|
-
requirement: &
|
73
|
+
requirement: &70236430833300 !ruby/object:Gem::Requirement
|
74
74
|
none: false
|
75
75
|
requirements:
|
76
76
|
- - ! '>='
|
@@ -78,10 +78,10 @@ dependencies:
|
|
78
78
|
version: '0'
|
79
79
|
type: :runtime
|
80
80
|
prerelease: false
|
81
|
-
version_requirements: *
|
81
|
+
version_requirements: *70236430833300
|
82
82
|
- !ruby/object:Gem::Dependency
|
83
83
|
name: rake
|
84
|
-
requirement: &
|
84
|
+
requirement: &70236430832880 !ruby/object:Gem::Requirement
|
85
85
|
none: false
|
86
86
|
requirements:
|
87
87
|
- - ! '>='
|
@@ -89,10 +89,10 @@ dependencies:
|
|
89
89
|
version: '0'
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
|
-
version_requirements: *
|
92
|
+
version_requirements: *70236430832880
|
93
93
|
- !ruby/object:Gem::Dependency
|
94
94
|
name: rspec
|
95
|
-
requirement: &
|
95
|
+
requirement: &70236430832440 !ruby/object:Gem::Requirement
|
96
96
|
none: false
|
97
97
|
requirements:
|
98
98
|
- - ! '>='
|
@@ -100,10 +100,10 @@ dependencies:
|
|
100
100
|
version: '0'
|
101
101
|
type: :development
|
102
102
|
prerelease: false
|
103
|
-
version_requirements: *
|
103
|
+
version_requirements: *70236430832440
|
104
104
|
- !ruby/object:Gem::Dependency
|
105
105
|
name: cucumber
|
106
|
-
requirement: &
|
106
|
+
requirement: &70236430831820 !ruby/object:Gem::Requirement
|
107
107
|
none: false
|
108
108
|
requirements:
|
109
109
|
- - ! '>='
|
@@ -111,10 +111,10 @@ dependencies:
|
|
111
111
|
version: '0'
|
112
112
|
type: :development
|
113
113
|
prerelease: false
|
114
|
-
version_requirements: *
|
114
|
+
version_requirements: *70236430831820
|
115
115
|
- !ruby/object:Gem::Dependency
|
116
116
|
name: capybara
|
117
|
-
requirement: &
|
117
|
+
requirement: &70236430831180 !ruby/object:Gem::Requirement
|
118
118
|
none: false
|
119
119
|
requirements:
|
120
120
|
- - ! '>='
|
@@ -122,10 +122,10 @@ dependencies:
|
|
122
122
|
version: '0'
|
123
123
|
type: :development
|
124
124
|
prerelease: false
|
125
|
-
version_requirements: *
|
125
|
+
version_requirements: *70236430831180
|
126
126
|
- !ruby/object:Gem::Dependency
|
127
127
|
name: aruba
|
128
|
-
requirement: &
|
128
|
+
requirement: &70236430830500 !ruby/object:Gem::Requirement
|
129
129
|
none: false
|
130
130
|
requirements:
|
131
131
|
- - ! '>='
|
@@ -133,10 +133,10 @@ dependencies:
|
|
133
133
|
version: '0'
|
134
134
|
type: :development
|
135
135
|
prerelease: false
|
136
|
-
version_requirements: *
|
136
|
+
version_requirements: *70236430830500
|
137
137
|
- !ruby/object:Gem::Dependency
|
138
138
|
name: fakefs
|
139
|
-
requirement: &
|
139
|
+
requirement: &70236430829860 !ruby/object:Gem::Requirement
|
140
140
|
none: false
|
141
141
|
requirements:
|
142
142
|
- - ! '>='
|
@@ -144,21 +144,10 @@ dependencies:
|
|
144
144
|
version: '0'
|
145
145
|
type: :development
|
146
146
|
prerelease: false
|
147
|
-
version_requirements: *
|
148
|
-
- !ruby/object:Gem::Dependency
|
149
|
-
name: ruby-debug19
|
150
|
-
requirement: &70322539858760 !ruby/object:Gem::Requirement
|
151
|
-
none: false
|
152
|
-
requirements:
|
153
|
-
- - ! '>='
|
154
|
-
- !ruby/object:Gem::Version
|
155
|
-
version: '0'
|
156
|
-
type: :development
|
157
|
-
prerelease: false
|
158
|
-
version_requirements: *70322539858760
|
147
|
+
version_requirements: *70236430829860
|
159
148
|
- !ruby/object:Gem::Dependency
|
160
149
|
name: factory_girl
|
161
|
-
requirement: &
|
150
|
+
requirement: &70236430829180 !ruby/object:Gem::Requirement
|
162
151
|
none: false
|
163
152
|
requirements:
|
164
153
|
- - ! '>='
|
@@ -166,7 +155,7 @@ dependencies:
|
|
166
155
|
version: '0'
|
167
156
|
type: :development
|
168
157
|
prerelease: false
|
169
|
-
version_requirements: *
|
158
|
+
version_requirements: *70236430829180
|
170
159
|
description: ''
|
171
160
|
email:
|
172
161
|
- andrew.vos@gmail.com
|
@@ -205,7 +194,7 @@ files:
|
|
205
194
|
- lib/spassky/client/device_list_retriever.rb
|
206
195
|
- lib/spassky/client/directory_reader.rb
|
207
196
|
- lib/spassky/client/pusher.rb
|
208
|
-
- lib/spassky/client/
|
197
|
+
- lib/spassky/client/test_suite_runner.rb
|
209
198
|
- lib/spassky/client/writer.rb
|
210
199
|
- lib/spassky/device_test_status.rb
|
211
200
|
- lib/spassky/server.rb
|
@@ -216,8 +205,8 @@ files:
|
|
216
205
|
- lib/spassky/server/html_test.rb
|
217
206
|
- lib/spassky/server/random_string_generator.rb
|
218
207
|
- lib/spassky/server/test_run.rb
|
219
|
-
- lib/spassky/
|
220
|
-
- lib/spassky/
|
208
|
+
- lib/spassky/test_suite_result.rb
|
209
|
+
- lib/spassky/test_suite_result_summariser.rb
|
221
210
|
- lib/spassky/version.rb
|
222
211
|
- spassky.gemspec
|
223
212
|
- spassky.jpg
|
@@ -226,15 +215,15 @@ files:
|
|
226
215
|
- spec/spassky/client/device_list_retriever_spec.rb
|
227
216
|
- spec/spassky/client/directory_reader_spec.rb
|
228
217
|
- spec/spassky/client/pusher_spec.rb
|
229
|
-
- spec/spassky/client/
|
218
|
+
- spec/spassky/client/test_suite_runner_spec.rb
|
230
219
|
- spec/spassky/client/writer_spec.rb
|
231
220
|
- spec/spassky/server/app_spec.rb
|
232
221
|
- spec/spassky/server/device_database_spec.rb
|
233
222
|
- spec/spassky/server/device_list_spec.rb
|
234
223
|
- spec/spassky/server/random_string_generator_spec.rb
|
235
224
|
- spec/spassky/server/test_run_spec.rb
|
236
|
-
- spec/spassky/
|
237
|
-
- spec/spassky/
|
225
|
+
- spec/spassky/test_suite_result_spec.rb
|
226
|
+
- spec/spassky/test_suite_result_summariser_spec.rb
|
238
227
|
- spec/spec_helper.rb
|
239
228
|
homepage: http://github.com/BBC/spassky
|
240
229
|
licenses: []
|
@@ -276,13 +265,13 @@ test_files:
|
|
276
265
|
- spec/spassky/client/device_list_retriever_spec.rb
|
277
266
|
- spec/spassky/client/directory_reader_spec.rb
|
278
267
|
- spec/spassky/client/pusher_spec.rb
|
279
|
-
- spec/spassky/client/
|
268
|
+
- spec/spassky/client/test_suite_runner_spec.rb
|
280
269
|
- spec/spassky/client/writer_spec.rb
|
281
270
|
- spec/spassky/server/app_spec.rb
|
282
271
|
- spec/spassky/server/device_database_spec.rb
|
283
272
|
- spec/spassky/server/device_list_spec.rb
|
284
273
|
- spec/spassky/server/random_string_generator_spec.rb
|
285
274
|
- spec/spassky/server/test_run_spec.rb
|
286
|
-
- spec/spassky/
|
287
|
-
- spec/spassky/
|
275
|
+
- spec/spassky/test_suite_result_spec.rb
|
276
|
+
- spec/spassky/test_suite_result_summariser_spec.rb
|
288
277
|
- spec/spec_helper.rb
|