testmetrics_rspec 1.0.1 → 1.1.0

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