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 +15 -0
- data/chemistrykit.gemspec +5 -5
- data/features/brew.feature +1 -2
- data/features/concurrency.feature +3 -0
- data/features/logging.feature +94 -0
- data/features/new.feature +0 -1
- data/features/step_definitions/steps.rb +9 -0
- data/lib/chemistrykit/cli/cli.rb +23 -13
- data/lib/chemistrykit/configuration.rb +28 -10
- data/lib/chemistrykit/parallel_tests_mods.rb +4 -3
- data/lib/templates/chemistrykit/config.yaml.tt +5 -1
- data/spec/chemistrykit/configuration_spec.rb +28 -11
- data/spec/support/config.yaml +4 -0
- metadata +16 -15
- data/lib/templates/chemistrykit/.rspec +0 -1
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
|
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 = "
|
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.
|
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.
|
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"
|
data/features/brew.feature
CHANGED
@@ -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/
|
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
@@ -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
|
data/lib/chemistrykit/cli/cli.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
require 'thor'
|
4
4
|
require 'rspec'
|
5
|
-
require '
|
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
|
-
|
49
|
-
|
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
|
-
|
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 :
|
10
|
-
:
|
11
|
-
|
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
|
-
|
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
|
-
|
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:
|
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
|
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
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
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
|
data/spec/support/config.yaml
CHANGED
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
|
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-
|
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.
|
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.
|
46
|
+
version: 2.13.0
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
|
-
name:
|
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:
|
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:
|
62
|
+
version: 1.0.5
|
63
63
|
- !ruby/object:Gem::Dependency
|
64
|
-
name:
|
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:
|
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:
|
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.
|
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.
|
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:
|
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:
|
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
|