Commit 26ed2d2a authored by Grzegorz Bizon's avatar Grzegorz Bizon

Merge branch 'bw-qa-rspec-options-ee' into 'master'

QA: allow rspec files/options to be handled more consistently

See merge request gitlab-org/gitlab-ee!5144
parents 21e33025 66b844d0
......@@ -11,8 +11,8 @@ module QA
attribute :geo_secondary_name, '--secondary-name SECONDARY_NAME'
attribute :geo_skip_setup?, '--without-setup'
def perform(**args)
unless args[:geo_skip_setup?]
def perform(options, *files)
unless options[:geo_skip_setup?]
Geo::Primary.act do
add_license
enable_hashed_storage
......
......@@ -23,7 +23,7 @@ module QA
arguments.parse!(argv)
self.perform(**Runtime::Scenario.attributes)
self.perform(Runtime::Scenario.attributes, *arguments.default_argv)
end
private
......
......@@ -11,7 +11,7 @@ module QA
tags :core
def perform(address, *files)
def perform(address, *rspec_options)
Runtime::Scenario.define(:gitlab_address, address)
##
......@@ -22,9 +22,9 @@ module QA
Specs::Runner.perform do |specs|
specs.tty = true
specs.tags = self.class.focus
specs.files =
if files.any?
files
specs.options =
if rspec_options.any?
rspec_options
else
File.expand_path('../../specs/features', __dir__)
end
......
......@@ -9,10 +9,10 @@ module QA
class Mattermost < Test::Instance
tags :core, :mattermost
def perform(address, mattermost, *files)
def perform(address, mattermost, *rspec_options)
Runtime::Scenario.define(:mattermost_address, mattermost)
super(address, *files)
super(address, *rspec_options)
end
end
end
......
......@@ -3,19 +3,19 @@ require 'rspec/core'
module QA
module Specs
class Runner < Scenario::Template
attr_accessor :tty, :tags, :files
attr_accessor :tty, :tags, :options
def initialize
@tty = false
@tags = []
@files = [File.expand_path('./features', __dir__)]
@options = [File.expand_path('./features', __dir__)]
end
def perform
args = []
args.push('--tty') if tty
tags.to_a.each { |tag| args.push(['-t', tag.to_s]) }
args.push(files)
args.push(options)
Runtime::Browser.configure!
......
......@@ -29,7 +29,7 @@ describe QA::Scenario::Test::Instance do
it 'should call runner with default arguments' do
subject.perform("test")
expect(runner).to have_received(:files=)
expect(runner).to have_received(:options=)
.with(File.expand_path('../../../qa/specs/features', __dir__))
end
end
......@@ -38,7 +38,7 @@ describe QA::Scenario::Test::Instance do
it 'should call runner with paths' do
subject.perform('test', 'path1', 'path2')
expect(runner).to have_received(:files=).with(%w[path1 path2])
expect(runner).to have_received(:options=).with(%w[path1 path2])
end
end
end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment