rspec_flake 0.2.2 → 0.2.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: db3be15b6ac654014c18e2fbeb3c1ecf5a6ffbff
4
- data.tar.gz: 658dcb79473f02541b6a182f613beae5251fcef1
3
+ metadata.gz: be850d9f4481301d38a2d1f9b25905b5e66839a3
4
+ data.tar.gz: a6baa05e4ca66674309da612539e256fe5f5ec8d
5
5
  SHA512:
6
- metadata.gz: 8a282c1b7a5b712440087edd73042c4da685ef7e3c5031419fc36eaed49a375132f6c26fde596b80188d5ccf3d61e7585af41c5275fa99153f943ead869cde27
7
- data.tar.gz: e19708da20a67700cfdcfdf7548cfa19d2fc5e217ba2bf0146c66ddd7c51c17ed0a0d4c9a78371c57b9ed6a478eff4a54e0ac07cb7dd521a306cbc044e615b0d
6
+ metadata.gz: ecd8a67c2e4b8ae29980b7dffe816d9f8b9565b8a5a99d0f92ac1c97437001979c55286ca574e996c35bab4480b3e949478d6d1fb653818b90970a505a677371
7
+ data.tar.gz: ddfa2c7b849ed9527f2ac8a7650d7ab693382f4d634bbd1c2a8a95b4809ce14788ace6515c477e794fc5b8d2eca293cbf5913dc4df2cbb52afe4aa23d7af05ba
data/.gitignore CHANGED
@@ -1,4 +1,8 @@
1
1
  *.gem
2
2
  *.lock
3
3
  .DS*
4
- .idea/
4
+ .idea/
5
+ merged.xml
6
+ junit.xml
7
+ tmp/
8
+ coverage/
data/.rspec CHANGED
@@ -1 +1,4 @@
1
- --require spec_helper
1
+ --require spec_helper
2
+ --format documentation
3
+ --format JUnit
4
+ --out junit.xml
data/.rspec_parallel ADDED
@@ -0,0 +1,8 @@
1
+ --require spec_helper
2
+ --order random
3
+ --backtrace
4
+ --format documentation
5
+ --format JUnit
6
+ --out ./junit/xml_<%= ENV['TEST_ENV_NUMBER'] %>.xml
7
+ --format ParallelTests::RSpec::SummaryLogger
8
+ --out parallel_summary.txt
data/.travis.yml CHANGED
@@ -1,4 +1,10 @@
1
1
  language: ruby
2
+ cache: bundler
3
+ sudo: false
2
4
  rvm:
3
- - 2.1.5
4
- script: bundle exec rspec
5
+ - 2.2.2
6
+ script: bundle exec rspec
7
+ notifications:
8
+ email:
9
+ on_success: never
10
+ on_failure: never
data/Thorfile CHANGED
@@ -2,4 +2,16 @@ require 'appium_thor'
2
2
 
3
3
  Appium::Thor::Config.set do
4
4
  gem_name 'rspec_flake'
5
- end
5
+ end
6
+
7
+ # Must use '::' otherwise Default will point to Thor::Sandbox::Default
8
+ # Debug by calling Thor::Base.subclass_files via Pry
9
+ #
10
+ # https://github.com/erikhuda/thor/issues/484
11
+ #
12
+ class ::Default < Thor
13
+ desc 'spec', 'Run RSpec tests'
14
+ def spec
15
+ exec 'bundle exec rspec'
16
+ end
17
+ end
data/lib/rspec_flake.rb CHANGED
@@ -4,6 +4,7 @@ require 'nokogiri'
4
4
  require 'xmlsimple'
5
5
  require 'posix/spawn' # http://rubygems.org/gems/posix-spawn
6
6
  require 'escape_utils'
7
+ require 'chronic_duration'
7
8
 
8
9
  # ruby requies
9
10
  require 'fileutils'
@@ -14,3 +15,4 @@ require_relative 'rspec_flake/convert'
14
15
  require_relative 'rspec_flake/parse'
15
16
  require_relative 'rspec_flake/merge'
16
17
  require_relative 'rspec_flake/stats'
18
+ require_relative 'rspec_flake/file_time'
@@ -0,0 +1,32 @@
1
+ module RSpecFlake
2
+ class << self
3
+
4
+ # Read in JUnit xml files and output an xml report
5
+ # that lists the time spent per file
6
+ #
7
+ # @example puts RSpecFlake.file_time files: Dir.glob("*.xml")
8
+ def file_time opts={}
9
+ files = opts[:files]
10
+ files = [files] unless files.is_a?(Array)
11
+
12
+ file_times = Hash.new 0
13
+
14
+ xml = Nokogiri::XML(merge_individual_xml files: files)
15
+ xml.xpath('//testcase').each do |test|
16
+ file_name = test.attr('location').split(':').first
17
+ file_times[file_name] += test.attr('time').to_i
18
+ end
19
+
20
+ file_times = file_times.sort_by { |file, time| time }.reverse
21
+
22
+ # Paste into Google Sheets with Ctrl/Command + Shift + V
23
+ output = ''
24
+ file_times.each do |file, time|
25
+ time = ChronicDuration.output(time) || '0'
26
+ output += "#{time.ljust(12)}\t#{file}\n"
27
+ end
28
+
29
+ output
30
+ end
31
+ end
32
+ end
@@ -1,6 +1,21 @@
1
1
  module RSpecFlake
2
2
  class << self
3
3
 
4
+ # Merges individual xml reports (from parallel_rspec)
5
+ # into a single combined xml file
6
+ #
7
+ # @example:
8
+ # merge_individual_xml files: Dir.glob('tmp/*.xml')
9
+ def merge_individual_xml opts={}
10
+ files = opts[:files]
11
+ files = [files] unless files.is_a?(Array)
12
+
13
+ files_hash = {}
14
+ files.each { |file| files_hash.merge!(RSpecFlake.parse_xml(file)[:testsuites][:testsuite]) }
15
+
16
+ RSpecFlake.hash_to_xml({ testsuites: { testsuite: files_hash } })
17
+ end
18
+
4
19
  # merge input xml files into a hash
5
20
  #
6
21
  # input - single path or array of paths to input xml files
@@ -69,6 +69,7 @@ module RSpecFlake
69
69
  File.read(path).encode!('UTF-8', invalid: :replace, undef: :replace, replace: '')
70
70
  end
71
71
 
72
+ # Parse JUnit xml into a Hash keyed on location
72
73
  def parse_xml xml_path
73
74
  xml = read_as_utf8 xml_path
74
75
 
@@ -2,12 +2,14 @@
2
2
  module RSpecFlake
3
3
  class Runner
4
4
  def self.run_tests opts={}
5
+ io = opts.fetch(:io, $stdout)
6
+
5
7
  count = opts[:count]
6
- raise 'count is required and must be a number' unless count && count.match(/\d+/)
8
+ raise 'count is required and must be a number' unless count && count.to_s.match(/\d+/)
7
9
  count = count.to_i
8
10
 
9
11
  command = opts[:command]
10
- raise "command is required and must start with rspec. #{command}" unless command && command.start_with?('rspec')
12
+ raise "command is required and must start with rspec. #{command}" unless command && command.include?('rspec')
11
13
 
12
14
  tmp_path = File.expand_path File.join Dir.pwd, 'tmp'
13
15
  FileUtils.rm_rf tmp_path
@@ -19,7 +21,7 @@ module RSpecFlake
19
21
  out_file = File.expand_path File.join(tmp_path, iteration.to_s + '.xml')
20
22
  xml_files << out_file
21
23
  spawn_command = %Q(#{command} --format JUnit --out "#{out_file}")
22
- puts "Running: #{spawn_command}"
24
+ io.puts "Running: #{spawn_command}"
23
25
  Process::waitpid(POSIX::Spawn::spawn(spawn_command))
24
26
  end
25
27
 
@@ -27,7 +29,7 @@ module RSpecFlake
27
29
  File.open(merge_path, 'w') do |file|
28
30
  xml = RSpecFlake.merge_xml input: xml_files
29
31
  file.write xml
30
- puts RSpecFlake.stats_from_merge_xml xml
32
+ io.puts RSpecFlake.stats_from_merge_xml xml
31
33
  end
32
34
  end
33
35
  end
@@ -1,4 +1,4 @@
1
1
  module RSpecFlake
2
- VERSION = '0.2.2' unless defined? ::RSpecFlake::VERSION
3
- DATE = '2015-01-19' unless defined? ::RSpecFlake::DATE
2
+ VERSION = '0.2.3' unless defined? ::RSpecFlake::VERSION
3
+ DATE = '2015-06-19' unless defined? ::RSpecFlake::DATE
4
4
  end
data/readme.md CHANGED
@@ -1,6 +1,10 @@
1
- #### rspec_flake [![Gem Version](https://badge.fury.io/rb/rspec_flake.svg)](http://badge.fury.io/rb/rspec_flake)[![Build Status](https://travis-ci.org/bootstraponline/rspec_flake.svg?branch=master)](https://travis-ci.org/bootstraponline/rspec_flake)
1
+ #### rspec_flake
2
+ [![Gem Version](https://badge.fury.io/rb/rspec_flake.svg)](http://badge.fury.io/rb/rspec_flake)
3
+ [![Dependency Status](https://gemnasium.com/bootstraponline/rspec_flake.svg?nocache)](https://gemnasium.com/bootstraponline/rspec_flake)
4
+ [![Build Status](https://travis-ci.org/bootstraponline/rspec_flake.svg?branch=master)](https://travis-ci.org/bootstraponline/rspec_flake/builds)
5
+ [![Coverage Status](https://coveralls.io/repos/bootstraponline/rspec_flake/badge.svg?nocache)](https://coveralls.io/r/bootstraponline/rspec_flake)
2
6
 
3
- Measure RSpec test flakiness
7
+ Measure RSpec test flakiness and performance
4
8
 
5
9
  #### Design Notes
6
10
 
@@ -27,3 +31,23 @@ a a 3 - runs: 2 - failures: 0 - avg time: 0.0 - ./spec/a_spec.rb:13
27
31
  b b 3 - runs: 2 - failures: 0 - avg time: 0.0 - ./spec/b_spec.rb:6
28
32
  b b 4 - runs: 2 - failures: 0 - avg time: 0.0 - ./spec/b_spec.rb:9
29
33
  ```
34
+
35
+ #### Parallel
36
+
37
+ When running [tests in parallel](https://github.com/grosser/parallel_tests),
38
+ the output can be [saved by env number](http://elementalselenium.com/tips/57-junit-xml)
39
+ in the `.rspec_parallel` options file
40
+
41
+ `--out junit/xml_<%= ENV['TEST_ENV_NUMBER'] %>.xml`
42
+
43
+ There's also the `.rspec` options file and flags such as `--format documentation`
44
+ can be passed directly to rspec_flake.
45
+
46
+ #### Google Sheets Note
47
+
48
+ The file time output is tab delimited and can be posted directly into
49
+ a Google Sheets document using Command/Control + Shift + V.
50
+
51
+ #### Run tests
52
+
53
+ - `thor spec`
data/release_notes.md ADDED
@@ -0,0 +1,464 @@
1
+ #### v0.2.3 2015-06-19
2
+
3
+ - [4e54fd0](https://github.com/appium/rspec_flake/commit/4e54fd0815191d2dc0b1ea64a11b031907297eff) Release 0.2.3
4
+ - [926424a](https://github.com/appium/rspec_flake/commit/926424adc1ab006893970d4663ac68c0b516419e) Fix Thorfile
5
+ - [d17c0ec](https://github.com/appium/rspec_flake/commit/d17c0ec7bc3a3d5a9f12609a6216c4908e6af94f) Test RSpecFlake::Runner.run_tests
6
+ - [7f07dde](https://github.com/appium/rspec_flake/commit/7f07dde4d10741920248ce0c34fc08485544e8cc) Cache bundler
7
+ - [e738900](https://github.com/appium/rspec_flake/commit/e738900656ec329a0bfe52e5bc18683372e808af) Setup coveralls and gemnasium
8
+ - [f355696](https://github.com/appium/rspec_flake/commit/f3556966b1274147ec7ddf48b6c88ed465b27fe5) Update readme.md
9
+ - [3d01968](https://github.com/appium/rspec_flake/commit/3d01968c16e275a4d258c3acb8246f056438ba3c) Create .rspec_parallel
10
+ - [5224921](https://github.com/appium/rspec_flake/commit/522492199894e029bb2a8d68b774bea5844326f3) Support parallel_rspec
11
+ - [3ab091e](https://github.com/appium/rspec_flake/commit/3ab091ee8ca45c31614693a7035346db0f01d688) Update specs
12
+ - [ff493b1](https://github.com/appium/rspec_flake/commit/ff493b15d231f9437f93225bd641bee21368b235) Fix specs
13
+ - [7c1d528](https://github.com/appium/rspec_flake/commit/7c1d528b0d1bbacd9e70c4828ac051f6328131ec) Clarify docs
14
+ - [b596cd0](https://github.com/appium/rspec_flake/commit/b596cd0a342a614a9d4c130050146494be138d2f) Fix specs and update docs
15
+ - [3990e6e](https://github.com/appium/rspec_flake/commit/3990e6e52c1ade662fa27f7ad6440d711ea79466) Fix specs
16
+ - [9416a70](https://github.com/appium/rspec_flake/commit/9416a7036e77b04748f465fcd94a2040d3f9fe1d) Update file time output
17
+ - [8ffa7ab](https://github.com/appium/rspec_flake/commit/8ffa7ab7e0fbf2fefda2f9b95c1bc758db5346db) Add file time calculation
18
+ - [78e2623](https://github.com/appium/rspec_flake/commit/78e2623baf6f4033664c583b932cf184d9f7eb57) Add general merge method
19
+
20
+
21
+ #### v0.2.2 2015-01-19
22
+
23
+ - [91c768f](https://github.com/appium/rspec_flake/commit/91c768f69af0bc4d7fe7bbd085c00c6e80dd5c7d) Release 0.2.2
24
+ - [e58da69](https://github.com/appium/rspec_flake/commit/e58da69ba710070e621b98e5f7b7b28b53c9ac5c) Fix arg parsing
25
+
26
+
27
+ #### v0.2.1 2015-01-19
28
+
29
+ - [f8abf03](https://github.com/appium/rspec_flake/commit/f8abf030b53818493816fd901f95aef8a727a664) Release 0.2.1
30
+ - [add98a0](https://github.com/appium/rspec_flake/commit/add98a0fad8c60c8938f050ac3d65dc6109a0a5c) Don't quote command
31
+ - [7b3ff90](https://github.com/appium/rspec_flake/commit/7b3ff907c79cc5f8de34787da1b89e26f975ab71) Update readme.md
32
+
33
+
34
+ #### v0.2.0 2015-01-19
35
+
36
+ - [abfbc14](https://github.com/appium/rspec_flake/commit/abfbc142d50404d608e49a3f009363f802874aee) Release 0.2.0
37
+ - [c7c14b6](https://github.com/appium/rspec_flake/commit/c7c14b668e3687b277c8706eb3e7b8e4ed627230) Save merged.xml outside of tmp
38
+ - [c647298](https://github.com/appium/rspec_flake/commit/c64729842cbadde8efac46d621c682aec1663fec) Update readme.md
39
+ - [b61893b](https://github.com/appium/rspec_flake/commit/b61893b73ff568ef251196621fecaf8451306154) Release 0.0.2
40
+ - [ce71138](https://github.com/appium/rspec_flake/commit/ce7113804f64b1a85c4a06171c8021e572e0a02c) Fix scope problems
41
+ - [bd53649](https://github.com/appium/rspec_flake/commit/bd536499eb790c5193fa81d60814679e95b9d4e0) Update stats
42
+ - [c4219a9](https://github.com/appium/rspec_flake/commit/c4219a9caed77003e9a299588f1f6c2146945134) Format code
43
+ - [7fa073d](https://github.com/appium/rspec_flake/commit/7fa073d7038f94c0127ac754238df5011d22d70d) Write merged.xml by default
44
+ - [0baecf7](https://github.com/appium/rspec_flake/commit/0baecf783ae99b1e2ad671d7e05936f4c05a510c) Refactor merge test
45
+ - [d99cd45](https://github.com/appium/rspec_flake/commit/d99cd458f01efe96074c1751cccd30e52d2e70e9) Store failure cdata
46
+ - [51acdf6](https://github.com/appium/rspec_flake/commit/51acdf6393a0d52d17df064e9d10fe805c5439ac) Refactor test object
47
+ - [c20efdd](https://github.com/appium/rspec_flake/commit/c20efdd997eeb47382b4fb4ef48ed027e1573d47) Add merge feature
48
+ - [11bcc70](https://github.com/appium/rspec_flake/commit/11bcc70811373ca34aa350ab3501118f348f50c1) Fix CDATA seralization
49
+ - [46646e8](https://github.com/appium/rspec_flake/commit/46646e80eda3179cb073b16b9d566f8f6fb24f74) Save failure cdata as content
50
+ - [9b927ad](https://github.com/appium/rspec_flake/commit/9b927ad3503d262e85895d66e5781190ae582f16) Add failure support
51
+ - [663591d](https://github.com/appium/rspec_flake/commit/663591d6ffd4f3ea46118d72623016f4e42e4b4b) Add design notes
52
+ - [dc715c2](https://github.com/appium/rspec_flake/commit/dc715c224e0ca7d206f13249d3827359091268f6) Update for Travis CI
53
+ - [73ceeec](https://github.com/appium/rspec_flake/commit/73ceeec21ae764885f913464b5b313c08ecae5c8) Use XmlSimple and add specs
54
+ - [f268a1e](https://github.com/appium/rspec_flake/commit/f268a1e77c35d8e391eb668c4cb0ccf9805ee618) Init rspec_flake
55
+ - [bc3375e](https://github.com/appium/rspec_flake/commit/bc3375e4a8f68d632e09df981590eeeb9532c43f) Update adb test
56
+ - [0c18668](https://github.com/appium/rspec_flake/commit/0c18668ae7c3f394fe4b8544a2b1cbca22904407) Add adb test
57
+ - [171333c](https://github.com/appium/rspec_flake/commit/171333c172d26a3ef2da0165170894a66170cff2) Capture debug logs from appium server
58
+ - [7177da4](https://github.com/appium/rspec_flake/commit/7177da4e14f711710bfec1d53e260dabcd92e3d0) Add flaky.txt support to run/one_test.rb
59
+
60
+
61
+ #### v0.1.1 2014-05-19
62
+
63
+ - [98f3c87](https://github.com/appium/rspec_flake/commit/98f3c87c1caa7c64b1d1da26f43642f4bdef04d1) Release 0.1.1
64
+ - [62d4278](https://github.com/appium/rspec_flake/commit/62d427893f19fea1729a5c3c6f79ce72e1a11919) Fix test name
65
+ - [963978f](https://github.com/appium/rspec_flake/commit/963978f041f2198dda07779505a058e971e13273) Default to no video
66
+ - [dd0ea3a](https://github.com/appium/rspec_flake/commit/dd0ea3a99180e3c687ce67aae6cbf6abe2dac163) Fix paren
67
+
68
+
69
+ #### v0.1.0 2014-04-30
70
+
71
+ - [f8a79a4](https://github.com/appium/rspec_flake/commit/f8a79a47fe01bd0e1f9e668b0a97d7d9ba6d41b7) Release 0.1.0
72
+ - [0fee9fe](https://github.com/appium/rspec_flake/commit/0fee9fe9b830573d80c707725acef229df58375e) Fix test names
73
+ - [6742eee](https://github.com/appium/rspec_flake/commit/6742eeec8c9febc118a0c771d27401d3487e26d2) Update exist check
74
+ - [0f45df9](https://github.com/appium/rspec_flake/commit/0f45df99b19b81aeb221ab4fadcf4d50cf7e8826) Enable flaky.txt for all_tests run mode
75
+ - [3203d63](https://github.com/appium/rspec_flake/commit/3203d63874c98888ebe5ef1b842f658ab8cc7abc) Update readme.md
76
+ - [add1220](https://github.com/appium/rspec_flake/commit/add12203ed41f18f4f18a37e42f798fdc69a49ca) Fix no_video crash
77
+ - [552db94](https://github.com/appium/rspec_flake/commit/552db94887ec688e094409016ddb3b46319a2e57) Android coverage and iOS video fix
78
+ - [4f2422e](https://github.com/appium/rspec_flake/commit/4f2422e9ba23171aaba3838bdac8070cbf5b9832) Update readme.md
79
+ - [031f562](https://github.com/appium/rspec_flake/commit/031f56218a07720f971e95a9aa706c66adf62acd) Use .sync instead of .flush
80
+
81
+
82
+ #### v0.0.31 2014-01-29
83
+
84
+ - [fc6bb10](https://github.com/appium/rspec_flake/commit/fc6bb107661869ff93a34a7947488ac904c3c0c5) Release 0.0.31
85
+ - [bc82107](https://github.com/appium/rspec_flake/commit/bc82107f0b51f5a74a5d44332f62a8e52468b32f) Flush stdout for CI
86
+
87
+
88
+ #### v0.0.30 2014-01-29
89
+
90
+ - [038a3d4](https://github.com/appium/rspec_flake/commit/038a3d491839b221b4784ee68b822c565150aa5c) Release 0.0.30
91
+ - [09688af](https://github.com/appium/rspec_flake/commit/09688afeb460d4a7fd7417aca260817b01eeab34) Fix err logging
92
+
93
+
94
+ #### v0.0.29 2014-01-29
95
+
96
+ - [52a30bb](https://github.com/appium/rspec_flake/commit/52a30bbcf054b92072865d95f915d148378daeba) Release 0.0.29
97
+ - [45f669c](https://github.com/appium/rspec_flake/commit/45f669cb17cf3b1adbdde4eb6de973eee825a292) Save rake.err
98
+ - [063795e](https://github.com/appium/rspec_flake/commit/063795ec00bb8f0b36ce314fb2bb2519c34e01d2) Update readme.md
99
+ - [c3b057c](https://github.com/appium/rspec_flake/commit/c3b057ccf9a9dce4a47a4d0b719a31e61fb40ad4) Clean up app logs after saving
100
+
101
+
102
+ #### v0.0.28 2014-01-24
103
+
104
+ - [17089b4](https://github.com/appium/rspec_flake/commit/17089b4f26ae32a1fe34ff40f90f528853e4f0e6) Release 0.0.28
105
+ - [b33e4a2](https://github.com/appium/rspec_flake/commit/b33e4a2f5b737056ef308f721e97dacbe033bbce) Capture iOS app specific logs
106
+ - [f5e1dde](https://github.com/appium/rspec_flake/commit/f5e1dde91a703491f10f77c9011173263d3a9bf9) Don't use adb logcat when running on Sauce
107
+
108
+
109
+ #### v0.0.27 2014-01-18
110
+
111
+ - [a342407](https://github.com/appium/rspec_flake/commit/a342407388e8d8b5bdd09ba2293f2baa25f060b1) Release 0.0.27
112
+ - [410a64e](https://github.com/appium/rspec_flake/commit/410a64ef7b39380418c84d77459d9a9355df27fa) Retry failed start after 60 seconds
113
+
114
+
115
+ #### v0.0.26 2014-01-18
116
+
117
+ - [844516a](https://github.com/appium/rspec_flake/commit/844516a79eb5753aec263fc9fd88dd2fbda9147c) Release 0.0.26
118
+ - [4a2b1f5](https://github.com/appium/rspec_flake/commit/4a2b1f5a5d663e8110cb58188450c6d1d80973b5) Rescue Errno::EAGAIN
119
+ - [a547503](https://github.com/appium/rspec_flake/commit/a547503c3c05b434947a9bb5bc693c0559fdf828) Update readme.md
120
+
121
+
122
+ #### v0.0.25 2014-01-13
123
+
124
+ - [8df71ee](https://github.com/appium/rspec_flake/commit/8df71eebc6830c7d8375dfc1d2fc17e2a4829540) Release 0.0.25
125
+ - [e15c023](https://github.com/appium/rspec_flake/commit/e15c0239f004fae6387fcd882338a9064591407b) Try relying on Appium for reset on session start
126
+ - [8493e5f](https://github.com/appium/rspec_flake/commit/8493e5f128b25738f7148620800b0b0e30685d10) Add note to android reset
127
+
128
+
129
+ #### v0.0.24 2014-01-09
130
+
131
+ - [83081fe](https://github.com/appium/rspec_flake/commit/83081fea11707fd045602038f3991be4c21433f0) Release 0.0.24
132
+ - [d43b541](https://github.com/appium/rspec_flake/commit/d43b5410f1d6a48b97fcafc4d8a8998bfae29437) Tail without using appium for 100% success
133
+
134
+
135
+ #### v0.0.23 2014-01-08
136
+
137
+ - [2b19619](https://github.com/appium/rspec_flake/commit/2b19619a2f544c0e29592a2eb814276cb61f1266) Release 0.0.23
138
+ - [44b1375](https://github.com/appium/rspec_flake/commit/44b137532aedddcaf3eacb7350e7ce73f7c55aac) Add 10 minute test timeout
139
+ - [cefcfe3](https://github.com/appium/rspec_flake/commit/cefcfe35f439e1939f0f8b1b63ffea3daecb685d) Update readme.md
140
+ - [3335ff0](https://github.com/appium/rspec_flake/commit/3335ff015e9f04183e2bc408025c42785801839d) Fix appium log extension
141
+
142
+
143
+ #### v0.0.22 2014-01-03
144
+
145
+ - [e60803e](https://github.com/appium/rspec_flake/commit/e60803e2e240617f7d7500c0cfc46e919033235d) Release 0.0.22
146
+ - [a2783c2](https://github.com/appium/rspec_flake/commit/a2783c2ebb7f1c53636ad8e946371443408f1327) Update screen recording
147
+ - [9f6809f](https://github.com/appium/rspec_flake/commit/9f6809ff8ef46d3d8c690ae208a98431a951164b) Ensure unresponsive screen-recording doesn't stop test execution
148
+ - [ca63614](https://github.com/appium/rspec_flake/commit/ca636144dbb2871c86773711fadc6e176ed239e9) Fix video in run modes
149
+ - [d00e5d6](https://github.com/appium/rspec_flake/commit/d00e5d6f3f73f3ba0f3336ae7666587ad1b264fb) Pass no_video boolean to rake
150
+ - [91ec551](https://github.com/appium/rspec_flake/commit/91ec551284736f76b137b18b028f4211d9b46287) Update readme.md
151
+ - [2d6b276](https://github.com/appium/rspec_flake/commit/2d6b2766a110f187d903f77bdd73999d3930e845) Add --no-video flag
152
+ - [e9312c1](https://github.com/appium/rspec_flake/commit/e9312c1f2a9a6c729658ddb6fc826a169a86be0e) Add sample Ruby integration
153
+
154
+
155
+ #### v0.0.21 2014-01-02
156
+
157
+ - [10babb7](https://github.com/appium/rspec_flake/commit/10babb7dcee2e811c6fb6a78d5dcf2c6fffba2f2) Release 0.0.21
158
+ - [3d93fb2](https://github.com/appium/rspec_flake/commit/3d93fb2b2bd6dd2b8a453750c5425c73cf3db570) Add screen recording to flaky
159
+ - [ec67868](https://github.com/appium/rspec_flake/commit/ec6786818640f22183ce146f3bd75e868d8deada) Fix spacing
160
+
161
+
162
+ #### v0.0.20 2013-12-26
163
+
164
+ - [858047e](https://github.com/appium/rspec_flake/commit/858047e530e8d1e4294bfaa91f26492b36a68fda) Release 0.0.20
165
+ - [cb621f2](https://github.com/appium/rspec_flake/commit/cb621f2c885ef30da3b257d1394eda6104c11147) First attempt at 1x 2x
166
+ - [f2fa23c](https://github.com/appium/rspec_flake/commit/f2fa23c662cfd9a72f619191f6990d435e422671) Flush to file immediately
167
+
168
+
169
+ #### v0.0.19 2013-12-23
170
+
171
+ - [25630f1](https://github.com/appium/rspec_flake/commit/25630f1d536715db8539c2d96adba15f5b35d5e4) Release 0.0.19
172
+ - [7006405](https://github.com/appium/rspec_flake/commit/70064050daec3d94608063edad94e37a0066d4c5) Save failed test names to fail.txt
173
+
174
+
175
+ #### v0.0.18 2013-12-23
176
+
177
+ - [2843ce6](https://github.com/appium/rspec_flake/commit/2843ce61c0e9dd6f0cebac2e2ab1486044f4ec57) Release 0.0.18
178
+ - [83523b0](https://github.com/appium/rspec_flake/commit/83523b010d480f37f36b83db2ba9c09516126150) Pull in system logs from /tmp/flaky_logs.txt
179
+ - [3d6a17d](https://github.com/appium/rspec_flake/commit/3d6a17df86a92e2b6e138796b48554f84597ec6a) Improve Simulator clean up
180
+ - [0107484](https://github.com/appium/rspec_flake/commit/01074843ed129cc1693f6a82957fe392ff5d9183) Add space
181
+ - [5a7ba98](https://github.com/appium/rspec_flake/commit/5a7ba988dfd42341680ac2380c9125c38ed37438) Detect Sauce & appium_lib :export_session
182
+ - [e82eeac](https://github.com/appium/rspec_flake/commit/e82eeac727b98485d4bcc77eb4be4af44e502cb9) Fix another Sauce crash
183
+ - [b9a43e4](https://github.com/appium/rspec_flake/commit/b9a43e4e46c16be86a0a612367cfbb6555ad2f48) Fix another sauce crash
184
+ - [53daec2](https://github.com/appium/rspec_flake/commit/53daec203399e529d76e1ed8cf7ff51b646169da) Fix Sauce crash
185
+ - [3cc9425](https://github.com/appium/rspec_flake/commit/3cc9425f188b0023d3c58aa911a18e12db5ee48a) More Sauce updates
186
+ - [9cefd1e](https://github.com/appium/rspec_flake/commit/9cefd1e9c0229f08d029a5fac7672cf4ac0ad00b) Support running on Sauce
187
+ - [2b90cef](https://github.com/appium/rspec_flake/commit/2b90cef5f3ec933c93c8bb675bd7987238d1fccc) Try not to return nil
188
+
189
+
190
+ #### v0.0.17 2013-12-10
191
+
192
+ - [64078c1](https://github.com/appium/rspec_flake/commit/64078c1ed2ee8a96a52f05aefb460216b48ea2b5) Release 0.0.17
193
+ - [208c9bb](https://github.com/appium/rspec_flake/commit/208c9bbbeb17f2a70965cd530c3f5ee8d9a32369) Disable coloring
194
+ - [bf30e8e](https://github.com/appium/rspec_flake/commit/bf30e8ed918a184f34ba316f472e5c0bfe9c0bb1) Fix nil error
195
+ - [b19f9e5](https://github.com/appium/rspec_flake/commit/b19f9e548bcc40f70b232ac2225b7c71abd01415) Don't escape appium log. Timeout after 60s of color
196
+ - [a4a569f](https://github.com/appium/rspec_flake/commit/a4a569fbaebdce9683d8294afae61ff7712a0e92) Record crashes per test in crashes.txt
197
+
198
+
199
+ #### v0.0.16 2013-12-09
200
+
201
+ - [fed719a](https://github.com/appium/rspec_flake/commit/fed719af184a6f38a4d29b3c65f1906d6917c1fb) Release 0.0.16
202
+ - [4aa7711](https://github.com/appium/rspec_flake/commit/4aa7711b206a71338fc8d771c5ef49ec036f1ab8) Fix file exists error. Write current test to current.txt
203
+ - [1b0589c](https://github.com/appium/rspec_flake/commit/1b0589c232219b5c535432976056a6d5c30ed073) Update todo.md
204
+
205
+
206
+ #### v0.0.15 2013-12-05
207
+
208
+ - [5397189](https://github.com/appium/rspec_flake/commit/539718980a1c1578da63c30f773e5c249415b2b9) Release 0.0.15
209
+ - [62aa23a](https://github.com/appium/rspec_flake/commit/62aa23a99d3e18c39bc47c0a3075f803aabc7d1b) Update readme.md
210
+ - [c6b5e9c](https://github.com/appium/rspec_flake/commit/c6b5e9cda34d76d4edf149eb90c7776a4cf23b2c) Add run from file option
211
+ - [37ed2c8](https://github.com/appium/rspec_flake/commit/37ed2c89b78449f0c91b5582551f11de94435b83) Update todo.md
212
+
213
+
214
+ #### v0.0.14 2013-11-22
215
+
216
+ - [6f21c6f](https://github.com/appium/rspec_flake/commit/6f21c6fb899628a41e5e98e2a837e376222edf5c) Release 0.0.14
217
+ - [0cf4855](https://github.com/appium/rspec_flake/commit/0cf485536c066b85951f3ed4317ad593db8c3bf6) Fix crash on nil log
218
+
219
+
220
+ #### v0.0.13 2013-11-12
221
+
222
+ - [33fdc42](https://github.com/appium/rspec_flake/commit/33fdc424ccf7534c13897a7c5bc1d6e7991bfa4e) Release 0.0.13
223
+ - [201ad79](https://github.com/appium/rspec_flake/commit/201ad790dfde1abfe7984b74812346c0d058d3e0) Buffer the appium server log
224
+ - [d86560b](https://github.com/appium/rspec_flake/commit/d86560b00a8c718c92c94fea10b43b11663720a2) Add note on checking for process existance
225
+ - [5f90fb2](https://github.com/appium/rspec_flake/commit/5f90fb230dd36e85eb93fa0420689ab8a0ccffc8) Stop tail before starting a new one
226
+ - [3d9c392](https://github.com/appium/rspec_flake/commit/3d9c392e8fb231f48513f8883c22d36aa66857db) Update to new escape_utils
227
+ - [771a57b](https://github.com/appium/rspec_flake/commit/771a57b9ca2dce6f38bfcb5c3df31b31fa24cd90) Update readme.md
228
+ - [e1bcde7](https://github.com/appium/rspec_flake/commit/e1bcde7048a40586d618e6195cbfea98b636a518) Fix iOS app removal to work on all iPhone Simulators
229
+ - [66d8f55](https://github.com/appium/rspec_flake/commit/66d8f5570622a85200587689ed699e603dd106bb) Update readme.md
230
+
231
+
232
+ #### v0.0.12 2013-11-04
233
+
234
+ - [d10c66d](https://github.com/appium/rspec_flake/commit/d10c66dc5a882d54a64fe70709968d856a6a932e) Release 0.0.12
235
+ - [ec86209](https://github.com/appium/rspec_flake/commit/ec862093b64a0319c1f9bc233858e3568acbfcc1) Move applescript to the flake auth command
236
+ - [983998a](https://github.com/appium/rspec_flake/commit/983998a4fdcf5809b24d1c18b2f48ff67c9a70db) Revert "Work around OS X auth issue"
237
+
238
+
239
+ #### v0.0.11 2013-11-04
240
+
241
+ - [017a45f](https://github.com/appium/rspec_flake/commit/017a45ffb32663570c6e6a2f0f7943a143edaf5f) Release 0.0.11
242
+ - [2ec2700](https://github.com/appium/rspec_flake/commit/2ec27002c339ab515edcee607f9959217f44aef8) Fix docs
243
+ - [531709e](https://github.com/appium/rspec_flake/commit/531709e68e676d9642239ef1555ded0ff4447d82) Update readme.md
244
+ - [0b633e0](https://github.com/appium/rspec_flake/commit/0b633e08db8c68e9dad1270235e3bf34bbcba5b7) Update docs
245
+ - [a05118d](https://github.com/appium/rspec_flake/commit/a05118d3f723d79e15fda1dc4e90acbc00273745) Update readme.md
246
+ - [50c5e1e](https://github.com/appium/rspec_flake/commit/50c5e1e4f7fc8d71a0762ae142c95105bed82f34) Update docs
247
+
248
+
249
+ #### v0.0.10 2013-11-01
250
+
251
+ - [2930fad](https://github.com/appium/rspec_flake/commit/2930fad03109ef705837d72e5a2457895974f741) Release 0.0.10
252
+ - [8507820](https://github.com/appium/rspec_flake/commit/850782043bf6f9acdc8b54d91ed2e91050c89b95) Work around OS X auth issue
253
+ - [1ae3727](https://github.com/appium/rspec_flake/commit/1ae3727af3258adab97ec6ef72b6bbbd34360bbb) Add test count
254
+
255
+
256
+ #### v0.0.9 2013-10-21
257
+
258
+ - [2e8faf8](https://github.com/appium/rspec_flake/commit/2e8faf8aadf71d61f327e5e587c625345b5a62d6) Release 0.0.9
259
+ - [f03f4b6](https://github.com/appium/rspec_flake/commit/f03f4b65ae80a6b8c528aadd962c07c5460b8790) Failure is 0 success
260
+ - [24ece72](https://github.com/appium/rspec_flake/commit/24ece72fc9554b6dd3eb94823e87694b06fe05af) Store test results in folders
261
+
262
+
263
+ #### v0.0.8 2013-10-17
264
+
265
+ - [ed116e9](https://github.com/appium/rspec_flake/commit/ed116e92698360e9e587b27df054888efdcda3d1) Release 0.0.8
266
+ - [9baf904](https://github.com/appium/rspec_flake/commit/9baf9045e8947beb403285e481e05e0bc6b815ee) Update to work on Appium master
267
+ - [f4d5cb9](https://github.com/appium/rspec_flake/commit/f4d5cb9253efb89a11efdcec09c45380987b665c) Enable Android
268
+ - [7482640](https://github.com/appium/rspec_flake/commit/748264071f5486118e0a0cbd5dda44b616ffac0a) Add logcat class
269
+ - [d40eace](https://github.com/appium/rspec_flake/commit/d40eace48b498328e59095a3dc7d99da2fb0a904) Start of reset for Android
270
+ - [6bc2ce8](https://github.com/appium/rspec_flake/commit/6bc2ce83672eb4cdb837985a6c120c964e479db9) End instruments process
271
+ - [92bc979](https://github.com/appium/rspec_flake/commit/92bc97968916dbba6fbe8c256a7c6c9020f76c81) Add run all tests documentation
272
+
273
+
274
+ #### v0.0.7 2013-10-11
275
+
276
+ - [26bc5cc](https://github.com/appium/rspec_flake/commit/26bc5cc6b43e3de7398e6d9e8c9bb615353020eb) Release 0.0.7
277
+ - [9e854aa](https://github.com/appium/rspec_flake/commit/9e854aae8c4b7eb64afc79c3f8716944ea9667ad) Add all tests run option
278
+ - [153119a](https://github.com/appium/rspec_flake/commit/153119a59ba6b8c1d4c2f6d6311aa87f73b1a635) Add link to appium in the readme
279
+
280
+
281
+ #### v0.0.6 2013-10-03
282
+
283
+ - [86d8137](https://github.com/appium/rspec_flake/commit/86d8137e3f1f348be8ee76e42bea0de36280d5a5) Release 0.0.6
284
+ - [0ed637c](https://github.com/appium/rspec_flake/commit/0ed637c213ba59d82fe72a6eb8a22567a9f06a60) Don't escape the iOS simulator logs
285
+ - [6a16eef](https://github.com/appium/rspec_flake/commit/6a16eefde288b68a6695e2e093693c68274fb4f5) Add todo
286
+ - [b8395d7](https://github.com/appium/rspec_flake/commit/b8395d7fc78b75a11a5517f1e6b4c8784522ecee) Save tail of /var/log/system.log
287
+ - [d153c91](https://github.com/appium/rspec_flake/commit/d153c91d072d691d2e499b633f69f10751f8e9bd) Stop appium once we're done
288
+ - [a80dbb1](https://github.com/appium/rspec_flake/commit/a80dbb1062ee11ad53a092c3f3f5a5796d987d84) Update readme.md
289
+ - [6b3ebe8](https://github.com/appium/rspec_flake/commit/6b3ebe8a5ee432206c582f4b0d1e9f877d712ae3) Explain what the gem does
290
+ - [125f960](https://github.com/appium/rspec_flake/commit/125f9608b49a8c939d74699ad3e73f743638bf57) Update links
291
+
292
+
293
+ #### v0.0.5 2013-09-30
294
+
295
+ - [f4c64f7](https://github.com/appium/rspec_flake/commit/f4c64f721f80bc0ce6519ce3f115486cd097d4e0) Release 0.0.5
296
+ - [55a772c](https://github.com/appium/rspec_flake/commit/55a772c264c4ead55487f0daf839ea8e307db483) Detect invalid appium home
297
+ - [eaa9282](https://github.com/appium/rspec_flake/commit/eaa9282a073d19c56b7e33612c157adab5c7d242) Update
298
+ - [04cf471](https://github.com/appium/rspec_flake/commit/04cf471799ff02174403739849062d4d9db234e8) Add badges
299
+ - [1f20686](https://github.com/appium/rspec_flake/commit/1f20686c84e81408c87bce41d51e6381205bf3b4) Fix appium discovery
300
+ - [d603941](https://github.com/appium/rspec_flake/commit/d603941210edd806638abca243163cc74eb779bf) Add readme
301
+ - [6965112](https://github.com/appium/rspec_flake/commit/69651128a79cd06674547f9f92e9acd76a4f9a4a) Don't save uncolored duplicate log
302
+ - [0b255c8](https://github.com/appium/rspec_flake/commit/0b255c82e90070fe64ba3e4001c93111f83b7725) Rename executable to flake
303
+
304
+
305
+ #### v0.0.4 2013-09-27
306
+
307
+ - [7e9918f](https://github.com/appium/rspec_flake/commit/7e9918f5a5dbf7027e448e177780be68857d11fa) Release 0.0.4
308
+ - [6f3b278](https://github.com/appium/rspec_flake/commit/6f3b27864a7a82554ef228806bfd3e3b1c69b9d0) Add readme
309
+ - [3ee2e43](https://github.com/appium/rspec_flake/commit/3ee2e43723a390d220656e128503f4e0ddd9c738) Fix bin/flaky
310
+
311
+
312
+ #### v0.0.3 2013-09-27
313
+
314
+ - [b61893b](https://github.com/appium/rspec_flake/commit/b61893b73ff568ef251196621fecaf8451306154) Release 0.0.2
315
+ - [ce71138](https://github.com/appium/rspec_flake/commit/ce7113804f64b1a85c4a06171c8021e572e0a02c) Fix scope problems
316
+ - [bd53649](https://github.com/appium/rspec_flake/commit/bd536499eb790c5193fa81d60814679e95b9d4e0) Update stats
317
+ - [c4219a9](https://github.com/appium/rspec_flake/commit/c4219a9caed77003e9a299588f1f6c2146945134) Format code
318
+ - [7fa073d](https://github.com/appium/rspec_flake/commit/7fa073d7038f94c0127ac754238df5011d22d70d) Write merged.xml by default
319
+ - [0baecf7](https://github.com/appium/rspec_flake/commit/0baecf783ae99b1e2ad671d7e05936f4c05a510c) Refactor merge test
320
+ - [d99cd45](https://github.com/appium/rspec_flake/commit/d99cd458f01efe96074c1751cccd30e52d2e70e9) Store failure cdata
321
+ - [51acdf6](https://github.com/appium/rspec_flake/commit/51acdf6393a0d52d17df064e9d10fe805c5439ac) Refactor test object
322
+ - [c20efdd](https://github.com/appium/rspec_flake/commit/c20efdd997eeb47382b4fb4ef48ed027e1573d47) Add merge feature
323
+ - [11bcc70](https://github.com/appium/rspec_flake/commit/11bcc70811373ca34aa350ab3501118f348f50c1) Fix CDATA seralization
324
+ - [46646e8](https://github.com/appium/rspec_flake/commit/46646e80eda3179cb073b16b9d566f8f6fb24f74) Save failure cdata as content
325
+ - [9b927ad](https://github.com/appium/rspec_flake/commit/9b927ad3503d262e85895d66e5781190ae582f16) Add failure support
326
+ - [663591d](https://github.com/appium/rspec_flake/commit/663591d6ffd4f3ea46118d72623016f4e42e4b4b) Add design notes
327
+ - [dc715c2](https://github.com/appium/rspec_flake/commit/dc715c224e0ca7d206f13249d3827359091268f6) Update for Travis CI
328
+ - [73ceeec](https://github.com/appium/rspec_flake/commit/73ceeec21ae764885f913464b5b313c08ecae5c8) Use XmlSimple and add specs
329
+ - [f268a1e](https://github.com/appium/rspec_flake/commit/f268a1e77c35d8e391eb668c4cb0ccf9805ee618) Init rspec_flake
330
+ - [bc3375e](https://github.com/appium/rspec_flake/commit/bc3375e4a8f68d632e09df981590eeeb9532c43f) Update adb test
331
+ - [0c18668](https://github.com/appium/rspec_flake/commit/0c18668ae7c3f394fe4b8544a2b1cbca22904407) Add adb test
332
+ - [171333c](https://github.com/appium/rspec_flake/commit/171333c172d26a3ef2da0165170894a66170cff2) Capture debug logs from appium server
333
+ - [7177da4](https://github.com/appium/rspec_flake/commit/7177da4e14f711710bfec1d53e260dabcd92e3d0) Add flaky.txt support to run/one_test.rb
334
+ - [98f3c87](https://github.com/appium/rspec_flake/commit/98f3c87c1caa7c64b1d1da26f43642f4bdef04d1) Release 0.1.1
335
+ - [62d4278](https://github.com/appium/rspec_flake/commit/62d427893f19fea1729a5c3c6f79ce72e1a11919) Fix test name
336
+ - [963978f](https://github.com/appium/rspec_flake/commit/963978f041f2198dda07779505a058e971e13273) Default to no video
337
+ - [dd0ea3a](https://github.com/appium/rspec_flake/commit/dd0ea3a99180e3c687ce67aae6cbf6abe2dac163) Fix paren
338
+ - [f8a79a4](https://github.com/appium/rspec_flake/commit/f8a79a47fe01bd0e1f9e668b0a97d7d9ba6d41b7) Release 0.1.0
339
+ - [0fee9fe](https://github.com/appium/rspec_flake/commit/0fee9fe9b830573d80c707725acef229df58375e) Fix test names
340
+ - [6742eee](https://github.com/appium/rspec_flake/commit/6742eeec8c9febc118a0c771d27401d3487e26d2) Update exist check
341
+ - [0f45df9](https://github.com/appium/rspec_flake/commit/0f45df99b19b81aeb221ab4fadcf4d50cf7e8826) Enable flaky.txt for all_tests run mode
342
+ - [3203d63](https://github.com/appium/rspec_flake/commit/3203d63874c98888ebe5ef1b842f658ab8cc7abc) Update readme.md
343
+ - [add1220](https://github.com/appium/rspec_flake/commit/add12203ed41f18f4f18a37e42f798fdc69a49ca) Fix no_video crash
344
+ - [552db94](https://github.com/appium/rspec_flake/commit/552db94887ec688e094409016ddb3b46319a2e57) Android coverage and iOS video fix
345
+ - [4f2422e](https://github.com/appium/rspec_flake/commit/4f2422e9ba23171aaba3838bdac8070cbf5b9832) Update readme.md
346
+ - [031f562](https://github.com/appium/rspec_flake/commit/031f56218a07720f971e95a9aa706c66adf62acd) Use .sync instead of .flush
347
+ - [fc6bb10](https://github.com/appium/rspec_flake/commit/fc6bb107661869ff93a34a7947488ac904c3c0c5) Release 0.0.31
348
+ - [bc82107](https://github.com/appium/rspec_flake/commit/bc82107f0b51f5a74a5d44332f62a8e52468b32f) Flush stdout for CI
349
+ - [038a3d4](https://github.com/appium/rspec_flake/commit/038a3d491839b221b4784ee68b822c565150aa5c) Release 0.0.30
350
+ - [09688af](https://github.com/appium/rspec_flake/commit/09688afeb460d4a7fd7417aca260817b01eeab34) Fix err logging
351
+ - [52a30bb](https://github.com/appium/rspec_flake/commit/52a30bbcf054b92072865d95f915d148378daeba) Release 0.0.29
352
+ - [45f669c](https://github.com/appium/rspec_flake/commit/45f669cb17cf3b1adbdde4eb6de973eee825a292) Save rake.err
353
+ - [063795e](https://github.com/appium/rspec_flake/commit/063795ec00bb8f0b36ce314fb2bb2519c34e01d2) Update readme.md
354
+ - [c3b057c](https://github.com/appium/rspec_flake/commit/c3b057ccf9a9dce4a47a4d0b719a31e61fb40ad4) Clean up app logs after saving
355
+ - [17089b4](https://github.com/appium/rspec_flake/commit/17089b4f26ae32a1fe34ff40f90f528853e4f0e6) Release 0.0.28
356
+ - [b33e4a2](https://github.com/appium/rspec_flake/commit/b33e4a2f5b737056ef308f721e97dacbe033bbce) Capture iOS app specific logs
357
+ - [f5e1dde](https://github.com/appium/rspec_flake/commit/f5e1dde91a703491f10f77c9011173263d3a9bf9) Don't use adb logcat when running on Sauce
358
+ - [a342407](https://github.com/appium/rspec_flake/commit/a342407388e8d8b5bdd09ba2293f2baa25f060b1) Release 0.0.27
359
+ - [410a64e](https://github.com/appium/rspec_flake/commit/410a64ef7b39380418c84d77459d9a9355df27fa) Retry failed start after 60 seconds
360
+ - [844516a](https://github.com/appium/rspec_flake/commit/844516a79eb5753aec263fc9fd88dd2fbda9147c) Release 0.0.26
361
+ - [4a2b1f5](https://github.com/appium/rspec_flake/commit/4a2b1f5a5d663e8110cb58188450c6d1d80973b5) Rescue Errno::EAGAIN
362
+ - [a547503](https://github.com/appium/rspec_flake/commit/a547503c3c05b434947a9bb5bc693c0559fdf828) Update readme.md
363
+ - [8df71ee](https://github.com/appium/rspec_flake/commit/8df71eebc6830c7d8375dfc1d2fc17e2a4829540) Release 0.0.25
364
+ - [e15c023](https://github.com/appium/rspec_flake/commit/e15c0239f004fae6387fcd882338a9064591407b) Try relying on Appium for reset on session start
365
+ - [8493e5f](https://github.com/appium/rspec_flake/commit/8493e5f128b25738f7148620800b0b0e30685d10) Add note to android reset
366
+ - [83081fe](https://github.com/appium/rspec_flake/commit/83081fea11707fd045602038f3991be4c21433f0) Release 0.0.24
367
+ - [d43b541](https://github.com/appium/rspec_flake/commit/d43b5410f1d6a48b97fcafc4d8a8998bfae29437) Tail without using appium for 100% success
368
+ - [2b19619](https://github.com/appium/rspec_flake/commit/2b19619a2f544c0e29592a2eb814276cb61f1266) Release 0.0.23
369
+ - [44b1375](https://github.com/appium/rspec_flake/commit/44b137532aedddcaf3eacb7350e7ce73f7c55aac) Add 10 minute test timeout
370
+ - [cefcfe3](https://github.com/appium/rspec_flake/commit/cefcfe35f439e1939f0f8b1b63ffea3daecb685d) Update readme.md
371
+ - [3335ff0](https://github.com/appium/rspec_flake/commit/3335ff015e9f04183e2bc408025c42785801839d) Fix appium log extension
372
+ - [e60803e](https://github.com/appium/rspec_flake/commit/e60803e2e240617f7d7500c0cfc46e919033235d) Release 0.0.22
373
+ - [a2783c2](https://github.com/appium/rspec_flake/commit/a2783c2ebb7f1c53636ad8e946371443408f1327) Update screen recording
374
+ - [9f6809f](https://github.com/appium/rspec_flake/commit/9f6809ff8ef46d3d8c690ae208a98431a951164b) Ensure unresponsive screen-recording doesn't stop test execution
375
+ - [ca63614](https://github.com/appium/rspec_flake/commit/ca636144dbb2871c86773711fadc6e176ed239e9) Fix video in run modes
376
+ - [d00e5d6](https://github.com/appium/rspec_flake/commit/d00e5d6f3f73f3ba0f3336ae7666587ad1b264fb) Pass no_video boolean to rake
377
+ - [91ec551](https://github.com/appium/rspec_flake/commit/91ec551284736f76b137b18b028f4211d9b46287) Update readme.md
378
+ - [2d6b276](https://github.com/appium/rspec_flake/commit/2d6b2766a110f187d903f77bdd73999d3930e845) Add --no-video flag
379
+ - [e9312c1](https://github.com/appium/rspec_flake/commit/e9312c1f2a9a6c729658ddb6fc826a169a86be0e) Add sample Ruby integration
380
+ - [10babb7](https://github.com/appium/rspec_flake/commit/10babb7dcee2e811c6fb6a78d5dcf2c6fffba2f2) Release 0.0.21
381
+ - [3d93fb2](https://github.com/appium/rspec_flake/commit/3d93fb2b2bd6dd2b8a453750c5425c73cf3db570) Add screen recording to flaky
382
+ - [ec67868](https://github.com/appium/rspec_flake/commit/ec6786818640f22183ce146f3bd75e868d8deada) Fix spacing
383
+ - [858047e](https://github.com/appium/rspec_flake/commit/858047e530e8d1e4294bfaa91f26492b36a68fda) Release 0.0.20
384
+ - [cb621f2](https://github.com/appium/rspec_flake/commit/cb621f2c885ef30da3b257d1394eda6104c11147) First attempt at 1x 2x
385
+ - [f2fa23c](https://github.com/appium/rspec_flake/commit/f2fa23c662cfd9a72f619191f6990d435e422671) Flush to file immediately
386
+ - [25630f1](https://github.com/appium/rspec_flake/commit/25630f1d536715db8539c2d96adba15f5b35d5e4) Release 0.0.19
387
+ - [7006405](https://github.com/appium/rspec_flake/commit/70064050daec3d94608063edad94e37a0066d4c5) Save failed test names to fail.txt
388
+ - [2843ce6](https://github.com/appium/rspec_flake/commit/2843ce61c0e9dd6f0cebac2e2ab1486044f4ec57) Release 0.0.18
389
+ - [83523b0](https://github.com/appium/rspec_flake/commit/83523b010d480f37f36b83db2ba9c09516126150) Pull in system logs from /tmp/flaky_logs.txt
390
+ - [3d6a17d](https://github.com/appium/rspec_flake/commit/3d6a17df86a92e2b6e138796b48554f84597ec6a) Improve Simulator clean up
391
+ - [0107484](https://github.com/appium/rspec_flake/commit/01074843ed129cc1693f6a82957fe392ff5d9183) Add space
392
+ - [5a7ba98](https://github.com/appium/rspec_flake/commit/5a7ba988dfd42341680ac2380c9125c38ed37438) Detect Sauce & appium_lib :export_session
393
+ - [e82eeac](https://github.com/appium/rspec_flake/commit/e82eeac727b98485d4bcc77eb4be4af44e502cb9) Fix another Sauce crash
394
+ - [b9a43e4](https://github.com/appium/rspec_flake/commit/b9a43e4e46c16be86a0a612367cfbb6555ad2f48) Fix another sauce crash
395
+ - [53daec2](https://github.com/appium/rspec_flake/commit/53daec203399e529d76e1ed8cf7ff51b646169da) Fix Sauce crash
396
+ - [3cc9425](https://github.com/appium/rspec_flake/commit/3cc9425f188b0023d3c58aa911a18e12db5ee48a) More Sauce updates
397
+ - [9cefd1e](https://github.com/appium/rspec_flake/commit/9cefd1e9c0229f08d029a5fac7672cf4ac0ad00b) Support running on Sauce
398
+ - [2b90cef](https://github.com/appium/rspec_flake/commit/2b90cef5f3ec933c93c8bb675bd7987238d1fccc) Try not to return nil
399
+ - [64078c1](https://github.com/appium/rspec_flake/commit/64078c1ed2ee8a96a52f05aefb460216b48ea2b5) Release 0.0.17
400
+ - [208c9bb](https://github.com/appium/rspec_flake/commit/208c9bbbeb17f2a70965cd530c3f5ee8d9a32369) Disable coloring
401
+ - [bf30e8e](https://github.com/appium/rspec_flake/commit/bf30e8ed918a184f34ba316f472e5c0bfe9c0bb1) Fix nil error
402
+ - [b19f9e5](https://github.com/appium/rspec_flake/commit/b19f9e548bcc40f70b232ac2225b7c71abd01415) Don't escape appium log. Timeout after 60s of color
403
+ - [a4a569f](https://github.com/appium/rspec_flake/commit/a4a569fbaebdce9683d8294afae61ff7712a0e92) Record crashes per test in crashes.txt
404
+ - [fed719a](https://github.com/appium/rspec_flake/commit/fed719af184a6f38a4d29b3c65f1906d6917c1fb) Release 0.0.16
405
+ - [4aa7711](https://github.com/appium/rspec_flake/commit/4aa7711b206a71338fc8d771c5ef49ec036f1ab8) Fix file exists error. Write current test to current.txt
406
+ - [1b0589c](https://github.com/appium/rspec_flake/commit/1b0589c232219b5c535432976056a6d5c30ed073) Update todo.md
407
+ - [5397189](https://github.com/appium/rspec_flake/commit/539718980a1c1578da63c30f773e5c249415b2b9) Release 0.0.15
408
+ - [62aa23a](https://github.com/appium/rspec_flake/commit/62aa23a99d3e18c39bc47c0a3075f803aabc7d1b) Update readme.md
409
+ - [c6b5e9c](https://github.com/appium/rspec_flake/commit/c6b5e9cda34d76d4edf149eb90c7776a4cf23b2c) Add run from file option
410
+ - [37ed2c8](https://github.com/appium/rspec_flake/commit/37ed2c89b78449f0c91b5582551f11de94435b83) Update todo.md
411
+ - [6f21c6f](https://github.com/appium/rspec_flake/commit/6f21c6fb899628a41e5e98e2a837e376222edf5c) Release 0.0.14
412
+ - [0cf4855](https://github.com/appium/rspec_flake/commit/0cf485536c066b85951f3ed4317ad593db8c3bf6) Fix crash on nil log
413
+ - [33fdc42](https://github.com/appium/rspec_flake/commit/33fdc424ccf7534c13897a7c5bc1d6e7991bfa4e) Release 0.0.13
414
+ - [201ad79](https://github.com/appium/rspec_flake/commit/201ad790dfde1abfe7984b74812346c0d058d3e0) Buffer the appium server log
415
+ - [d86560b](https://github.com/appium/rspec_flake/commit/d86560b00a8c718c92c94fea10b43b11663720a2) Add note on checking for process existance
416
+ - [5f90fb2](https://github.com/appium/rspec_flake/commit/5f90fb230dd36e85eb93fa0420689ab8a0ccffc8) Stop tail before starting a new one
417
+ - [3d9c392](https://github.com/appium/rspec_flake/commit/3d9c392e8fb231f48513f8883c22d36aa66857db) Update to new escape_utils
418
+ - [771a57b](https://github.com/appium/rspec_flake/commit/771a57b9ca2dce6f38bfcb5c3df31b31fa24cd90) Update readme.md
419
+ - [e1bcde7](https://github.com/appium/rspec_flake/commit/e1bcde7048a40586d618e6195cbfea98b636a518) Fix iOS app removal to work on all iPhone Simulators
420
+ - [66d8f55](https://github.com/appium/rspec_flake/commit/66d8f5570622a85200587689ed699e603dd106bb) Update readme.md
421
+ - [d10c66d](https://github.com/appium/rspec_flake/commit/d10c66dc5a882d54a64fe70709968d856a6a932e) Release 0.0.12
422
+ - [ec86209](https://github.com/appium/rspec_flake/commit/ec862093b64a0319c1f9bc233858e3568acbfcc1) Move applescript to the flake auth command
423
+ - [983998a](https://github.com/appium/rspec_flake/commit/983998a4fdcf5809b24d1c18b2f48ff67c9a70db) Revert "Work around OS X auth issue"
424
+ - [017a45f](https://github.com/appium/rspec_flake/commit/017a45ffb32663570c6e6a2f0f7943a143edaf5f) Release 0.0.11
425
+ - [2ec2700](https://github.com/appium/rspec_flake/commit/2ec27002c339ab515edcee607f9959217f44aef8) Fix docs
426
+ - [531709e](https://github.com/appium/rspec_flake/commit/531709e68e676d9642239ef1555ded0ff4447d82) Update readme.md
427
+ - [0b633e0](https://github.com/appium/rspec_flake/commit/0b633e08db8c68e9dad1270235e3bf34bbcba5b7) Update docs
428
+ - [a05118d](https://github.com/appium/rspec_flake/commit/a05118d3f723d79e15fda1dc4e90acbc00273745) Update readme.md
429
+ - [50c5e1e](https://github.com/appium/rspec_flake/commit/50c5e1e4f7fc8d71a0762ae142c95105bed82f34) Update docs
430
+ - [2930fad](https://github.com/appium/rspec_flake/commit/2930fad03109ef705837d72e5a2457895974f741) Release 0.0.10
431
+ - [8507820](https://github.com/appium/rspec_flake/commit/850782043bf6f9acdc8b54d91ed2e91050c89b95) Work around OS X auth issue
432
+ - [1ae3727](https://github.com/appium/rspec_flake/commit/1ae3727af3258adab97ec6ef72b6bbbd34360bbb) Add test count
433
+ - [2e8faf8](https://github.com/appium/rspec_flake/commit/2e8faf8aadf71d61f327e5e587c625345b5a62d6) Release 0.0.9
434
+ - [f03f4b6](https://github.com/appium/rspec_flake/commit/f03f4b65ae80a6b8c528aadd962c07c5460b8790) Failure is 0 success
435
+ - [24ece72](https://github.com/appium/rspec_flake/commit/24ece72fc9554b6dd3eb94823e87694b06fe05af) Store test results in folders
436
+ - [ed116e9](https://github.com/appium/rspec_flake/commit/ed116e92698360e9e587b27df054888efdcda3d1) Release 0.0.8
437
+ - [9baf904](https://github.com/appium/rspec_flake/commit/9baf9045e8947beb403285e481e05e0bc6b815ee) Update to work on Appium master
438
+ - [f4d5cb9](https://github.com/appium/rspec_flake/commit/f4d5cb9253efb89a11efdcec09c45380987b665c) Enable Android
439
+ - [7482640](https://github.com/appium/rspec_flake/commit/748264071f5486118e0a0cbd5dda44b616ffac0a) Add logcat class
440
+ - [d40eace](https://github.com/appium/rspec_flake/commit/d40eace48b498328e59095a3dc7d99da2fb0a904) Start of reset for Android
441
+ - [6bc2ce8](https://github.com/appium/rspec_flake/commit/6bc2ce83672eb4cdb837985a6c120c964e479db9) End instruments process
442
+ - [92bc979](https://github.com/appium/rspec_flake/commit/92bc97968916dbba6fbe8c256a7c6c9020f76c81) Add run all tests documentation
443
+ - [26bc5cc](https://github.com/appium/rspec_flake/commit/26bc5cc6b43e3de7398e6d9e8c9bb615353020eb) Release 0.0.7
444
+ - [9e854aa](https://github.com/appium/rspec_flake/commit/9e854aae8c4b7eb64afc79c3f8716944ea9667ad) Add all tests run option
445
+ - [153119a](https://github.com/appium/rspec_flake/commit/153119a59ba6b8c1d4c2f6d6311aa87f73b1a635) Add link to appium in the readme
446
+ - [86d8137](https://github.com/appium/rspec_flake/commit/86d8137e3f1f348be8ee76e42bea0de36280d5a5) Release 0.0.6
447
+ - [0ed637c](https://github.com/appium/rspec_flake/commit/0ed637c213ba59d82fe72a6eb8a22567a9f06a60) Don't escape the iOS simulator logs
448
+ - [6a16eef](https://github.com/appium/rspec_flake/commit/6a16eefde288b68a6695e2e093693c68274fb4f5) Add todo
449
+ - [b8395d7](https://github.com/appium/rspec_flake/commit/b8395d7fc78b75a11a5517f1e6b4c8784522ecee) Save tail of /var/log/system.log
450
+ - [d153c91](https://github.com/appium/rspec_flake/commit/d153c91d072d691d2e499b633f69f10751f8e9bd) Stop appium once we're done
451
+ - [a80dbb1](https://github.com/appium/rspec_flake/commit/a80dbb1062ee11ad53a092c3f3f5a5796d987d84) Update readme.md
452
+ - [6b3ebe8](https://github.com/appium/rspec_flake/commit/6b3ebe8a5ee432206c582f4b0d1e9f877d712ae3) Explain what the gem does
453
+ - [125f960](https://github.com/appium/rspec_flake/commit/125f9608b49a8c939d74699ad3e73f743638bf57) Update links
454
+ - [f4c64f7](https://github.com/appium/rspec_flake/commit/f4c64f721f80bc0ce6519ce3f115486cd097d4e0) Release 0.0.5
455
+ - [55a772c](https://github.com/appium/rspec_flake/commit/55a772c264c4ead55487f0daf839ea8e307db483) Detect invalid appium home
456
+ - [eaa9282](https://github.com/appium/rspec_flake/commit/eaa9282a073d19c56b7e33612c157adab5c7d242) Update
457
+ - [04cf471](https://github.com/appium/rspec_flake/commit/04cf471799ff02174403739849062d4d9db234e8) Add badges
458
+ - [1f20686](https://github.com/appium/rspec_flake/commit/1f20686c84e81408c87bce41d51e6381205bf3b4) Fix appium discovery
459
+ - [d603941](https://github.com/appium/rspec_flake/commit/d603941210edd806638abca243163cc74eb779bf) Add readme
460
+ - [6965112](https://github.com/appium/rspec_flake/commit/69651128a79cd06674547f9f92e9acd76a4f9a4a) Don't save uncolored duplicate log
461
+ - [0b255c8](https://github.com/appium/rspec_flake/commit/0b255c82e90070fe64ba3e4001c93111f83b7725) Rename executable to flake
462
+ - [7e9918f](https://github.com/appium/rspec_flake/commit/7e9918f5a5dbf7027e448e177780be68857d11fa) Release 0.0.4
463
+ - [6f3b278](https://github.com/appium/rspec_flake/commit/6f3b27864a7a82554ef228806bfd3e3b1c69b9d0) Add readme
464
+ - [3ee2e43](https://github.com/appium/rspec_flake/commit/3ee2e43723a390d220656e128503f4e0ddd9c738) Fix bin/flaky
data/rspec_flake.gemspec CHANGED
@@ -18,7 +18,8 @@ Gem::Specification.new do |s|
18
18
  s.add_runtime_dependency 'nokogiri', '~> 1.6.5'
19
19
  s.add_runtime_dependency 'xml-simple', '~> 1.1.4'
20
20
  s.add_runtime_dependency 'posix-spawn', '~> 0.3.9'
21
- s.add_runtime_dependency 'escape_utils', '~> 1.0.1'
21
+ s.add_runtime_dependency 'escape_utils', '~> 1.1.0'
22
+ s.add_runtime_dependency 'chronic_duration', '~> 0.10.6'
22
23
 
23
24
  s.add_development_dependency 'thor', '~> 0.19.1'
24
25
  s.add_development_dependency 'appium_thor', '~> 0.0.7'
@@ -26,6 +27,8 @@ Gem::Specification.new do |s|
26
27
  s.add_development_dependency 'awesome_print', '~> 1.6.1'
27
28
  s.add_development_dependency 'rspec', '~> 3.1.0'
28
29
  s.add_development_dependency 'nokogiri-diff', '~> 0.2.0'
30
+ s.add_development_dependency 'rspec_junit', '~> 2.0.0'
31
+ s.add_development_dependency 'coveralls', '~> 0.8.1'
29
32
 
30
33
  s.executables = %w(rspec_flake)
31
34
  s.files = `git ls-files`.split "\n"
data/spec/convert_spec.rb CHANGED
@@ -1,12 +1,12 @@
1
1
  describe 'convert xml' do
2
- it 'should convert successful results' do
2
+ it 'converts successful results' do
3
3
  actual = RSpecFlake.hash_to_xml expected_parsed_0_xml
4
4
  expected = expected_converted_0_xml
5
5
 
6
6
  expect(actual).to eq(expected)
7
7
  end
8
8
 
9
- it 'should convert failed results' do
9
+ it 'converts failed results' do
10
10
  actual = RSpecFlake.hash_to_xml expected_parsed_failure_xml
11
11
  expected = expected_converted_failure_xml
12
12
 
data/spec/data/3.xml ADDED
@@ -0,0 +1,12 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuites errors="0" failures="0" skipped="0" tests="4" time="0.001283"
3
+ timestamp="2015-01-15T10:25:40-05:00">
4
+ <testsuite location="./spec/a_spec.rb:1" name="a" tests="2" errors="0"
5
+ failures="0" skipped="0">
6
+ <properties/>
7
+ <testcase name="merge 0" time="0.000177" location="./spec/a_spec.rb:6">
8
+ </testcase>
9
+ <testcase name="merge 1" time="0.000198" location="./spec/a_spec.rb:10">
10
+ </testcase>
11
+ </testsuite>
12
+ </testsuites>
data/spec/data/4.xml ADDED
@@ -0,0 +1,12 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuites errors="0" failures="0" skipped="0" tests="4" time="0.001283"
3
+ timestamp="2015-01-15T10:25:40-05:00">
4
+ <testsuite location="./spec/b_spec.rb:1" name="b" tests="2" errors="0"
5
+ failures="0" skipped="0">
6
+ <properties/>
7
+ <testcase name="merge 2" time="0.000112" location="./spec/b_spec.rb:6">
8
+ </testcase>
9
+ <testcase name="merge 3" time="0.000204" location="./spec/b_spec.rb:10">
10
+ </testcase>
11
+ </testsuite>
12
+ </testsuites>
@@ -0,0 +1,20 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuites errors="0" failures="0" skipped="0" tests="4" time="0.001301"
3
+ timestamp="2015-01-15T10:25:41-05:00">
4
+ <testsuite location="./spec/a_spec.rb:1" name="a" tests="2" errors="0"
5
+ failures="0" skipped="0">
6
+ <properties/>
7
+ <testcase name="a a 1" time="10" location="./spec/a_spec.rb:6">
8
+ </testcase>
9
+ <testcase name="a a 2" time="5" location="./spec/a_spec.rb:10">
10
+ </testcase>
11
+ </testsuite>
12
+ <testsuite location="./spec/b_spec.rb:1" name="b" tests="2" errors="0"
13
+ failures="0" skipped="0">
14
+ <properties/>
15
+ <testcase name="b b 3" time="9" location="./spec/b_spec.rb:6">
16
+ </testcase>
17
+ <testcase name="b b 4" time="9" location="./spec/b_spec.rb:10">
18
+ </testcase>
19
+ </testsuite>
20
+ </testsuites>
@@ -0,0 +1,19 @@
1
+ describe 'file time' do
2
+
3
+ it 'calculates time spent per file' do
4
+ # handles fast times < 0 seconds
5
+ xml_files = %w[0.xml 1.xml 2.xml]
6
+ actual = RSpecFlake.file_time files: xml_files.map(&method(:data))
7
+ expected = "0 \t./spec/b_spec.rb\n0 \t./spec/a_spec.rb\n"
8
+
9
+ expect(actual).to eq expected
10
+ end
11
+
12
+ it 'sorts high to low' do
13
+ xml_files = %w[time.xml]
14
+ actual = RSpecFlake.file_time files: xml_files.map(&method(:data))
15
+ expected = "18 secs \t./spec/b_spec.rb\n15 secs \t./spec/a_spec.rb\n"
16
+
17
+ expect(actual).to eq expected
18
+ end
19
+ end
data/spec/merge_spec.rb CHANGED
@@ -1,9 +1,17 @@
1
1
  describe 'merge rspec_junit xml' do
2
- it 'should merge successfully' do
2
+ it 'merges successfully' do
3
3
  xml_files = %w[0.xml 1.xml 2.xml failure.xml failure2.xml]
4
4
  actual = RSpecFlake.merge_xml input: xml_files.map(&method(:data))
5
5
  expected = expected_merge_xml
6
6
 
7
7
  expect(actual).to eq expected
8
8
  end
9
+
10
+ it 'merges individual xml files' do
11
+ xml_files = %w[3.xml 4.xml]
12
+ actual = RSpecFlake.merge_individual_xml files: xml_files.map(&method(:data))
13
+ expected = expected_merge_individual_xml
14
+
15
+ expect(actual).to eq(expected)
16
+ end
9
17
  end
data/spec/parse_spec.rb CHANGED
@@ -1,12 +1,12 @@
1
1
  describe 'parse rspec_junit xml' do
2
- it 'should parse success results' do
2
+ it 'parses success results' do
3
3
  actual = RSpecFlake.parse_xml data '0.xml'
4
4
  expected = expected_parsed_0_xml
5
5
 
6
6
  expect(actual).to eq expected
7
7
  end
8
8
 
9
- it 'should parse failure results' do
9
+ it 'parses failure results' do
10
10
  actual = RSpecFlake.parse_xml data 'failure.xml'
11
11
  expected = expected_parsed_failure_xml
12
12
 
@@ -0,0 +1,22 @@
1
+ describe 'RSpecFlake::Runner.run_tests' do
2
+ it 'runs successfully' do
3
+ command = 'bundle exec rspec spec/stats_spec.rb'
4
+ io = StringIO.new
5
+
6
+ # Ensure rspec process that's created as part of this test doesn't
7
+ # report coverage data to coveralls.io.
8
+ ENV['SKIP_COVERALLS'] = 'true'
9
+ RSpecFlake::Runner.run_tests count: 1, command: command, io: io
10
+ ENV['SKIP_COVERALLS'] = nil # false
11
+
12
+ actual = io.string
13
+
14
+ # time will differ so we can't use one long string.
15
+ expected = ['stats generates stats from merge xml - runs: 1 - failures: 0 - avg time:',
16
+ ' - ./spec/stats_spec.rb:2']
17
+
18
+ expected.each do |expected_string|
19
+ expect(actual.include?(expected_string)).to eq(true)
20
+ end
21
+ end
22
+ end
data/spec/spec_helper.rb CHANGED
@@ -1,6 +1,12 @@
1
+ require 'rubygems'
2
+
3
+ require 'coveralls'
4
+ Coveralls.wear! unless ENV['SKIP_COVERALLS']
5
+
1
6
  require_relative '../lib/rspec_flake'
2
7
  require 'awesome_print'
3
8
  require 'pry'
9
+ require 'yarjuf'
4
10
 
5
11
  Pry.config.command_prefix = "%" if defined?(Pry)
6
12
 
@@ -8,6 +14,22 @@ def data data_path
8
14
  File.expand_path File.join('..', 'data', data_path), __FILE__
9
15
  end
10
16
 
17
+ def expected_merge_individual_xml
18
+ <<'XML'
19
+ <?xml version="1.0" encoding="UTF-8"?>
20
+ <testsuites>
21
+ <testsuite location="./spec/a_spec.rb:1" name="a" tests="2" errors="0" failures="0" skipped="0">
22
+ <testcase name="merge 0" time="0.000177" location="./spec/a_spec.rb:6" />
23
+ <testcase name="merge 1" time="0.000198" location="./spec/a_spec.rb:10" />
24
+ </testsuite>
25
+ <testsuite location="./spec/b_spec.rb:1" name="b" tests="2" errors="0" failures="0" skipped="0">
26
+ <testcase name="merge 2" time="0.000112" location="./spec/b_spec.rb:6" />
27
+ <testcase name="merge 3" time="0.000204" location="./spec/b_spec.rb:10" />
28
+ </testsuite>
29
+ </testsuites>
30
+ XML
31
+ end
32
+
11
33
  def expected_stats
12
34
  <<'TEXT'
13
35
  a a 1 - runs: 3 - failures: 0 - avg time: 0.0 - ./spec/a_spec.rb:6
data/spec/stats_spec.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  describe 'stats' do
2
- it 'should generate stats from merge xml ' do
2
+ it 'generates stats from merge xml ' do
3
3
  actual = RSpecFlake.stats_from_merge_xml expected_merge_xml
4
4
  expected = expected_stats
5
5
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec_flake
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - code@bootstraponline.com
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-19 00:00:00.000000000 Z
11
+ date: 2015-06-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -58,14 +58,28 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 1.0.1
61
+ version: 1.1.0
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 1.0.1
68
+ version: 1.1.0
69
+ - !ruby/object:Gem::Dependency
70
+ name: chronic_duration
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: 0.10.6
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: 0.10.6
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: thor
71
85
  requirement: !ruby/object:Gem::Requirement
@@ -150,6 +164,34 @@ dependencies:
150
164
  - - "~>"
151
165
  - !ruby/object:Gem::Version
152
166
  version: 0.2.0
167
+ - !ruby/object:Gem::Dependency
168
+ name: rspec_junit
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - "~>"
172
+ - !ruby/object:Gem::Version
173
+ version: 2.0.0
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - "~>"
179
+ - !ruby/object:Gem::Version
180
+ version: 2.0.0
181
+ - !ruby/object:Gem::Dependency
182
+ name: coveralls
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - "~>"
186
+ - !ruby/object:Gem::Version
187
+ version: 0.8.1
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - "~>"
193
+ - !ruby/object:Gem::Version
194
+ version: 0.8.1
153
195
  description: Measure flaky RSpec tests.
154
196
  email:
155
197
  - code@bootstraponline.com
@@ -160,6 +202,7 @@ extra_rdoc_files: []
160
202
  files:
161
203
  - ".gitignore"
162
204
  - ".rspec"
205
+ - ".rspec_parallel"
163
206
  - ".travis.yml"
164
207
  - Gemfile
165
208
  - LICENSE-2.0.txt
@@ -167,21 +210,28 @@ files:
167
210
  - bin/rspec_flake
168
211
  - lib/rspec_flake.rb
169
212
  - lib/rspec_flake/convert.rb
213
+ - lib/rspec_flake/file_time.rb
170
214
  - lib/rspec_flake/merge.rb
171
215
  - lib/rspec_flake/parse.rb
172
216
  - lib/rspec_flake/rspec_flake.rb
173
217
  - lib/rspec_flake/stats.rb
174
218
  - lib/rspec_flake/version.rb
175
219
  - readme.md
220
+ - release_notes.md
176
221
  - rspec_flake.gemspec
177
222
  - spec/convert_spec.rb
178
223
  - spec/data/0.xml
179
224
  - spec/data/1.xml
180
225
  - spec/data/2.xml
226
+ - spec/data/3.xml
227
+ - spec/data/4.xml
181
228
  - spec/data/failure.xml
182
229
  - spec/data/failure2.xml
230
+ - spec/data/time.xml
231
+ - spec/file_time_spec.rb
183
232
  - spec/merge_spec.rb
184
233
  - spec/parse_spec.rb
234
+ - spec/rspec_flake_spec.rb
185
235
  - spec/spec_helper.rb
186
236
  - spec/stats_spec.rb
187
237
  homepage: https://github.com/bootstraponline/rspec_flake
@@ -204,7 +254,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
204
254
  version: '0'
205
255
  requirements: []
206
256
  rubyforge_project:
207
- rubygems_version: 2.4.3
257
+ rubygems_version: 2.4.6
208
258
  signing_key:
209
259
  specification_version: 4
210
260
  summary: Measure flaky RSpec tests