res 1.2.1 → 1.2.2

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: 586b95c6c851fd4eb20f8dda032cde17cc10d992
4
- data.tar.gz: 0bfdce187a31989b5eb2985dff449ac431f3d870
3
+ metadata.gz: 1faaf3f83f2032befcd21d325961900df987b67d
4
+ data.tar.gz: c346637e360267722da74951ba8b97574933bc8a
5
5
  SHA512:
6
- metadata.gz: e0d1ef191b529f9fe9a4232d9593d2c7b433149fcf359341017ddf0e035cb817fe241ed4650cff63b7eda3b4c6c8e7379b010c5c0ea81eda2287c654ba4c4017
7
- data.tar.gz: 7af1bf45c75d51d8a92fc2f44f73fac3f99f73e2197e64e623898b3073eb0b938f0f61513b4df207f336c98e85b058b90906c359dcf6a3ed079e9a8a09aa409c
6
+ metadata.gz: f6b8b77d0267f8682c050db1251959e594e3225f0b31bfa20ad600e657861a5106d5b2ca4c960569de4195d185e48c5bb67a0b7566905b69d990bfc9dfee418d
7
+ data.tar.gz: eb60be622904ec78521e5680f5ff66448fb968937d9efd8c6edd485b9297e5630232523143a0a9590a63300ac9e6b10d815d3071fa0fb5f4efb31a24508b8638
data/README.md CHANGED
@@ -28,8 +28,8 @@ You can dump a Res IR results file using a cucumber formatter or parse xunit out
28
28
 
29
29
  ## Cucumber
30
30
 
31
- cucumber -f pretty -f Res::Formatters::RubyCucumber -o './cucumber.res'
32
- Note: This cucumber formatter works for cucumber version < 2.0
31
+ cucumber -f pretty -f Res::Formatters::RubyCucumber -o './cucumber.res' (cucumber version < 2.0)
32
+ cucumber -f pretty -f Res::Formatters::RubyCucumber2 -o './cucumber.res' (cucumber version >= 2.0)
33
33
 
34
34
  ## Rspec
35
35
 
data/bin/res CHANGED
@@ -7,6 +7,7 @@ require 'res/reporters/testmine'
7
7
  require 'res/reporters/test_rail'
8
8
  require 'res/reporters/hive'
9
9
  require 'res/parsers/junit'
10
+ require 'res/parsers/android_junit'
10
11
  require 'res/parsers/junitcasper'
11
12
  require 'openssl'
12
13
 
@@ -38,6 +39,11 @@ class CLIParser
38
39
  options.junit = junit
39
40
  end
40
41
 
42
+ opts.on("--android_junit android_junit_output",
43
+ "Parse Android Junit output to res type") do |android_junit|
44
+ options.android_junit = android_junit
45
+ end
46
+
41
47
  opts.on("--junitcasper junit_xml",
42
48
  "Parse junit xml to res type") do |junitcasper|
43
49
  options.junitcasper = junitcasper
@@ -112,6 +118,11 @@ if options.junitcasper
112
118
  ir = Res::IR.load(junit_output.io)
113
119
  end
114
120
 
121
+ if options.android_junit
122
+ android_junit_output = Res::Parsers::AndroidJunit.new(options.android_junit)
123
+ ir = Res::IR.load(android_junit_output.io)
124
+ end
125
+
115
126
  raise "No results loaded" if !ir
116
127
 
117
128
  if options.reporter
@@ -0,0 +1,62 @@
1
+ require 'res/ir'
2
+
3
+ module Res
4
+ module Parsers
5
+ class AndroidJunit
6
+ attr_accessor :io
7
+
8
+ def initialize(instrument_output)
9
+ result = Array.new
10
+ result = parse(instrument_output)
11
+ ir = ::Res::IR.new( :type => 'AndroidJUnitRunner',
12
+ :started => "",
13
+ :finished => Time.now(),
14
+ :results => result
15
+ )
16
+ @io = File.open("./instruments.res", "w")
17
+ @io.puts ir.json
18
+ @io.close
19
+ end
20
+
21
+ def parse(output)
22
+ class_name = Array.new
23
+ test = Array.new
24
+ result = Array.new
25
+ test = {
26
+ type: "AndroidJUnit::Test",
27
+ name: 'UNKNOWN',
28
+ status: "passed"
29
+ }
30
+ File.open(output) do |f|
31
+ f.each_line do |line|
32
+ if line.include?("INSTRUMENTATION_STATUS_CODE")
33
+ result.last[:children] << test
34
+ test = {
35
+ type: "AndroidJUnit::Test",
36
+ name: 'UNKNOWN',
37
+ status: "passed"
38
+ }
39
+ end
40
+
41
+ if line.include?("class")
42
+ line = line.gsub("INSTRUMENTATION_STATUS: class=", "").strip
43
+ if !class_name.include? line
44
+ class_name.push(line)
45
+ result << {
46
+ type: "AndroidJUnit::Class",
47
+ name: class_name.last,
48
+ children: Array.new
49
+ }
50
+ end
51
+ elsif line.include?("test=")
52
+ test[:name] = line.gsub("INSTRUMENTATION_STATUS: test=", "").strip
53
+ elsif line.include?("Error in ")
54
+ test[:status] = 'failed'
55
+ end
56
+ end
57
+ end
58
+ result
59
+ end
60
+ end
61
+ end
62
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: res
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 1.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - BBC
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2016-02-01 00:00:00.000000000 Z
13
+ date: 2016-02-03 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: json
@@ -100,6 +100,7 @@ files:
100
100
  - lib/res/formatters/ruby_cucumber2.rb
101
101
  - lib/res/ir.rb
102
102
  - lib/res/mappings.rb
103
+ - lib/res/parsers/android_junit.rb
103
104
  - lib/res/parsers/junit.rb
104
105
  - lib/res/parsers/junitcasper.rb
105
106
  - lib/res/reporters/hive.rb
@@ -125,9 +126,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
125
126
  version: '0'
126
127
  requirements: []
127
128
  rubyforge_project:
128
- rubygems_version: 2.4.8
129
+ rubygems_version: 2.5.0
129
130
  signing_key:
130
131
  specification_version: 4
131
132
  summary: Test Result report libraries
132
133
  test_files: []
133
- has_rdoc: