cuke_cataloger 1.3.0 → 1.6.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
+
[![Gem Version](https://badge.fury.io/rb/cuke_cataloger.svg)](https://rubygems.org/gems/cuke_cataloger)
|
3
|
+
[![Project License](https://img.shields.io/badge/license-MIT-blue.svg)](https://opensource.org/licenses/mit-license.php)
|
4
|
+
[![Downloads](https://img.shields.io/gem/dt/cuke_cataloger.svg)](https://rubygems.org/gems/cuke_cataloger)
|
5
|
+
|
6
|
+
User stuff:
|
7
|
+
[![Cucumber Docs](http://img.shields.io/badge/Documentation-Features-green.svg)](https://jam.cucumber.io/p/98c11df9-4a7b-4b86-9700-7833ac93aa3e/cuke_cataloger/documents/branch/master/)
|
8
|
+
[![Yard Docs](http://img.shields.io/badge/Documentation-API-blue.svg)](https://www.rubydoc.info/gems/cuke_cataloger)
|
9
|
+
|
10
|
+
Developer stuff:
|
11
|
+
[![Build Status](https://travis-ci.org/enkessler/cuke_cataloger.svg)](https://travis-ci.org/enkessler/cuke_cataloger)
|
12
|
+
[![Build status](https://ci.appveyor.com/api/projects/status/9a7gw3r5ddfugtf0?svg=true)](https://ci.appveyor.com/project/enkessler/cuke-cataloger)
|
13
|
+
[![Coverage Status](https://coveralls.io/repos/github/enkessler/cuke_cataloger/badge.svg)](https://coveralls.io/github/enkessler/cuke_cataloger)
|
14
|
+
[![Maintainability](https://api.codeclimate.com/v1/badges/662f0e7aa69bf9725515/maintainability)](https://codeclimate.com/github/enkessler/cuke_cataloger/maintainability)
|
15
|
+
[![Inline docs](http://inch-ci.org/github/enkessler/cuke_cataloger.svg)](https://inch-ci.org/github/enkessler/cuke_cataloger)
|
2
16
|
|
3
17
|
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
[![Project License](https://img.shields.io/badge/license-MIT-blue.svg)](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
|