testmetrics_rspec 1.0.1 → 1.1.0

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
  SHA256:
3
- metadata.gz: cb87ffb6200cb3155db8922ec1e0b13b53ee7b56206771524bdcfe34e6ac9eae
4
- data.tar.gz: 6daf32f3b36d2ac5b7efdfc2c707f2a2ea590d0fd463c0f2b995f9b819aac9da
3
+ metadata.gz: 61a13a84f9ca0a791bc49e5883790d2d11273208f465990aca64ae1134e4c6b6
4
+ data.tar.gz: 7512a2be5780a01369b6ace01a8afd375c03a96742f749047f61c92d286a1a90
5
5
  SHA512:
6
- metadata.gz: 2bae0f0b5ec46a3454ad87e4a83d0c70ba29283ab6494c14ce5160a765b8273f439539f9f2c314fb8c1459cf567256f21f2403094de38b77b8295ed397deb9f0
7
- data.tar.gz: 01e0609b13afefd8840615c948b46efccb359850a662139c445a7f598b188d4ccf1df70637ee7cd80d84fe701834909f04922070b43fcbfe3cb5304347b03c06
6
+ metadata.gz: 8153b351c7752b79b854de242ef38a9f7c1f4df4f37c48a40d3390c0e849afc186450bb8fb806a6def3e925aa40e5b4bffd82682fd9cfeaa25bc2165d66c6058
7
+ data.tar.gz: 85ef93d5e182f64ae3600b88774599b36aa638d208d297b708357ecfcbe0cd800297d625eaaf4163bd371498c6523705f5a335f788a25fb5fb7ccdec05c69f48
data/Gemfile CHANGED
@@ -1,6 +1,4 @@
1
- source "https://rubygems.org"
2
-
3
- git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
1
+ source 'https://rubygems.org'
4
2
 
5
3
  # Specify your gem's dependencies in testmetrics_rspec.gemspec
6
4
  gemspec
data/README.md CHANGED
@@ -4,51 +4,60 @@ The official [RSpec][rspec] 2 & 3 client for [Testmetrics](https://www.testmetri
4
4
 
5
5
  ## Usage
6
6
 
7
- Install the gem:
7
+ Add it to your Gemfile in the same groups as rspec.
8
8
 
9
- ```sh
10
- gem install testmetrics_rspec
11
- ```
12
-
13
- Use it:
14
-
15
- ```sh
16
- rspec --format TestmetricsRspec
9
+ ```ruby
10
+ group :test do
11
+ gem "rspec"
12
+ gem "testmetrics_rspec"
13
+ end
17
14
  ```
18
15
 
19
- You can use it in combination with other [formatters][rspec-formatters], too:
16
+ Add `TestmetricsRspec` as a formatter in [your `.rspec` file][rspec-file]:
20
17
 
21
18
  ```sh
22
- rspec --format progress --format TestmetricsRspec
19
+ --format TestmetricsRspec
23
20
  ```
24
21
 
25
- [rspec-formatters]: https://relishapp.com/rspec/rspec-core/v/3-6/docs/formatters
22
+ [bundler]: https://bundler.io
23
+ [rspec-file]: https://relishapp.com/rspec/rspec-core/v/3-6/docs/configuration/read-command-line-configuration-options-from-files
26
24
 
27
- In order for the metrics to be send to Testmetrics, you must have your
25
+ In order for the metrics to be sent to Testmetrics, you must have your
28
26
  Testmetrics Project Key set in the "TESTMETRICS_PROJECT_KEY" environment
29
27
  variable in your CI environment. If this environment variable isn't set, the
30
- collected metrics for your CI run will be discarded. This key should be kept
31
- private and not exposed to the public.
28
+ collected metrics for your CI run will be discarded.
32
29
 
33
- ### Using in your project with Bundler
30
+ This key should be kept private and not exposed to the public.
34
31
 
35
- Add it to your Gemfile if you're using [Bundler][bundler]. Put it in the same groups as rspec.
32
+ ### Additional setup for using with the `parallel_tests` gem
36
33
 
37
- ```ruby
38
- group :test do
39
- gem "rspec"
40
- gem "testmetrics_rspec"
41
- end
42
- ```
34
+ If you are running your tests in parallel in CI with the `parallel_tests` gem,
35
+ there are additional steps you need to take to start collecting metrics in CI.
36
+
37
+ First, do the steps listed above.
43
38
 
44
- Put the same arguments as the commands above in [your `.rspec`][rspec-file]:
39
+ If you have a `.rspec_parallel` file, also add `TestmetricsRspec` as a formatter
40
+ there:
45
41
 
46
42
  ```sh
47
43
  --format TestmetricsRspec
48
44
  ```
49
45
 
50
- [bundler]: https://bundler.io
51
- [rspec-file]: https://relishapp.com/rspec/rspec-core/v/3-6/docs/configuration/read-command-line-configuration-options-from-files
46
+ Then, add the following task to your `Rakefile`
47
+
48
+ ```ruby
49
+ require 'testmetrics_rspec'
50
+ task :testmetrics_parallel_rspec do
51
+ TestmetricsRspec::ParallelTests.run()
52
+ end
53
+ ```
54
+
55
+ Lastly, you'll need to change your CI script to use that rake task to run your
56
+ tests. `rake testmetrics_parallel_rspec` (or whatever you name that task - it
57
+ can be whatever you want) is just a wrapper around running `parallel_rspec`, so
58
+ all command line options that you would normally give work just the same. You
59
+ just replace `parallel_rspec` with `rake testmetrics_parallel_rspec` and it will
60
+ work.
52
61
 
53
62
  ## License
54
63
 
data/Rakefile CHANGED
@@ -1,6 +1,6 @@
1
- require "bundler/gem_tasks"
2
- require "rspec/core/rake_task"
1
+ require 'bundler/gem_tasks'
2
+ require 'rspec/core/rake_task'
3
3
 
4
4
  RSpec::Core::RakeTask.new(:spec)
5
5
 
6
- task :default => :spec
6
+ task default: :spec
data/bin/console CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- require "bundler/setup"
4
- require "testmetrics_rspec"
3
+ require 'bundler/setup'
4
+ require 'testmetrics_rspec'
5
5
 
6
6
  # You can add fixtures and/or initialization code here to make experimenting
7
7
  # with your gem easier. You can also use a different console, if you like.
@@ -10,5 +10,5 @@ require "testmetrics_rspec"
10
10
  # require "pry"
11
11
  # Pry.start
12
12
 
13
- require "irb"
13
+ require 'irb'
14
14
  IRB.start(__FILE__)
@@ -1,20 +1,20 @@
1
- require "spec_helper"
2
- require_relative "shared_examples"
1
+ require 'spec_helper'
2
+ require_relative 'shared_examples'
3
3
 
4
- describe "some example specs" do
5
- it "should succeed" do
4
+ describe 'some example specs' do
5
+ it 'should succeed' do
6
6
  expect(true).to be(true)
7
7
  end
8
8
 
9
- it "should fail" do
9
+ it 'should fail' do
10
10
  expect(false).to be(true)
11
11
  end
12
12
 
13
- it "should raise" do
13
+ it 'should raise' do
14
14
  raise ArgumentError
15
15
  end
16
16
 
17
- it "should be pending" do
17
+ it 'should be pending' do
18
18
  if defined? skip
19
19
  skip
20
20
  else
@@ -22,30 +22,30 @@ describe "some example specs" do
22
22
  end
23
23
  end
24
24
 
25
- it "shows diffs cleanly" do
26
- expect({a: "b", c: "d"}).to eql({a: 2, c: 4})
25
+ it 'shows diffs cleanly' do
26
+ expect(a: 'b', c: 'd').to eql(a: 2, c: 4)
27
27
  end
28
28
 
29
29
  it "replaces naughty \0 and \e characters, \x01 and \uFFFF too" do
30
- expect("\0\0\0").to eql("emergency services")
30
+ expect("\0\0\0").to eql('emergency services')
31
31
  end
32
32
 
33
33
  it "escapes controlling \u{7f} characters" do
34
- expect("\u{7f}").to eql("pacman om nom nom")
34
+ expect("\u{7f}").to eql('pacman om nom nom')
35
35
  end
36
36
 
37
- it "can include unicodes 😁" do
38
- expect("🚀").to eql("🔥")
37
+ it 'can include unicodes 😁' do
38
+ expect('🚀').to eql('🔥')
39
39
  end
40
40
 
41
- it %{escapes <html tags='correctly' and="such &amp; such">} do
42
- expect("<p>This is important</p>").to eql("<p>This is <strong>very</strong> important</p>")
41
+ it %(escapes <html tags='correctly' and="such &amp; such">) do
42
+ expect('<p>This is important</p>').to eql('<p>This is <strong>very</strong> important</p>')
43
43
  end
44
44
 
45
- it_should_behave_like "shared examples"
45
+ it_should_behave_like 'shared examples'
46
46
 
47
- it "can capture stdout and stderr" do
48
- $stdout.puts "Test"
49
- $stderr.puts "Bar"
47
+ it 'can capture stdout and stderr' do
48
+ $stdout.puts 'Test'
49
+ warn 'Bar'
50
50
  end
51
51
  end
@@ -1,10 +1,10 @@
1
- shared_examples "shared examples" do
2
- context "in a shared example" do
3
- it "succeeds" do
1
+ shared_examples 'shared examples' do
2
+ context 'in a shared example' do
3
+ it 'succeeds' do
4
4
  expect(true).to be(true)
5
5
  end
6
6
 
7
- it "also fails" do
7
+ it 'also fails' do
8
8
  expect(false).to be(true)
9
9
  end
10
10
  end
@@ -1,3 +1,4 @@
1
+ ENV['PRINT_TESTMETRICS_RESULTS'] = 'true'
1
2
  RSpec.configure do |config|
2
3
  # register around filter that captures stderr and stdout
3
4
  config.around(:each) do |example|
@@ -0,0 +1,39 @@
1
+ class TestmetricsRspec < RSpec::Core::Formatters::BaseFormatter
2
+ # This is a wrapper around running RSpec with the `parallel_tests` gem
3
+ class ParallelTests
4
+ class << self
5
+ include ::TestmetricsRspec::Shared
6
+
7
+ def run
8
+ key = ENV['TESTMETRICS_PROJECT_KEY']
9
+
10
+ post(starting_results) unless key.nil?
11
+
12
+ ENV['PARALLEL_FORMAT'] = 'true'
13
+ system("parallel_rspec #{ARGV[1..-1].join(' ')}")
14
+ ENV['PARALLEL_FORMAT'] = nil
15
+
16
+ send_end_results unless key.nil?
17
+ end
18
+
19
+ def send_end_results
20
+ results = Dir.glob('results*.json').each_with_object([]) do |path, acc|
21
+ acc << JSON.parse(IO.read(path))
22
+ FileUtils.rm(path)
23
+ end
24
+
25
+ post(combined(results))
26
+ end
27
+
28
+ def combined(results)
29
+ start = results.pop
30
+
31
+ results.each_with_object(start) do |result, acc|
32
+ acc['tests'] = acc['tests'] + result['tests']
33
+ acc['total_run_time'] = acc['total_run_time'] +
34
+ result['total_run_time']
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
@@ -1,15 +1,45 @@
1
1
  class TestmetricsRspec
2
- # This sends the results to the Testmetrics server
2
+ # This sends the results to the Testmetrics server or writes them to a file
3
+ # if the tests are being run in parallel.
3
4
  module Persist
4
- def self.call(results)
5
- unless results[:key] == "Unknown"
6
- Faraday.post do |req|
7
- req.url 'https://www.testmetrics.app/results'
8
- req.headers['Content-Type'] = 'application/json'
9
- req.body = results.to_json
5
+ class << self
6
+ include ::TestmetricsRspec::Shared
7
+ def call(results)
8
+ puts results if currently_running_tests_for_this_gem?
9
+ return if project_key_missing?(results)
10
+
11
+ persist(results)
12
+ end
13
+
14
+ def persist(results)
15
+ if running_in_parallel?
16
+ return if ignore_results?(results)
17
+
18
+ write_to_file(results)
19
+ else
20
+ post(results)
10
21
  end
11
22
  end
12
- puts results
23
+
24
+ def write_to_file(results)
25
+ IO.write("results#{ENV['TEST_ENV_NUMBER']}.json", results.to_json)
26
+ end
27
+
28
+ def project_key_missing?(results)
29
+ results[:key] == 'Unknown'
30
+ end
31
+
32
+ def running_in_parallel?
33
+ ENV['PARALLEL_FORMAT'] == 'true'
34
+ end
35
+
36
+ def ignore_results?(results)
37
+ results[:tests] == []
38
+ end
39
+
40
+ def currently_running_tests_for_this_gem?
41
+ ENV['PRINT_TESTMETRICS_RESULTS'] == 'true'
42
+ end
13
43
  end
14
44
  end
15
45
  end
@@ -1,88 +1,22 @@
1
+ # The RSpec 2 formatter
1
2
  class TestmetricsRspec < RSpec::Core::Formatters::BaseFormatter
2
- def start(example_count)
3
- results = {
4
- key: ENV['TESTMETRICS_PROJECT_KEY'],
5
- branch: git_branch,
6
- sha: git_sha,
7
- metadata: {
8
- ruby_version: RUBY_VERSION,
9
- ci_platform: ci_platform
10
- },
11
- tests: []
12
- }
13
- TestmetricsRspec::Persist.call(results)
14
- super
15
- end
3
+ include ::TestmetricsRspec::Shared
16
4
 
17
5
  def stop
18
- @results = {
19
- key: ENV['TESTMETRICS_PROJECT_KEY'],
20
- branch: git_branch,
21
- sha: git_sha,
22
- metadata: {
23
- ruby_version: RUBY_VERSION,
24
- ci_platform: ci_platform
25
- },
26
- tests: tests
27
- }
6
+ @results = results do
7
+ examples.map do |example|
8
+ format(example.full_description,
9
+ example.execution_result[:run_time],
10
+ example.execution_result[:status].to_sym)
11
+ end
12
+ end
13
+
28
14
  super
29
15
  end
30
16
 
31
17
  def dump_summary(duration, example_count, failure_count, pending_count)
32
- # Send results in microseconds
33
- @results[:total_run_time] = (duration * 1_000_000).round(0)
18
+ @results[:total_run_time] = run_time_in_microseconds(duration)
34
19
  TestmetricsRspec::Persist.call(@results)
35
20
  super
36
21
  end
37
-
38
- private
39
-
40
- def tests
41
- examples.map do |example|
42
- {
43
- name: example.full_description.delete("\0").delete("\x01").delete("\e"),
44
- # Send results in microseconds
45
- total_run_time: (example.execution_result[:run_time] * 1_000_000).round(0),
46
- state: example.execution_result[:status].to_sym
47
- }
48
- end
49
- end
50
-
51
- BRANCH_VARS = ["TRAVIS_EVENT_TYPE", "CIRCLE_BRANCH", "CI_COMMIT_REF_NAME", "BRANCH_NAME"]
52
- def git_branch
53
- correct_var = BRANCH_VARS.find do |var| ENV[var] != nil && ENV[var] != "" end
54
-
55
- if correct_var == "TRAVIS_EVENT_TYPE"
56
- case ENV[correct_var]
57
- when "push"
58
- ENV["TRAVIS_BRANCH"]
59
- when "pull_request"
60
- ENV["TRAVIS_PULL_REQUEST_BRANCH"]
61
- end
62
- else
63
- correct_var.nil? ? "Unknown" : ENV[correct_var]
64
- end
65
- end
66
-
67
- SHA_VARS = ["TRAVIS_COMMIT", "CIRCLE_SHA1", "CI_COMMIT_SHA", "REVISION"]
68
- def git_sha
69
- correct_var = SHA_VARS.find do |var| ENV[var] != nil end
70
- correct_var.nil? ? "Unknown" : ENV[correct_var]
71
- end
72
-
73
- def ci_platform
74
- correct_var = SHA_VARS.find do |var| ENV[var] != nil end
75
- case correct_var
76
- when "TRAVIS_COMMIT"
77
- "Travis CI"
78
- when "CIRCLE_SHA1"
79
- "Circle CI"
80
- when "CI_COMMIT_SHA"
81
- "Gitlab CI"
82
- when "REVISION"
83
- "Semaphore CI"
84
- else
85
- "Unknown"
86
- end
87
- end
88
22
  end
@@ -1,86 +1,20 @@
1
+ # The RSpec 3 formatter
1
2
  class TestmetricsRspec < RSpec::Core::Formatters::BaseFormatter
2
3
  RSpec::Core::Formatters.register self, :start, :stop, :dump_summary
3
-
4
- # This sends the "start" message to testmetrics
5
- def start(notification)
6
- results = {
7
- key: ENV['TESTMETRICS_PROJECT_KEY'] || "Unknown",
8
- branch: git_branch,
9
- sha: git_sha,
10
- metadata: {
11
- ruby_version: RUBY_VERSION,
12
- ci_platform: ci_platform
13
- },
14
- tests: []
15
- }
16
- TestmetricsRspec::Persist.call(results)
17
- super
18
- end
4
+ include ::TestmetricsRspec::Shared
19
5
 
20
6
  def stop(notification)
21
- tests = notification.notifications.map do |test|
22
- {
23
- name: test.example.full_description.delete("\0").delete("\x01").delete("\e"),
24
- # Send results in microseconds
25
- total_run_time: (test.example.execution_result.run_time * 1_000_000).round(0),
26
- state: test.example.execution_result.status
27
- }
7
+ @results = results do
8
+ notification.notifications.map do |test|
9
+ format(test.example.full_description,
10
+ test.example.execution_result.run_time,
11
+ test.example.execution_result.status)
12
+ end
28
13
  end
29
-
30
- @results = {
31
- key: ENV['TESTMETRICS_PROJECT_KEY'] || "Unknown",
32
- branch: git_branch,
33
- sha: git_sha,
34
- metadata: {
35
- ruby_version: RUBY_VERSION,
36
- ci_platform: ci_platform
37
- },
38
- tests: tests
39
- }
40
14
  end
41
15
 
42
- # This sends the "end" message to testmetrics
43
16
  def dump_summary(notification)
44
- # Send results in microseconds
45
- @results[:total_run_time] = (notification.duration * 1_000_000).round(0)
17
+ @results[:total_run_time] = run_time_in_microseconds(notification.duration)
46
18
  TestmetricsRspec::Persist.call(@results)
47
19
  end
48
-
49
- BRANCH_VARS = ["TRAVIS_EVENT_TYPE", "CIRCLE_BRANCH", "CI_COMMIT_REF_NAME", "BRANCH_NAME"]
50
- def git_branch
51
- correct_var = BRANCH_VARS.find do |var| ENV[var] != nil && ENV[var] != "" end
52
-
53
- if correct_var == "TRAVIS_EVENT_TYPE"
54
- case ENV[correct_var]
55
- when "push"
56
- ENV["TRAVIS_BRANCH"]
57
- when "pull_request"
58
- ENV["TRAVIS_PULL_REQUEST_BRANCH"]
59
- end
60
- else
61
- correct_var.nil? ? "Unknown" : ENV[correct_var]
62
- end
63
- end
64
-
65
- SHA_VARS = ["TRAVIS_COMMIT", "CIRCLE_SHA1", "CI_COMMIT_SHA", "REVISION"]
66
- def git_sha
67
- correct_var = SHA_VARS.find do |var| ENV[var] != nil && ENV[var] != "" end
68
- correct_var.nil? ? "Unknown" : ENV[correct_var]
69
- end
70
-
71
- def ci_platform
72
- correct_var = SHA_VARS.find do |var| ENV[var] != nil end
73
- case correct_var
74
- when "TRAVIS_COMMIT"
75
- "Travis CI"
76
- when "CIRCLE_SHA1"
77
- "Circle CI"
78
- when "CI_COMMIT_SHA"
79
- "Gitlab CI"
80
- when "REVISION"
81
- "Semaphore CI"
82
- else
83
- "Unknown"
84
- end
85
- end
86
20
  end
@@ -0,0 +1,91 @@
1
+ class TestmetricsRspec < RSpec::Core::Formatters::BaseFormatter
2
+ # Shared stuff between formatters
3
+ module Shared
4
+ def start(notification)
5
+ TestmetricsRspec::Persist.call(starting_results)
6
+ super
7
+ end
8
+
9
+ def post(results)
10
+ Faraday.post do |req|
11
+ req.url 'https://www.testmetrics.app/results'
12
+ req.headers['Content-Type'] = 'application/json'
13
+ req.body = results.to_json
14
+ end
15
+ end
16
+
17
+ def format(description, run_time, status)
18
+ {
19
+ name: description.delete("\0").delete("\x01").delete("\e"),
20
+ total_run_time: run_time_in_microseconds(run_time),
21
+ state: status
22
+ }
23
+ end
24
+
25
+ def starting_results
26
+ results { [] }
27
+ end
28
+
29
+ def results
30
+ {
31
+ key: ENV['TESTMETRICS_PROJECT_KEY'] || 'Unknown',
32
+ branch: git_branch,
33
+ sha: git_sha,
34
+ metadata: {
35
+ ruby_version: RUBY_VERSION,
36
+ ci_platform: ci_platform
37
+ },
38
+ tests: yield
39
+ }
40
+ end
41
+
42
+ def run_time_in_microseconds(time)
43
+ (time * 1_000_000).round(0)
44
+ end
45
+
46
+ BRANCH_VARS = %w[
47
+ TRAVIS_EVENT_TYPE
48
+ CIRCLE_BRANCH
49
+ CI_COMMIT_REF_NAME
50
+ BRANCH_NAME
51
+ ].freeze
52
+ def git_branch
53
+ correct_var = correct_var(BRANCH_VARS)
54
+
55
+ if correct_var == 'TRAVIS_EVENT_TYPE'
56
+ travis_branch(correct_var)
57
+ else
58
+ correct_var.nil? ? 'Unknown' : ENV[correct_var]
59
+ end
60
+ end
61
+
62
+ def travis_branch(var)
63
+ case ENV[var]
64
+ when 'push'
65
+ ENV['TRAVIS_BRANCH']
66
+ when 'pull_request'
67
+ ENV['TRAVIS_PULL_REQUEST_BRANCH']
68
+ end
69
+ end
70
+
71
+ SHA_VARS = %w[TRAVIS_COMMIT CIRCLE_SHA1 CI_COMMIT_SHA REVISION].freeze
72
+ def git_sha
73
+ correct_var = correct_var(SHA_VARS)
74
+ correct_var.nil? ? 'Unknown' : ENV[correct_var]
75
+ end
76
+
77
+ def ci_platform
78
+ case correct_var(SHA_VARS)
79
+ when 'TRAVIS_COMMIT' then 'Travis CI'
80
+ when 'CIRCLE_SHA1' then 'Circle CI'
81
+ when 'CI_COMMIT_SHA' then 'Gitlab CI'
82
+ when 'REVISION' then 'Semaphore CI'
83
+ else 'Unknown'
84
+ end
85
+ end
86
+
87
+ def correct_var(vars)
88
+ vars.find { |var| !ENV[var].nil? && ENV[var] != '' }
89
+ end
90
+ end
91
+ end
@@ -2,11 +2,12 @@ require 'json'
2
2
  require 'faraday'
3
3
  require 'rspec/core'
4
4
  require 'rspec/core/formatters/base_formatter'
5
+ require 'testmetrics_rspec/shared'
6
+ require 'testmetrics_rspec/persist'
7
+ require 'testmetrics_rspec/parallel_tests'
5
8
 
6
9
  if Gem::Version.new(RSpec::Core::Version::STRING) >= Gem::Version.new('3')
7
10
  require 'testmetrics_rspec/rspec3'
8
11
  else
9
12
  require 'testmetrics_rspec/rspec2'
10
13
  end
11
-
12
- require 'testmetrics_rspec/persist'
@@ -1,26 +1,29 @@
1
- lib = File.expand_path("../lib", __FILE__)
1
+ lib = File.expand_path('lib', __dir__)
2
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
3
 
4
4
  Gem::Specification.new do |spec|
5
- spec.name = "testmetrics_rspec"
6
- spec.version = "1.0.1"
7
- spec.authors = ["Devon Estes"]
8
- spec.email = ["devon.c.estes@gmail.com"]
5
+ spec.name = 'testmetrics_rspec'
6
+ spec.version = '1.1.0'
7
+ spec.authors = ['Devon Estes']
8
+ spec.email = ['devon.c.estes@gmail.com']
9
9
 
10
- spec.summary = %q{The official RSpec client for Testmetrics}
11
- spec.homepage = "https://testmetrics.app"
10
+ spec.summary = 'The official RSpec client for Testmetrics'
11
+ spec.homepage = 'https://testmetrics.app'
12
12
 
13
13
  # Specify which files should be added to the gem when it is released.
14
- # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
15
- spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
16
- `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
14
+ # The `git ls-files -z` loads the files in the RubyGem that have been added
15
+ # into git.
16
+ spec.files = Dir.chdir(File.expand_path(__dir__)) do
17
+ `git ls-files -z`.split("\x0").reject do |f|
18
+ f.match(%r{^(test|spec|features)/})
19
+ end
17
20
  end
18
- spec.bindir = "exe"
21
+ spec.bindir = 'exe'
19
22
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
20
- spec.require_paths = ["lib"]
23
+ spec.require_paths = ['lib']
21
24
 
22
- spec.add_development_dependency "bundler", "~> 1.16"
23
- spec.add_development_dependency "rake", "~> 10.0"
24
- spec.add_development_dependency "rspec", "~> 3.0"
25
- spec.add_runtime_dependency "faraday", ">= 0.9.0"
25
+ spec.add_development_dependency 'bundler', '~> 1.16'
26
+ spec.add_development_dependency 'rake', '~> 10.0'
27
+ spec.add_development_dependency 'rspec', '~> 3.0'
28
+ spec.add_runtime_dependency 'faraday', '>= 0.9.0'
26
29
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: testmetrics_rspec
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Devon Estes
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-01-04 00:00:00.000000000 Z
11
+ date: 2019-01-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -87,9 +87,11 @@ files:
87
87
  - example/spec/shared_examples.rb
88
88
  - example/spec/spec_helper.rb
89
89
  - lib/testmetrics_rspec.rb
90
+ - lib/testmetrics_rspec/parallel_tests.rb
90
91
  - lib/testmetrics_rspec/persist.rb
91
92
  - lib/testmetrics_rspec/rspec2.rb
92
93
  - lib/testmetrics_rspec/rspec3.rb
94
+ - lib/testmetrics_rspec/shared.rb
93
95
  - testmetrics_rspec.gemspec
94
96
  homepage: https://testmetrics.app
95
97
  licenses: []