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.
Files changed (50) hide show
  1. checksums.yaml +5 -5
  2. data/.cucumberproignore +1 -0
  3. data/.simplecov +1 -2
  4. data/.travis.yml +55 -3
  5. data/CHANGELOG.md +80 -0
  6. data/Gemfile +22 -3
  7. data/LICENSE.txt +1 -1
  8. data/README.md +98 -9
  9. data/Rakefile +35 -0
  10. data/appveyor.yml +188 -0
  11. data/bin/cuke_cataloger +12 -22
  12. data/cuke_cataloger.gemspec +7 -6
  13. data/lib/cuke_cataloger.rb +7 -58
  14. data/lib/cuke_cataloger/formatters/text_report_formatter.rb +33 -0
  15. data/lib/cuke_cataloger/rake_tasks.rb +46 -0
  16. data/lib/cuke_cataloger/unique_test_case_tagger.rb +119 -91
  17. data/lib/cuke_cataloger/version.rb +2 -1
  18. data/testing/cucumber/features/cataloging_tasks.feature +48 -0
  19. data/testing/cucumber/features/executable.feature +4 -3
  20. data/testing/cucumber/features/formatting.feature +0 -3
  21. data/testing/cucumber/features/tag_indexing.feature +3 -3
  22. data/testing/cucumber/features/test_case_scanning_payload.feature +0 -2
  23. data/testing/cucumber/features/test_case_tagging.feature +2 -2
  24. data/testing/cucumber/features/test_case_validation.feature +3 -20
  25. data/testing/cucumber/step_definitions/action_steps.rb +25 -3
  26. data/testing/cucumber/step_definitions/setup_steps.rb +19 -12
  27. data/testing/cucumber/step_definitions/verification_steps.rb +29 -6
  28. data/testing/cucumber/support/env.rb +12 -9
  29. data/testing/file_helper.rb +42 -0
  30. data/testing/fixtures/Rakefile +19 -0
  31. data/testing/fixtures/tests/foo.feature +7 -0
  32. data/testing/gemfiles/cql1.gemfile +40 -0
  33. data/testing/gemfiles/cuke_modeler0.gemfile +15 -1
  34. data/testing/gemfiles/cuke_modeler1.gemfile +15 -1
  35. data/testing/gemfiles/cuke_modeler2.gemfile +35 -0
  36. data/testing/gemfiles/cuke_modeler3.gemfile +9 -0
  37. data/testing/gemfiles/rake10.gemfile +38 -0
  38. data/testing/gemfiles/rake11.gemfile +30 -0
  39. data/testing/gemfiles/rake12.gemfile +35 -0
  40. data/testing/gemfiles/rake13.gemfile +8 -0
  41. data/testing/gemfiles/thor0.gemfile +39 -0
  42. data/testing/gemfiles/thor1.gemfile +11 -0
  43. data/testing/rspec/spec/cuke_cataloger_spec.rb +11 -0
  44. data/testing/rspec/spec/spec_helper.rb +7 -8
  45. data/testing/rspec/spec/unique_test_case_tagger_integration_spec.rb +213 -4
  46. data/testing/rspec/spec/unique_test_case_tagger_unit_spec.rb +16 -10
  47. data/todo.txt +5 -0
  48. metadata +55 -25
  49. data/History.md +0 -27
  50. data/testing/cucumber/support/transforms.rb +0 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 7ca57a9cc7f55a7db0a69cac22642da17b709b24
4
- data.tar.gz: 8ee177287198378826095b0356578e1d66d18180
2
+ SHA256:
3
+ metadata.gz: 5093a2a855885a82d1979dbd2aae635006b0ff3dbcfece5e82cd46f65e8b6763
4
+ data.tar.gz: b7e5e60c3cea900f3d24c085733af68365f067bd5f691345c3dbd06242c39604
5
5
  SHA512:
6
- metadata.gz: 4d3ebc2a6c56845d242414f29ef9e865b0e815ebcbfe2a75479940d0c7cd4e8a8e31549412c973a121c64cb484995be152546048335b9f0c7ae74e8653bc6f77
7
- data.tar.gz: 68845af1ed68b6868cef1efd224008afcf6f4b2b12e2f3d5113d7fdfb3e91379220c1c5d8bae9770b01156e43b1ce77216a59c11a151071505a613f50794f12f
6
+ metadata.gz: e1d7fb2ac7d4bcd05c127fc4a776f3a00e2e329d431b667320af0cc70a17aa86da75517c570a4895ae90a29c87be3a67ee9ed38b1201e6293b708dd4f8172f97
7
+ data.tar.gz: 24023c7622767652754aa65dd3880754606b1c44cf440fdc07952a1c0cae973f80cf43992eaaf9119748d051bfd992d86fc48d18e6ab590d6b4dfb80c3d875ac
@@ -0,0 +1 @@
1
+ testing/fixtures
data/.simplecov CHANGED
@@ -1,8 +1,7 @@
1
1
  SimpleCov.start do
2
2
  root File.dirname(__FILE__)
3
3
 
4
- add_filter '/features/'
5
- add_filter '/spec/'
4
+ add_filter '/testing/'
6
5
 
7
6
  merge_timeout 300
8
7
  end
@@ -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.2.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 1.9.10
65
+ - gem install bundler -v '< 2'
14
66
 
15
67
  script: bundle exec rake cuke_cataloger:ci_build
@@ -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 'tins', '< 1.7' # The 'tins' gem requires Ruby 2.x on/after this version
18
- gem 'json', '< 2.0' # The 'json' gem drops pre-Ruby 2.x support on/after this version
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
- gem 'cuke_modeler', '~> 1.0'
40
+
41
+ # Generally, develop against the most recent supported version of stuff
@@ -1,4 +1,4 @@
1
- Copyright (c) 2014 Eric Kessler
1
+ Copyright (c) 2014-2020 Eric Kessler
2
2
 
3
3
  MIT License
4
4
 
data/README.md CHANGED
@@ -1,15 +1,76 @@
1
- # CukeCataloger
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
- [![Gem Version](https://badge.fury.io/rb/cuke_cataloger.svg)](http://badge.fury.io/rb/cuke_cataloger)
5
- [![Build Status](https://travis-ci.org/enkessler/cuke_cataloger.svg?branch=master)](https://travis-ci.org/enkessler/cuke_cataloger)
6
- [![Coverage Status](https://coveralls.io/repos/enkessler/cuke_cataloger/badge.svg?branch=master&service=github)](https://coveralls.io/github/enkessler/cuke_cataloger?branch=master)
7
- [![Code Climate](https://codeclimate.com/github/enkessler/cuke_cataloger/badges/gpa.svg)](https://codeclimate.com/github/enkessler/cuke_cataloger)
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 (off of the development branch) `git checkout -b my-new-feature`
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
 
@@ -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