Sha256: 944dae97382a5b238a6bf977a51b8c84327244a92b2b4bf6169693e8f02503ea

Contents?: true

Size: 1.42 KB

Versions: 13

Compression:

Stored size: 1.42 KB

Contents

require 'optparse'

module Gitlab
  module QA
    class Runner
      # These options are implemented in the QA framework (i.e., in the CE/EE codebase)
      # They're included here so that gitlab-qa treats them as valid options
      PASS_THROUGH_OPTS = [
        ['--address URL', 'Address of the instance to test'],
        ['--enable-feature FEATURE_FLAG', 'Enable a feature before running tests'],
        ['--mattermost-address URL', 'Address of the Mattermost server'],
        ['--parallel', 'Execute tests in parallel'],
        ['--loop', 'Execute tests in a loop']
      ].freeze

      # rubocop:disable Metrics/AbcSize
      def self.run(args)
        options = OptionParser.new do |opts|
          opts.banner = 'Usage: gitlab-qa [options] Scenario URL [[--] path] [rspec_options]'

          PASS_THROUGH_OPTS.each do |opt|
            opts.on(*opt)
          end

          opts.on_tail('-v', '--version', 'Show the version') do
            require 'gitlab/qa/version'
            puts "#{$PROGRAM_NAME} : #{VERSION}"
            exit
          end

          opts.on_tail('-h', '--help', 'Show the usage') do
            puts opts
            exit
          end

          opts.parse(args)
        end

        if args.size >= 1
          Scenario
            .const_get(args.shift)
            .perform(*args)
        else
          puts options
          exit 1
        end
      end
      # rubocop:enable Metrics/AbcSize
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
gitlab-qa-4.17.0 lib/gitlab/qa/runner.rb
gitlab-qa-4.16.0 lib/gitlab/qa/runner.rb
gitlab-qa-4.15.0 lib/gitlab/qa/runner.rb
gitlab-qa-4.14.0 lib/gitlab/qa/runner.rb
gitlab-qa-4.13.0 lib/gitlab/qa/runner.rb
gitlab-qa-4.12.0 lib/gitlab/qa/runner.rb
gitlab-qa-4.11.0 lib/gitlab/qa/runner.rb
gitlab-qa-4.10.0 lib/gitlab/qa/runner.rb
gitlab-qa-4.9.0 lib/gitlab/qa/runner.rb
gitlab-qa-4.8.1 lib/gitlab/qa/runner.rb
gitlab-qa-4.8.0 lib/gitlab/qa/runner.rb
gitlab-qa-4.7.1 lib/gitlab/qa/runner.rb
gitlab-qa-4.7.0 lib/gitlab/qa/runner.rb