cuke_cataloger 1.3.0 → 1.6.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 +5 -5
- data/.cucumberproignore +1 -0
- data/.simplecov +1 -2
- data/.travis.yml +55 -3
- data/CHANGELOG.md +80 -0
- data/Gemfile +22 -3
- data/LICENSE.txt +1 -1
- data/README.md +98 -9
- data/Rakefile +35 -0
- data/appveyor.yml +188 -0
- data/bin/cuke_cataloger +12 -22
- data/cuke_cataloger.gemspec +7 -6
- data/lib/cuke_cataloger.rb +7 -58
- data/lib/cuke_cataloger/formatters/text_report_formatter.rb +33 -0
- data/lib/cuke_cataloger/rake_tasks.rb +46 -0
- data/lib/cuke_cataloger/unique_test_case_tagger.rb +119 -91
- data/lib/cuke_cataloger/version.rb +2 -1
- data/testing/cucumber/features/cataloging_tasks.feature +48 -0
- data/testing/cucumber/features/executable.feature +4 -3
- data/testing/cucumber/features/formatting.feature +0 -3
- data/testing/cucumber/features/tag_indexing.feature +3 -3
- data/testing/cucumber/features/test_case_scanning_payload.feature +0 -2
- data/testing/cucumber/features/test_case_tagging.feature +2 -2
- data/testing/cucumber/features/test_case_validation.feature +3 -20
- data/testing/cucumber/step_definitions/action_steps.rb +25 -3
- data/testing/cucumber/step_definitions/setup_steps.rb +19 -12
- data/testing/cucumber/step_definitions/verification_steps.rb +29 -6
- data/testing/cucumber/support/env.rb +12 -9
- data/testing/file_helper.rb +42 -0
- data/testing/fixtures/Rakefile +19 -0
- data/testing/fixtures/tests/foo.feature +7 -0
- data/testing/gemfiles/cql1.gemfile +40 -0
- data/testing/gemfiles/cuke_modeler0.gemfile +15 -1
- data/testing/gemfiles/cuke_modeler1.gemfile +15 -1
- data/testing/gemfiles/cuke_modeler2.gemfile +35 -0
- data/testing/gemfiles/cuke_modeler3.gemfile +9 -0
- data/testing/gemfiles/rake10.gemfile +38 -0
- data/testing/gemfiles/rake11.gemfile +30 -0
- data/testing/gemfiles/rake12.gemfile +35 -0
- data/testing/gemfiles/rake13.gemfile +8 -0
- data/testing/gemfiles/thor0.gemfile +39 -0
- data/testing/gemfiles/thor1.gemfile +11 -0
- data/testing/rspec/spec/cuke_cataloger_spec.rb +11 -0
- data/testing/rspec/spec/spec_helper.rb +7 -8
- data/testing/rspec/spec/unique_test_case_tagger_integration_spec.rb +213 -4
- data/testing/rspec/spec/unique_test_case_tagger_unit_spec.rb +16 -10
- data/todo.txt +5 -0
- metadata +55 -25
- data/History.md +0 -27
- data/testing/cucumber/support/transforms.rb +0 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 5093a2a855885a82d1979dbd2aae635006b0ff3dbcfece5e82cd46f65e8b6763
|
|
4
|
+
data.tar.gz: b7e5e60c3cea900f3d24c085733af68365f067bd5f691345c3dbd06242c39604
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e1d7fb2ac7d4bcd05c127fc4a776f3a00e2e329d431b667320af0cc70a17aa86da75517c570a4895ae90a29c87be3a67ee9ed38b1201e6293b708dd4f8172f97
|
|
7
|
+
data.tar.gz: 24023c7622767652754aa65dd3880754606b1c44cf440fdc07952a1c0cae973f80cf43992eaaf9119748d051bfd992d86fc48d18e6ab590d6b4dfb80c3d875ac
|
data/.cucumberproignore
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
testing/fixtures
|
data/.simplecov
CHANGED
data/.travis.yml
CHANGED
|
@@ -1,15 +1,67 @@
|
|
|
1
|
+
os:
|
|
2
|
+
- linux
|
|
3
|
+
- osx
|
|
4
|
+
|
|
5
|
+
# JRuby and Ruby 1.8.7 isn't working on the new default distribution
|
|
6
|
+
dist: trusty
|
|
7
|
+
|
|
1
8
|
language: ruby
|
|
2
9
|
rvm:
|
|
3
10
|
- 1.8.7
|
|
4
11
|
- 1.9.3
|
|
5
|
-
- 2.
|
|
12
|
+
- 2.3.8
|
|
13
|
+
- 2.4.5
|
|
14
|
+
- 2.5.3
|
|
15
|
+
- 2.6.0
|
|
16
|
+
- jruby-9.1.7.0
|
|
17
|
+
|
|
18
|
+
matrix:
|
|
19
|
+
exclude:
|
|
20
|
+
# Travis does not provide 1.8.7 on OSX
|
|
21
|
+
- rvm: 1.8.7
|
|
22
|
+
os: osx
|
|
23
|
+
# Travis does not provide 1.9.3 on OSX
|
|
24
|
+
- rvm: 1.9.3
|
|
25
|
+
os: osx
|
|
26
|
+
# Ruby 2.3.x is currently broken on TravisCI for OSX and is no longer a supported Ruby version, anyway.
|
|
27
|
+
- rvm: 2.3.8
|
|
28
|
+
os: osx
|
|
29
|
+
# CukeModeler 3.x does not support Ruby 1.x
|
|
30
|
+
- rvm: 1.8.7
|
|
31
|
+
gemfile: testing/gemfiles/cuke_modeler3.gemfile
|
|
32
|
+
- rvm: 1.9.3
|
|
33
|
+
gemfile: testing/gemfiles/cuke_modeler3.gemfile
|
|
34
|
+
# Rake 11.x does not support Ruby 1.8.7
|
|
35
|
+
- rvm: 1.8.7
|
|
36
|
+
gemfile: testing/gemfiles/rake11.gemfile
|
|
37
|
+
# Rake 12.x does not support Ruby 1.8.7
|
|
38
|
+
- rvm: 1.8.7
|
|
39
|
+
gemfile: testing/gemfiles/rake12.gemfile
|
|
40
|
+
# Rake 13.x requires Ruby 2.2 or higher
|
|
41
|
+
- rvm: 1.8.7
|
|
42
|
+
gemfile: testing/gemfiles/rake13.gemfile
|
|
43
|
+
- rvm: 1.9.3
|
|
44
|
+
gemfile: testing/gemfiles/rake13.gemfile
|
|
45
|
+
# Thor 1.x requires Ruby 2.0 or higher
|
|
46
|
+
- rvm: 1.8.7
|
|
47
|
+
gemfile: testing/gemfiles/thor1.gemfile
|
|
48
|
+
- rvm: 1.9.3
|
|
49
|
+
gemfile: testing/gemfiles/thor1.gemfile
|
|
6
50
|
|
|
7
51
|
gemfile:
|
|
52
|
+
- testing/gemfiles/cql1.gemfile
|
|
8
53
|
- testing/gemfiles/cuke_modeler0.gemfile
|
|
9
54
|
- testing/gemfiles/cuke_modeler1.gemfile
|
|
55
|
+
- testing/gemfiles/cuke_modeler2.gemfile
|
|
56
|
+
- testing/gemfiles/cuke_modeler3.gemfile
|
|
57
|
+
- testing/gemfiles/rake10.gemfile
|
|
58
|
+
- testing/gemfiles/rake11.gemfile
|
|
59
|
+
- testing/gemfiles/rake12.gemfile
|
|
60
|
+
- testing/gemfiles/rake13.gemfile
|
|
61
|
+
- testing/gemfiles/thor0.gemfile
|
|
62
|
+
- testing/gemfiles/thor1.gemfile
|
|
10
63
|
|
|
11
|
-
# todo - Remove this once TravisCI fixes their bundler issue (https://github.com/alphagov/govuk_template/pull/186)
|
|
12
64
|
before_install:
|
|
13
|
-
- gem install bundler -v
|
|
65
|
+
- gem install bundler -v '< 2'
|
|
14
66
|
|
|
15
67
|
script: bundle exec rake cuke_cataloger:ci_build
|
data/CHANGELOG.md
ADDED
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
All notable changes to this project will be documented in this file.
|
|
3
|
+
|
|
4
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
5
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
6
|
+
|
|
7
|
+
## [Unreleased]
|
|
8
|
+
|
|
9
|
+
Nothing yet...
|
|
10
|
+
|
|
11
|
+
## [1.6.0] - 2020-06-21
|
|
12
|
+
|
|
13
|
+
### Added
|
|
14
|
+
- Support added for more versions of the `cuke_modeler` gem
|
|
15
|
+
- 3.x
|
|
16
|
+
- 2.x
|
|
17
|
+
|
|
18
|
+
- Support added for more versions of the `rake` gem
|
|
19
|
+
- 13.x
|
|
20
|
+
|
|
21
|
+
- Support added for more versions of the `thor` gem
|
|
22
|
+
- 1.x
|
|
23
|
+
|
|
24
|
+
## [1.5.0] - 2018-09-09
|
|
25
|
+
|
|
26
|
+
### Added
|
|
27
|
+
- The default cataloging prefix used by the Rake tasks is now also the default prefix used by the various object based methods.
|
|
28
|
+
|
|
29
|
+
## [1.4.1] - 2017-07-09
|
|
30
|
+
|
|
31
|
+
### Changed
|
|
32
|
+
- Improved documentation
|
|
33
|
+
|
|
34
|
+
## [1.4.0] - 2017-04-18
|
|
35
|
+
|
|
36
|
+
### Added
|
|
37
|
+
- Both cataloging and validation can now be used without including outline rows, if desired.
|
|
38
|
+
- The column header used for outline row ids is now configurable.
|
|
39
|
+
|
|
40
|
+
## [1.3.1] - 2017-01-11
|
|
41
|
+
|
|
42
|
+
### Fixed
|
|
43
|
+
- Added missing shebang line to the gem's executable file.
|
|
44
|
+
|
|
45
|
+
## [1.3.0] - 2017-01-09
|
|
46
|
+
|
|
47
|
+
### Added
|
|
48
|
+
- Added an executable file for the gem so that it can be used without having to use Rake tasks.
|
|
49
|
+
- A basic cataloging location and prefix is used by default so that specifying these values will not be necessary in many cases.
|
|
50
|
+
|
|
51
|
+
### Fixed
|
|
52
|
+
- Replaced non-Ruby 1.8.x compatible code so that the gem now correctly works with older versions of Ruby.
|
|
53
|
+
|
|
54
|
+
## [1.2.0] - 2016-10-02
|
|
55
|
+
|
|
56
|
+
### Added
|
|
57
|
+
- The gem now declares version limits on all of its dependencies.
|
|
58
|
+
- Added support for the 1.x series of the 'cuke_modeler' gem.
|
|
59
|
+
|
|
60
|
+
## [1.1.0] - 2016-02-21
|
|
61
|
+
|
|
62
|
+
### Added
|
|
63
|
+
- Upgraded to a more recent version of the 'cuke_modeler' gem and removed monkey patches that were
|
|
64
|
+
previously providing functionality that is now present in the newer version of 'cuke_modeler'
|
|
65
|
+
|
|
66
|
+
## [1.0.0] - 2015-10-05
|
|
67
|
+
|
|
68
|
+
- Initial release
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
[Unreleased]: https://github.com/enkessler/cuke_cataloger/compare/v1.6.0...HEAD
|
|
72
|
+
[1.6.0]: https://github.com/enkessler/cuke_cataloger/compare/v1.5.0...v1.6.0
|
|
73
|
+
[1.5.0]: https://github.com/enkessler/cuke_cataloger/compare/v1.4.1...v1.5.0
|
|
74
|
+
[1.4.1]: https://github.com/enkessler/cuke_cataloger/compare/v1.4.0...v1.4.1
|
|
75
|
+
[1.4.0]: https://github.com/enkessler/cuke_cataloger/compare/v1.3.1...v1.4.0
|
|
76
|
+
[1.3.1]: https://github.com/enkessler/cuke_cataloger/compare/v1.3.0...v1.3.1
|
|
77
|
+
[1.3.0]: https://github.com/enkessler/cuke_cataloger/compare/v1.2.0...v1.3.0
|
|
78
|
+
[1.2.0]: https://github.com/enkessler/cuke_cataloger/compare/v1.1.0...v1.2.0
|
|
79
|
+
[1.1.0]: https://github.com/enkessler/cuke_cataloger/compare/v1.0.0...v1.1.0
|
|
80
|
+
[1.0.0]: https://github.com/enkessler/cuke_cataloger/compare/e2084caddc80886a3b6b8ff000f220e56ca92a05...v1.0.0
|
data/Gemfile
CHANGED
|
@@ -3,20 +3,39 @@ source 'http://rubygems.org'
|
|
|
3
3
|
# Specify your gem's dependencies in cuke_cataloger.gemspec
|
|
4
4
|
gemspec
|
|
5
5
|
|
|
6
|
+
# The Coveralls gem can't handle more recent versions of the SimpleCov gem
|
|
7
|
+
gem 'simplecov', '<= 0.16.1'
|
|
6
8
|
|
|
7
9
|
# cuke_cataloger can play with pretty much any version of these but they all play differently with Ruby
|
|
8
10
|
if RUBY_VERSION =~ /^1\.8/
|
|
9
11
|
gem 'cucumber', '< 1.3.0'
|
|
10
12
|
gem 'gherkin', '< 2.12.0'
|
|
13
|
+
gem 'mime-types', '< 2.0' # The 'mime-types' gem requires Ruby 1.9.x on/after this version
|
|
14
|
+
gem 'rainbow', '< 2.0' # Ruby 1.8.x support dropped after this version
|
|
11
15
|
gem 'rake', '< 11.0' # Rake dropped 1.8.x support after this version
|
|
12
16
|
elsif RUBY_VERSION =~ /^1\./
|
|
13
17
|
gem 'cucumber', '< 2.0.0'
|
|
18
|
+
gem 'mime-types', '< 3.0.0' # The 'mime-types' gem requires Ruby 2.x on/after this version
|
|
19
|
+
gem 'rainbow', '< 3.0' # The 'rainbow' gem requires Ruby 2.x on/after this version
|
|
20
|
+
gem 'rake', '< 12.3.0' # The 'rake' gem requires Ruby 2.x on/after this version
|
|
21
|
+
gem 'rest-client', '< 2.0' # The 'rainbow' gem requires Ruby 2.x on/after this version
|
|
22
|
+
else
|
|
23
|
+
# TODO: Upgrade to a Cucumber 4.x once it works completely
|
|
24
|
+
gem 'cucumber', '2.2.0'
|
|
25
|
+
# Generally, develop against the most recent supported version of stuff
|
|
26
|
+
gem 'rake', '~> 13.0'
|
|
27
|
+
gem 'thor', '~> 1.0'
|
|
28
|
+
gem 'cql', '~> 1.0'
|
|
29
|
+
gem 'cuke_modeler', '~> 3.0'
|
|
14
30
|
end
|
|
15
31
|
|
|
16
32
|
if RUBY_VERSION =~ /^1\./
|
|
17
|
-
gem '
|
|
18
|
-
gem '
|
|
33
|
+
gem 'ffi', '< 1.9.15' # The 'ffi' gem requires Ruby 2.x on/after this version
|
|
34
|
+
gem 'tins', '< 1.7' # The 'tins' gem requires Ruby 2.x on/after this version
|
|
35
|
+
gem 'json', '< 2.0' # The 'json' gem drops pre-Ruby 2.x support on/after this version
|
|
36
|
+
gem 'simplecov-html', '< 0.11.0' # The 'simplecov-html' gem requires Ruby 2.x on/after this version
|
|
19
37
|
gem 'term-ansicolor', '< 1.4' # The 'term-ansicolor' gem requires Ruby 2.x on/after this version
|
|
20
38
|
end
|
|
21
39
|
|
|
22
|
-
|
|
40
|
+
|
|
41
|
+
# Generally, develop against the most recent supported version of stuff
|
data/LICENSE.txt
CHANGED
data/README.md
CHANGED
|
@@ -1,15 +1,76 @@
|
|
|
1
|
-
|
|
1
|
+
Basic stuff:
|
|
2
|
+
[](https://rubygems.org/gems/cuke_cataloger)
|
|
3
|
+
[](https://opensource.org/licenses/mit-license.php)
|
|
4
|
+
[](https://rubygems.org/gems/cuke_cataloger)
|
|
5
|
+
|
|
6
|
+
User stuff:
|
|
7
|
+
[](https://jam.cucumber.io/p/98c11df9-4a7b-4b86-9700-7833ac93aa3e/cuke_cataloger/documents/branch/master/)
|
|
8
|
+
[](https://www.rubydoc.info/gems/cuke_cataloger)
|
|
9
|
+
|
|
10
|
+
Developer stuff:
|
|
11
|
+
[](https://travis-ci.org/enkessler/cuke_cataloger)
|
|
12
|
+
[](https://ci.appveyor.com/project/enkessler/cuke-cataloger)
|
|
13
|
+
[](https://coveralls.io/github/enkessler/cuke_cataloger)
|
|
14
|
+
[](https://codeclimate.com/github/enkessler/cuke_cataloger/maintainability)
|
|
15
|
+
[](https://inch-ci.org/github/enkessler/cuke_cataloger)
|
|
2
16
|
|
|
3
17
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
[](https://github.com/enkessler/cuke_cataloger/blob/master/LICENSE.txt)
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
# CukeCataloger
|
|
9
22
|
|
|
10
23
|
|
|
11
24
|
The cuke_cataloger gem is a convenient way to provide a unique id to every test case in your Cucumber test suite.
|
|
12
25
|
|
|
26
|
+
Turn your features from this
|
|
27
|
+
|
|
28
|
+
````
|
|
29
|
+
Feature:
|
|
30
|
+
|
|
31
|
+
Scenario:
|
|
32
|
+
* a step
|
|
33
|
+
|
|
34
|
+
Scenario Outline:
|
|
35
|
+
* a step
|
|
36
|
+
Examples:
|
|
37
|
+
| param 1 |
|
|
38
|
+
| value 1 |
|
|
39
|
+
Examples:
|
|
40
|
+
| param 1 |
|
|
41
|
+
| value 1 |
|
|
42
|
+
| value 2 |
|
|
43
|
+
|
|
44
|
+
Scenario:
|
|
45
|
+
* a step
|
|
46
|
+
````
|
|
47
|
+
|
|
48
|
+
into this!
|
|
49
|
+
|
|
50
|
+
````
|
|
51
|
+
Feature:
|
|
52
|
+
|
|
53
|
+
@test_case_1
|
|
54
|
+
Scenario:
|
|
55
|
+
* a step
|
|
56
|
+
|
|
57
|
+
@test_case_2
|
|
58
|
+
Scenario Outline:
|
|
59
|
+
* a step
|
|
60
|
+
Examples:
|
|
61
|
+
| param 1 | test_case_id |
|
|
62
|
+
| value 1 | 2-1 |
|
|
63
|
+
Examples:
|
|
64
|
+
| param 1 | test_case_id |
|
|
65
|
+
| value 1 | 2-2 |
|
|
66
|
+
| value 2 | 2-3 |
|
|
67
|
+
|
|
68
|
+
@test_case_3
|
|
69
|
+
Scenario:
|
|
70
|
+
* a step
|
|
71
|
+
````
|
|
72
|
+
|
|
73
|
+
|
|
13
74
|
## Installation
|
|
14
75
|
|
|
15
76
|
Add this line to your application's Gemfile:
|
|
@@ -30,11 +91,12 @@ In addition to using the provided classes in any regular Ruby script, the gem's
|
|
|
30
91
|
|
|
31
92
|
### Command Line
|
|
32
93
|
|
|
33
|
-
cuke_cataloger catalog_test_cases [--location=LOCATION] [--prefix=PREFIX]
|
|
94
|
+
cuke_cataloger catalog_test_cases [--location=LOCATION] [--prefix=PREFIX][--[no-]row-id] [--id-column-name=ID_COLUMN_NAME]
|
|
34
95
|
|
|
35
96
|
and
|
|
36
97
|
|
|
37
|
-
cuke_cataloger validate_test_cases [--location=LOCATION] [--prefix=PREFIX] [--file=FILE]
|
|
98
|
+
cuke_cataloger validate_test_cases [--location=LOCATION] [--prefix=PREFIX] [--[no-]row-id] [--id-column-name=ID_COLUMN_NAME] [--file=FILE]
|
|
99
|
+
|
|
38
100
|
|
|
39
101
|
### Rake Task
|
|
40
102
|
|
|
@@ -76,10 +138,37 @@ The the validating functionality scans a given directory for any problems relate
|
|
|
76
138
|
|
|
77
139
|
The above example would result in a report called `validation_results.txt` being generated for any test in the `tests` directory that had problems related to their id (e.g. did not have an id tag, had the same id tag as another test, etc.), based up the id prefix `@my_prefix_`.
|
|
78
140
|
|
|
141
|
+
|
|
142
|
+
### Shallow cataloging
|
|
143
|
+
|
|
144
|
+
The cataloging and validation process can be limited to the test level instead of also checking individual rows in outlines.
|
|
145
|
+
|
|
146
|
+
`cuke_cataloger catalog_test_cases --no-row-id`
|
|
147
|
+
|
|
148
|
+
`cuke_cataloger validate_test_cases --no-row-id`
|
|
149
|
+
|
|
150
|
+
`Rake::Task['tag_tests'].invoke('./features','@test_case_', false) # 3rd argument is the row flag`
|
|
151
|
+
|
|
152
|
+
`Rake::Task['validate_tests'].invoke('./features','@test_case_',nil, false) # 4th argument is the row flag`
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
### Custom id column name
|
|
156
|
+
|
|
157
|
+
By default, the cataloging and validation process uses `test_case_id` as the column name for outline rows but an alternative name can be provided.
|
|
158
|
+
|
|
159
|
+
`cuke_cataloger catalog_test_cases --id-column-name my_special_column_id`
|
|
160
|
+
|
|
161
|
+
`cuke_cataloger validate_test_cases --id-column-name my_special_column_id`
|
|
162
|
+
|
|
163
|
+
`Rake::Task['tag_tests'].invoke('./features','@test_case_', true, 'my_special_column_id') # 4th argument is the id column name`
|
|
164
|
+
|
|
165
|
+
`Rake::Task['validate_tests'].invoke('./features','@test_case_',nil, true, 'my_special_column_id') # 5th argument is the id column name`
|
|
166
|
+
|
|
167
|
+
|
|
79
168
|
## Contributing
|
|
80
169
|
|
|
81
170
|
1. Fork it `http://github.com/<my-github-username>/cuke_cataloger/fork`
|
|
82
|
-
2. Create your feature branch
|
|
171
|
+
2. Create your feature branch `git checkout -b my-new-feature`
|
|
83
172
|
3. Commit your changes `git commit -am 'Add some feature'`
|
|
84
173
|
4. Push to the branch `git push origin my-new-feature`
|
|
85
174
|
5. Create new Pull Request
|
data/Rakefile
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
require 'racatt'
|
|
2
2
|
require 'coveralls/rake/task'
|
|
3
|
+
require 'rainbow'
|
|
3
4
|
|
|
4
5
|
|
|
5
6
|
namespace 'cuke_cataloger' do
|
|
@@ -29,6 +30,40 @@ namespace 'cuke_cataloger' do
|
|
|
29
30
|
# The task that CI will use
|
|
30
31
|
Coveralls::RakeTask.new
|
|
31
32
|
task :ci_build => [:smart_test, 'coveralls:push']
|
|
33
|
+
|
|
34
|
+
desc 'Check for outdated dependencies'
|
|
35
|
+
task :check_dependencies do
|
|
36
|
+
output = `bundle outdated cuke_modeler cql rake thor --filter-major`
|
|
37
|
+
puts output
|
|
38
|
+
|
|
39
|
+
raise Rainbow('Some dependencies are out of date').yellow unless $?.success?
|
|
40
|
+
|
|
41
|
+
puts Rainbow('All dependencies up to date').green
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
desc 'Check documentation with RDoc'
|
|
45
|
+
task :check_documentation do
|
|
46
|
+
output = `rdoc lib -C`
|
|
47
|
+
puts output
|
|
48
|
+
|
|
49
|
+
raise Rainbow('Parts of the gem are undocumented').red unless output =~ /100.00% documented/
|
|
50
|
+
|
|
51
|
+
puts Rainbow('All code documented').green
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
desc 'Check that things look good before trying to release'
|
|
55
|
+
task :prerelease_check do
|
|
56
|
+
begin
|
|
57
|
+
Rake::Task['cuke_cataloger:smart_test'].invoke
|
|
58
|
+
Rake::Task['cuke_cataloger:check_documentation'].invoke
|
|
59
|
+
rescue => e
|
|
60
|
+
puts Rainbow("-----------------------\nSomething isn't right!").red
|
|
61
|
+
raise e
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
puts Rainbow("-----------------------\nAll is well. :)").green
|
|
65
|
+
end
|
|
66
|
+
|
|
32
67
|
end
|
|
33
68
|
|
|
34
69
|
|
data/appveyor.yml
ADDED
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
version: '1.0.{build}'
|
|
2
|
+
|
|
3
|
+
environment:
|
|
4
|
+
matrix:
|
|
5
|
+
|
|
6
|
+
- RUBY_VERSION: 193
|
|
7
|
+
BUNDLE_GEMFILE: testing/gemfiles/cql1.gemfile
|
|
8
|
+
# AppVeyor does not have a 64-bit Ruby 1.9.3
|
|
9
|
+
- RUBY_VERSION: 23
|
|
10
|
+
BUNDLE_GEMFILE: testing/gemfiles/cql1.gemfile
|
|
11
|
+
- RUBY_VERSION: 23-x64
|
|
12
|
+
BUNDLE_GEMFILE: testing/gemfiles/cql1.gemfile
|
|
13
|
+
- RUBY_VERSION: 24
|
|
14
|
+
BUNDLE_GEMFILE: testing/gemfiles/cql1.gemfile
|
|
15
|
+
- RUBY_VERSION: 24-x64
|
|
16
|
+
BUNDLE_GEMFILE: testing/gemfiles/cql1.gemfile
|
|
17
|
+
- RUBY_VERSION: 25
|
|
18
|
+
BUNDLE_GEMFILE: testing/gemfiles/cql1.gemfile
|
|
19
|
+
- RUBY_VERSION: 25-x64
|
|
20
|
+
BUNDLE_GEMFILE: testing/gemfiles/cql1.gemfile
|
|
21
|
+
|
|
22
|
+
- RUBY_VERSION: 193
|
|
23
|
+
BUNDLE_GEMFILE: testing/gemfiles/cuke_modeler0.gemfile
|
|
24
|
+
# AppVeyor does not have a 64-bit Ruby 1.9.3
|
|
25
|
+
- RUBY_VERSION: 23
|
|
26
|
+
BUNDLE_GEMFILE: testing/gemfiles/cuke_modeler0.gemfile
|
|
27
|
+
- RUBY_VERSION: 23-x64
|
|
28
|
+
BUNDLE_GEMFILE: testing/gemfiles/cuke_modeler0.gemfile
|
|
29
|
+
- RUBY_VERSION: 24
|
|
30
|
+
BUNDLE_GEMFILE: testing/gemfiles/cuke_modeler0.gemfile
|
|
31
|
+
- RUBY_VERSION: 24-x64
|
|
32
|
+
BUNDLE_GEMFILE: testing/gemfiles/cuke_modeler0.gemfile
|
|
33
|
+
- RUBY_VERSION: 25
|
|
34
|
+
BUNDLE_GEMFILE: testing/gemfiles/cuke_modeler0.gemfile
|
|
35
|
+
- RUBY_VERSION: 25-x64
|
|
36
|
+
BUNDLE_GEMFILE: testing/gemfiles/cuke_modeler0.gemfile
|
|
37
|
+
|
|
38
|
+
- RUBY_VERSION: 193
|
|
39
|
+
BUNDLE_GEMFILE: testing/gemfiles/cuke_modeler1.gemfile
|
|
40
|
+
# AppVeyor does not have a 64-bit Ruby 1.9.3
|
|
41
|
+
- RUBY_VERSION: 23
|
|
42
|
+
BUNDLE_GEMFILE: testing/gemfiles/cuke_modeler1.gemfile
|
|
43
|
+
- RUBY_VERSION: 23-x64
|
|
44
|
+
BUNDLE_GEMFILE: testing/gemfiles/cuke_modeler1.gemfile
|
|
45
|
+
- RUBY_VERSION: 24
|
|
46
|
+
BUNDLE_GEMFILE: testing/gemfiles/cuke_modeler1.gemfile
|
|
47
|
+
- RUBY_VERSION: 24-x64
|
|
48
|
+
BUNDLE_GEMFILE: testing/gemfiles/cuke_modeler1.gemfile
|
|
49
|
+
- RUBY_VERSION: 25
|
|
50
|
+
BUNDLE_GEMFILE: testing/gemfiles/cuke_modeler1.gemfile
|
|
51
|
+
- RUBY_VERSION: 25-x64
|
|
52
|
+
BUNDLE_GEMFILE: testing/gemfiles/cuke_modeler1.gemfile
|
|
53
|
+
|
|
54
|
+
- RUBY_VERSION: 193
|
|
55
|
+
BUNDLE_GEMFILE: testing/gemfiles/cuke_modeler2.gemfile
|
|
56
|
+
# AppVeyor does not have a 64-bit Ruby 1.9.3
|
|
57
|
+
- RUBY_VERSION: 23
|
|
58
|
+
BUNDLE_GEMFILE: testing/gemfiles/cuke_modeler2.gemfile
|
|
59
|
+
- RUBY_VERSION: 23-x64
|
|
60
|
+
BUNDLE_GEMFILE: testing/gemfiles/cuke_modeler2.gemfile
|
|
61
|
+
- RUBY_VERSION: 24
|
|
62
|
+
BUNDLE_GEMFILE: testing/gemfiles/cuke_modeler2.gemfile
|
|
63
|
+
- RUBY_VERSION: 24-x64
|
|
64
|
+
BUNDLE_GEMFILE: testing/gemfiles/cuke_modeler2.gemfile
|
|
65
|
+
- RUBY_VERSION: 25
|
|
66
|
+
BUNDLE_GEMFILE: testing/gemfiles/cuke_modeler2.gemfile
|
|
67
|
+
- RUBY_VERSION: 25-x64
|
|
68
|
+
BUNDLE_GEMFILE: testing/gemfiles/cuke_modeler2.gemfile
|
|
69
|
+
|
|
70
|
+
- RUBY_VERSION: 23
|
|
71
|
+
BUNDLE_GEMFILE: testing/gemfiles/cuke_modeler3.gemfile
|
|
72
|
+
- RUBY_VERSION: 23-x64
|
|
73
|
+
BUNDLE_GEMFILE: testing/gemfiles/cuke_modeler3.gemfile
|
|
74
|
+
- RUBY_VERSION: 24
|
|
75
|
+
BUNDLE_GEMFILE: testing/gemfiles/cuke_modeler3.gemfile
|
|
76
|
+
- RUBY_VERSION: 24-x64
|
|
77
|
+
BUNDLE_GEMFILE: testing/gemfiles/cuke_modeler3.gemfile
|
|
78
|
+
- RUBY_VERSION: 25
|
|
79
|
+
BUNDLE_GEMFILE: testing/gemfiles/cuke_modeler3.gemfile
|
|
80
|
+
- RUBY_VERSION: 25-x64
|
|
81
|
+
BUNDLE_GEMFILE: testing/gemfiles/cuke_modeler3.gemfile
|
|
82
|
+
|
|
83
|
+
- RUBY_VERSION: 193
|
|
84
|
+
BUNDLE_GEMFILE: testing/gemfiles/rake10.gemfile
|
|
85
|
+
# AppVeyor does not have a 64-bit Ruby 1.9.3
|
|
86
|
+
- RUBY_VERSION: 23
|
|
87
|
+
BUNDLE_GEMFILE: testing/gemfiles/rake10.gemfile
|
|
88
|
+
- RUBY_VERSION: 23-x64
|
|
89
|
+
BUNDLE_GEMFILE: testing/gemfiles/rake10.gemfile
|
|
90
|
+
- RUBY_VERSION: 24
|
|
91
|
+
BUNDLE_GEMFILE: testing/gemfiles/rake10.gemfile
|
|
92
|
+
- RUBY_VERSION: 24-x64
|
|
93
|
+
BUNDLE_GEMFILE: testing/gemfiles/rake10.gemfile
|
|
94
|
+
- RUBY_VERSION: 25
|
|
95
|
+
BUNDLE_GEMFILE: testing/gemfiles/rake10.gemfile
|
|
96
|
+
- RUBY_VERSION: 25-x64
|
|
97
|
+
BUNDLE_GEMFILE: testing/gemfiles/rake10.gemfile
|
|
98
|
+
|
|
99
|
+
- RUBY_VERSION: 193
|
|
100
|
+
BUNDLE_GEMFILE: testing/gemfiles/rake11.gemfile
|
|
101
|
+
# AppVeyor does not have a 64-bit Ruby 1.9.3
|
|
102
|
+
- RUBY_VERSION: 23
|
|
103
|
+
BUNDLE_GEMFILE: testing/gemfiles/rake11.gemfile
|
|
104
|
+
- RUBY_VERSION: 23-x64
|
|
105
|
+
BUNDLE_GEMFILE: testing/gemfiles/rake11.gemfile
|
|
106
|
+
- RUBY_VERSION: 24
|
|
107
|
+
BUNDLE_GEMFILE: testing/gemfiles/rake11.gemfile
|
|
108
|
+
- RUBY_VERSION: 24-x64
|
|
109
|
+
BUNDLE_GEMFILE: testing/gemfiles/rake11.gemfile
|
|
110
|
+
- RUBY_VERSION: 25
|
|
111
|
+
BUNDLE_GEMFILE: testing/gemfiles/rake11.gemfile
|
|
112
|
+
- RUBY_VERSION: 25-x64
|
|
113
|
+
BUNDLE_GEMFILE: testing/gemfiles/rake11.gemfile
|
|
114
|
+
|
|
115
|
+
- RUBY_VERSION: 193
|
|
116
|
+
BUNDLE_GEMFILE: testing/gemfiles/rake12.gemfile
|
|
117
|
+
# AppVeyor does not have a 64-bit Ruby 1.9.3
|
|
118
|
+
- RUBY_VERSION: 23
|
|
119
|
+
BUNDLE_GEMFILE: testing/gemfiles/rake12.gemfile
|
|
120
|
+
- RUBY_VERSION: 23-x64
|
|
121
|
+
BUNDLE_GEMFILE: testing/gemfiles/rake12.gemfile
|
|
122
|
+
- RUBY_VERSION: 24
|
|
123
|
+
BUNDLE_GEMFILE: testing/gemfiles/rake12.gemfile
|
|
124
|
+
- RUBY_VERSION: 24-x64
|
|
125
|
+
BUNDLE_GEMFILE: testing/gemfiles/rake12.gemfile
|
|
126
|
+
- RUBY_VERSION: 25
|
|
127
|
+
BUNDLE_GEMFILE: testing/gemfiles/rake12.gemfile
|
|
128
|
+
- RUBY_VERSION: 25-x64
|
|
129
|
+
BUNDLE_GEMFILE: testing/gemfiles/rake12.gemfile
|
|
130
|
+
|
|
131
|
+
# Rake 13.x requires Ruby 2.2 or higher
|
|
132
|
+
- RUBY_VERSION: 23
|
|
133
|
+
BUNDLE_GEMFILE: testing/gemfiles/rake13.gemfile
|
|
134
|
+
- RUBY_VERSION: 23-x64
|
|
135
|
+
BUNDLE_GEMFILE: testing/gemfiles/rake13.gemfile
|
|
136
|
+
- RUBY_VERSION: 24
|
|
137
|
+
BUNDLE_GEMFILE: testing/gemfiles/rake13.gemfile
|
|
138
|
+
- RUBY_VERSION: 24-x64
|
|
139
|
+
BUNDLE_GEMFILE: testing/gemfiles/rake13.gemfile
|
|
140
|
+
- RUBY_VERSION: 25
|
|
141
|
+
BUNDLE_GEMFILE: testing/gemfiles/rake13.gemfile
|
|
142
|
+
- RUBY_VERSION: 25-x64
|
|
143
|
+
BUNDLE_GEMFILE: testing/gemfiles/rake13.gemfile
|
|
144
|
+
|
|
145
|
+
- RUBY_VERSION: 193
|
|
146
|
+
BUNDLE_GEMFILE: testing/gemfiles/thor0.gemfile
|
|
147
|
+
# AppVeyor does not have a 64-bit Ruby 1.9.3
|
|
148
|
+
- RUBY_VERSION: 23
|
|
149
|
+
BUNDLE_GEMFILE: testing/gemfiles/thor0.gemfile
|
|
150
|
+
- RUBY_VERSION: 23-x64
|
|
151
|
+
BUNDLE_GEMFILE: testing/gemfiles/thor0.gemfile
|
|
152
|
+
- RUBY_VERSION: 24
|
|
153
|
+
BUNDLE_GEMFILE: testing/gemfiles/thor0.gemfile
|
|
154
|
+
- RUBY_VERSION: 24-x64
|
|
155
|
+
BUNDLE_GEMFILE: testing/gemfiles/thor0.gemfile
|
|
156
|
+
- RUBY_VERSION: 25
|
|
157
|
+
BUNDLE_GEMFILE: testing/gemfiles/thor0.gemfile
|
|
158
|
+
- RUBY_VERSION: 25-x64
|
|
159
|
+
BUNDLE_GEMFILE: testing/gemfiles/thor0.gemfile
|
|
160
|
+
|
|
161
|
+
# Thor 1.x requires Ruby 2.0 or higher
|
|
162
|
+
- RUBY_VERSION: 23
|
|
163
|
+
BUNDLE_GEMFILE: testing/gemfiles/thor1.gemfile
|
|
164
|
+
- RUBY_VERSION: 23-x64
|
|
165
|
+
BUNDLE_GEMFILE: testing/gemfiles/thor1.gemfile
|
|
166
|
+
- RUBY_VERSION: 24
|
|
167
|
+
BUNDLE_GEMFILE: testing/gemfiles/thor1.gemfile
|
|
168
|
+
- RUBY_VERSION: 24-x64
|
|
169
|
+
BUNDLE_GEMFILE: testing/gemfiles/thor1.gemfile
|
|
170
|
+
- RUBY_VERSION: 25
|
|
171
|
+
BUNDLE_GEMFILE: testing/gemfiles/thor1.gemfile
|
|
172
|
+
- RUBY_VERSION: 25-x64
|
|
173
|
+
BUNDLE_GEMFILE: testing/gemfiles/thor1.gemfile
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
install:
|
|
177
|
+
- set PATH=C:\Ruby%RUBY_VERSION%\bin;%PATH%
|
|
178
|
+
- bundle install
|
|
179
|
+
|
|
180
|
+
build: off
|
|
181
|
+
|
|
182
|
+
before_test:
|
|
183
|
+
- ruby -v
|
|
184
|
+
- gem -v
|
|
185
|
+
- bundle -v
|
|
186
|
+
|
|
187
|
+
test_script:
|
|
188
|
+
- bundle exec rake
|