rubotium 0.0.20 → 0.0.21

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9e9781a5ba16f5293e432aae0106505dbfc12dfd
4
- data.tar.gz: 57ddec45936548bd2951f3e9ab6508a506fd9ac8
3
+ metadata.gz: 11043211bad40cbe886f3b668751f1f8f9021aae
4
+ data.tar.gz: 9e5638b511f1fa76e12ce7dc983b323e17177898
5
5
  SHA512:
6
- metadata.gz: bd989f92d2004b97869b55f74c70b550dcbbfccab8316af538ed1fc7f56e76c655bffb7bcf5856a5e77534a84691d28cc7b82d1fa463f3e8bc2fb55228a10cad
7
- data.tar.gz: c9604c4c2eceef8c520dc08cbca2b63fd9b08efd802a346fc940c4810127aca477adb98cb9644806432ca39481984d4b4e28e1d8476430dbd645950e9712b521
6
+ metadata.gz: 00e50b38b93cbd2fc3aa6ac989bf6f6c375fe6107568fe03ddf1b5c02941bc07d2a20763158962a3c773440d8a7d0d34b74d2bed61ed8c94cac6c736bdad225e
7
+ data.tar.gz: 196b212129519080a6e01b05432db3d6d6c3f2f243040c962463613e32e3a8aa7c09a781cd6a2385ab08d64a11dd2dd9911231c1027cc2388e2338a73ef91bae
@@ -0,0 +1,9 @@
1
+ module Rubotium
2
+ class LogWritter
3
+ def save_to_file(file_name, log)
4
+ File.open("results/logs/#{file_name}.log", 'w+') do |file|
5
+ file.write log
6
+ end
7
+ end
8
+ end
9
+ end
@@ -1,29 +1,30 @@
1
+ require 'ostruct'
2
+
1
3
  module Rubotium
2
4
  module TestRunners
3
5
  class InstrumentationTestRunner
4
- def initialize(device, test_package, options = {})
6
+ def initialize(device, test_package, options = {}, log_writter = LogWritter.new)
5
7
  @device = device
6
8
  @test_package = test_package
7
9
  @annotations = options.delete(:annotation)
10
+ @log_writter = log_writter
8
11
  end
9
12
 
10
13
  def run_test(runnable_test)
11
14
  device.clean_logcat
12
15
  result = execute(instrument_command(runnable_test))
13
- File.open("results/logs/#{runnable_test.name}.log", 'w+') do |file|
14
- file.write device.logcat
15
- end
16
+ log_writter.save_to_file(runnable_test.name, device.logcat)
16
17
  Rubotium::TestResult.new(result , runnable_test)
17
18
  end
18
19
 
19
20
  private
20
21
 
21
- attr_reader :device, :test_package
22
+ attr_reader :device, :test_package, :log_writter
22
23
 
23
24
  def execute(command)
24
25
  cmd_result = device.shell(command)
25
26
  if (cmd_result.status_code == 1)
26
- Struct.new(
27
+ OpenStruct.new(
27
28
  test_results: [],
28
29
  count: 0,
29
30
  failed?: true,
@@ -1,3 +1,3 @@
1
1
  module Rubotium
2
- VERSION = "0.0.20"
2
+ VERSION = "0.0.21"
3
3
  end
data/lib/rubotium.rb CHANGED
@@ -7,6 +7,7 @@ require 'rubotium/device'
7
7
  require 'rubotium/devices'
8
8
  require 'rubotium/tests_runner'
9
9
  require 'rubotium/formatters/junit_formatter'
10
+ require 'rubotium/log_writter'
10
11
  require 'rubotium/screencast'
11
12
  require 'rubotium/formatters/html_formatter'
12
13
  require 'rubotium/runnable_test'
@@ -0,0 +1,29 @@
1
+ require 'spec_helper'
2
+ require 'ostruct'
3
+
4
+ describe Rubotium::TestRunners::InstrumentationTestRunner do
5
+ let(:test_package) { double(Rubotium::Package) }
6
+ let(:device) { double(Rubotium::Device) }
7
+ let(:runnable_test) { double(Rubotium::RunnableTest) }
8
+ let(:log_writter) { double(Rubotium::LogWritter) }
9
+
10
+ let(:runner) {described_class.new(device, test_package, {}, log_writter)}
11
+
12
+ context 'when running test times out' do
13
+ before { expect(device).to receive(:shell).and_return(OpenStruct.new(:status_code => 1)) }
14
+
15
+ it 'fails the test' do
16
+ expect(test_package).to receive(:name).and_return('Package name')
17
+ expect(test_package).to receive(:test_runner).and_return('test runner')
18
+ expect(runnable_test).to receive(:test_name).and_return('Test name')
19
+ expect(runnable_test).to receive(:name).and_return('name').exactly(2).times
20
+ expect(runnable_test).to receive(:package_name).and_return('testPackage name')
21
+ expect(device).to receive(:clean_logcat)
22
+ expect(device).to receive(:logcat)
23
+ expect(log_writter).to receive(:save_to_file)
24
+
25
+ runner.run_test(runnable_test)
26
+ end
27
+
28
+ end
29
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubotium
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.20
4
+ version: 0.0.21
5
5
  platform: ruby
6
6
  authors:
7
7
  - Slawomir Smiechura
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-24 00:00:00.000000000 Z
11
+ date: 2015-05-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -166,6 +166,7 @@ files:
166
166
  - lib/rubotium/formatters/html_formatter.css
167
167
  - lib/rubotium/formatters/html_formatter.rb
168
168
  - lib/rubotium/formatters/junit_formatter.rb
169
+ - lib/rubotium/log_writter.rb
169
170
  - lib/rubotium/memory.rb
170
171
  - lib/rubotium/memory/data_point.rb
171
172
  - lib/rubotium/memory/monitor.rb
@@ -203,6 +204,7 @@ files:
203
204
  - spec/lib/rubotium/formatters/junit_formatter_spec.rb
204
205
  - spec/lib/rubotium/memory/data_point_spec.rb
205
206
  - spec/lib/rubotium/memory/monitor_spec.rb
207
+ - spec/lib/rubotium/test_runners/instrumentation_test_runner_spec.rb
206
208
  - spec/lib/rubotium/tests_runner_spec.rb
207
209
  - spec/lib/rubotium_spec.rb
208
210
  - spec/spec_helper.rb
@@ -255,6 +257,7 @@ test_files:
255
257
  - spec/lib/rubotium/formatters/junit_formatter_spec.rb
256
258
  - spec/lib/rubotium/memory/data_point_spec.rb
257
259
  - spec/lib/rubotium/memory/monitor_spec.rb
260
+ - spec/lib/rubotium/test_runners/instrumentation_test_runner_spec.rb
258
261
  - spec/lib/rubotium/tests_runner_spec.rb
259
262
  - spec/lib/rubotium_spec.rb
260
263
  - spec/spec_helper.rb