chemistrykit 3.0.1 → 3.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.
data/CHANGELOG.md CHANGED
@@ -1,3 +1,18 @@
1
+ #3.1.0 (2013-07-07)
2
+ Updated logging mechanism for concurrent tests and to output junit xml.
3
+
4
+ - Bumped version to 3.1.0 to prepare for release.
5
+ - cleaned out some random debug code
6
+ - fixed code quality issues and removed some debugging information
7
+ - updated concurency to use uuid for partial logs, cleaned up tests
8
+ - fixed other features so they would pass
9
+ - fixed more code quality issues
10
+ - added facility that would create partial test output for concurrent tests
11
+ - ensured all log files could be directed to the same directory
12
+ - fixed code quality issue and added test to ensure html report output would work
13
+ - added in configurable junit export with stdout
14
+ - added logging feature and tests, and expanded the configuration for logging
15
+
1
16
  #3.0.1 (2013-07-05)
2
17
  Made the base url available in the env for formula usage
3
18
 
data/chemistrykit.gemspec CHANGED
@@ -2,13 +2,13 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = "chemistrykit"
5
- s.version = "3.0.1"
5
+ s.version = "3.1.0"
6
6
  s.platform = Gem::Platform::RUBY
7
7
  s.authors = ["Dave Haeffner", "Jason Fox"]
8
8
  s.email = ["dave@arrgyle.com", "jason@arrgyle.com"]
9
9
  s.homepage = "https://github.com/arrgyle/chemistrykit"
10
10
  s.summary = "A simple and opinionated web testing framework for Selenium that follows convention over configuration."
11
- s.description = "Made the base url available in the env for formula usage"
11
+ s.description = "Updated logging mechanism for concurrent tests and to output junit xml."
12
12
  s.license = 'MIT'
13
13
 
14
14
  s.files = `git ls-files`.split($/)
@@ -20,15 +20,15 @@ Gem::Specification.new do |s|
20
20
  s.required_ruby_version = '>=1.9'
21
21
 
22
22
  s.add_dependency "thor", "~> 0.17.0"
23
- s.add_dependency "rspec", "~> 2.12.0"
23
+ s.add_dependency "rspec", "~> 2.13.0"
24
+ s.add_dependency "yarjuf", "~> 1.0.5"
24
25
  s.add_dependency "selenium-webdriver", "~> 2.29.0"
25
- s.add_dependency "ci_reporter", "~> 1.8.3"
26
26
  s.add_dependency "rest-client", "~> 1.6.7"
27
27
  s.add_dependency "selenium-connect", "~> 2.1.1"
28
28
  s.add_dependency "parallel_tests", "~> 0.15.0"
29
29
  s.add_dependency "parallel", "~> 0.7.0"
30
30
 
31
- s.add_development_dependency "rspec", "~> 2.12.0"
31
+ s.add_development_dependency "rspec", "~> 2.13.0"
32
32
  s.add_development_dependency "aruba", "~> 0.5.1"
33
33
  s.add_development_dependency "cucumber", "~> 1.2.1"
34
34
  s.add_development_dependency "rake", "~> 10.0.3"
@@ -29,7 +29,6 @@ Feature: Brewing a ChemistryKit project
29
29
  end
30
30
  end
31
31
  """
32
-
33
32
  Scenario: Localhost
34
33
  Given a file named "config.yaml" with:
35
34
  """
@@ -40,7 +39,7 @@ Feature: Brewing a ChemistryKit project
40
39
  When I run `ckit brew`
41
40
  Then the stdout should contain "1 example, 0 failures"
42
41
  And the following files should exist:
43
- | evidence/SPEC-Bookie.xml |
42
+ | evidence/results_junit.xml |
44
43
  | evidence/server.log |
45
44
 
46
45
 
@@ -28,6 +28,7 @@ Feature: Support for concurency
28
28
  end
29
29
  end
30
30
  """
31
+
31
32
  Scenario: I can run the tests in parallel
32
33
  When I overwrite config.yaml with:
33
34
  """
@@ -43,6 +44,8 @@ Feature: Support for concurency
43
44
  When I run `ckit brew`
44
45
  Then the stdout should contain "4 processes for 2 beakers"
45
46
  And the stdout should contain "3 examples, 0 failures"
47
+ And the file "evidence/results_junit.xml" should not exist
48
+ And there should be "2" unique results files in the "evidence" directory
46
49
 
47
50
  Scenario: I can run a specific beaker in parallel
48
51
  When I overwrite config.yaml with:
@@ -0,0 +1,94 @@
1
+ #logging.feature
2
+ Feature: Log handling
3
+ In order to examine the results of my test suite
4
+ As a test harness user
5
+ I want to see all of the logs in a central location
6
+
7
+ Background: Setup the project
8
+ Given I run `ckit new logging-test`
9
+ And I cd to "logging-test"
10
+ And a file named "formulas/bookie.rb" with:
11
+ """
12
+ module Formulas
13
+ class Bookie < Formula
14
+ def open(url)
15
+ @driver.get url
16
+ end
17
+ end
18
+ end
19
+ """
20
+ And a file named "beakers/first_beaker.rb" with:
21
+ """
22
+ describe "First", :depth => 'shallow' do
23
+ let(:book) { Formulas::Bookie.new(@driver) }
24
+
25
+ it "loads an external web page" do
26
+ book.open "http://www.google.com"
27
+ end
28
+ end
29
+ """
30
+ And a file named "beakers/second_beaker.rb" with:
31
+ """
32
+ describe "Second", :depth => 'shallow' do
33
+ let(:book) { Formulas::Bookie.new(@driver) }
34
+
35
+ it "loads an external web page" do
36
+ book.open "http://www.google.com"
37
+ end
38
+ end
39
+ """
40
+
41
+ Scenario: I can output junit xml results by default
42
+ When I run `ckit brew`
43
+ Then the stdout should contain "2 examples, 0 failures"
44
+ And the following files should exist:
45
+ | evidence/results_junit.xml |
46
+
47
+ Scenario: I can output custom junit xml results
48
+ Given a file named "config.yaml" with:
49
+ """
50
+ log:
51
+ path: 'my_evidence'
52
+ results_file: 'my_results.xml'
53
+ format: 'junit'
54
+ selenium_connect:
55
+ log: 'evidence'
56
+ host: 'localhost'
57
+ """
58
+ When I run `ckit brew`
59
+ Then the stdout should contain "2 examples, 0 failures"
60
+ And the following files should exist:
61
+ | my_evidence/my_results.xml |
62
+
63
+ Scenario: I can output html results
64
+ Given a file named "config.yaml" with:
65
+ """
66
+ log:
67
+ results_file: 'report.html'
68
+ format: 'html'
69
+ """
70
+ And I run `ckit brew`
71
+ Then the stdout should contain "2 examples, 0 failures"
72
+ And the following files should exist:
73
+ | evidence/report.html |
74
+
75
+ Scenario: I define one log location to rule them all
76
+ Given a file named "config.yaml" with:
77
+ """
78
+ log:
79
+ path: 'my_evidence'
80
+ selenium_connect:
81
+ host: 'localhost'
82
+ """
83
+ When I run `ckit brew`
84
+ Then the stdout should contain "2 examples, 0 failures"
85
+ And the following files should exist:
86
+ | my_evidence/results_junit.xml |
87
+ | my_evidence/server.log |
88
+
89
+ Scenario: I can runtime override the results output file name
90
+ When I run `ckit brew --results_file results_junit_01.xml`
91
+ Then the stdout should contain "2 examples, 0 failures"
92
+ And the following files should exist:
93
+ | evidence/results_junit_01.xml |
94
+
data/features/new.feature CHANGED
@@ -15,5 +15,4 @@ Feature: ckit new
15
15
  | evidence |
16
16
  And the following files should exist:
17
17
  | config.yaml |
18
- | .rspec |
19
18
  | formulas/lib/formula.rb |
@@ -10,3 +10,12 @@ end
10
10
  Then(/^the exit code should be (\d+)$/) do |exit_status|
11
11
  @last_exit_status.should == exit_status.to_i
12
12
  end
13
+
14
+ Then(/^there should be "(.*?)" unique results files in the "(.*?)" directory$/) do |number_files, logs_path|
15
+ files = Dir.glob(File.join(current_dir, logs_path, '*.xml'))
16
+ count = 0
17
+ files.each do |file|
18
+ count += 1 if file =~ /parallel_part_\w{8}-(\w{4}-){3}\w{12}\.xml/
19
+ end
20
+ count.should == number_files.to_i
21
+ end
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'thor'
4
4
  require 'rspec'
5
- require 'ci/reporter/rake/rspec_loader'
5
+ require 'yarjuf'
6
6
  require 'chemistrykit/cli/new'
7
7
  require 'chemistrykit/cli/formula'
8
8
  require 'chemistrykit/cli/beaker'
@@ -11,6 +11,8 @@ require 'chemistrykit/catalyst'
11
11
  require 'chemistrykit/formula/base'
12
12
  require 'selenium-connect'
13
13
  require 'chemistrykit/configuration'
14
+ require 'parallel_tests'
15
+ require 'chemistrykit/parallel_tests_mods'
14
16
 
15
17
  module ChemistryKit
16
18
  module CLI
@@ -39,14 +41,17 @@ module ChemistryKit
39
41
  method_option :beakers, type: :array
40
42
  # This is set if the thread is being run in parallel so as not to trigger recursive concurency
41
43
  method_option :parallel, default: false
44
+ method_option :results_file, default: false
42
45
 
43
46
  def brew
44
47
  config = load_config options['config']
45
48
  # TODO perhaps the params should be rolled into the available
46
49
  # config object injected into the system?
47
50
  pass_params if options['params']
48
- turn_stdout_stderr_on_off
49
- set_logs_dir
51
+
52
+ # replace certain config values with run time flags as needed
53
+ config = override_configs options, config
54
+
50
55
  load_page_objects
51
56
  setup_tags
52
57
  # configure rspec
@@ -59,10 +64,19 @@ module ChemistryKit
59
64
  else
60
65
  run_rspec beakers
61
66
  end
67
+
62
68
  end
63
69
 
64
70
  protected
65
71
 
72
+ def override_configs(options, config)
73
+ # TODO expand this to allow for more overrides as needed
74
+ if options['results_file']
75
+ config.log.results_file = options['results_file']
76
+ end
77
+ config
78
+ end
79
+
66
80
  def pass_params
67
81
  options['params'].each_pair do |key, value|
68
82
  ENV[key] = value
@@ -74,14 +88,6 @@ module ChemistryKit
74
88
  loader.get_formulas(File.join(Dir.getwd, 'formulas')).each { |file| require file }
75
89
  end
76
90
 
77
- def set_logs_dir
78
- ENV['CI_REPORTS'] = File.join(Dir.getwd, 'evidence')
79
- end
80
-
81
- def turn_stdout_stderr_on_off
82
- ENV['CI_CAPTURE'] = 'on'
83
- end
84
-
85
91
  def load_config(file_name)
86
92
  config_file = File.join(Dir.getwd, file_name)
87
93
  ChemistryKit::Configuration.initialize_with_yaml config_file
@@ -128,12 +134,16 @@ module ChemistryKit
128
134
  c.order = 'random'
129
135
  c.default_path = 'beakers'
130
136
  c.pattern = '**/*_beaker.rb'
137
+ c.output_stream = $stdout
138
+ c.add_formatter 'progress'
139
+ if config.concurrency == 1 || options['parallel']
140
+ c.add_formatter(config.log.format, File.join(Dir.getwd, config.log.path, config.log.results_file))
141
+ end
131
142
  end
132
143
  end
133
144
 
134
145
  def run_in_parallel(beakers, concurrency)
135
- require 'parallel_tests'
136
- require 'chemistrykit/parallel_tests_mods'
146
+
137
147
  ParallelTests::CLI.new.run(%w(--type rspec) + ['-n', concurrency.to_s] + %w(-o --beakers=) + beakers)
138
148
  end
139
149
 
@@ -1,22 +1,46 @@
1
1
  # Encoding: utf-8
2
2
 
3
3
  require 'yaml'
4
+ require 'ostruct'
4
5
 
5
6
  module ChemistryKit
6
7
  # Default configuration class
7
8
  class Configuration
8
9
 
9
- attr_accessor :concurrency,
10
- :base_url,
11
- :selenium_connect
10
+ attr_accessor :base_url,
11
+ :concurrency
12
+
13
+ attr_reader :log
14
+
15
+ attr_writer :selenium_connect
12
16
 
13
17
  def initialize(hash)
14
18
  # set defaults
15
19
  @concurrency = 1
20
+ @selenium_connect = {}
21
+ @log = OpenStruct.new
22
+ @log.path = 'evidence'
23
+ @log.results_file = 'results_junit.xml'
24
+ @log.format = 'JUnit'
16
25
 
17
26
  # overide with argument
18
27
  populate_with_hash hash
19
- validate_config
28
+ end
29
+
30
+ def log=(log_hash)
31
+ log_hash.each do |key, value|
32
+ value = 'JUnit' if key == :format && value =~ /junit/i
33
+ @log.send("#{key}=", value) unless value.nil?
34
+ end
35
+ end
36
+
37
+ def selenium_connect
38
+ # return the default log unless the sc log is set
39
+ if @selenium_connect[:log].nil?
40
+ @selenium_connect[:log] = @log.path
41
+ return @selenium_connect
42
+ end
43
+ @selenium_connect
20
44
  end
21
45
 
22
46
  def self.initialize_with_yaml(file)
@@ -35,12 +59,6 @@ module ChemistryKit
35
59
  end
36
60
  end
37
61
 
38
- def validate_config
39
- if @selenium_connect && @selenium_connect[:host] != 'saucelabs' && @concurrency > 1
40
- raise ArgumentError.new 'Concurrency is only supported for the host: "saucelabs"!'
41
- end
42
- end
43
-
44
62
  # private static to symbolize recursivly a loaded yaml
45
63
  def self.symbolize_keys(hash)
46
64
  hash.reduce({}) do |result, (key, value)|
@@ -2,12 +2,12 @@
2
2
 
3
3
  require 'parallel_tests/rspec/runner'
4
4
  require 'parallel_tests/test/runner'
5
+ require 'securerandom'
5
6
 
6
7
  module ParallelTests
7
8
  module RSpec
8
9
  # Monkey Patching the ParallelTest RSpec Runner class to work with CKit's config and binary
9
10
  class Runner < ParallelTests::Test::Runner
10
-
11
11
  class << self
12
12
 
13
13
  def run_tests(test_files, process_number, num_processes, options)
@@ -20,7 +20,6 @@ module ParallelTests
20
20
 
21
21
  cmd = [exe, options[:test_options]].compact.join(' ')
22
22
  cmd << test_files.join(' ')
23
- puts cmd
24
23
 
25
24
  # This concatenates the command into `bundle exec ckit brew --beakers=beaker1 beaker2 beaker3 etc`
26
25
  # Which enables each test group to be run in its own command
@@ -33,7 +32,9 @@ module ParallelTests
33
32
  end
34
33
 
35
34
  def determine_executable
36
- 'bundle exec ckit brew --parallel'
35
+ uuid = SecureRandom.uuid
36
+ file_name = "parallel_part_#{uuid}.xml"
37
+ "bundle exec ckit brew --parallel --results_file #{file_name}"
37
38
  end
38
39
 
39
40
  def test_file_name
@@ -1,7 +1,11 @@
1
1
  # Default Chemisty Kit Configuration File
2
2
 
3
3
  base_url: http://google.com
4
- concurrency: 2
4
+ concurrency: 1
5
+ log:
6
+ path: #you may override the default log path 'evidence'
7
+ results_file: #you may override the default file name 'results_junit.xml'
8
+ format: #you may override the default format 'junit'
5
9
  selenium_connect:
6
10
  #Setup & Debugging
7
11
  jar:
@@ -7,25 +7,38 @@ describe ChemistryKit::Configuration do
7
7
  VALID_BASE_URL = 'http://google.com'
8
8
  VALID_CONCURRENCY = 1
9
9
  VALID_CONFIG_FILE = 'config.yaml'
10
+ VALID_LOG_PATH = 'evidence'
11
+ VALID_JUNIT = 'results_junit.xml'
12
+ VALID_FORMAT_JUNIT = 'junit'
13
+ VALID_JUNIT_FORMAT_OUT = 'JUnit'
10
14
 
11
15
  before(:each) do
12
16
  @valid_selenium_connect_hash = { log: 'evidence', host: 'localhost' }
17
+ @valid_log_hash = { path: VALID_LOG_PATH, results_file: VALID_JUNIT, format: VALID_FORMAT_JUNIT }
13
18
  @valid_config_hash = {
14
19
  base_url: VALID_BASE_URL,
15
20
  concurrency: VALID_CONCURRENCY,
16
- selenium_connect: @valid_selenium_connect_hash
21
+ selenium_connect: @valid_selenium_connect_hash,
22
+ log: @valid_log_hash
17
23
  }
18
24
  end
19
25
 
20
26
  def validate_config(config)
21
27
  config.concurrency.should eq VALID_CONCURRENCY
22
28
  config.base_url.should eq VALID_BASE_URL
29
+ config.log.path.should eq VALID_LOG_PATH
30
+ config.log.results_file.should eq VALID_JUNIT
31
+ config.log.format.should eq VALID_JUNIT_FORMAT_OUT
23
32
  config.selenium_connect.should eq @valid_selenium_connect_hash
24
33
  end
25
34
 
26
35
  it 'should initialize with sane defaults' do
27
36
  config = ChemistryKit::Configuration.new({})
28
- config.concurrency.should eq 1
37
+ config.concurrency.should eq VALID_CONCURRENCY
38
+ config.log.path.should eq VALID_LOG_PATH
39
+ config.log.results_file.should eq VALID_JUNIT
40
+ config.log.format.should eq VALID_JUNIT_FORMAT_OUT
41
+ config.selenium_connect.should eq({ log: VALID_LOG_PATH })
29
42
  end
30
43
 
31
44
  it 'should initialize with a hash of configurations' do
@@ -43,14 +56,18 @@ describe ChemistryKit::Configuration do
43
56
  end.to raise_error ArgumentError, 'The config key: "bad" is unknown!'
44
57
  end
45
58
 
46
- it 'should throw an error if concurrency is configured and the host is not saucelabs' do
47
- expect do
48
- config_hash = {
49
- base_url: VALID_BASE_URL,
50
- concurrency: 2,
51
- selenium_connect: @valid_selenium_connect_hash
52
- }
53
- ChemistryKit::Configuration.new(config_hash)
54
- end.to raise_error ArgumentError, 'Concurrency is only supported for the host: "saucelabs"!'
59
+ it 'should correct the format to JUnit' do
60
+ config = ChemistryKit::Configuration.new(@valid_config_hash)
61
+ config.log.format.should eq 'JUnit'
62
+ end
63
+
64
+ it 'selenium_connect log should default to the main log' do
65
+ config = ChemistryKit::Configuration.new({ log: { path: 'main-path' } })
66
+ config.selenium_connect.should eq({ log: 'main-path' })
67
+ end
68
+
69
+ it 'mainlog should not overide selenium_connect log' do
70
+ config = ChemistryKit::Configuration.new({ log: { path: 'main-path' }, selenium_connect: { log: 'sc-log' } })
71
+ config.selenium_connect.should eq({ log: 'sc-log' })
55
72
  end
56
73
  end
@@ -2,6 +2,10 @@
2
2
 
3
3
  base_url: http://google.com
4
4
  concurrency: 1
5
+ log:
6
+ path: 'evidence'
7
+ results_file: 'results_junit.xml'
8
+ format: 'junit'
5
9
  selenium_connect:
6
10
  log: 'evidence'
7
11
  host: 'localhost'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chemistrykit
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.1
4
+ version: 3.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2013-07-05 00:00:00.000000000 Z
13
+ date: 2013-07-08 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: thor
@@ -35,7 +35,7 @@ dependencies:
35
35
  requirements:
36
36
  - - ~>
37
37
  - !ruby/object:Gem::Version
38
- version: 2.12.0
38
+ version: 2.13.0
39
39
  type: :runtime
40
40
  prerelease: false
41
41
  version_requirements: !ruby/object:Gem::Requirement
@@ -43,15 +43,15 @@ dependencies:
43
43
  requirements:
44
44
  - - ~>
45
45
  - !ruby/object:Gem::Version
46
- version: 2.12.0
46
+ version: 2.13.0
47
47
  - !ruby/object:Gem::Dependency
48
- name: selenium-webdriver
48
+ name: yarjuf
49
49
  requirement: !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
53
53
  - !ruby/object:Gem::Version
54
- version: 2.29.0
54
+ version: 1.0.5
55
55
  type: :runtime
56
56
  prerelease: false
57
57
  version_requirements: !ruby/object:Gem::Requirement
@@ -59,15 +59,15 @@ dependencies:
59
59
  requirements:
60
60
  - - ~>
61
61
  - !ruby/object:Gem::Version
62
- version: 2.29.0
62
+ version: 1.0.5
63
63
  - !ruby/object:Gem::Dependency
64
- name: ci_reporter
64
+ name: selenium-webdriver
65
65
  requirement: !ruby/object:Gem::Requirement
66
66
  none: false
67
67
  requirements:
68
68
  - - ~>
69
69
  - !ruby/object:Gem::Version
70
- version: 1.8.3
70
+ version: 2.29.0
71
71
  type: :runtime
72
72
  prerelease: false
73
73
  version_requirements: !ruby/object:Gem::Requirement
@@ -75,7 +75,7 @@ dependencies:
75
75
  requirements:
76
76
  - - ~>
77
77
  - !ruby/object:Gem::Version
78
- version: 1.8.3
78
+ version: 2.29.0
79
79
  - !ruby/object:Gem::Dependency
80
80
  name: rest-client
81
81
  requirement: !ruby/object:Gem::Requirement
@@ -147,7 +147,7 @@ dependencies:
147
147
  requirements:
148
148
  - - ~>
149
149
  - !ruby/object:Gem::Version
150
- version: 2.12.0
150
+ version: 2.13.0
151
151
  type: :development
152
152
  prerelease: false
153
153
  version_requirements: !ruby/object:Gem::Requirement
@@ -155,7 +155,7 @@ dependencies:
155
155
  requirements:
156
156
  - - ~>
157
157
  - !ruby/object:Gem::Version
158
- version: 2.12.0
158
+ version: 2.13.0
159
159
  - !ruby/object:Gem::Dependency
160
160
  name: aruba
161
161
  requirement: !ruby/object:Gem::Requirement
@@ -220,7 +220,7 @@ dependencies:
220
220
  - - ~>
221
221
  - !ruby/object:Gem::Version
222
222
  version: 0.9.0
223
- description: Made the base url available in the env for formula usage
223
+ description: Updated logging mechanism for concurrent tests and to output junit xml.
224
224
  email:
225
225
  - dave@arrgyle.com
226
226
  - jason@arrgyle.com
@@ -250,6 +250,7 @@ files:
250
250
  - features/exit_status.feature
251
251
  - features/global-config.feature
252
252
  - features/load_page_objects.feature
253
+ - features/logging.feature
253
254
  - features/multi-config.feature
254
255
  - features/new.feature
255
256
  - features/step_definitions/steps.rb
@@ -266,7 +267,6 @@ files:
266
267
  - lib/chemistrykit/parallel_tests_mods.rb
267
268
  - lib/templates/beaker.tt
268
269
  - lib/templates/beaker_with_formula.tt
269
- - lib/templates/chemistrykit/.rspec
270
270
  - lib/templates/chemistrykit/beakers/.gitkeep
271
271
  - lib/templates/chemistrykit/config.yaml.tt
272
272
  - lib/templates/chemistrykit/evidence/.gitkeep
@@ -301,7 +301,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
301
301
  version: '0'
302
302
  segments:
303
303
  - 0
304
- hash: -4251143556691358263
304
+ hash: 3010255625255682660
305
305
  requirements: []
306
306
  rubyforge_project:
307
307
  rubygems_version: 1.8.25
@@ -316,6 +316,7 @@ test_files:
316
316
  - features/exit_status.feature
317
317
  - features/global-config.feature
318
318
  - features/load_page_objects.feature
319
+ - features/logging.feature
319
320
  - features/multi-config.feature
320
321
  - features/new.feature
321
322
  - features/step_definitions/steps.rb
@@ -1 +0,0 @@
1
- --format CI::Reporter::RSpec