rspec_flake 0.2.2 → 0.2.3

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: 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