diff options
author | Rémy Coutable <remy@rymai.me> | 2018-08-22 10:33:09 +0300 |
---|---|---|
committer | Rémy Coutable <remy@rymai.me> | 2018-08-22 11:21:14 +0300 |
commit | 3f64b1ad204a6978543e74f8095be731ed4f287f (patch) | |
tree | b51ddf9c5fc5d1398adee617a3aeac0644565e20 | |
parent | 1bbe39452664021af90851aef8527ce5e850343e (diff) |
[QA] Re-add Test::Instance for back-compatibility with GitLab < 11.3
Signed-off-by: Rémy Coutable <remy@rymai.me>
-rw-r--r-- | qa/qa.rb | 1 | ||||
-rw-r--r-- | qa/qa/scenario/test/instance.rb | 36 |
2 files changed, 37 insertions, 0 deletions
@@ -83,6 +83,7 @@ module QA # Test scenario entrypoints. # module Test + autoload :Instance, 'qa/scenario/test/instance' module Instance autoload :All, 'qa/scenario/test/instance/all' autoload :Smoke, 'qa/scenario/test/instance/smoke' diff --git a/qa/qa/scenario/test/instance.rb b/qa/qa/scenario/test/instance.rb new file mode 100644 index 00000000000..b9a73d3ffb8 --- /dev/null +++ b/qa/qa/scenario/test/instance.rb @@ -0,0 +1,36 @@ +# frozen_string_literal: true + +module QA + module Scenario + module Test + # This class exists for back-compatibility so that gitlab-qa can continue + # to call Test::Instance instead of Test::Instance::All until at least + # the current latest GitLab version has the Test::Instance::All class. + # As of Aug, 22nd 2018. Only GitLab >= 11.3 has this class. + module Instance + include Bootable + + def self.perform(*args) + self.tap do |scenario| + yield scenario if block_given? + break scenario.do_perform(*args) + end + end + + def self.do_perform(address, *rspec_options) + Runtime::Scenario.define(:gitlab_address, address) + + Specs::Runner.perform do |specs| + specs.tty = true + specs.options = + if rspec_options.any? + rspec_options + else + ::File.expand_path('../specs/features', __dir__) + end + end + end + end + end + end +end |