summaryrefslogtreecommitdiff
path: root/qa
diff options
context:
space:
mode:
authorRémy Coutable <remy@rymai.me>2018-08-22 09:33:09 +0200
committerRémy Coutable <remy@rymai.me>2018-08-22 10:21:14 +0200
commit3f64b1ad204a6978543e74f8095be731ed4f287f (patch)
treeb51ddf9c5fc5d1398adee617a3aeac0644565e20 /qa
parent1bbe39452664021af90851aef8527ce5e850343e (diff)
downloadgitlab-ce-3f64b1ad204a6978543e74f8095be731ed4f287f.tar.gz
[QA] Re-add Test::Instance for back-compatibility with GitLab < 11.3
Signed-off-by: Rémy Coutable <remy@rymai.me>
Diffstat (limited to 'qa')
-rw-r--r--qa/qa.rb1
-rw-r--r--qa/qa/scenario/test/instance.rb36
2 files changed, 37 insertions, 0 deletions
diff --git a/qa/qa.rb b/qa/qa.rb
index 4b927067449..cf15a8b229c 100644
--- a/qa/qa.rb
+++ b/qa/qa.rb
@@ -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