chemistrykit 2.1.0 → 3.0.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/.rubocop.yml +5 -0
- data/.ruby-version +1 -1
- data/.travis.yml +0 -4
- data/CHANGELOG.md +29 -0
- data/Rakefile +66 -53
- data/bin/ckit +3 -1
- data/chemistrykit.gemspec +8 -3
- data/features/brew.feature +18 -17
- data/features/catalyst.feature +4 -4
- data/features/concurrency.feature +61 -0
- data/features/exit_status.feature +5 -5
- data/features/global-config.feature +26 -0
- data/features/load_page_objects.feature +4 -4
- data/features/multi-config.feature +10 -10
- data/features/step_definitions/steps.rb +5 -3
- data/features/support/env.rb +4 -2
- data/lib/chemistrykit.rb +2 -0
- data/lib/chemistrykit/catalyst.rb +5 -4
- data/lib/chemistrykit/cli/beaker.rb +3 -0
- data/lib/chemistrykit/cli/cli.rb +54 -28
- data/lib/chemistrykit/cli/formula.rb +5 -2
- data/lib/chemistrykit/cli/helpers/formula_loader.rb +32 -19
- data/lib/chemistrykit/cli/new.rb +5 -2
- data/lib/chemistrykit/configuration.rb +54 -0
- data/lib/chemistrykit/formula/base.rb +6 -3
- data/lib/chemistrykit/parallel_tests_mods.rb +55 -0
- data/lib/chemistrykit/shared_context.rb +13 -4
- data/lib/templates/chemistrykit/config.yaml.tt +22 -17
- data/lib/templates/chemistrykit/formulas/lib/formula.rb +5 -2
- data/spec/chemistrykit/catalyst_spec.rb +5 -9
- data/spec/chemistrykit/cli/helpers/formula_loader_spec.rb +15 -13
- data/spec/chemistrykit/configuration_spec.rb +56 -0
- data/spec/chemistrykit/formula/base_spec.rb +4 -2
- data/spec/spec_helper.rb +4 -1
- data/spec/support/config.yaml +7 -0
- metadata +65 -6
@@ -1,5 +1,8 @@
|
|
1
|
+
# Encoding: utf-8
|
2
|
+
|
1
3
|
module ChemistryKit
|
2
4
|
module Formula
|
5
|
+
# Base functionality for the Formula class
|
3
6
|
class Base
|
4
7
|
|
5
8
|
attr_accessor :catalyst
|
@@ -12,6 +15,6 @@ module ChemistryKit
|
|
12
15
|
self.catalyst = ChemistryKit::Catalyst.new(path_to_file)
|
13
16
|
end
|
14
17
|
|
15
|
-
end #Base
|
16
|
-
end #Formula
|
17
|
-
end #ChemistryKit
|
18
|
+
end # Base
|
19
|
+
end # Formula
|
20
|
+
end # ChemistryKit
|
@@ -0,0 +1,55 @@
|
|
1
|
+
# Encoding: utf-8
|
2
|
+
|
3
|
+
require 'parallel_tests/rspec/runner'
|
4
|
+
require 'parallel_tests/test/runner'
|
5
|
+
|
6
|
+
module ParallelTests
|
7
|
+
module RSpec
|
8
|
+
# Monkey Patching the ParallelTest RSpec Runner class to work with CKit's config and binary
|
9
|
+
class Runner < ParallelTests::Test::Runner
|
10
|
+
|
11
|
+
class << self
|
12
|
+
|
13
|
+
def run_tests(test_files, process_number, num_processes, options)
|
14
|
+
exe = executable # expensive, so we cache
|
15
|
+
version = (exe =~ /\brspec\b/ ? 2 : 1)
|
16
|
+
|
17
|
+
# // Beginning of method modifications //
|
18
|
+
# cmd = [exe, options[:test_options], (rspec_2_color if version == 2), spec_opts, *test_files].compact.join(" ")
|
19
|
+
# NOTE: The above line was modified to conform to ckit's command line constraints
|
20
|
+
|
21
|
+
cmd = [exe, options[:test_options]].compact.join(' ')
|
22
|
+
cmd << test_files.join(' ')
|
23
|
+
puts cmd
|
24
|
+
|
25
|
+
# This concatenates the command into `bundle exec ckit brew --beakers=beaker1 beaker2 beaker3 etc`
|
26
|
+
# Which enables each test group to be run in its own command
|
27
|
+
# --beakers= is set in lib/chemkistrykit/cli/cli.rb when parallel_tests is executed using its -o option flag
|
28
|
+
|
29
|
+
# // End of method modifications //
|
30
|
+
|
31
|
+
options = options.merge(env: rspec_1_color) if version == 1
|
32
|
+
execute_command(cmd, process_number, num_processes, options)
|
33
|
+
end
|
34
|
+
|
35
|
+
def determine_executable
|
36
|
+
'bundle exec ckit brew --parallel'
|
37
|
+
end
|
38
|
+
|
39
|
+
def test_file_name
|
40
|
+
'beaker'
|
41
|
+
end
|
42
|
+
|
43
|
+
def test_suffix
|
44
|
+
'_beaker.rb'
|
45
|
+
end
|
46
|
+
|
47
|
+
def runtime_log
|
48
|
+
# TODO This needs to do something.
|
49
|
+
File.join(Dir.getwd, 'evidence', 'parallel_runtime_rspec.log')
|
50
|
+
end
|
51
|
+
|
52
|
+
end # self
|
53
|
+
end # Runner
|
54
|
+
end # RSpec
|
55
|
+
end # ParallelTests
|
@@ -1,16 +1,25 @@
|
|
1
|
-
|
1
|
+
# Encoding: utf-8
|
2
|
+
|
2
3
|
require 'rspec/core/shared_context'
|
4
|
+
require 'selenium-connect'
|
5
|
+
require 'chemistrykit/configuration'
|
6
|
+
require 'yaml'
|
3
7
|
|
4
8
|
module ChemistryKit
|
9
|
+
# Extends the Rspec Shared Context to include hooks for Selenium Connect
|
5
10
|
module SharedContext
|
6
11
|
extend RSpec::Core::SharedContext
|
7
12
|
|
13
|
+
config_file = File.join(Dir.getwd, ENV['CONFIG_FILE'])
|
14
|
+
config = ChemistryKit::Configuration.initialize_with_yaml config_file
|
15
|
+
|
8
16
|
SeleniumConnect.configure do |c|
|
9
|
-
c.
|
17
|
+
c.populate_with_hash config.selenium_connect
|
10
18
|
end
|
11
19
|
|
12
20
|
before(:each) do
|
13
21
|
@driver = SeleniumConnect.start
|
22
|
+
@config = config
|
14
23
|
end
|
15
24
|
|
16
25
|
after(:each) do
|
@@ -21,5 +30,5 @@ module ChemistryKit
|
|
21
30
|
SeleniumConnect.finish
|
22
31
|
end
|
23
32
|
|
24
|
-
end #SharedContext
|
25
|
-
end #ChemistryKit
|
33
|
+
end # SharedContext
|
34
|
+
end # ChemistryKit
|
@@ -1,23 +1,28 @@
|
|
1
|
-
#
|
2
|
-
jar:
|
3
|
-
log:
|
1
|
+
# Default Chemisty Kit Configuration File
|
4
2
|
|
3
|
+
base_url: http://google.com
|
4
|
+
concurrency: 2
|
5
|
+
selenium_connect:
|
6
|
+
#Setup & Debugging
|
7
|
+
jar:
|
8
|
+
log:
|
5
9
|
|
6
|
-
#Where to run your tests
|
7
|
-
host: 'localhost'
|
8
|
-
port: #set to 4444 by default
|
9
10
|
|
11
|
+
#Where to run your tests
|
12
|
+
host: 'localhost'
|
13
|
+
port: #set to 4444 by default
|
10
14
|
|
11
|
-
#Browser & Host
|
12
|
-
browser: 'firefox'
|
13
|
-
browser_path:
|
14
|
-
profile_path:
|
15
|
-
profile_name:
|
16
15
|
|
16
|
+
#Browser & Host
|
17
|
+
browser: 'firefox'
|
18
|
+
browser_path:
|
19
|
+
profile_path:
|
20
|
+
profile_name:
|
17
21
|
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
22
|
+
|
23
|
+
#Saucelabs
|
24
|
+
os:
|
25
|
+
sauce_username:
|
26
|
+
sauce_api_key:
|
27
|
+
browser_version:
|
28
|
+
description:
|
@@ -1,4 +1,7 @@
|
|
1
|
+
# Encoding: utf-8
|
2
|
+
|
3
|
+
# this is where you can define generic helper functions that are inhereted by
|
4
|
+
# the rest of your formulas
|
1
5
|
class Formula < ChemistryKit::Formula::Base
|
2
|
-
|
3
|
-
#the rest of your formulas
|
6
|
+
|
4
7
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# Encoding: utf-8
|
2
|
+
|
1
3
|
require 'spec_helper'
|
2
4
|
|
3
5
|
describe ChemistryKit::Catalyst do
|
@@ -6,7 +8,7 @@ describe ChemistryKit::Catalyst do
|
|
6
8
|
|
7
9
|
Dir.mkdir(File.join(TEST_TMP_PATH, 'catalyst'))
|
8
10
|
@data_file = File.join(TEST_TMP_PATH, 'catalyst', 'catalyst_data.csv')
|
9
|
-
File.open(@data_file, 'w') {|f| f.write("first_key,first_value\nsecond_key,second_value") }
|
11
|
+
File.open(@data_file, 'w') { |f| f.write("first_key,first_value\nsecond_key,second_value") }
|
10
12
|
@catalyst = ChemistryKit::Catalyst.new(@data_file)
|
11
13
|
end
|
12
14
|
|
@@ -25,14 +27,8 @@ describe ChemistryKit::Catalyst do
|
|
25
27
|
end
|
26
28
|
|
27
29
|
it 'Should throw an exception for a non existant key.' do
|
28
|
-
expect {
|
29
|
-
|
30
|
-
}.to raise_error("Unknown \"third_key\"")
|
31
|
-
|
32
|
-
expect {
|
33
|
-
@catalyst.third_key
|
34
|
-
}.to raise_error("Unknown \"third_key\"")
|
35
|
-
|
30
|
+
expect { @catalyst.get_value_for('third_key') }.to raise_error("Unknown \"third_key\"")
|
31
|
+
expect { @catalyst.third_key }.to raise_error("Unknown \"third_key\"")
|
36
32
|
end
|
37
33
|
|
38
34
|
after(:each) do
|
@@ -1,5 +1,7 @@
|
|
1
|
+
# Encoding: utf-8
|
2
|
+
|
1
3
|
require 'spec_helper'
|
2
|
-
#might be able to use something like this: https://github.com/alexeypetrushin/class_loader
|
4
|
+
# might be able to use something like this: https://github.com/alexeypetrushin/class_loader
|
3
5
|
|
4
6
|
describe ChemistryKit::CLI::Helpers::FormulaLoader do
|
5
7
|
|
@@ -13,7 +15,7 @@ describe ChemistryKit::CLI::Helpers::FormulaLoader do
|
|
13
15
|
end
|
14
16
|
|
15
17
|
it 'should return ruby files in alphabetical order' do
|
16
|
-
#create some test files
|
18
|
+
# create some test files
|
17
19
|
d = File.join(TEST_TMP_PATH, 'formula', 'd.rb')
|
18
20
|
a = File.join(TEST_TMP_PATH, 'formula', 'a.rb')
|
19
21
|
b = File.join(TEST_TMP_PATH, 'formula', 'b.rb')
|
@@ -21,15 +23,15 @@ describe ChemistryKit::CLI::Helpers::FormulaLoader do
|
|
21
23
|
FileUtils.touch(a)
|
22
24
|
FileUtils.touch(b)
|
23
25
|
|
24
|
-
#ensure the result
|
26
|
+
# ensure the result
|
25
27
|
@loader.get_formulas(File.join(TEST_TMP_PATH, 'formula')).should eq [a, b, d]
|
26
28
|
|
27
29
|
end
|
28
30
|
|
29
31
|
it 'should order files in child directories before parent directories' do
|
30
32
|
Dir.mkdir(File.join(TEST_TMP_PATH, 'formula', 'child'))
|
31
|
-
d = File.join(TEST_TMP_PATH, 'formula', 'child'
|
32
|
-
b = File.join(TEST_TMP_PATH, 'formula', 'child'
|
33
|
+
d = File.join(TEST_TMP_PATH, 'formula', 'child', 'd.rb')
|
34
|
+
b = File.join(TEST_TMP_PATH, 'formula', 'child', 'b.rb')
|
33
35
|
a = File.join(TEST_TMP_PATH, 'formula', 'a.rb')
|
34
36
|
c = File.join(TEST_TMP_PATH, 'formula', 'c.rb')
|
35
37
|
FileUtils.touch(d)
|
@@ -43,8 +45,8 @@ describe ChemistryKit::CLI::Helpers::FormulaLoader do
|
|
43
45
|
it 'should load directories in alphabetical order' do
|
44
46
|
Dir.mkdir(File.join(TEST_TMP_PATH, 'formula', 'abby'))
|
45
47
|
Dir.mkdir(File.join(TEST_TMP_PATH, 'formula', 'road'))
|
46
|
-
d = File.join(TEST_TMP_PATH, 'formula', 'abby'
|
47
|
-
b = File.join(TEST_TMP_PATH, 'formula', 'road'
|
48
|
+
d = File.join(TEST_TMP_PATH, 'formula', 'abby', 'd.rb')
|
49
|
+
b = File.join(TEST_TMP_PATH, 'formula', 'road', 'b.rb')
|
48
50
|
FileUtils.touch(d)
|
49
51
|
FileUtils.touch(b)
|
50
52
|
@loader.get_formulas(File.join(TEST_TMP_PATH, 'formula')).should eq [d, b]
|
@@ -53,8 +55,8 @@ describe ChemistryKit::CLI::Helpers::FormulaLoader do
|
|
53
55
|
it 'should load any lib directory before any other' do
|
54
56
|
Dir.mkdir(File.join(TEST_TMP_PATH, 'formula', 'lib'))
|
55
57
|
Dir.mkdir(File.join(TEST_TMP_PATH, 'formula', 'abby'))
|
56
|
-
d = File.join(TEST_TMP_PATH, 'formula', 'lib'
|
57
|
-
b = File.join(TEST_TMP_PATH, 'formula', 'abby'
|
58
|
+
d = File.join(TEST_TMP_PATH, 'formula', 'lib', 'd.rb')
|
59
|
+
b = File.join(TEST_TMP_PATH, 'formula', 'abby', 'b.rb')
|
58
60
|
FileUtils.touch(d)
|
59
61
|
FileUtils.touch(b)
|
60
62
|
@loader.get_formulas(File.join(TEST_TMP_PATH, 'formula')).should eq [d, b]
|
@@ -66,11 +68,11 @@ describe ChemistryKit::CLI::Helpers::FormulaLoader do
|
|
66
68
|
Dir.mkdir(File.join(TEST_TMP_PATH, 'formula', 'abby', 'lib'))
|
67
69
|
Dir.mkdir(File.join(TEST_TMP_PATH, 'formula', 'abby', 'road'))
|
68
70
|
|
69
|
-
a = File.join(TEST_TMP_PATH, 'formula', 'lib'
|
70
|
-
c = File.join(TEST_TMP_PATH, 'formula', 'abby'
|
71
|
+
a = File.join(TEST_TMP_PATH, 'formula', 'lib', 'a.rb')
|
72
|
+
c = File.join(TEST_TMP_PATH, 'formula', 'abby', 'c.rb')
|
71
73
|
b = File.join(TEST_TMP_PATH, 'formula', 'b.rb')
|
72
|
-
d = File.join(TEST_TMP_PATH, 'formula', 'abby'
|
73
|
-
e = File.join(TEST_TMP_PATH, 'formula', 'abby'
|
74
|
+
d = File.join(TEST_TMP_PATH, 'formula', 'abby', 'lib', 'd.rb')
|
75
|
+
e = File.join(TEST_TMP_PATH, 'formula', 'abby', 'road', 'e.rb')
|
74
76
|
|
75
77
|
FileUtils.touch(a)
|
76
78
|
FileUtils.touch(b)
|
@@ -0,0 +1,56 @@
|
|
1
|
+
# Encoding: utf-8
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe ChemistryKit::Configuration do
|
6
|
+
|
7
|
+
VALID_BASE_URL = 'http://google.com'
|
8
|
+
VALID_CONCURRENCY = 1
|
9
|
+
VALID_CONFIG_FILE = 'config.yaml'
|
10
|
+
|
11
|
+
before(:each) do
|
12
|
+
@valid_selenium_connect_hash = { log: 'evidence', host: 'localhost' }
|
13
|
+
@valid_config_hash = {
|
14
|
+
base_url: VALID_BASE_URL,
|
15
|
+
concurrency: VALID_CONCURRENCY,
|
16
|
+
selenium_connect: @valid_selenium_connect_hash
|
17
|
+
}
|
18
|
+
end
|
19
|
+
|
20
|
+
def validate_config(config)
|
21
|
+
config.concurrency.should eq VALID_CONCURRENCY
|
22
|
+
config.base_url.should eq VALID_BASE_URL
|
23
|
+
config.selenium_connect.should eq @valid_selenium_connect_hash
|
24
|
+
end
|
25
|
+
|
26
|
+
it 'should initialize with sane defaults' do
|
27
|
+
config = ChemistryKit::Configuration.new({})
|
28
|
+
config.concurrency.should eq 1
|
29
|
+
end
|
30
|
+
|
31
|
+
it 'should initialize with a hash of configurations' do
|
32
|
+
validate_config ChemistryKit::Configuration.new(@valid_config_hash)
|
33
|
+
end
|
34
|
+
|
35
|
+
it 'can be initialized staticlly with a yaml file' do
|
36
|
+
yaml_file = File.join(Dir.pwd, 'spec', 'support', VALID_CONFIG_FILE)
|
37
|
+
validate_config ChemistryKit::Configuration.initialize_with_yaml yaml_file
|
38
|
+
end
|
39
|
+
|
40
|
+
it 'should throw an exception for unsupported config variable' do
|
41
|
+
expect do
|
42
|
+
ChemistryKit::Configuration.new bad: 'config-value'
|
43
|
+
end.to raise_error ArgumentError, 'The config key: "bad" is unknown!'
|
44
|
+
end
|
45
|
+
|
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"!'
|
55
|
+
end
|
56
|
+
end
|
@@ -1,15 +1,17 @@
|
|
1
|
+
# Encoding: utf-8
|
2
|
+
|
1
3
|
require 'spec_helper'
|
2
4
|
|
3
5
|
describe ChemistryKit::Formula::Base do
|
4
6
|
|
5
7
|
before(:each) do
|
6
|
-
#ideally we should mock the driver and not pass in nil
|
8
|
+
# ideally we should mock the driver and not pass in nil
|
7
9
|
driver = nil
|
8
10
|
@formula_base = ChemistryKit::Formula::Base.new(driver)
|
9
11
|
|
10
12
|
Dir.mkdir(File.join(TEST_TMP_PATH, 'catalyst'))
|
11
13
|
@data_file = File.join(TEST_TMP_PATH, 'catalyst', 'catalyst_data.csv')
|
12
|
-
File.open(@data_file, 'w') {|f| f.write("first_key,first_value\nsecond_key,second_value") }
|
14
|
+
File.open(@data_file, 'w') { |f| f.write("first_key,first_value\nsecond_key,second_value") }
|
13
15
|
@catalyst = ChemistryKit::Catalyst.new(@data_file)
|
14
16
|
end
|
15
17
|
|
data/spec/spec_helper.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# Encoding: utf-8
|
2
|
+
|
1
3
|
# This file was generated by the `rspec --init` command. Conventionally, all
|
2
4
|
# specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
|
3
5
|
# Require this file using `require "spec_helper"` to ensure that it is only
|
@@ -8,10 +10,11 @@
|
|
8
10
|
require 'rubygems'
|
9
11
|
require 'bundler/setup'
|
10
12
|
require 'fileutils'
|
11
|
-
#not sure it this is the right way to include all the files under test.
|
13
|
+
# not sure it this is the right way to include all the files under test.
|
12
14
|
require_relative '../lib/chemistrykit/cli/helpers/formula_loader'
|
13
15
|
require_relative '../lib/chemistrykit/formula/base'
|
14
16
|
require_relative '../lib/chemistrykit/catalyst'
|
17
|
+
require_relative '../lib/chemistrykit/configuration'
|
15
18
|
|
16
19
|
TEST_TMP_PATH = File.join(Dir.pwd, 'build', 'tmp')
|
17
20
|
|
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:
|
4
|
+
version: 3.0.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-
|
13
|
+
date: 2013-07-04 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: thor
|
@@ -99,7 +99,7 @@ dependencies:
|
|
99
99
|
requirements:
|
100
100
|
- - ~>
|
101
101
|
- !ruby/object:Gem::Version
|
102
|
-
version: 2.
|
102
|
+
version: 2.1.1
|
103
103
|
type: :runtime
|
104
104
|
prerelease: false
|
105
105
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -107,7 +107,39 @@ dependencies:
|
|
107
107
|
requirements:
|
108
108
|
- - ~>
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version: 2.
|
110
|
+
version: 2.1.1
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: parallel_tests
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
none: false
|
115
|
+
requirements:
|
116
|
+
- - ~>
|
117
|
+
- !ruby/object:Gem::Version
|
118
|
+
version: 0.15.0
|
119
|
+
type: :runtime
|
120
|
+
prerelease: false
|
121
|
+
version_requirements: !ruby/object:Gem::Requirement
|
122
|
+
none: false
|
123
|
+
requirements:
|
124
|
+
- - ~>
|
125
|
+
- !ruby/object:Gem::Version
|
126
|
+
version: 0.15.0
|
127
|
+
- !ruby/object:Gem::Dependency
|
128
|
+
name: parallel
|
129
|
+
requirement: !ruby/object:Gem::Requirement
|
130
|
+
none: false
|
131
|
+
requirements:
|
132
|
+
- - ~>
|
133
|
+
- !ruby/object:Gem::Version
|
134
|
+
version: 0.7.0
|
135
|
+
type: :runtime
|
136
|
+
prerelease: false
|
137
|
+
version_requirements: !ruby/object:Gem::Requirement
|
138
|
+
none: false
|
139
|
+
requirements:
|
140
|
+
- - ~>
|
141
|
+
- !ruby/object:Gem::Version
|
142
|
+
version: 0.7.0
|
111
143
|
- !ruby/object:Gem::Dependency
|
112
144
|
name: rspec
|
113
145
|
requirement: !ruby/object:Gem::Requirement
|
@@ -172,7 +204,23 @@ dependencies:
|
|
172
204
|
- - ~>
|
173
205
|
- !ruby/object:Gem::Version
|
174
206
|
version: 10.0.3
|
175
|
-
|
207
|
+
- !ruby/object:Gem::Dependency
|
208
|
+
name: rubocop
|
209
|
+
requirement: !ruby/object:Gem::Requirement
|
210
|
+
none: false
|
211
|
+
requirements:
|
212
|
+
- - ~>
|
213
|
+
- !ruby/object:Gem::Version
|
214
|
+
version: 0.9.0
|
215
|
+
type: :development
|
216
|
+
prerelease: false
|
217
|
+
version_requirements: !ruby/object:Gem::Requirement
|
218
|
+
none: false
|
219
|
+
requirements:
|
220
|
+
- - ~>
|
221
|
+
- !ruby/object:Gem::Version
|
222
|
+
version: 0.9.0
|
223
|
+
description: Now with concurrent tests
|
176
224
|
email:
|
177
225
|
- dave@arrgyle.com
|
178
226
|
- jason@arrgyle.com
|
@@ -183,6 +231,7 @@ extra_rdoc_files: []
|
|
183
231
|
files:
|
184
232
|
- .gitignore
|
185
233
|
- .rspec
|
234
|
+
- .rubocop.yml
|
186
235
|
- .ruby-gemset
|
187
236
|
- .ruby-version
|
188
237
|
- .travis.yml
|
@@ -197,7 +246,9 @@ files:
|
|
197
246
|
- chemistrykit.gemspec
|
198
247
|
- features/brew.feature
|
199
248
|
- features/catalyst.feature
|
249
|
+
- features/concurrency.feature
|
200
250
|
- features/exit_status.feature
|
251
|
+
- features/global-config.feature
|
201
252
|
- features/load_page_objects.feature
|
202
253
|
- features/multi-config.feature
|
203
254
|
- features/new.feature
|
@@ -210,7 +261,9 @@ files:
|
|
210
261
|
- lib/chemistrykit/cli/formula.rb
|
211
262
|
- lib/chemistrykit/cli/helpers/formula_loader.rb
|
212
263
|
- lib/chemistrykit/cli/new.rb
|
264
|
+
- lib/chemistrykit/configuration.rb
|
213
265
|
- lib/chemistrykit/formula/base.rb
|
266
|
+
- lib/chemistrykit/parallel_tests_mods.rb
|
214
267
|
- lib/chemistrykit/shared_context.rb
|
215
268
|
- lib/templates/beaker.tt
|
216
269
|
- lib/templates/beaker_with_formula.tt
|
@@ -224,8 +277,10 @@ files:
|
|
224
277
|
- lib/templates/formula.tt
|
225
278
|
- spec/chemistrykit/catalyst_spec.rb
|
226
279
|
- spec/chemistrykit/cli/helpers/formula_loader_spec.rb
|
280
|
+
- spec/chemistrykit/configuration_spec.rb
|
227
281
|
- spec/chemistrykit/formula/base_spec.rb
|
228
282
|
- spec/spec_helper.rb
|
283
|
+
- spec/support/config.yaml
|
229
284
|
homepage: https://github.com/arrgyle/chemistrykit
|
230
285
|
licenses:
|
231
286
|
- MIT
|
@@ -247,7 +302,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
247
302
|
version: '0'
|
248
303
|
segments:
|
249
304
|
- 0
|
250
|
-
hash:
|
305
|
+
hash: -488486412254778435
|
251
306
|
requirements: []
|
252
307
|
rubyforge_project:
|
253
308
|
rubygems_version: 1.8.25
|
@@ -258,7 +313,9 @@ summary: A simple and opinionated web testing framework for Selenium that follow
|
|
258
313
|
test_files:
|
259
314
|
- features/brew.feature
|
260
315
|
- features/catalyst.feature
|
316
|
+
- features/concurrency.feature
|
261
317
|
- features/exit_status.feature
|
318
|
+
- features/global-config.feature
|
262
319
|
- features/load_page_objects.feature
|
263
320
|
- features/multi-config.feature
|
264
321
|
- features/new.feature
|
@@ -266,5 +323,7 @@ test_files:
|
|
266
323
|
- features/support/env.rb
|
267
324
|
- spec/chemistrykit/catalyst_spec.rb
|
268
325
|
- spec/chemistrykit/cli/helpers/formula_loader_spec.rb
|
326
|
+
- spec/chemistrykit/configuration_spec.rb
|
269
327
|
- spec/chemistrykit/formula/base_spec.rb
|
270
328
|
- spec/spec_helper.rb
|
329
|
+
- spec/support/config.yaml
|