Running with gitlab-runner 13.9.0-rc2 (69c049fd)
  on docker-auto-scale 72989761
  feature flags: FF_GITLAB_REGISTRY_HELPER_IMAGE:true
section_start:1616511370:resolve_secrets
Resolving secrets
section_end:1616511370:resolve_secrets
section_start:1616511370:prepare_executor
Preparing the "docker+machine" executor
Using Docker executor with image registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.2.patched-golang-1.14-git-2.29-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 ...
Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.2.patched-golang-1.14-git-2.29-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 ...
Using docker image sha256:3d9eaa64e5ac84c87745afcb0e240b69c313eebf624092e623f9fb5aee0f49b7 for registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.2.patched-golang-1.14-git-2.29-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images@sha256:f5fca6fbad34f17ebac8b436990cc1cd97ca47a61c1d3ba9aa3dd3081e4a9f6a ...
section_end:1616511484:prepare_executor
section_start:1616511484:prepare_script
Preparing environment
Running on runner-72989761-project-5655380-concurrent-0 via runner-72989761-stg-srm-1616511370-b43c5ac0...
section_end:1616511486:prepare_script
section_start:1616511486:get_sources
Getting source from Git repository
$ eval "$CI_PRE_CLONE_SCRIPT"
Fetching changes with git depth set to 20...
Initialized empty Git repository in /builds/gitlab-org-forks/gitlab/.git/
Created fresh repository.
Checking out 8de1bc8a as master...

Skipping Git submodules setup
section_end:1616511508:get_sources
section_start:1616511508:restore_cache
Restoring cache
Checking cache for qa-v2...
FATAL: file does not exist                         
Failed to extract cache
section_end:1616511510:restore_cache
section_start:1616511510:step_script
Executing "step_script" stage of the job script
Using docker image sha256:3d9eaa64e5ac84c87745afcb0e240b69c313eebf624092e623f9fb5aee0f49b7 for registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.2.patched-golang-1.14-git-2.29-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images@sha256:f5fca6fbad34f17ebac8b436990cc1cd97ca47a61c1d3ba9aa3dd3081e4a9f6a ...
$ [ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb
$ cd qa/
$ bundle install --clean --jobs=$(nproc) --path=vendor --retry=3 --without=development --quiet
[DEPRECATED] The `--clean` flag is deprecated because it relies on being remembered across bundler invocations, which bundler will no longer do in future versions. Instead please use `bundle config set clean 'true'`, and stop using this flag
$ bundle check
The Gemfile's dependencies are satisfied
$ bundle exec rspec
warning: parser/current is loading parser/ruby27, which recognizes
warning: 2.7.1-compliant syntax, but you are running 2.7.2.
warning: please see https://github.com/whitequark/parser#compatibility-with-ruby-mri.

Randomized with seed 12738

QA::Scenario::Template
  ensures a disabled feature is enabled afterwards
  allows a feature to be enabled
  does not disable a feature if already disabled
  ensures an enabled feature is disabled afterwards
  ensures a disabled feature is not enabled afterwards if it was disabled earlier
  allows a feature to be disabled

QA::Scenario::Test::Integration::LDAPNoTLS
  #perform
    behaves like a QA scenario class
      performs before hooks only once
      sets an address of the subject
      sets tags on runner
      responds to perform
      specifying RSpec options
        sets options on runner
      with named command-line options
        raises an error if the option is invalid
        converts options to attributes
        passes on options after --

QA::Runtime::Key::ED25519
  #public_key
Executing `["ssh-keygen", "-t", "ed25519", "-b", "256", "-f", "/tmp/d20210323-146-1tmmx0i/id_ed25519", "-N", ""]`
Generating public/private ed25519 key pair.
Your identification has been saved in /tmp/d20210323-146-1tmmx0i/id_ed25519.
Your public key has been saved in /tmp/d20210323-146-1tmmx0i/id_ed25519.pub.
The key fingerprint is:
SHA256:EUiiowfkg12QCYXGWBJaGxQcjjDyccY9XIqO91vsTx4 root@runner-72989761-project-5655380-concurrent-0
The key's randomart image is:
+--[ED25519 256]--+
|XX@B=+.oo        |
|X@+O.o=. .       |
|*oB . ...        |
| o.+     .       |
|. o o   S        |
| . . . .         |
|      . o E      |
|       + o .     |
|      . ..o      |
+----[SHA256]-----+
    generates a public ED25519 key

QA::Scenario::Test::Instance::Airgapped
  #perform
    behaves like a QA scenario class
      sets an address of the subject
      performs before hooks only once
      responds to perform
      sets tags on runner
      specifying RSpec options
        sets options on runner
      with named command-line options
        raises an error if the option is invalid
        converts options to attributes
        passes on options after --

QA::Resource::Events::Base
  #events
    fetches all events when called without parameters
    fetches events with a specified action type

QA::EE::Runtime::Geo
  .max_db_replication_time
    when the environment variable is not set
      returns the default
    when the environment variable is set
      returns the environment variable as a float
  .max_file_replication_time
    when the environment variable is not set
      returns the default
    when the environment variable is set
      returns the environment variable as a float

QA::Scenario::Test::Integration::LDAPNoServer
  #perform
    behaves like a QA scenario class
      responds to perform
      performs before hooks only once
      sets tags on runner
      sets an address of the subject
      with named command-line options
        raises an error if the option is invalid
        converts options to attributes
        passes on options after --
      specifying RSpec options
        sets options on runner

QA::Resource::Base
  .attribute
    when multiple resources have the same attribute name
      has unique attribute values
    when the attribute is populated via direct assignment
      returns value from the assignment
      when the api also has such response
        returns value from the assignment
    when the attribute is populated via a block
      returns value from the block
    when the attribute is populated via the api
      returns value from api
      when the attribute also has a block
        returns value from api and emits an INFO log entry
    when the attribute has no value
      raises an error because no values could be found
  #web_url
    sets #web_url to #current_url after fabrication
  #visit!
    calls #visit with the underlying #web_url
  .fabricate_via_browser_ui!
    returns fabrication resource
    instantiates the resource and calls resource method
    logs the resource and build method when QA_DEBUG=true
    behaves like fabrication method
      does not log the resource and build method when QA_DEBUG=false
      yields resource before calling resource method
  .fabricate!
    when resource does not support fabrication via the API
      calls .fabricate_via_browser_ui!
    when resource supports fabrication via the API
      calls .fabricate_via_browser_ui!
  .fabricate_via_api!
    instantiates the resource, calls resource method returns the resource
    logs the resource and build method when QA_DEBUG=true
    behaves like fabrication method
      does not log the resource and build method when QA_DEBUG=false
      yields resource before calling resource method

QA::Page::View
  #errors
    when view partial has not been found
      returns an error when it is not able to find the partial
    when view partial is present
      when pattern is found
        walks through the view and asserts on elements existence
      when pattern has not been found
        returns an array of errors related to missing elements
  #pathname
    returns an absolute and clean path to the view
  .evaluate
    evaluates a block and returns a DSL object

QA::Scenario::Test::Integration::InstanceSAML
  #perform
    behaves like a QA scenario class
      responds to perform
      sets an address of the subject
      performs before hooks only once
      sets tags on runner
      specifying RSpec options
        sets options on runner
      with named command-line options
        converts options to attributes
        passes on options after --
        raises an error if the option is invalid

QA::Git::Repository
  with specific credentials
    #password=
      raises an error if no username was given
      adds credentials to .netrc
      adds credentials with special characters
    before setting credentials
      does not add credentials to .netrc
  with default credentials
    #push_changes
      with push options
        when set to merge when pipeline succeeds
          behaves like command with retries
            when command is not successful the first time
              and retried command is not successful after 3 attempts
                raises a CommandError exception
              and retried command is successful
                retries the command twice and returns the successful #run command Result output
            when command is successful
              returns the #run command Result output
        when set to create a merge request
          behaves like command with retries
            when command is not successful the first time
              and retried command is successful
                retries the command twice and returns the successful #run command Result output
              and retried command is not successful after 3 attempts
                raises a CommandError exception
            when command is successful
              returns the #run command Result output
        when target branch is given
          behaves like command with retries
            when command is successful
              returns the #run command Result output
            when command is not successful the first time
              and retried command is not successful after 3 attempts
                raises a CommandError exception
              and retried command is successful
                retries the command twice and returns the successful #run command Result output
        when title is given
          behaves like command with retries
            when command is not successful the first time
              and retried command is not successful after 3 attempts
                raises a CommandError exception
              and retried command is successful
                retries the command twice and returns the successful #run command Result output
            when command is successful
              returns the #run command Result output
        when description is given
          behaves like command with retries
            when command is not successful the first time
              and retried command is successful
                retries the command twice and returns the successful #run command Result output
              and retried command is not successful after 3 attempts
                raises a CommandError exception
            when command is successful
              returns the #run command Result output
        when set to remove source branch
          behaves like command with retries
            when command is not successful the first time
              and retried command is not successful after 3 attempts
                raises a CommandError exception
              and retried command is successful
                retries the command twice and returns the successful #run command Result output
            when command is successful
              returns the #run command Result output
        when a label is given
          behaves like command with retries
            when command is successful
              returns the #run command Result output
            when command is not successful the first time
              and retried command is successful
                retries the command twice and returns the successful #run command Result output
              and retried command is not successful after 3 attempts
                raises a CommandError exception
        when two labels are given
          behaves like command with retries
            when command is successful
              returns the #run command Result output
            when command is not successful the first time
              and retried command is successful
                retries the command twice and returns the successful #run command Result output
              and retried command is not successful after 3 attempts
                raises a CommandError exception
      when no branch is given
        behaves like command with retries
          when command is not successful the first time
            and retried command is successful
              retries the command twice and returns the successful #run command Result output
            and retried command is not successful after 3 attempts
              raises a CommandError exception
          when command is successful
            returns the #run command Result output
      when branch is given
        behaves like command with retries
          when command is successful
            returns the #run command Result output
          when command is not successful the first time
            and retried command is not successful after 3 attempts
              raises a CommandError exception
            and retried command is successful
              retries the command twice and returns the successful #run command Result output
    #use_default_credentials
      adds credentials to .netrc
    #delete_tag
      behaves like command with retries
        when command is not successful the first time
          and retried command is successful
            retries the command twice and returns the successful #run command Result output
          and retried command is not successful after 3 attempts
            raises a CommandError exception
        when command is successful
          returns the #run command Result output
    #shallow_clone
      behaves like command with retries
        when command is successful
          returns the #run command Result output
        when command is not successful the first time
          and retried command is not successful after 3 attempts
            raises a CommandError exception
          and retried command is successful
            retries the command twice and returns the successful #run command Result output
    #fetch_supported_git_protocol
      reports unknown if content does not identify a version
      reports the detected version
      reports unknown if version is unknown
      behaves like command with retries
        when command is successful
          returns the #run command Result output
        when command is not successful the first time
          and retried command is not successful after 3 attempts
            raises a CommandError exception
          and retried command is successful
            retries the command twice and returns the successful #run command Result output
    #clone
      when opts is given
        behaves like command with retries
          when command is not successful the first time
            and retried command is successful
              retries the command twice and returns the successful #run command Result output
            and retried command is not successful after 3 attempts
              raises a CommandError exception
          when command is successful
            returns the #run command Result output
      when no opts is given
        behaves like command with retries
          when command is not successful the first time
            and retried command is successful
              retries the command twice and returns the successful #run command Result output
            and retried command is not successful after 3 attempts
              raises a CommandError exception
          when command is successful
            returns the #run command Result output
    #git_protocol=
      raises an error if the version is unsupported
      configures git to use protocol version 2
      configures git to use protocol version 0
      configures git to use protocol version 1

QA::Service::DockerRun::K3s
  #host_name
    in CI
      returns name.network
    not in CI
      returns localhost if not running in a CI environment

QA::Specs::Helpers::Quarantine
  running against specific environments or pipelines
    outputs a message for invalid environments
    runs only in staging
    custom env
      runs on a custom environment
    with pipeline constraints
      with CI_PROJECT_NAME set
        runs on designated pipeline
      without CI_PROJECT_NAME set
        runs on any pipeline
      when a pipeline triggered from the default branch runs in gitlab-qa
        runs on default branch pipelines
    description and context blocks
      with environment set
        can apply to contexts or descriptions
      with different environment set
        does not run against production
    production
      runs on production
  .skip_or_run_quarantined_tests_or_contexts
    with a non-quarantine tag focused
      executes non-quarantined focused tests
      ignores quarantined tests
      ignores non-quarantined non-focused tests
      skips quarantined focused tests
    with :quarantine and non-quarantine tags focused
      skips non-quarantined focused tests
      skips quarantined non-focused tests
      executes quarantined focused tests
      ignores non-quarantined non-focused tests
    with :quarantine focused
      executes quarantined tests
      ignores non-quarantined tests
    with no tag focused
      skips quarantined tests
      executes non-quarantined tests
      with environment set
        multiple pipelines specified
          behaves like skipped in project
            is skipped in STAGING
          behaves like skipped in project
            is skipped in CANARY
          behaves like skipped in project
            is skipped in PRODUCTION
        no pipeline specified
          is skipped when set on contexts or descriptions
          is skipped only in staging
      quarantine message
        behaves like test with quarantine message
          outputs the quarantine message
        behaves like test with quarantine message
          outputs the quarantine message
  .skip_or_run_quarantined_contexts
    with :quarantine focused
      executes before hooks of quarantined contexts
      skips before hooks of non-quarantined contexts
    with no tag focused
      skips before hooks of quarantined contexts
      executes before hooks of non-quarantined contexts

QA::Page::Base
  elements
    #elements
      returns all elements
    #visible? Page is currently visible
      with elements
        does not raise error if page has elements
        not on the page
          is not visible
        on the page
          is visible
      no elements
        raises error if page has no required elements
    #required_elements
      returns only required elements
  #all_elements
    raises an error if count or minimum are not specified
    does not raise an error if :minimum, :maximum, :count, or :between is specified
  .errors
    when page has views and elements defined
      iterates views composite and returns errors
    when page has no views and elements defined
      appends an error about missing views / elements block
  #wait_until
    when the condition is false
      refreshes
      returns false
    when the condition is true
      does not refresh
      returns true
  page helpers
    exposes helpful page helpers
  .view DSL for defining view partials
    populates views objects with data about elements
    makes it possible to define page views

QA::Support::Repeater
  .repeat_until
    logs attempts
D, [2021-03-23T14:58:58.630935 #146] DEBUG -- : 
Starting test: QA::Support::Repeater.repeat_until allows logging to be silenced

    allows logging to be silenced
    when raise_on_failure is false
      when retry_on_exception is not provided (default: false)
        when both max_attempts and max_duration are provided
          when max_attempts is reached first
            behaves like repeat until
D, [2021-03-23T14:58:58.633085 #146] DEBUG -- : 
Starting test: QA::Support::Repeater.repeat_until when raise_on_failure is false when retry_on_exception is not provided (default: false) when both max_attempts and max_duration are provided when max_attempts is reached first behaves like repeat until returns when max_attempts is reached

D, [2021-03-23T14:58:58.633349 #146] DEBUG -- : Attempt number 1
              returns when max_attempts is reached
          when max_duration is reached first
            behaves like repeat until
D, [2021-03-23T14:58:58.634740 #146] DEBUG -- : 
Starting test: QA::Support::Repeater.repeat_until when raise_on_failure is false when retry_on_exception is not provided (default: false) when both max_attempts and max_duration are provided when max_duration is reached first behaves like repeat until returns when max_duration is reached

D, [2021-03-23T14:58:58.634982 #146] DEBUG -- : Attempt number 1
              returns when max_duration is reached
        when max duration is reached
D, [2021-03-23T14:58:58.636125 #146] DEBUG -- : 
Starting test: QA::Support::Repeater.repeat_until when raise_on_failure is false when retry_on_exception is not provided (default: false) when max duration is reached returns the value from the block

          returns the value from the block
D, [2021-03-23T14:58:58.637074 #146] DEBUG -- : 
Starting test: QA::Support::Repeater.repeat_until when raise_on_failure is false when retry_on_exception is not provided (default: false) when max duration is reached does not raise an exception

          does not raise an exception
        when max duration is not reached
D, [2021-03-23T14:58:58.638255 #146] DEBUG -- : 
Starting test: QA::Support::Repeater.repeat_until when raise_on_failure is false when retry_on_exception is not provided (default: false) when max duration is not reached returns the value from the block

          returns the value from the block
D, [2021-03-23T14:58:58.639151 #146] DEBUG -- : 
Starting test: QA::Support::Repeater.repeat_until when raise_on_failure is false when retry_on_exception is not provided (default: false) when max duration is not reached raises an exception

          raises an exception
      when retry_on_exception is true
        when both max_attempts and max_duration are provided
          when max_attempts is reached first
            behaves like repeat until
D, [2021-03-23T14:58:58.641001 #146] DEBUG -- : 
Starting test: QA::Support::Repeater.repeat_until when raise_on_failure is false when retry_on_exception is true when both max_attempts and max_duration are provided when max_attempts is reached first behaves like repeat until returns when max_attempts is reached

D, [2021-03-23T14:58:58.641201 #146] DEBUG -- : Attempt number 1
              returns when max_attempts is reached
          when max_duration is reached first
            behaves like repeat until
D, [2021-03-23T14:58:58.642538 #146] DEBUG -- : 
Starting test: QA::Support::Repeater.repeat_until when raise_on_failure is false when retry_on_exception is true when both max_attempts and max_duration are provided when max_duration is reached first behaves like repeat until returns when max_duration is reached

D, [2021-03-23T14:58:58.642739 #146] DEBUG -- : Attempt number 1
              returns when max_duration is reached
        when max duration is not reached
D, [2021-03-23T14:58:58.643929 #146] DEBUG -- : 
Starting test: QA::Support::Repeater.repeat_until when raise_on_failure is false when retry_on_exception is true when max duration is not reached does not raise an exception

          does not raise an exception
D, [2021-03-23T14:58:58.644928 #146] DEBUG -- : 
Starting test: QA::Support::Repeater.repeat_until when raise_on_failure is false when retry_on_exception is true when max duration is not reached returns the value from the block

          returns the value from the block
        when max duration is reached
D, [2021-03-23T14:58:58.646162 #146] DEBUG -- : 
Starting test: QA::Support::Repeater.repeat_until when raise_on_failure is false when retry_on_exception is true when max duration is reached does not raise an exception

          does not raise an exception
D, [2021-03-23T14:58:58.647113 #146] DEBUG -- : 
Starting test: QA::Support::Repeater.repeat_until when raise_on_failure is false when retry_on_exception is true when max duration is reached returns the value from the block

          returns the value from the block
    when raise_on_failure is not provided (default: true)
      when retry_on_exception is true
        when max duration is not reached
D, [2021-03-23T14:58:58.648721 #146] DEBUG -- : 
Starting test: QA::Support::Repeater.repeat_until when raise_on_failure is not provided (default: true) when retry_on_exception is true when max duration is not reached returns value from block

          returns value from block
        when both max_attempts and max_duration are provided
          when max_attempts is reached first
D, [2021-03-23T14:58:58.650115 #146] DEBUG -- : 
Starting test: QA::Support::Repeater.repeat_until when raise_on_failure is not provided (default: true) when retry_on_exception is true when both max_attempts and max_duration are provided when max_attempts is reached first raises an exception

D, [2021-03-23T14:58:58.650365 #146] DEBUG -- : Attempt number 1
            raises an exception
          when max_duration is reached first
D, [2021-03-23T14:58:58.651453 #146] DEBUG -- : 
Starting test: QA::Support::Repeater.repeat_until when raise_on_failure is not provided (default: true) when retry_on_exception is true when both max_attempts and max_duration are provided when max_duration is reached first raises an exception

D, [2021-03-23T14:58:58.651695 #146] DEBUG -- : Attempt number 1
            raises an exception
        when max duration is reached
D, [2021-03-23T14:58:58.652827 #146] DEBUG -- : 
Starting test: QA::Support::Repeater.repeat_until when raise_on_failure is not provided (default: true) when retry_on_exception is true when max duration is reached raises an exception

          raises an exception
D, [2021-03-23T14:58:58.653945 #146] DEBUG -- : 
Starting test: QA::Support::Repeater.repeat_until when raise_on_failure is not provided (default: true) when retry_on_exception is true when max duration is reached does not raise an exception until max_duration is reached

          does not raise an exception until max_duration is reached
      when retry_on_exception is not provided (default: false)
        when both max_attempts and max_duration are provided
          when max_duration is reached first
D, [2021-03-23T14:58:58.655705 #146] DEBUG -- : 
Starting test: QA::Support::Repeater.repeat_until when raise_on_failure is not provided (default: true) when retry_on_exception is not provided (default: false) when both max_attempts and max_duration are provided when max_duration is reached first raises an exception

D, [2021-03-23T14:58:58.655957 #146] DEBUG -- : Attempt number 1
            raises an exception
          when max_attempts is reached first
D, [2021-03-23T14:58:58.657060 #146] DEBUG -- : 
Starting test: QA::Support::Repeater.repeat_until when raise_on_failure is not provided (default: true) when retry_on_exception is not provided (default: false) when both max_attempts and max_duration are provided when max_attempts is reached first raises an exception

D, [2021-03-23T14:58:58.657303 #146] DEBUG -- : Attempt number 1
            raises an exception
        when max_attempts is provided
          when max_attempts is reached
D, [2021-03-23T14:58:58.658582 #146] DEBUG -- : 
Starting test: QA::Support::Repeater.repeat_until when raise_on_failure is not provided (default: true) when retry_on_exception is not provided (default: false) when max_attempts is provided when max_attempts is reached ignores duration

D, [2021-03-23T14:58:58.658799 #146] DEBUG -- : Attempt number 1
D, [2022-03-23T14:58:58.658863 #146] DEBUG -- : Attempt number 2
            ignores duration
D, [2021-03-23T14:58:58.660087 #146] DEBUG -- : 
Starting test: QA::Support::Repeater.repeat_until when raise_on_failure is not provided (default: true) when retry_on_exception is not provided (default: false) when max_attempts is provided when max_attempts is reached raises an exception

D, [2021-03-23T14:58:58.660330 #146] DEBUG -- : Attempt number 1
            raises an exception
          when max_attempts is not reached
D, [2021-03-23T14:58:58.661380 #146] DEBUG -- : 
Starting test: QA::Support::Repeater.repeat_until when raise_on_failure is not provided (default: true) when retry_on_exception is not provided (default: false) when max_attempts is provided when max_attempts is not reached returns value from block

D, [2021-03-23T14:58:58.661574 #146] DEBUG -- : Attempt number 1
            returns value from block
        when max_duration is provided
          when max duration is reached
D, [2021-03-23T14:58:58.662815 #146] DEBUG -- : 
Starting test: QA::Support::Repeater.repeat_until when raise_on_failure is not provided (default: true) when retry_on_exception is not provided (default: false) when max_duration is provided when max duration is reached raises an exception

            raises an exception
D, [2021-03-23T14:58:58.663777 #146] DEBUG -- : 
Starting test: QA::Support::Repeater.repeat_until when raise_on_failure is not provided (default: true) when retry_on_exception is not provided (default: false) when max_duration is provided when max duration is reached ignores attempts

            ignores attempts
          when max duration is not reached
D, [2021-03-23T14:58:58.664959 #146] DEBUG -- : 
Starting test: QA::Support::Repeater.repeat_until when raise_on_failure is not provided (default: true) when retry_on_exception is not provided (default: false) when max_duration is provided when max duration is not reached returns value from block

            returns value from block

QA::Page::Validator
  #constants
D, [2021-03-23T14:58:58.669614 #146] DEBUG -- : 
Starting test: QA::Page::Validator#constants returns all constants that are module children

    returns all constants that are module children
  when checking validation errors
    when there are no validation errors
      #errors
D, [2021-03-23T14:58:58.696820 #146] DEBUG -- : 
Starting test: QA::Page::Validator when checking validation errors when there are no validation errors #errors does not return errors

        does not return errors
      #validate!
D, [2021-03-23T14:58:58.912885 #146] DEBUG -- : 
Starting test: QA::Page::Validator when checking validation errors when there are no validation errors #validate! does not raise error

        does not raise error
    when there are validation errors
      #errors
D, [2021-03-23T14:58:58.915329 #146] DEBUG -- : 
Starting test: QA::Page::Validator when checking validation errors when there are validation errors #errors returns errors

        returns errors
      #validate!
D, [2021-03-23T14:58:58.917218 #146] DEBUG -- : 
Starting test: QA::Page::Validator when checking validation errors when there are validation errors #validate! raises validation error

        raises validation error
  #descendants
D, [2021-03-23T14:58:58.919166 #146] DEBUG -- : 
Starting test: QA::Page::Validator#descendants recursively returns all descendants that are page objects

    recursively returns all descendants that are page objects
D, [2021-03-23T14:58:59.003256 #146] DEBUG -- : 
Starting test: QA::Page::Validator#descendants does not return modules that aggregate page objects

    does not return modules that aggregate page objects

QA::Scenario::Test::Sanity::Framework
  behaves like a QA scenario class
D, [2021-03-23T14:58:59.008428 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Sanity::Framework behaves like a QA scenario class sets tags on runner

    sets tags on runner
D, [2021-03-23T14:58:59.010169 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Sanity::Framework behaves like a QA scenario class sets an address of the subject

    sets an address of the subject
D, [2021-03-23T14:58:59.011960 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Sanity::Framework behaves like a QA scenario class responds to perform

    responds to perform
D, [2021-03-23T14:58:59.013222 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Sanity::Framework behaves like a QA scenario class performs before hooks only once

    performs before hooks only once
    specifying RSpec options
D, [2021-03-23T14:58:59.014842 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Sanity::Framework behaves like a QA scenario class specifying RSpec options sets options on runner

      sets options on runner
    with named command-line options
D, [2021-03-23T14:58:59.016473 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Sanity::Framework behaves like a QA scenario class with named command-line options converts options to attributes

      converts options to attributes
D, [2021-03-23T14:58:59.018152 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Sanity::Framework behaves like a QA scenario class with named command-line options passes on options after --

      passes on options after --
D, [2021-03-23T14:58:59.019882 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Sanity::Framework behaves like a QA scenario class with named command-line options raises an error if the option is invalid

      raises an error if the option is invalid

QA::Specs::ParallelRunner
D, [2021-03-23T14:58:59.025064 #146] DEBUG -- : 
Starting test: QA::Specs::ParallelRunner passes a given test path to parallel_tests and adds a separator

  passes a given test path to parallel_tests and adds a separator
D, [2021-03-23T14:58:59.028800 #146] DEBUG -- : 
Starting test: QA::Specs::ParallelRunner passes tags and test paths with separators to parallel_tests

  passes tags and test paths with separators to parallel_tests
D, [2021-03-23T14:58:59.032002 #146] DEBUG -- : 
Starting test: QA::Specs::ParallelRunner passes args to parallel_tests

  passes args to parallel_tests
D, [2021-03-23T14:58:59.035007 #146] DEBUG -- : 
Starting test: QA::Specs::ParallelRunner passes tags and test paths to parallel_tests and adds a separator

  passes tags and test paths to parallel_tests and adds a separator
D, [2021-03-23T14:58:59.038196 #146] DEBUG -- : 
Starting test: QA::Specs::ParallelRunner passes supported environment variables

  passes supported environment variables

QA::Scenario::Actable
  .perform
D, [2021-03-23T14:58:59.051900 #146] DEBUG -- : 
Starting test: QA::Scenario::Actable.perform makes it possible to pass binding

    makes it possible to pass binding
  .act
D, [2021-03-23T14:58:59.053225 #146] DEBUG -- : 
Starting test: QA::Scenario::Actable.act supports passing variables

    supports passing variables
D, [2021-03-23T14:58:59.054200 #146] DEBUG -- : 
Starting test: QA::Scenario::Actable.act provides means to run steps

    provides means to run steps
D, [2021-03-23T14:58:59.055085 #146] DEBUG -- : 
Starting test: QA::Scenario::Actable.act returns value from the last method

    returns value from the last method

QA::Resource::ApiFabricator
  #fabricate_via_api!
    when resource supports fabrication via the API
      #transform_api_resource
D, [2021-03-23T14:58:59.060052 #146] DEBUG -- : 
Starting test: QA::Resource::ApiFabricator#fabricate_via_api! when resource supports fabrication via the API #transform_api_resource transforms the resource

        transforms the resource
      when creating a resource
D, [2021-03-23T14:58:59.062717 #146] DEBUG -- : 
Starting test: QA::Resource::ApiFabricator#fabricate_via_api! when resource supports fabrication via the API when creating a resource returns the resource URL

        returns the resource URL
D, [2021-03-23T14:58:59.064802 #146] DEBUG -- : 
Starting test: QA::Resource::ApiFabricator#fabricate_via_api! when resource supports fabrication via the API when creating a resource populates api_resource with the resource

        populates api_resource with the resource
        when the POST fails
D, [2021-03-23T14:58:59.066900 #146] DEBUG -- : 
Starting test: QA::Resource::ApiFabricator#fabricate_via_api! when resource supports fabrication via the API when creating a resource when the POST fails raises a ResourceFabricationFailedError exception

          raises a ResourceFabricationFailedError exception
    when resource does not support fabrication via the API
D, [2021-03-23T14:58:59.069174 #146] DEBUG -- : 
Starting test: QA::Resource::ApiFabricator#fabricate_via_api! when resource does not support fabrication via the API raises a NotImplementedError exception

      raises a NotImplementedError exception
  #api_support?
    when resource supports fabrication via the API
D, [2021-03-23T14:58:59.070976 #146] DEBUG -- : 
Starting test: QA::Resource::ApiFabricator#api_support? when resource supports fabrication via the API returns false

      returns false
    when resource does not support fabrication via the API
D, [2021-03-23T14:58:59.072303 #146] DEBUG -- : 
Starting test: QA::Resource::ApiFabricator#api_support? when resource does not support fabrication via the API returns false

      returns false

QA::Runtime::API::Client
  initialization
D, [2021-03-23T14:58:59.077219 #146] DEBUG -- : 
Starting test: QA::Runtime::API::Client initialization defaults to :gitlab address

    defaults to :gitlab address
D, [2021-03-23T14:58:59.078089 #146] DEBUG -- : 
Starting test: QA::Runtime::API::Client initialization uses specified address

    uses specified address
  #personal_access_token
    when user is present and QA::Runtime::Env.personal_access_token is present
D, [2021-03-23T14:58:59.079320 #146] DEBUG -- : 
Starting test: QA::Runtime::API::Client#personal_access_token when user is present and QA::Runtime::Env.personal_access_token is present returns a created token

      returns a created token
    when user is present and QA::Runtime::Env.personal_access_token is nil
D, [2021-03-23T14:58:59.080858 #146] DEBUG -- : 
Starting test: QA::Runtime::API::Client#personal_access_token when user is present and QA::Runtime::Env.personal_access_token is nil returns a created token

      returns a created token
    when user is nil and QA::Runtime::Env.personal_access_token is nil
D, [2021-03-23T14:58:59.082352 #146] DEBUG -- : 
Starting test: QA::Runtime::API::Client#personal_access_token when user is nil and QA::Runtime::Env.personal_access_token is nil returns a created token

      returns a created token
    when user is nil and QA::Runtime::Env.personal_access_token is present
D, [2021-03-23T14:58:59.083799 #146] DEBUG -- : 
Starting test: QA::Runtime::API::Client#personal_access_token when user is nil and QA::Runtime::Env.personal_access_token is present returns specified token from env

      returns specified token from env

QA::Runtime::Key::RSA
  #public_key
D, [2021-03-23T14:58:59.088451 #146] DEBUG -- : 
Starting test: QA::Runtime::Key::RSA#public_key generates a public RSA key

Executing `["ssh-keygen", "-t", "rsa", "-b", "4096", "-f", "/tmp/d20210323-146-1gbsax3/id_rsa", "-N", ""]`
Generating public/private rsa key pair.
Your identification has been saved in /tmp/d20210323-146-1gbsax3/id_rsa.
Your public key has been saved in /tmp/d20210323-146-1gbsax3/id_rsa.pub.
The key fingerprint is:
SHA256:qkj7LdqkSAfN21+2xWM5bTuU8mcA6lxSSmstZyEOndg root@runner-72989761-project-5655380-concurrent-0
The key's randomart image is:
+---[RSA 4096]----+
|                 |
|                 |
|        + .      |
|  o    o E +     |
| . o    S B o .  |
|  . o  . O.*o+   |
| ..o... +o*B+o.  |
|.o.*.o. oo+ +o.o |
|. =o+... .   .+  |
+----[SHA256]-----+
    generates a public RSA key

QA::Support::WaitForRequests
  .wait_for_requests
    when skip_finished_loading_check is defaulted to false
D, [2021-03-23T14:59:00.957389 #146] DEBUG -- : 
Starting test: QA::Support::WaitForRequests.wait_for_requests when skip_finished_loading_check is defaulted to false calls finished_loading?

      calls finished_loading?
    when skip_finished_loading_check is true
D, [2021-03-23T14:59:00.959545 #146] DEBUG -- : 
Starting test: QA::Support::WaitForRequests.wait_for_requests when skip_finished_loading_check is true does not call finished_loading?

      does not call finished_loading?

QA::Resource::User
  #fabricate_via_api!
D, [2021-03-23T14:59:00.964477 #146] DEBUG -- : 
Starting test: QA::Resource::User#fabricate_via_api! tries to create a user if it does not exist

    tries to create a user if it does not exist
D, [2021-03-23T14:59:00.966082 #146] DEBUG -- : 
Starting test: QA::Resource::User#fabricate_via_api! fetches an existing user

    fetches an existing user

QA::Runtime::Env
  .github_access_token
D, [2021-03-23T14:59:00.971500 #146] DEBUG -- : 
Starting test: QA::Runtime::Env.github_access_token returns stripped string if GITHUB_ACCESS_TOKEN is defined

    returns stripped string if GITHUB_ACCESS_TOKEN is defined
D, [2021-03-23T14:59:00.974230 #146] DEBUG -- : 
Starting test: QA::Runtime::Env.github_access_token returns "" if GITHUB_ACCESS_TOKEN is not defined

    returns "" if GITHUB_ACCESS_TOKEN is not defined
  .remote_grid
D, [2021-03-23T14:59:00.977043 #146] DEBUG -- : 
Starting test: QA::Runtime::Env.remote_grid is falsey if QA_REMOTE_GRID is not set

    is falsey if QA_REMOTE_GRID is not set
D, [2021-03-23T14:59:00.978026 #146] DEBUG -- : 
Starting test: QA::Runtime::Env.remote_grid accepts https protocol

    accepts https protocol
    with credentials
D, [2021-03-23T14:59:00.980758 #146] DEBUG -- : 
Starting test: QA::Runtime::Env.remote_grid with credentials has a grid of http://user:key@grid/wd/hub

      has a grid of http://user:key@grid/wd/hub
    without credentials
D, [2021-03-23T14:59:00.983849 #146] DEBUG -- : 
Starting test: QA::Runtime::Env.remote_grid without credentials has a grid of http://grid/wd/hub

      has a grid of http://grid/wd/hub
  .require_admin_access_token!
D, [2021-03-23T14:59:00.986221 #146] DEBUG -- : 
Starting test: QA::Runtime::Env.require_admin_access_token! raises ArgumentError if GITLAB_QA_ADMIN_ACCESS_TOKEN is not specified

    raises ArgumentError if GITLAB_QA_ADMIN_ACCESS_TOKEN is not specified
D, [2021-03-23T14:59:00.988281 #146] DEBUG -- : 
Starting test: QA::Runtime::Env.require_admin_access_token! does not raise exception if GITLAB_QA_ADMIN_ACCESS_TOKEN is specified

    does not raise exception if GITLAB_QA_ADMIN_ACCESS_TOKEN is specified
  .knapsack?
D, [2021-03-23T14:59:00.990528 #146] DEBUG -- : 
Starting test: QA::Runtime::Env.knapsack? returns true if KNAPSACK_TEST_FILE_PATTERN is defined

    returns true if KNAPSACK_TEST_FILE_PATTERN is defined
D, [2021-03-23T14:59:00.992595 #146] DEBUG -- : 
Starting test: QA::Runtime::Env.knapsack? returns false if neither KNAPSACK_GENERATE_REPORT nor KNAPSACK_REPORT_PATH nor KNAPSACK_TEST_FILE_PATTERN are defined

    returns false if neither KNAPSACK_GENERATE_REPORT nor KNAPSACK_REPORT_PATH nor KNAPSACK_TEST_FILE_PATTERN are defined
D, [2021-03-23T14:59:00.993530 #146] DEBUG -- : 
Starting test: QA::Runtime::Env.knapsack? returns true if KNAPSACK_REPORT_PATH is defined

    returns true if KNAPSACK_REPORT_PATH is defined
D, [2021-03-23T14:59:00.995654 #146] DEBUG -- : 
Starting test: QA::Runtime::Env.knapsack? returns true if KNAPSACK_GENERATE_REPORT is defined

    returns true if KNAPSACK_GENERATE_REPORT is defined
  .signup_disabled?
    behaves like boolean method
      behaves like boolean method with parameter
        when there is no env variable set
D, [2021-03-23T14:59:00.998466 #146] DEBUG -- : 
Starting test: QA::Runtime::Env.signup_disabled? behaves like boolean method behaves like boolean method with parameter when there is no env variable set returns the default, false

          returns the default, false
        when there is an env variable set
D, [2021-03-23T14:59:01.002992 #146] DEBUG -- : 
Starting test: QA::Runtime::Env.signup_disabled? behaves like boolean method behaves like boolean method with parameter when there is an env variable set returns false when falsey values specified

          returns false when falsey values specified
D, [2021-03-23T14:59:01.005865 #146] DEBUG -- : 
Starting test: QA::Runtime::Env.signup_disabled? behaves like boolean method behaves like boolean method with parameter when there is an env variable set returns true when anything else specified

          returns true when anything else specified
  .debug?
    behaves like boolean method
      behaves like boolean method with parameter
        when there is an env variable set
D, [2021-03-23T14:59:01.009339 #146] DEBUG -- : 
Starting test: QA::Runtime::Env.debug? behaves like boolean method behaves like boolean method with parameter when there is an env variable set returns false when falsey values specified

          returns false when falsey values specified
D, [2021-03-23T14:59:01.012285 #146] DEBUG -- : 
Starting test: QA::Runtime::Env.debug? behaves like boolean method behaves like boolean method with parameter when there is an env variable set returns true when anything else specified

          returns true when anything else specified
        when there is no env variable set
D, [2021-03-23T14:59:01.015336 #146] DEBUG -- : 
Starting test: QA::Runtime::Env.debug? behaves like boolean method behaves like boolean method with parameter when there is no env variable set returns the default, false

          returns the default, false
  .log_destination
D, [2021-03-23T14:59:01.017662 #146] DEBUG -- : 
Starting test: QA::Runtime::Env.log_destination returns the path if QA_LOG_PATH is defined

    returns the path if QA_LOG_PATH is defined
D, [2021-03-23T14:59:01.019757 #146] DEBUG -- : 
Starting test: QA::Runtime::Env.log_destination returns $stdout if QA_LOG_PATH is not defined

    returns $stdout if QA_LOG_PATH is not defined
  .forker?
D, [2021-03-23T14:59:01.022152 #146] DEBUG -- : 
Starting test: QA::Runtime::Env.forker? returns false if no forker credentials are defined

    returns false if no forker credentials are defined
D, [2021-03-23T14:59:01.024848 #146] DEBUG -- : 
Starting test: QA::Runtime::Env.forker? returns true if forker username and password are defined

    returns true if forker username and password are defined
D, [2021-03-23T14:59:01.029420 #146] DEBUG -- : 
Starting test: QA::Runtime::Env.forker? returns false if only forker password is defined

    returns false if only forker password is defined
D, [2021-03-23T14:59:01.037728 #146] DEBUG -- : 
Starting test: QA::Runtime::Env.forker? returns false if only forker username is defined

    returns false if only forker username is defined
  .can_test?
D, [2021-03-23T14:59:01.040807 #146] DEBUG -- : 
Starting test: QA::Runtime::Env.can_test? raises ArgumentError if feature is unknown

    raises ArgumentError if feature is unknown
    behaves like boolean method with parameter
      when there is no env variable set
D, [2021-03-23T14:59:01.042209 #146] DEBUG -- : 
Starting test: QA::Runtime::Env.can_test? behaves like boolean method with parameter when there is no env variable set returns the default, true

        returns the default, true
      when there is an env variable set
D, [2021-03-23T14:59:01.044539 #146] DEBUG -- : 
Starting test: QA::Runtime::Env.can_test? behaves like boolean method with parameter when there is an env variable set returns true when anything else specified

        returns true when anything else specified
D, [2021-03-23T14:59:01.047568 #146] DEBUG -- : 
Starting test: QA::Runtime::Env.can_test? behaves like boolean method with parameter when there is an env variable set returns false when falsey values specified

        returns false when falsey values specified
    behaves like boolean method with parameter
      when there is an env variable set
D, [2021-03-23T14:59:01.050597 #146] DEBUG -- : 
Starting test: QA::Runtime::Env.can_test? behaves like boolean method with parameter when there is an env variable set returns false when falsey values specified

        returns false when falsey values specified
D, [2021-03-23T14:59:01.053152 #146] DEBUG -- : 
Starting test: QA::Runtime::Env.can_test? behaves like boolean method with parameter when there is an env variable set returns true when anything else specified

        returns true when anything else specified
      when there is no env variable set
D, [2021-03-23T14:59:01.055735 #146] DEBUG -- : 
Starting test: QA::Runtime::Env.can_test? behaves like boolean method with parameter when there is no env variable set returns the default, true

        returns the default, true
    behaves like boolean method with parameter
      when there is an env variable set
D, [2021-03-23T14:59:01.058072 #146] DEBUG -- : 
Starting test: QA::Runtime::Env.can_test? behaves like boolean method with parameter when there is an env variable set returns false when falsey values specified

        returns false when falsey values specified
D, [2021-03-23T14:59:01.060415 #146] DEBUG -- : 
Starting test: QA::Runtime::Env.can_test? behaves like boolean method with parameter when there is an env variable set returns true when anything else specified

        returns true when anything else specified
      when there is no env variable set
D, [2021-03-23T14:59:01.062997 #146] DEBUG -- : 
Starting test: QA::Runtime::Env.can_test? behaves like boolean method with parameter when there is no env variable set returns the default, true

        returns the default, true
  .context_matches?
D, [2021-03-23T14:59:01.065131 #146] DEBUG -- : 
Starting test: QA::Runtime::Env.context_matches? returns false for mismatching

    returns false for mismatching
D, [2021-03-23T14:59:01.066133 #146] DEBUG -- : 
Starting test: QA::Runtime::Env.context_matches? returns false when url does not have .com

    returns false when url does not have .com
D, [2021-03-23T14:59:01.066993 #146] DEBUG -- : 
Starting test: QA::Runtime::Env.context_matches? returns true when url has .com

    returns true when url has .com
    with arguments
D, [2021-03-23T14:59:01.068061 #146] DEBUG -- : 
Starting test: QA::Runtime::Env.context_matches? with arguments matches :production

      matches :production
D, [2021-03-23T14:59:01.068944 #146] DEBUG -- : 
Starting test: QA::Runtime::Env.context_matches? with arguments doesnt match with mismatching switches

      doesnt match with mismatching switches
D, [2021-03-23T14:59:01.069914 #146] DEBUG -- : 
Starting test: QA::Runtime::Env.context_matches? with arguments returns true when :subdomain is set

      returns true when :subdomain is set
D, [2021-03-23T14:59:01.070809 #146] DEBUG -- : 
Starting test: QA::Runtime::Env.context_matches? with arguments matches multiple subdomains

      matches multiple subdomains
  .remote_grid_protocol
D, [2021-03-23T14:59:01.071940 #146] DEBUG -- : 
Starting test: QA::Runtime::Env.remote_grid_protocol defaults protocol to http

    defaults protocol to http
  .personal_access_token
    when @personal_access_token is set
D, [2021-03-23T14:59:01.074272 #146] DEBUG -- : 
Starting test: QA::Runtime::Env.personal_access_token when @personal_access_token is set returns the instance variable value

      returns the instance variable value
    when GITLAB_QA_ACCESS_TOKEN is set
D, [2021-03-23T14:59:01.075383 #146] DEBUG -- : 
Starting test: QA::Runtime::Env.personal_access_token when GITLAB_QA_ACCESS_TOKEN is set returns specified token from env

      returns specified token from env
  .require_github_access_token!
D, [2021-03-23T14:59:01.077314 #146] DEBUG -- : 
Starting test: QA::Runtime::Env.require_github_access_token! does not raise if GITHUB_ACCESS_TOKEN is defined

    does not raise if GITHUB_ACCESS_TOKEN is defined
D, [2021-03-23T14:59:01.079000 #146] DEBUG -- : 
Starting test: QA::Runtime::Env.require_github_access_token! raises ArgumentError if GITHUB_ACCESS_TOKEN is not defined

    raises ArgumentError if GITHUB_ACCESS_TOKEN is not defined
  .running_in_ci?
    when there is an env variable set
D, [2021-03-23T14:59:01.081264 #146] DEBUG -- : 
Starting test: QA::Runtime::Env.running_in_ci? when there is an env variable set returns true if CI_SERVER

      returns true if CI_SERVER
D, [2021-03-23T14:59:01.083002 #146] DEBUG -- : 
Starting test: QA::Runtime::Env.running_in_ci? when there is an env variable set returns true if CI

      returns true if CI
    when there is no env variable set
D, [2021-03-23T14:59:01.084897 #146] DEBUG -- : 
Starting test: QA::Runtime::Env.running_in_ci? when there is no env variable set returns true

      returns true
  remote grid credentials
D, [2021-03-23T14:59:01.087199 #146] DEBUG -- : 
Starting test: QA::Runtime::Env remote grid credentials throws ArgumentError if GRID_ACCESS_KEY is not specified with USERNAME

    throws ArgumentError if GRID_ACCESS_KEY is not specified with USERNAME
D, [2021-03-23T14:59:01.089022 #146] DEBUG -- : 
Starting test: QA::Runtime::Env remote grid credentials is blank if username is empty

    is blank if username is empty
D, [2021-03-23T14:59:01.090672 #146] DEBUG -- : 
Starting test: QA::Runtime::Env remote grid credentials returns a user:key@ combination when all args are satiated

    returns a user:key@ combination when all args are satiated
  .personal_access_token=
D, [2021-03-23T14:59:01.092960 #146] DEBUG -- : 
Starting test: QA::Runtime::Env.personal_access_token= saves the token

    saves the token
  .chrome_headless?
    behaves like boolean method
      behaves like boolean method with parameter
        when there is an env variable set
D, [2021-03-23T14:59:01.094561 #146] DEBUG -- : 
Starting test: QA::Runtime::Env.chrome_headless? behaves like boolean method behaves like boolean method with parameter when there is an env variable set returns true when anything else specified

          returns true when anything else specified
D, [2021-03-23T14:59:01.097003 #146] DEBUG -- : 
Starting test: QA::Runtime::Env.chrome_headless? behaves like boolean method behaves like boolean method with parameter when there is an env variable set returns false when falsey values specified

          returns false when falsey values specified
        when there is no env variable set
D, [2021-03-23T14:59:01.099992 #146] DEBUG -- : 
Starting test: QA::Runtime::Env.chrome_headless? behaves like boolean method behaves like boolean method with parameter when there is no env variable set returns the default, true

          returns the default, true
  .knapsack?
D, [2021-03-23T14:59:01.102166 #146] DEBUG -- : 
Starting test: QA::Runtime::Env.knapsack? returns true if KNAPSACK_TEST_FILE_PATTERN is defined

    returns true if KNAPSACK_TEST_FILE_PATTERN is defined
D, [2021-03-23T14:59:01.103974 #146] DEBUG -- : 
Starting test: QA::Runtime::Env.knapsack? returns true if KNAPSACK_REPORT_PATH is defined

    returns true if KNAPSACK_REPORT_PATH is defined
D, [2021-03-23T14:59:01.105667 #146] DEBUG -- : 
Starting test: QA::Runtime::Env.knapsack? returns false if neither KNAPSACK_GENERATE_REPORT nor KNAPSACK_REPORT_PATH nor KNAPSACK_TEST_FILE_PATTERN are defined

    returns false if neither KNAPSACK_GENERATE_REPORT nor KNAPSACK_REPORT_PATH nor KNAPSACK_TEST_FILE_PATTERN are defined
D, [2021-03-23T14:59:01.106497 #146] DEBUG -- : 
Starting test: QA::Runtime::Env.knapsack? returns true if KNAPSACK_GENERATE_REPORT is defined

    returns true if KNAPSACK_GENERATE_REPORT is defined

QA::EE::Scenario::Test::Integration::GroupSAML
  #perform
    behaves like a QA scenario class
D, [2021-03-23T14:59:01.112065 #146] DEBUG -- : 
Starting test: QA::EE::Scenario::Test::Integration::GroupSAML#perform behaves like a QA scenario class sets tags on runner

      sets tags on runner
D, [2021-03-23T14:59:01.113690 #146] DEBUG -- : 
Starting test: QA::EE::Scenario::Test::Integration::GroupSAML#perform behaves like a QA scenario class performs before hooks only once

      performs before hooks only once
D, [2021-03-23T14:59:01.115043 #146] DEBUG -- : 
Starting test: QA::EE::Scenario::Test::Integration::GroupSAML#perform behaves like a QA scenario class sets an address of the subject

      sets an address of the subject
D, [2021-03-23T14:59:01.116425 #146] DEBUG -- : 
Starting test: QA::EE::Scenario::Test::Integration::GroupSAML#perform behaves like a QA scenario class responds to perform

      responds to perform
      specifying RSpec options
D, [2021-03-23T14:59:01.117859 #146] DEBUG -- : 
Starting test: QA::EE::Scenario::Test::Integration::GroupSAML#perform behaves like a QA scenario class specifying RSpec options sets options on runner

        sets options on runner
      with named command-line options
D, [2021-03-23T14:59:01.119486 #146] DEBUG -- : 
Starting test: QA::EE::Scenario::Test::Integration::GroupSAML#perform behaves like a QA scenario class with named command-line options converts options to attributes

        converts options to attributes
D, [2021-03-23T14:59:01.121315 #146] DEBUG -- : 
Starting test: QA::EE::Scenario::Test::Integration::GroupSAML#perform behaves like a QA scenario class with named command-line options passes on options after --

        passes on options after --
D, [2021-03-23T14:59:01.123142 #146] DEBUG -- : 
Starting test: QA::EE::Scenario::Test::Integration::GroupSAML#perform behaves like a QA scenario class with named command-line options raises an error if the option is invalid

        raises an error if the option is invalid

QA::Service::DockerRun::GitlabRunner
D, [2021-03-23T14:59:01.128596 #146] DEBUG -- : 
Starting test: QA::Service::DockerRun::GitlabRunner defaults to run untagged

  defaults to run untagged
  #tags=
D, [2021-03-23T14:59:01.129751 #146] DEBUG -- : 
Starting test: QA::Service::DockerRun::GitlabRunner#tags= sets the tags

    sets the tags
D, [2021-03-23T14:59:01.130781 #146] DEBUG -- : 
Starting test: QA::Service::DockerRun::GitlabRunner#tags= sets run_untagged

    sets run_untagged
  #register!
    executors
D, [2021-03-23T14:59:01.132054 #146] DEBUG -- : 
Starting test: QA::Service::DockerRun::GitlabRunner#register! executors defaults to the shell executor

      defaults to the shell executor
      docker
D, [2021-03-23T14:59:01.133714 #146] DEBUG -- : 
Starting test: QA::Service::DockerRun::GitlabRunner#register! executors docker passes privileged mode

        passes privileged mode
D, [2021-03-23T14:59:01.134951 #146] DEBUG -- : 
Starting test: QA::Service::DockerRun::GitlabRunner#register! executors docker does not verify TLS

        does not verify TLS
D, [2021-03-23T14:59:01.136259 #146] DEBUG -- : 
Starting test: QA::Service::DockerRun::GitlabRunner#register! executors docker passes the host network

        passes the host network
D, [2021-03-23T14:59:01.137513 #146] DEBUG -- : 
Starting test: QA::Service::DockerRun::GitlabRunner#register! executors docker specifies the docker executor

        specifies the docker executor
D, [2021-03-23T14:59:01.138814 #146] DEBUG -- : 
Starting test: QA::Service::DockerRun::GitlabRunner#register! executors docker mounts the docker socket to the host runner

        mounts the docker socket to the host runner
D, [2021-03-23T14:59:01.140014 #146] DEBUG -- : 
Starting test: QA::Service::DockerRun::GitlabRunner#register! executors docker runs in privileged mode

        runs in privileged mode
D, [2021-03-23T14:59:01.141221 #146] DEBUG -- : 
Starting test: QA::Service::DockerRun::GitlabRunner#register! executors docker has a default image

        has a default image
    running untagged
D, [2021-03-23T14:59:01.142649 #146] DEBUG -- : 
Starting test: QA::Service::DockerRun::GitlabRunner#register! running untagged passes --run-untagged=true

      passes --run-untagged=true
D, [2021-03-23T14:59:01.143870 #146] DEBUG -- : 
Starting test: QA::Service::DockerRun::GitlabRunner#register! running untagged does not pass tag list

      does not pass tag list
    running tagged
      with specifying only run_untagged
D, [2021-03-23T14:59:01.145461 #146] DEBUG -- : 
Starting test: QA::Service::DockerRun::GitlabRunner#register! running tagged with specifying only run_untagged raises an error if tags are not specified

        raises an error if tags are not specified
      when specifying contradicting variables
D, [2021-03-23T14:59:01.146819 #146] DEBUG -- : 
Starting test: QA::Service::DockerRun::GitlabRunner#register! running tagged when specifying contradicting variables raises an error

        raises an error
      with only tags set
D, [2021-03-23T14:59:01.148119 #146] DEBUG -- : 
Starting test: QA::Service::DockerRun::GitlabRunner#register! running tagged with only tags set does not pass --run-untagged

        does not pass --run-untagged
D, [2021-03-23T14:59:01.149304 #146] DEBUG -- : 
Starting test: QA::Service::DockerRun::GitlabRunner#register! running tagged with only tags set passes the tags with comma-separation

        passes the tags with comma-separation
    defaults
D, [2021-03-23T14:59:01.150873 #146] DEBUG -- : 
Starting test: QA::Service::DockerRun::GitlabRunner#register! defaults runs untagged

      runs untagged
D, [2021-03-23T14:59:01.152002 #146] DEBUG -- : 
Starting test: QA::Service::DockerRun::GitlabRunner#register! defaults runs non-interactively

      runs non-interactively
D, [2021-03-23T14:59:01.153166 #146] DEBUG -- : 
Starting test: QA::Service::DockerRun::GitlabRunner#register! defaults has no tags

      has no tags
D, [2021-03-23T14:59:01.154275 #146] DEBUG -- : 
Starting test: QA::Service::DockerRun::GitlabRunner#register! defaults cleans itself up

      cleans itself up
D, [2021-03-23T14:59:01.155397 #146] DEBUG -- : 
Starting test: QA::Service::DockerRun::GitlabRunner#register! defaults sets pertinent information

      sets pertinent information
D, [2021-03-23T14:59:01.156650 #146] DEBUG -- : 
Starting test: QA::Service::DockerRun::GitlabRunner#register! defaults runs daemonized

      runs daemonized

QA::Runtime::Release
  when release version has extension strategy
    #version
D, [2021-03-23T14:59:01.161689 #146] DEBUG -- : 
Starting test: QA::Runtime::Release when release version has extension strategy #version return either CE or EE version

      return either CE or EE version
    #strategy
D, [2021-03-23T14:59:01.164570 #146] DEBUG -- : 
Starting test: QA::Runtime::Release when release version has extension strategy #strategy return the strategy constant

      return the strategy constant
    delegated class methods
D, [2021-03-23T14:59:01.165825 #146] DEBUG -- : 
Starting test: QA::Runtime::Release when release version has extension strategy delegated class methods delegates all calls to strategy class

      delegates all calls to strategy class
  when release version does not have extension strategy
    #strategy
D, [2021-03-23T14:59:01.167298 #146] DEBUG -- : 
Starting test: QA::Runtime::Release when release version does not have extension strategy #strategy raises error

      raises error
    delegated class methods
D, [2021-03-23T14:59:01.169798 #146] DEBUG -- : 
Starting test: QA::Runtime::Release when release version does not have extension strategy delegated class methods raises error

      raises error

QA::Support::Page::Logging
D, [2021-03-23T14:59:01.175245 #146] DEBUG -- : 
Starting test: QA::Support::Page::Logging logs click_element

  logs click_element
D, [2021-03-23T14:59:01.177392 #146] DEBUG -- : 
Starting test: QA::Support::Page::Logging logs has_text?

  logs has_text?
D, [2021-03-23T14:59:01.179248 #146] DEBUG -- : 
Starting test: QA::Support::Page::Logging logs within_element

  logs within_element
D, [2021-03-23T14:59:01.181582 #146] DEBUG -- : 
Starting test: QA::Support::Page::Logging logs has_no_element? with text

  logs has_no_element? with text
D, [2021-03-23T14:59:01.183405 #146] DEBUG -- : 
Starting test: QA::Support::Page::Logging logs refresh

  logs refresh
D, [2021-03-23T14:59:01.185202 #146] DEBUG -- : 
Starting test: QA::Support::Page::Logging logs find_element

  logs find_element
D, [2021-03-23T14:59:01.187484 #146] DEBUG -- : 
Starting test: QA::Support::Page::Logging logs scroll_to

  logs scroll_to
D, [2021-03-23T14:59:01.189191 #146] DEBUG -- : 
Starting test: QA::Support::Page::Logging logs find_element with class

  logs find_element with class
D, [2021-03-23T14:59:01.190956 #146] DEBUG -- : 
Starting test: QA::Support::Page::Logging logs find_element with text

  logs find_element with text
D, [2021-03-23T14:59:01.193311 #146] DEBUG -- : 
Starting test: QA::Support::Page::Logging logs has_no_element?

  logs has_no_element?
D, [2021-03-23T14:59:01.195118 #146] DEBUG -- : 
Starting test: QA::Support::Page::Logging logs finished_loading?

  logs finished_loading?
D, [2021-03-23T14:59:01.197154 #146] DEBUG -- : 
Starting test: QA::Support::Page::Logging logs has_element? with text

  logs has_element? with text
D, [2021-03-23T14:59:01.198744 #146] DEBUG -- : 
Starting test: QA::Support::Page::Logging logs find_element with wait

  logs find_element with wait
D, [2021-03-23T14:59:01.200482 #146] DEBUG -- : 
Starting test: QA::Support::Page::Logging logs has_element?

  logs has_element?
D, [2021-03-23T14:59:01.202056 #146] DEBUG -- : 
Starting test: QA::Support::Page::Logging logs asset_exists?

  logs asset_exists?
D, [2021-03-23T14:59:01.203844 #146] DEBUG -- : 
Starting test: QA::Support::Page::Logging logs fill_element

  logs fill_element
D, [2021-03-23T14:59:01.205640 #146] DEBUG -- : 
Starting test: QA::Support::Page::Logging logs has_no_text?

  logs has_no_text?
  all_elements
D, [2021-03-23T14:59:01.207772 #146] DEBUG -- : 
Starting test: QA::Support::Page::Logging all_elements logs the number of elements found

    logs the number of elements found
D, [2021-03-23T14:59:01.210154 #146] DEBUG -- : 
Starting test: QA::Support::Page::Logging all_elements logs 0 if no elements are found

    logs 0 if no elements are found

QA::Runtime::API::Request
  #request_path
D, [2021-03-23T14:59:01.216384 #146] DEBUG -- : 
Starting test: QA::Runtime::API::Request#request_path adds the oauth access token

    adds the oauth access token
D, [2021-03-23T14:59:01.217557 #146] DEBUG -- : 
Starting test: QA::Runtime::API::Request#request_path uses a different api version

    uses a different api version
D, [2021-03-23T14:59:01.218684 #146] DEBUG -- : 
Starting test: QA::Runtime::API::Request#request_path adds the personal access token

    adds the personal access token
D, [2021-03-23T14:59:01.219756 #146] DEBUG -- : 
Starting test: QA::Runtime::API::Request#request_path respects query parameters

    respects query parameters
D, [2021-03-23T14:59:01.220836 #146] DEBUG -- : 
Starting test: QA::Runtime::API::Request#request_path prepends the api path

    prepends the api path
  #url
D, [2021-03-23T14:59:01.222095 #146] DEBUG -- : 
Starting test: QA::Runtime::API::Request#url returns the full API request url

    returns the full API request url
    when oauth_access_token is passed in the query string
D, [2021-03-23T14:59:01.223352 #146] DEBUG -- : 
Starting test: QA::Runtime::API::Request#url when oauth_access_token is passed in the query string does not adds a private_token query string

      does not adds a private_token query string
  #mask_url
D, [2021-03-23T14:59:01.224672 #146] DEBUG -- : 
Starting test: QA::Runtime::API::Request#mask_url returns the full API request url with the token masked

    returns the full API request url with the token masked

QA::Git::Location
  .new
    when URI starts with ssh://
      when URI has port
D, [2021-03-23T14:59:01.229704 #146] DEBUG -- : 
Starting test: QA::Git::Location.new when URI starts with ssh:// when URI has port parses correctly

        parses correctly
      when URI does not have port
D, [2021-03-23T14:59:01.231043 #146] DEBUG -- : 
Starting test: QA::Git::Location.new when URI starts with ssh:// when URI does not have port parses correctly

        parses correctly
    when URI does not start with ssh://
      when host does not have colons
D, [2021-03-23T14:59:01.232448 #146] DEBUG -- : 
Starting test: QA::Git::Location.new when URI does not start with ssh:// when host does not have colons parses correctly

        parses correctly
      when host has a colon
D, [2021-03-23T14:59:01.233578 #146] DEBUG -- : 
Starting test: QA::Git::Location.new when URI does not start with ssh:// when host has a colon parses correctly

        parses correctly

QA::Resource::User
  #public_email
D, [2021-03-23T14:59:01.238139 #146] DEBUG -- : 
Starting test: QA::Resource::User#public_email retrieves the public_email from the api_resource if present

    retrieves the public_email from the api_resource if present
D, [2021-03-23T14:59:01.239082 #146] DEBUG -- : 
Starting test: QA::Resource::User#public_email defaults to QA::Runtime::User.default_email

    defaults to QA::Runtime::User.default_email
D, [2021-03-23T14:59:01.239950 #146] DEBUG -- : 
Starting test: QA::Resource::User#public_email defaults to QA::Runtime::User.default_email if the public_email from the api_resource is blank

    defaults to QA::Runtime::User.default_email if the public_email from the api_resource is blank
  #email
D, [2021-03-23T14:59:01.241034 #146] DEBUG -- : 
Starting test: QA::Resource::User#email defaults to the <username>@example.com

    defaults to the <username>@example.com
D, [2021-03-23T14:59:01.241923 #146] DEBUG -- : 
Starting test: QA::Resource::User#email is possible to set the email

    is possible to set the email
  #username
D, [2021-03-23T14:59:01.243013 #146] DEBUG -- : 
Starting test: QA::Resource::User#username is possible to set the username

    is possible to set the username
D, [2021-03-23T14:59:01.243882 #146] DEBUG -- : 
Starting test: QA::Resource::User#username generates a default username

    generates a default username
  #name
D, [2021-03-23T14:59:01.244998 #146] DEBUG -- : 
Starting test: QA::Resource::User#name defaults to a name based on the username

    defaults to a name based on the username
D, [2021-03-23T14:59:01.245903 #146] DEBUG -- : 
Starting test: QA::Resource::User#name retrieves the name from the api_resource if present

    retrieves the name from the api_resource if present
D, [2021-03-23T14:59:01.246814 #146] DEBUG -- : 
Starting test: QA::Resource::User#name is possible to set the name

    is possible to set the name
  #credentials_given?
D, [2021-03-23T14:59:01.247888 #146] DEBUG -- : 
Starting test: QA::Resource::User#credentials_given? returns true if both the username and password have been overridden

    returns true if both the username and password have been overridden
D, [2021-03-23T14:59:01.248805 #146] DEBUG -- : 
Starting test: QA::Resource::User#credentials_given? returns false even after username and email have been called

    returns false even after username and email have been called
D, [2021-03-23T14:59:01.249821 #146] DEBUG -- : 
Starting test: QA::Resource::User#credentials_given? returns false if only the username has been overridden

    returns false if only the username has been overridden
D, [2021-03-23T14:59:01.250737 #146] DEBUG -- : 
Starting test: QA::Resource::User#credentials_given? returns false when username and email have not been overridden

    returns false when username and email have not been overridden
D, [2021-03-23T14:59:01.251666 #146] DEBUG -- : 
Starting test: QA::Resource::User#credentials_given? returns false if only the password has been overridden

    returns false if only the password has been overridden
  #password
D, [2021-03-23T14:59:01.252760 #146] DEBUG -- : 
Starting test: QA::Resource::User#password is possible to set the password

    is possible to set the password
D, [2021-03-23T14:59:01.253635 #146] DEBUG -- : 
Starting test: QA::Resource::User#password generates a default password

    generates a default password

QA::Page::Element
  #selector
D, [2021-03-23T14:59:01.258377 #146] DEBUG -- : 
Starting test: QA::Page::Element#selector transforms element name into QA-specific selector

    transforms element name into QA-specific selector
  attributes
    element with a pattern
D, [2021-03-23T14:59:01.263837 #146] DEBUG -- : 
Starting test: QA::Page::Element attributes element with a pattern is not required by default

      is not required by default
D, [2021-03-23T14:59:01.264758 #146] DEBUG -- : 
Starting test: QA::Page::Element attributes element with a pattern has an attribute[pattern] of the pattern

      has an attribute[pattern] of the pattern
    element with requirement; no pattern
D, [2021-03-23T14:59:01.265791 #146] DEBUG -- : 
Starting test: QA::Page::Element attributes element with requirement; no pattern has an attribute[pattern] of the selector

      has an attribute[pattern] of the selector
D, [2021-03-23T14:59:01.266697 #146] DEBUG -- : 
Starting test: QA::Page::Element attributes element with requirement; no pattern is required

      is required
    element with no args
D, [2021-03-23T14:59:01.267802 #146] DEBUG -- : 
Starting test: QA::Page::Element attributes element with no args defaults pattern to #selector

      defaults pattern to #selector
D, [2021-03-23T14:59:01.268665 #146] DEBUG -- : 
Starting test: QA::Page::Element attributes element with no args is not required by default

      is not required by default
    element with requirement and pattern
D, [2021-03-23T14:59:01.269753 #146] DEBUG -- : 
Starting test: QA::Page::Element attributes element with requirement and pattern has an attribute[pattern] of the passed pattern

      has an attribute[pattern] of the passed pattern
D, [2021-03-23T14:59:01.270571 #146] DEBUG -- : 
Starting test: QA::Page::Element attributes element with requirement and pattern has a selector of the name

      has a selector of the name
D, [2021-03-23T14:59:01.271379 #146] DEBUG -- : 
Starting test: QA::Page::Element attributes element with requirement and pattern is required

      is required
  data-qa selectors
D, [2021-03-23T14:59:01.272421 #146] DEBUG -- : 
Starting test: QA::Page::Element data-qa selectors properly translates to a data-qa-selector

    properly translates to a data-qa-selector
    additional selectors
D, [2021-03-23T14:59:01.273489 #146] DEBUG -- : 
Starting test: QA::Page::Element data-qa selectors additional selectors doesnt conflict with element requirement

      doesnt conflict with element requirement
D, [2021-03-23T14:59:01.274444 #146] DEBUG -- : 
Starting test: QA::Page::Element data-qa selectors additional selectors matches on additional data-qa properties

      matches on additional data-qa properties
D, [2021-03-23T14:59:01.275298 #146] DEBUG -- : 
Starting test: QA::Page::Element data-qa selectors additional selectors translates snake_case to kebab-case

      translates snake_case to kebab-case
  when pattern is not provided
D, [2021-03-23T14:59:01.276359 #146] DEBUG -- : 
Starting test: QA::Page::Element when pattern is not provided does not match if QA selector is not there

    does not match if QA selector is not there
D, [2021-03-23T14:59:01.277243 #146] DEBUG -- : 
Starting test: QA::Page::Element when pattern is not provided matches when QA specific selector is present

    matches when QA specific selector is present
D, [2021-03-23T14:59:01.278047 #146] DEBUG -- : 
Starting test: QA::Page::Element when pattern is not provided matches when element name is specified

    matches when element name is specified
  #selector_css
D, [2021-03-23T14:59:01.279172 #146] DEBUG -- : 
Starting test: QA::Page::Element#selector_css transforms element name into QA-specific clickable css selector

    transforms element name into QA-specific clickable css selector
  when pattern is an expression
D, [2021-03-23T14:59:01.280225 #146] DEBUG -- : 
Starting test: QA::Page::Element when pattern is an expression does not match if pattern is not present

    does not match if pattern is not present
D, [2021-03-23T14:59:01.281035 #146] DEBUG -- : 
Starting test: QA::Page::Element when pattern is an expression matches when there is a match

    matches when there is a match
  when pattern is a string
D, [2021-03-23T14:59:01.282148 #146] DEBUG -- : 
Starting test: QA::Page::Element when pattern is a string does not match if pattern is not present

    does not match if pattern is not present
D, [2021-03-23T14:59:01.283044 #146] DEBUG -- : 
Starting test: QA::Page::Element when pattern is a string matches when there is match

    matches when there is match

QA::Runtime::Feature
  feature_flag: "a_flag"
    .disable
D, [2021-03-23T14:59:01.289279 #146] DEBUG -- : 
Starting test: QA::Runtime::Feature feature_flag: "a_flag" .disable disables a feature flag

I, [2021-03-23T14:59:01.290339 #146]  INFO -- : Disabling feature: a_flag
D, [2021-03-23T14:59:01.290523 #146] DEBUG -- : with retry_on_exception: max_attempts: 3; reload_page: ; sleep_interval: 2 
D, [2021-03-23T14:59:01.290678 #146] DEBUG -- : Attempt number 1
D, [2021-03-23T14:59:01.291020 #146] DEBUG -- : with wait_until: max_duration: 60; reload_page: ; sleep_interval: 1; raise_on_failure: true 
D, [2021-03-23T14:59:01.291291 #146] DEBUG -- : ended wait_until
I, [2021-03-23T14:59:01.291394 #146]  INFO -- : Successfully disabled and verified feature flag: a_flag
D, [2021-03-23T14:59:01.291561 #146] DEBUG -- : ended retry_on_exception
      disables a feature flag
      when a feature group scope is provided
        behaves like disables a feature flag
D, [2021-03-23T14:59:01.292900 #146] DEBUG -- : 
Starting test: QA::Runtime::Feature feature_flag: "a_flag" .disable when a feature group scope is provided behaves like disables a feature flag disables a feature flag for a scope

D, [2021-03-23T14:59:01.294038 #146] DEBUG -- : with retry_on_exception: max_attempts: 3; reload_page: ; sleep_interval: 2 
D, [2021-03-23T14:59:01.294215 #146] DEBUG -- : Attempt number 1
D, [2021-03-23T14:59:01.294505 #146] DEBUG -- : with wait_until: max_duration: 60; reload_page: ; sleep_interval: 1; raise_on_failure: true 
D, [2021-03-23T14:59:01.294802 #146] DEBUG -- : ended wait_until
D, [2021-03-23T14:59:01.294974 #146] DEBUG -- : ended retry_on_exception
          disables a feature flag for a scope
      when a project scope is provided
        behaves like disables a feature flag
D, [2021-03-23T14:59:01.296265 #146] DEBUG -- : 
Starting test: QA::Runtime::Feature feature_flag: "a_flag" .disable when a project scope is provided behaves like disables a feature flag disables a feature flag for a scope

D, [2021-03-23T14:59:01.297392 #146] DEBUG -- : with retry_on_exception: max_attempts: 3; reload_page: ; sleep_interval: 2 
D, [2021-03-23T14:59:01.297571 #146] DEBUG -- : Attempt number 1
D, [2021-03-23T14:59:01.297848 #146] DEBUG -- : with wait_until: max_duration: 60; reload_page: ; sleep_interval: 1; raise_on_failure: true 
D, [2021-03-23T14:59:01.298127 #146] DEBUG -- : ended wait_until
D, [2021-03-23T14:59:01.298303 #146] DEBUG -- : ended retry_on_exception
          disables a feature flag for a scope
      when a user scope is provided
        behaves like disables a feature flag
D, [2021-03-23T14:59:01.299519 #146] DEBUG -- : 
Starting test: QA::Runtime::Feature feature_flag: "a_flag" .disable when a user scope is provided behaves like disables a feature flag disables a feature flag for a scope

D, [2021-03-23T14:59:01.300587 #146] DEBUG -- : with retry_on_exception: max_attempts: 3; reload_page: ; sleep_interval: 2 
D, [2021-03-23T14:59:01.300768 #146] DEBUG -- : Attempt number 1
D, [2021-03-23T14:59:01.301034 #146] DEBUG -- : with wait_until: max_duration: 60; reload_page: ; sleep_interval: 1; raise_on_failure: true 
D, [2021-03-23T14:59:01.301275 #146] DEBUG -- : ended wait_until
D, [2021-03-23T14:59:01.301454 #146] DEBUG -- : ended retry_on_exception
          disables a feature flag for a scope
      when a group scope is provided
        behaves like disables a feature flag
D, [2021-03-23T14:59:01.302672 #146] DEBUG -- : 
Starting test: QA::Runtime::Feature feature_flag: "a_flag" .disable when a group scope is provided behaves like disables a feature flag disables a feature flag for a scope

D, [2021-03-23T14:59:01.303726 #146] DEBUG -- : with retry_on_exception: max_attempts: 3; reload_page: ; sleep_interval: 2 
D, [2021-03-23T14:59:01.303884 #146] DEBUG -- : Attempt number 1
D, [2021-03-23T14:59:01.304143 #146] DEBUG -- : with wait_until: max_duration: 60; reload_page: ; sleep_interval: 1; raise_on_failure: true 
D, [2021-03-23T14:59:01.304405 #146] DEBUG -- : ended wait_until
D, [2021-03-23T14:59:01.304571 #146] DEBUG -- : ended retry_on_exception
          disables a feature flag for a scope
    .enabled?
D, [2021-03-23T14:59:01.305691 #146] DEBUG -- : 
Starting test: QA::Runtime::Feature feature_flag: "a_flag" .enabled? returns a feature flag state

      returns a feature flag state
      when a project scope is provided
        behaves like checks a feature flag
          when the flag is enabled for a scope
D, [2021-03-23T14:59:01.307703 #146] DEBUG -- : 
Starting test: QA::Runtime::Feature feature_flag: "a_flag" .enabled? when a project scope is provided behaves like checks a feature flag when the flag is enabled for a scope returns the feature flag state

            returns the feature flag state
      when a user scope is provided
        behaves like checks a feature flag
          when the flag is enabled for a scope
D, [2021-03-23T14:59:01.309801 #146] DEBUG -- : 
Starting test: QA::Runtime::Feature feature_flag: "a_flag" .enabled? when a user scope is provided behaves like checks a feature flag when the flag is enabled for a scope returns the feature flag state

            returns the feature flag state
      when a feature group scope is provided
        behaves like checks a feature flag
          when the flag is enabled for a scope
D, [2021-03-23T14:59:01.311814 #146] DEBUG -- : 
Starting test: QA::Runtime::Feature feature_flag: "a_flag" .enabled? when a feature group scope is provided behaves like checks a feature flag when the flag is enabled for a scope returns the feature flag state

            returns the feature flag state
      when a group scope is provided
        behaves like checks a feature flag
          when the flag is enabled for a scope
D, [2021-03-23T14:59:01.313832 #146] DEBUG -- : 
Starting test: QA::Runtime::Feature feature_flag: "a_flag" .enabled? when a group scope is provided behaves like checks a feature flag when the flag is enabled for a scope returns the feature flag state

            returns the feature flag state
    .enable
D, [2021-03-23T14:59:01.315556 #146] DEBUG -- : 
Starting test: QA::Runtime::Feature feature_flag: "a_flag" .enable enables a feature flag

I, [2021-03-23T14:59:01.316349 #146]  INFO -- : Enabling feature: a_flag
D, [2021-03-23T14:59:01.316523 #146] DEBUG -- : with retry_on_exception: max_attempts: 3; reload_page: ; sleep_interval: 2 
D, [2021-03-23T14:59:01.316664 #146] DEBUG -- : Attempt number 1
D, [2021-03-23T14:59:01.316936 #146] DEBUG -- : with wait_until: max_duration: 60; reload_page: ; sleep_interval: 1; raise_on_failure: true 
D, [2021-03-23T14:59:01.317217 #146] DEBUG -- : ended wait_until
I, [2021-03-23T14:59:01.317352 #146]  INFO -- : Successfully enabled and verified feature flag: a_flag
D, [2021-03-23T14:59:01.317460 #146] DEBUG -- : ended retry_on_exception
      enables a feature flag
      when a user scope is provided
        behaves like enables a feature flag
D, [2021-03-23T14:59:01.318708 #146] DEBUG -- : 
Starting test: QA::Runtime::Feature feature_flag: "a_flag" .enable when a user scope is provided behaves like enables a feature flag enables a feature flag for a scope

D, [2021-03-23T14:59:01.319758 #146] DEBUG -- : with retry_on_exception: max_attempts: 3; reload_page: ; sleep_interval: 2 
D, [2021-03-23T14:59:01.319920 #146] DEBUG -- : Attempt number 1
D, [2021-03-23T14:59:01.320159 #146] DEBUG -- : with wait_until: max_duration: 60; reload_page: ; sleep_interval: 1; raise_on_failure: true 
D, [2021-03-23T14:59:01.320419 #146] DEBUG -- : ended wait_until
D, [2021-03-23T14:59:01.320587 #146] DEBUG -- : ended retry_on_exception
          enables a feature flag for a scope
      when a group scope is provided
        behaves like enables a feature flag
D, [2021-03-23T14:59:01.321950 #146] DEBUG -- : 
Starting test: QA::Runtime::Feature feature_flag: "a_flag" .enable when a group scope is provided behaves like enables a feature flag enables a feature flag for a scope

D, [2021-03-23T14:59:01.322976 #146] DEBUG -- : with retry_on_exception: max_attempts: 3; reload_page: ; sleep_interval: 2 
D, [2021-03-23T14:59:01.323149 #146] DEBUG -- : Attempt number 1
D, [2021-03-23T14:59:01.323428 #146] DEBUG -- : with wait_until: max_duration: 60; reload_page: ; sleep_interval: 1; raise_on_failure: true 
D, [2021-03-23T14:59:01.323760 #146] DEBUG -- : ended wait_until
D, [2021-03-23T14:59:01.323941 #146] DEBUG -- : ended retry_on_exception
          enables a feature flag for a scope
      when a feature group scope is provided
        behaves like enables a feature flag
D, [2021-03-23T14:59:01.325174 #146] DEBUG -- : 
Starting test: QA::Runtime::Feature feature_flag: "a_flag" .enable when a feature group scope is provided behaves like enables a feature flag enables a feature flag for a scope

D, [2021-03-23T14:59:01.326180 #146] DEBUG -- : with retry_on_exception: max_attempts: 3; reload_page: ; sleep_interval: 2 
D, [2021-03-23T14:59:01.326368 #146] DEBUG -- : Attempt number 1
D, [2021-03-23T14:59:01.326667 #146] DEBUG -- : with wait_until: max_duration: 60; reload_page: ; sleep_interval: 1; raise_on_failure: true 
D, [2021-03-23T14:59:01.326920 #146] DEBUG -- : ended wait_until
D, [2021-03-23T14:59:01.327107 #146] DEBUG -- : ended retry_on_exception
          enables a feature flag for a scope
      when a project scope is provided
        behaves like enables a feature flag
D, [2021-03-23T14:59:01.328371 #146] DEBUG -- : 
Starting test: QA::Runtime::Feature feature_flag: "a_flag" .enable when a project scope is provided behaves like enables a feature flag enables a feature flag for a scope

D, [2021-03-23T14:59:01.329379 #146] DEBUG -- : with retry_on_exception: max_attempts: 3; reload_page: ; sleep_interval: 2 
D, [2021-03-23T14:59:01.329562 #146] DEBUG -- : Attempt number 1
D, [2021-03-23T14:59:01.329818 #146] DEBUG -- : with wait_until: max_duration: 60; reload_page: ; sleep_interval: 1; raise_on_failure: true 
D, [2021-03-23T14:59:01.330089 #146] DEBUG -- : ended wait_until
D, [2021-03-23T14:59:01.330249 #146] DEBUG -- : ended retry_on_exception
          enables a feature flag for a scope
  feature_flag: :a_flag
    .enable
D, [2021-03-23T14:59:01.331562 #146] DEBUG -- : 
Starting test: QA::Runtime::Feature feature_flag: :a_flag .enable enables a feature flag

I, [2021-03-23T14:59:01.332351 #146]  INFO -- : Enabling feature: a_flag
D, [2021-03-23T14:59:01.332525 #146] DEBUG -- : with retry_on_exception: max_attempts: 3; reload_page: ; sleep_interval: 2 
D, [2021-03-23T14:59:01.332667 #146] DEBUG -- : Attempt number 1
D, [2021-03-23T14:59:01.332921 #146] DEBUG -- : with wait_until: max_duration: 60; reload_page: ; sleep_interval: 1; raise_on_failure: true 
D, [2021-03-23T14:59:01.333219 #146] DEBUG -- : ended wait_until
I, [2021-03-23T14:59:01.333358 #146]  INFO -- : Successfully enabled and verified feature flag: a_flag
D, [2021-03-23T14:59:01.333455 #146] DEBUG -- : ended retry_on_exception
      enables a feature flag
      when a project scope is provided
        behaves like enables a feature flag
D, [2021-03-23T14:59:01.334766 #146] DEBUG -- : 
Starting test: QA::Runtime::Feature feature_flag: :a_flag .enable when a project scope is provided behaves like enables a feature flag enables a feature flag for a scope

D, [2021-03-23T14:59:01.335819 #146] DEBUG -- : with retry_on_exception: max_attempts: 3; reload_page: ; sleep_interval: 2 
D, [2021-03-23T14:59:01.335991 #146] DEBUG -- : Attempt number 1
D, [2021-03-23T14:59:01.336273 #146] DEBUG -- : with wait_until: max_duration: 60; reload_page: ; sleep_interval: 1; raise_on_failure: true 
D, [2021-03-23T14:59:01.336526 #146] DEBUG -- : ended wait_until
D, [2021-03-23T14:59:01.336722 #146] DEBUG -- : ended retry_on_exception
          enables a feature flag for a scope
      when a group scope is provided
        behaves like enables a feature flag
D, [2021-03-23T14:59:01.338010 #146] DEBUG -- : 
Starting test: QA::Runtime::Feature feature_flag: :a_flag .enable when a group scope is provided behaves like enables a feature flag enables a feature flag for a scope

D, [2021-03-23T14:59:01.339026 #146] DEBUG -- : with retry_on_exception: max_attempts: 3; reload_page: ; sleep_interval: 2 
D, [2021-03-23T14:59:01.339193 #146] DEBUG -- : Attempt number 1
D, [2021-03-23T14:59:01.339437 #146] DEBUG -- : with wait_until: max_duration: 60; reload_page: ; sleep_interval: 1; raise_on_failure: true 
D, [2021-03-23T14:59:01.339724 #146] DEBUG -- : ended wait_until
D, [2021-03-23T14:59:01.339885 #146] DEBUG -- : ended retry_on_exception
          enables a feature flag for a scope
      when a feature group scope is provided
        behaves like enables a feature flag
D, [2021-03-23T14:59:01.341196 #146] DEBUG -- : 
Starting test: QA::Runtime::Feature feature_flag: :a_flag .enable when a feature group scope is provided behaves like enables a feature flag enables a feature flag for a scope

D, [2021-03-23T14:59:01.342204 #146] DEBUG -- : with retry_on_exception: max_attempts: 3; reload_page: ; sleep_interval: 2 
D, [2021-03-23T14:59:01.342396 #146] DEBUG -- : Attempt number 1
D, [2021-03-23T14:59:01.342710 #146] DEBUG -- : with wait_until: max_duration: 60; reload_page: ; sleep_interval: 1; raise_on_failure: true 
D, [2021-03-23T14:59:01.342968 #146] DEBUG -- : ended wait_until
D, [2021-03-23T14:59:01.343140 #146] DEBUG -- : ended retry_on_exception
          enables a feature flag for a scope
      when a user scope is provided
        behaves like enables a feature flag
D, [2021-03-23T14:59:01.344516 #146] DEBUG -- : 
Starting test: QA::Runtime::Feature feature_flag: :a_flag .enable when a user scope is provided behaves like enables a feature flag enables a feature flag for a scope

D, [2021-03-23T14:59:01.345563 #146] DEBUG -- : with retry_on_exception: max_attempts: 3; reload_page: ; sleep_interval: 2 
D, [2021-03-23T14:59:01.345748 #146] DEBUG -- : Attempt number 1
D, [2021-03-23T14:59:01.346005 #146] DEBUG -- : with wait_until: max_duration: 60; reload_page: ; sleep_interval: 1; raise_on_failure: true 
D, [2021-03-23T14:59:01.346294 #146] DEBUG -- : ended wait_until
D, [2021-03-23T14:59:01.346469 #146] DEBUG -- : ended retry_on_exception
          enables a feature flag for a scope
    .disable
D, [2021-03-23T14:59:01.347601 #146] DEBUG -- : 
Starting test: QA::Runtime::Feature feature_flag: :a_flag .disable disables a feature flag

I, [2021-03-23T14:59:01.348383 #146]  INFO -- : Disabling feature: a_flag
D, [2021-03-23T14:59:01.348545 #146] DEBUG -- : with retry_on_exception: max_attempts: 3; reload_page: ; sleep_interval: 2 
D, [2021-03-23T14:59:01.348670 #146] DEBUG -- : Attempt number 1
D, [2021-03-23T14:59:01.348936 #146] DEBUG -- : with wait_until: max_duration: 60; reload_page: ; sleep_interval: 1; raise_on_failure: true 
D, [2021-03-23T14:59:01.349174 #146] DEBUG -- : ended wait_until
I, [2021-03-23T14:59:01.349283 #146]  INFO -- : Successfully disabled and verified feature flag: a_flag
D, [2021-03-23T14:59:01.349390 #146] DEBUG -- : ended retry_on_exception
      disables a feature flag
      when a feature group scope is provided
        behaves like disables a feature flag
D, [2021-03-23T14:59:01.350612 #146] DEBUG -- : 
Starting test: QA::Runtime::Feature feature_flag: :a_flag .disable when a feature group scope is provided behaves like disables a feature flag disables a feature flag for a scope

D, [2021-03-23T14:59:01.351578 #146] DEBUG -- : with retry_on_exception: max_attempts: 3; reload_page: ; sleep_interval: 2 
D, [2021-03-23T14:59:01.351759 #146] DEBUG -- : Attempt number 1
D, [2021-03-23T14:59:01.351995 #146] DEBUG -- : with wait_until: max_duration: 60; reload_page: ; sleep_interval: 1; raise_on_failure: true 
D, [2021-03-23T14:59:01.352239 #146] DEBUG -- : ended wait_until
D, [2021-03-23T14:59:01.352395 #146] DEBUG -- : ended retry_on_exception
          disables a feature flag for a scope
      when a user scope is provided
        behaves like disables a feature flag
D, [2021-03-23T14:59:01.353649 #146] DEBUG -- : 
Starting test: QA::Runtime::Feature feature_flag: :a_flag .disable when a user scope is provided behaves like disables a feature flag disables a feature flag for a scope

D, [2021-03-23T14:59:01.354703 #146] DEBUG -- : with retry_on_exception: max_attempts: 3; reload_page: ; sleep_interval: 2 
D, [2021-03-23T14:59:01.354878 #146] DEBUG -- : Attempt number 1
D, [2021-03-23T14:59:01.355132 #146] DEBUG -- : with wait_until: max_duration: 60; reload_page: ; sleep_interval: 1; raise_on_failure: true 
D, [2021-03-23T14:59:01.355424 #146] DEBUG -- : ended wait_until
D, [2021-03-23T14:59:01.355606 #146] DEBUG -- : ended retry_on_exception
          disables a feature flag for a scope
      when a project scope is provided
        behaves like disables a feature flag
D, [2021-03-23T14:59:01.356867 #146] DEBUG -- : 
Starting test: QA::Runtime::Feature feature_flag: :a_flag .disable when a project scope is provided behaves like disables a feature flag disables a feature flag for a scope

D, [2021-03-23T14:59:01.357936 #146] DEBUG -- : with retry_on_exception: max_attempts: 3; reload_page: ; sleep_interval: 2 
D, [2021-03-23T14:59:01.358112 #146] DEBUG -- : Attempt number 1
D, [2021-03-23T14:59:01.358404 #146] DEBUG -- : with wait_until: max_duration: 60; reload_page: ; sleep_interval: 1; raise_on_failure: true 
D, [2021-03-23T14:59:01.358711 #146] DEBUG -- : ended wait_until
D, [2021-03-23T14:59:01.358885 #146] DEBUG -- : ended retry_on_exception
          disables a feature flag for a scope
      when a group scope is provided
        behaves like disables a feature flag
D, [2021-03-23T14:59:01.360175 #146] DEBUG -- : 
Starting test: QA::Runtime::Feature feature_flag: :a_flag .disable when a group scope is provided behaves like disables a feature flag disables a feature flag for a scope

D, [2021-03-23T14:59:01.361198 #146] DEBUG -- : with retry_on_exception: max_attempts: 3; reload_page: ; sleep_interval: 2 
D, [2021-03-23T14:59:01.361375 #146] DEBUG -- : Attempt number 1
D, [2021-03-23T14:59:01.361646 #146] DEBUG -- : with wait_until: max_duration: 60; reload_page: ; sleep_interval: 1; raise_on_failure: true 
D, [2021-03-23T14:59:01.361910 #146] DEBUG -- : ended wait_until
D, [2021-03-23T14:59:01.362073 #146] DEBUG -- : ended retry_on_exception
          disables a feature flag for a scope
    .enabled?
D, [2021-03-23T14:59:01.363161 #146] DEBUG -- : 
Starting test: QA::Runtime::Feature feature_flag: :a_flag .enabled? returns a feature flag state

      returns a feature flag state
      when a project scope is provided
        behaves like checks a feature flag
          when the flag is enabled for a scope
D, [2021-03-23T14:59:01.365259 #146] DEBUG -- : 
Starting test: QA::Runtime::Feature feature_flag: :a_flag .enabled? when a project scope is provided behaves like checks a feature flag when the flag is enabled for a scope returns the feature flag state

            returns the feature flag state
      when a feature group scope is provided
        behaves like checks a feature flag
          when the flag is enabled for a scope
D, [2021-03-23T14:59:01.367417 #146] DEBUG -- : 
Starting test: QA::Runtime::Feature feature_flag: :a_flag .enabled? when a feature group scope is provided behaves like checks a feature flag when the flag is enabled for a scope returns the feature flag state

            returns the feature flag state
      when a group scope is provided
        behaves like checks a feature flag
          when the flag is enabled for a scope
D, [2021-03-23T14:59:01.369433 #146] DEBUG -- : 
Starting test: QA::Runtime::Feature feature_flag: :a_flag .enabled? when a group scope is provided behaves like checks a feature flag when the flag is enabled for a scope returns the feature flag state

            returns the feature flag state
      when a user scope is provided
        behaves like checks a feature flag
          when the flag is enabled for a scope
D, [2021-03-23T14:59:01.371471 #146] DEBUG -- : 
Starting test: QA::Runtime::Feature feature_flag: :a_flag .enabled? when a user scope is provided behaves like checks a feature flag when the flag is enabled for a scope returns the feature flag state

            returns the feature flag state

QA::Specs::Runner
  #perform
    when running against live environment
D, [2021-03-23T14:59:01.377044 #146] DEBUG -- : 
Starting test: QA::Specs::Runner#perform when running against live environment includes default args and excludes the skip_live_env tag

      includes default args and excludes the skip_live_env tag
    when tty is set
D, [2021-03-23T14:59:01.378806 #146] DEBUG -- : 
Starting test: QA::Specs::Runner#perform when tty is set sets the `--tty` flag

      sets the `--tty` flag
    when tags are set
D, [2021-03-23T14:59:01.380318 #146] DEBUG -- : 
Starting test: QA::Specs::Runner#perform when tags are set focuses on the given tags

      focuses on the given tags
    behaves like excludes orchestrated, transient, and geo
D, [2021-03-23T14:59:01.381803 #146] DEBUG -- : 
Starting test: QA::Specs::Runner#perform behaves like excludes orchestrated, transient, and geo excludes the orchestrated, transient, and geo tags, and includes default args

      excludes the orchestrated, transient, and geo tags, and includes default args
    when "--tag smoke" and "qa/specs/features/foo" are set as options
D, [2021-03-23T14:59:01.383275 #146] DEBUG -- : 
Starting test: QA::Specs::Runner#perform when "--tag smoke" and "qa/specs/features/foo" are set as options focuses on the given tag and includes the path without excluding the orchestrated or transient tags

      focuses on the given tag and includes the path without excluding the orchestrated or transient tags
    when "qa/specs/features/foo" is set as options
D, [2021-03-23T14:59:01.384768 #146] DEBUG -- : 
Starting test: QA::Specs::Runner#perform when "qa/specs/features/foo" is set as options passes the given tests path and excludes the orchestrated, transient, and geo tags

      passes the given tests path and excludes the orchestrated, transient, and geo tags
    when "--tag smoke" is set as options
D, [2021-03-23T14:59:01.386193 #146] DEBUG -- : 
Starting test: QA::Specs::Runner#perform when "--tag smoke" is set as options focuses on the given tag without excluded tags

      focuses on the given tag without excluded tags
    when SIGNUP_DISABLED is true
D, [2021-03-23T14:59:01.387808 #146] DEBUG -- : 
Starting test: QA::Specs::Runner#perform when SIGNUP_DISABLED is true includes default args and excludes the skip_signup_disabled tag

      includes default args and excludes the skip_signup_disabled tag
    testable features
      when only admin features are supported
        behaves like one supported feature
D, [2021-03-23T14:59:01.389752 #146] DEBUG -- : 
Starting test: QA::Specs::Runner#perform testable features when only admin features are supported behaves like one supported feature includes default args and excludes all unsupported tags

          includes default args and excludes all unsupported tags
      when all features are supported
        behaves like excludes orchestrated, transient, and geo
D, [2021-03-23T14:59:01.391826 #146] DEBUG -- : 
Starting test: QA::Specs::Runner#perform testable features when all features are supported behaves like excludes orchestrated, transient, and geo excludes the orchestrated, transient, and geo tags, and includes default args

          excludes the orchestrated, transient, and geo tags, and includes default args
      when features are not specified
        behaves like excludes orchestrated, transient, and geo
D, [2021-03-23T14:59:01.393816 #146] DEBUG -- : 
Starting test: QA::Specs::Runner#perform testable features when features are not specified behaves like excludes orchestrated, transient, and geo excludes the orchestrated, transient, and geo tags, and includes default args

          excludes the orchestrated, transient, and geo tags, and includes default args
      when only git protocol 2 is supported
        behaves like one supported feature
D, [2021-03-23T14:59:01.395531 #146] DEBUG -- : 
Starting test: QA::Specs::Runner#perform testable features when only git protocol 2 is supported behaves like one supported feature includes default args and excludes all unsupported tags

          includes default args and excludes all unsupported tags
      when no features are supported
        behaves like one supported feature
D, [2021-03-23T14:59:01.397562 #146] DEBUG -- : 
Starting test: QA::Specs::Runner#perform testable features when no features are supported behaves like one supported feature includes default args and excludes all unsupported tags

          includes default args and excludes all unsupported tags
    when running against a Geo environment
D, [2021-03-23T14:59:01.399395 #146] DEBUG -- : 
Starting test: QA::Specs::Runner#perform when running against a Geo environment includes the geo tag

      includes the geo tag

QA::Support::SSH
  #reset_2fa_codes
    behaves like providing correct ports
      when no port specified in uri
D, [2021-03-23T14:59:01.404799 #146] DEBUG -- : 
Starting test: QA::Support::SSH#reset_2fa_codes behaves like providing correct ports when no port specified in uri does not provide port in ssh command

        does not provide port in ssh command
      when no port specified in https uri
D, [2021-03-23T14:59:01.406959 #146] DEBUG -- : 
Starting test: QA::Support::SSH#reset_2fa_codes behaves like providing correct ports when no port specified in https uri does not provide port in ssh command

        does not provide port in ssh command
      when other port is specified in uri
D, [2021-03-23T14:59:01.408966 #146] DEBUG -- : 
Starting test: QA::Support::SSH#reset_2fa_codes behaves like providing correct ports when other port is specified in uri provides other port in ssh command

        provides other port in ssh command
      when port 80 specified in uri
D, [2021-03-23T14:59:01.410904 #146] DEBUG -- : 
Starting test: QA::Support::SSH#reset_2fa_codes behaves like providing correct ports when port 80 specified in uri does not provide port in ssh command

        does not provide port in ssh command
  #git_user
    when running against environment on port 80 and not on CI (docker)
D, [2021-03-23T14:59:01.413022 #146] DEBUG -- : 
Starting test: QA::Support::SSH#git_user when running against environment on port 80 and not on CI (docker) returns git user

      returns git user
    when running against environment on a port other than 80 or 443
D, [2021-03-23T14:59:01.414863 #146] DEBUG -- : 
Starting test: QA::Support::SSH#git_user when running against environment on a port other than 80 or 443 returns the local user

      returns the local user
    when running on CI
D, [2021-03-23T14:59:01.416710 #146] DEBUG -- : 
Starting test: QA::Support::SSH#git_user when running on CI returns git user

      returns git user
    when running on a review app in CI
D, [2021-03-23T14:59:01.418376 #146] DEBUG -- : 
Starting test: QA::Support::SSH#git_user when running on a review app in CI returns git user

      returns git user
  #setup
    behaves like providing correct ports
      when no port specified in uri
D, [2021-03-23T14:59:01.420500 #146] DEBUG -- : 
Starting test: QA::Support::SSH#setup behaves like providing correct ports when no port specified in uri does not provide port in ssh command

        does not provide port in ssh command
      when no port specified in https uri
D, [2021-03-23T14:59:01.422751 #146] DEBUG -- : 
Starting test: QA::Support::SSH#setup behaves like providing correct ports when no port specified in https uri does not provide port in ssh command

        does not provide port in ssh command
      when other port is specified in uri
D, [2021-03-23T14:59:01.424980 #146] DEBUG -- : 
Starting test: QA::Support::SSH#setup behaves like providing correct ports when other port is specified in uri provides other port in ssh command

        provides other port in ssh command
      when port 80 specified in uri
D, [2021-03-23T14:59:01.427150 #146] DEBUG -- : 
Starting test: QA::Support::SSH#setup behaves like providing correct ports when port 80 specified in uri does not provide port in ssh command

        does not provide port in ssh command

QA::Scenario::Test::Integration::LDAPTLS
  #perform
    behaves like a QA scenario class
D, [2021-03-23T14:59:01.432970 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Integration::LDAPTLS#perform behaves like a QA scenario class responds to perform

      responds to perform
D, [2021-03-23T14:59:01.434338 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Integration::LDAPTLS#perform behaves like a QA scenario class sets tags on runner

      sets tags on runner
D, [2021-03-23T14:59:01.435782 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Integration::LDAPTLS#perform behaves like a QA scenario class sets an address of the subject

      sets an address of the subject
D, [2021-03-23T14:59:01.437201 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Integration::LDAPTLS#perform behaves like a QA scenario class performs before hooks only once

      performs before hooks only once
      with named command-line options
D, [2021-03-23T14:59:01.438834 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Integration::LDAPTLS#perform behaves like a QA scenario class with named command-line options passes on options after --

        passes on options after --
D, [2021-03-23T14:59:01.440643 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Integration::LDAPTLS#perform behaves like a QA scenario class with named command-line options raises an error if the option is invalid

        raises an error if the option is invalid
D, [2021-03-23T14:59:01.442465 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Integration::LDAPTLS#perform behaves like a QA scenario class with named command-line options converts options to attributes

        converts options to attributes
      specifying RSpec options
D, [2021-03-23T14:59:01.444395 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Integration::LDAPTLS#perform behaves like a QA scenario class specifying RSpec options sets options on runner

        sets options on runner

QA::Resource::Events::Project
  #wait_for_push
D, [2021-03-23T14:59:01.449429 #146] DEBUG -- : 
Starting test: QA::Resource::Events::Project#wait_for_push waits for a push with a specified commit message

D, [2021-03-23T14:59:01.450113 #146] DEBUG -- :  - wait_for_push with commit message "foo commit"
D, [2021-03-23T14:59:01.450365 #146] DEBUG -- : with wait_until: max_duration: 0.01; reload_page: ; sleep_interval: 0.1; raise_on_failure: false 
D, [2021-03-23T14:59:01.450725 #146] DEBUG -- : ended wait_until
    waits for a push with a specified commit message
D, [2021-03-23T14:59:01.451547 #146] DEBUG -- : 
Starting test: QA::Resource::Events::Project#wait_for_push raises an error if a push with the specified commit message is not found

D, [2021-03-23T14:59:01.452180 #146] DEBUG -- :  - wait_for_push with commit message "bar"
D, [2021-03-23T14:59:01.452431 #146] DEBUG -- : with wait_until: max_duration: 0.01; reload_page: ; sleep_interval: 0.1; raise_on_failure: false 
D, [2021-03-23T14:59:01.552953 #146] DEBUG -- : ended wait_until
    raises an error if a push with the specified commit message is not found
  #wait_for_push_new_branch
D, [2021-03-23T14:59:01.554853 #146] DEBUG -- : 
Starting test: QA::Resource::Events::Project#wait_for_push_new_branch waits for a push to the given branch

D, [2021-03-23T14:59:01.555672 #146] DEBUG -- :  - wait_for_push_new_branch with branch_name "another-branch"
D, [2021-03-23T14:59:01.555966 #146] DEBUG -- : with wait_until: max_duration: 0.01; reload_page: ; sleep_interval: 0.1; raise_on_failure: false 
D, [2021-03-23T14:59:01.556220 #146] DEBUG -- : ended wait_until
    waits for a push to the given branch
D, [2021-03-23T14:59:01.557118 #146] DEBUG -- : 
Starting test: QA::Resource::Events::Project#wait_for_push_new_branch raises an error if a push with the specified branch is not found

D, [2021-03-23T14:59:01.557868 #146] DEBUG -- :  - wait_for_push_new_branch with branch_name "bar"
D, [2021-03-23T14:59:01.558123 #146] DEBUG -- : with wait_until: max_duration: 0.01; reload_page: ; sleep_interval: 0.1; raise_on_failure: false 
D, [2021-03-23T14:59:01.658632 #146] DEBUG -- : ended wait_until
    raises an error if a push with the specified branch is not found
D, [2021-03-23T14:59:01.660148 #146] DEBUG -- : 
Starting test: QA::Resource::Events::Project#wait_for_push_new_branch waits for a push to the default branch if no branch is given

D, [2021-03-23T14:59:01.661021 #146] DEBUG -- :  - wait_for_push_new_branch with branch_name "master"
D, [2021-03-23T14:59:01.661334 #146] DEBUG -- : with wait_until: max_duration: 0.01; reload_page: ; sleep_interval: 0.1; raise_on_failure: false 
D, [2021-03-23T14:59:01.661575 #146] DEBUG -- : ended wait_until
    waits for a push to the default branch if no branch is given

QA::Support::Retrier
  .retry_until
D, [2021-03-23T14:59:01.666354 #146] DEBUG -- : 
Starting test: QA::Support::Retrier.retry_until sets sleep_interval to 0 by default

D, [2021-03-23T14:59:01.666908 #146] DEBUG -- : with retry_until: max_attempts: 3; reload_page: ; sleep_interval: 0; raise_on_failure: true; retry_on_exception: false
D, [2021-03-23T14:59:01.667149 #146] DEBUG -- : ended retry_until
    sets sleep_interval to 0 by default
D, [2021-03-23T14:59:01.668044 #146] DEBUG -- : 
Starting test: QA::Support::Retrier.retry_until sets raise_on_failure to true by default

D, [2021-03-23T14:59:01.668495 #146] DEBUG -- : with retry_until: max_attempts: 3; reload_page: ; sleep_interval: 0; raise_on_failure: true; retry_on_exception: false
D, [2021-03-23T14:59:01.668708 #146] DEBUG -- : ended retry_until
    sets raise_on_failure to true by default
D, [2021-03-23T14:59:01.669558 #146] DEBUG -- : 
Starting test: QA::Support::Retrier.retry_until sets retry_on_exception to false by default

D, [2021-03-23T14:59:01.670003 #146] DEBUG -- : with retry_until: max_attempts: 3; reload_page: ; sleep_interval: 0; raise_on_failure: true; retry_on_exception: false
D, [2021-03-23T14:59:01.670258 #146] DEBUG -- : ended retry_until
    sets retry_on_exception to false by default
    when the condition is true
D, [2021-03-23T14:59:01.671356 #146] DEBUG -- : 
Starting test: QA::Support::Retrier.retry_until when the condition is true logs max duration

      logs max duration
D, [2021-03-23T14:59:01.672697 #146] DEBUG -- : 
Starting test: QA::Support::Retrier.retry_until when the condition is true logs the end

      logs the end
D, [2021-03-23T14:59:01.673889 #146] DEBUG -- : 
Starting test: QA::Support::Retrier.retry_until when the condition is true logs max attempts (3 by default)

      logs max attempts (3 by default)
    when the condition is false
D, [2021-03-23T14:59:01.675330 #146] DEBUG -- : 
Starting test: QA::Support::Retrier.retry_until when the condition is false logs the start

      logs the start
D, [2021-03-23T14:59:01.676531 #146] DEBUG -- : 
Starting test: QA::Support::Retrier.retry_until when the condition is false logs the end

      logs the end
    when max_duration and max_attempts are nil
D, [2021-03-23T14:59:01.677873 #146] DEBUG -- : 
Starting test: QA::Support::Retrier.retry_until when max_duration and max_attempts are nil sets max attempts to 3 by default

D, [2021-03-23T14:59:01.678344 #146] DEBUG -- : with retry_until: max_attempts: 3; reload_page: ; sleep_interval: 0; raise_on_failure: true; retry_on_exception: false
D, [2021-03-23T14:59:01.678597 #146] DEBUG -- : ended retry_until
      sets max attempts to 3 by default
  .retry_on_exception
D, [2021-03-23T14:59:01.679691 #146] DEBUG -- : 
Starting test: QA::Support::Retrier.retry_on_exception does not repeat if no exception is raised

D, [2021-03-23T14:59:01.679898 #146] DEBUG -- : with retry_on_exception: max_attempts: 2; reload_page: ; sleep_interval: 0.5 
D, [2021-03-23T14:59:01.680060 #146] DEBUG -- : Attempt number 1
D, [2021-03-23T14:59:01.680206 #146] DEBUG -- : ended retry_on_exception
    does not repeat if no exception is raised
D, [2021-03-23T14:59:01.680993 #146] DEBUG -- : 
Starting test: QA::Support::Retrier.retry_on_exception sets max_attempts to 3 by default

D, [2021-03-23T14:59:01.681518 #146] DEBUG -- : with retry_on_exception: max_attempts: 3; reload_page: ; sleep_interval: 0.5 
D, [2021-03-23T14:59:01.681762 #146] DEBUG -- : ended retry_on_exception
    sets max_attempts to 3 by default
D, [2021-03-23T14:59:01.682536 #146] DEBUG -- : 
Starting test: QA::Support::Retrier.retry_on_exception sets retry_on_exception to true

D, [2021-03-23T14:59:01.682945 #146] DEBUG -- : with retry_on_exception: max_attempts: 3; reload_page: ; sleep_interval: 0.5 
D, [2021-03-23T14:59:01.683184 #146] DEBUG -- : ended retry_on_exception
    sets retry_on_exception to true
D, [2021-03-23T14:59:01.683986 #146] DEBUG -- : 
Starting test: QA::Support::Retrier.retry_on_exception sets sleep_interval to 0.5 by default

D, [2021-03-23T14:59:01.684406 #146] DEBUG -- : with retry_on_exception: max_attempts: 3; reload_page: ; sleep_interval: 0.5 
D, [2021-03-23T14:59:01.684610 #146] DEBUG -- : ended retry_on_exception
    sets sleep_interval to 0.5 by default
    when the condition is true
D, [2021-03-23T14:59:01.685613 #146] DEBUG -- : 
Starting test: QA::Support::Retrier.retry_on_exception when the condition is true logs the end

      logs the end
D, [2021-03-23T14:59:01.686885 #146] DEBUG -- : 
Starting test: QA::Support::Retrier.retry_on_exception when the condition is true logs max_attempts, reload_page, and sleep_interval parameters

      logs max_attempts, reload_page, and sleep_interval parameters
    when the condition is false
D, [2021-03-23T14:59:01.688288 #146] DEBUG -- : 
Starting test: QA::Support::Retrier.retry_on_exception when the condition is false logs the end

      logs the end
D, [2021-03-23T14:59:01.689575 #146] DEBUG -- : 
Starting test: QA::Support::Retrier.retry_on_exception when the condition is false logs the start

      logs the start

QA::Runtime::ApplicationSettings
  .set_application_settings
D, [2021-03-23T14:59:01.694490 #146] DEBUG -- : 
Starting test: QA::Runtime::ApplicationSettings.set_application_settings sets application settings

I, [2021-03-23T14:59:01.695483 #146]  INFO -- : Setting application settings: {:allow_local_requests_from_web_hooks_and_services=>true}
    sets application settings
  .get_application_settings
D, [2021-03-23T14:59:01.696733 #146] DEBUG -- : 
Starting test: QA::Runtime::ApplicationSettings.get_application_settings gets application settings

    gets application settings

QA::Runtime::Scenario
D, [2021-03-23T14:59:01.701605 #146] DEBUG -- : 
Starting test: QA::Runtime::Scenario raises error when attribute is not known

  raises error when attribute is not known
D, [2021-03-23T14:59:01.702612 #146] DEBUG -- : 
Starting test: QA::Runtime::Scenario makes it possible to define global scenario attributes

  makes it possible to define global scenario attributes
D, [2021-03-23T14:59:01.703514 #146] DEBUG -- : 
Starting test: QA::Runtime::Scenario raises error when attribute is empty

  raises error when attribute is empty
D, [2021-03-23T14:59:01.704460 #146] DEBUG -- : 
Starting test: QA::Runtime::Scenario replaces an existing attribute

  replaces an existing attribute

QA::Resource::SSHKey
  #title
D, [2021-03-23T14:59:01.708792 #146] DEBUG -- : 
Starting test: QA::Resource::SSHKey#title generates a default title

    generates a default title
D, [2021-03-23T14:59:01.709808 #146] DEBUG -- : 
Starting test: QA::Resource::SSHKey#title is possible to set the title

    is possible to set the title
  #key
D, [2021-03-23T14:59:01.710915 #146] DEBUG -- : 
Starting test: QA::Resource::SSHKey#key generates a default key

Executing `["ssh-keygen", "-t", "rsa", "-b", "4096", "-f", "/tmp/d20210323-146-140pie8/id_rsa", "-N", ""]`
Generating public/private rsa key pair.
Your identification has been saved in /tmp/d20210323-146-140pie8/id_rsa.
Your public key has been saved in /tmp/d20210323-146-140pie8/id_rsa.pub.
The key fingerprint is:
SHA256:E19LbwB208EiaxJoAg1BuQREDwg6AThjPJf6WWtYiek root@runner-72989761-project-5655380-concurrent-0
The key's randomart image is:
+---[RSA 4096]----+
|&*=*.  .  o oo.. |
|*==oo o ...o..o  |
|+++ooo. .. o+.   |
| o.o +  .ooo +   |
|  o = . So. . o  |
|   E o   .   .   |
|    .            |
|                 |
|                 |
+----[SHA256]-----+
    generates a default key

QA::Scenario::Test::Sanity::Selectors
  when there are no errors detected
D, [2021-03-23T14:59:02.880830 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Sanity::Selectors when there are no errors detected triggers validation

Views / selectors validation passed!
    triggers validation
D, [2021-03-23T14:59:02.882793 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Sanity::Selectors when there are no errors detected processes pages module

Views / selectors validation passed!
    processes pages module
  when there are errors detected
D, [2021-03-23T14:59:02.884564 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Sanity::Selectors when there are errors detected outputs information about errors

Views / selectors validation passed!
Views / selectors validation passed!
    outputs information about errors

QA::Runtime::Key::ECDSA
  #new
D, [2021-03-23T14:59:02.889964 #146] DEBUG -- : 
Starting test: QA::Runtime::Key::ECDSA#new does not support arbitrary bits

Executing `["ssh-keygen", "-t", "ecdsa", "-b", "123", "-f", "/tmp/d20210323-146-1jpph6a/id_ecdsa", "-N", ""]`
Invalid ECDSA key length: valid lengths are 256, 384 or 521 bits
    does not support arbitrary bits
  #public_key
D, [2021-03-23T14:59:02.904593 #146] DEBUG -- : 
Starting test: QA::Runtime::Key::ECDSA#public_key generates a public 521-bits ECDSA key

Executing `["ssh-keygen", "-t", "ecdsa", "-b", "521", "-f", "/tmp/d20210323-146-9sp2g1/id_ecdsa", "-N", ""]`
Generating public/private ecdsa key pair.
Your identification has been saved in /tmp/d20210323-146-9sp2g1/id_ecdsa.
Your public key has been saved in /tmp/d20210323-146-9sp2g1/id_ecdsa.pub.
The key fingerprint is:
SHA256:ypiKL2Pz6Aie32V2LirRBwzwV+pYPNXGA50M06cqWl4 root@runner-72989761-project-5655380-concurrent-0
The key's randomart image is:
+---[ECDSA 521]---+
| ..    *O .      |
|  ... + .X .     |
|   .o*  . +      |
|    =o.  .       |
|   .... S        |
|   . B E         |
|.   B *+ .       |
|*+o+..+.o        |
|=O*o.o. ..       |
+----[SHA256]-----+
    generates a public 521-bits ECDSA key
D, [2021-03-23T14:59:02.929217 #146] DEBUG -- : 
Starting test: QA::Runtime::Key::ECDSA#public_key generates a public 384-bits ECDSA key

Executing `["ssh-keygen", "-t", "ecdsa", "-b", "384", "-f", "/tmp/d20210323-146-1ti3bh6/id_ecdsa", "-N", ""]`
Generating public/private ecdsa key pair.
Your identification has been saved in /tmp/d20210323-146-1ti3bh6/id_ecdsa.
Your public key has been saved in /tmp/d20210323-146-1ti3bh6/id_ecdsa.pub.
The key fingerprint is:
SHA256:xvqel3r5cQfKOSywRYolD+fTt5gfqRii7Bem3yl9lOs root@runner-72989761-project-5655380-concurrent-0
The key's randomart image is:
+---[ECDSA 384]---+
|                 |
|                 |
|      o o .      |
|       X +       |
|      . S o.. .  |
|      oo =o* = . |
|     oooo.++@ . .|
|   ...o+.=B+ = . |
|   .+o.oO*E.o    |
+----[SHA256]-----+
    generates a public 384-bits ECDSA key
D, [2021-03-23T14:59:02.954313 #146] DEBUG -- : 
Starting test: QA::Runtime::Key::ECDSA#public_key generates a public 256-bits ECDSA key

Executing `["ssh-keygen", "-t", "ecdsa", "-b", "256", "-f", "/tmp/d20210323-146-x7vpbd/id_ecdsa", "-N", ""]`
Generating public/private ecdsa key pair.
Your identification has been saved in /tmp/d20210323-146-x7vpbd/id_ecdsa.
Your public key has been saved in /tmp/d20210323-146-x7vpbd/id_ecdsa.pub.
The key fingerprint is:
SHA256:k+KtkV8CSc3FQOF0sxivF2GsHHETjAByCBZfL+8IpfU root@runner-72989761-project-5655380-concurrent-0
The key's randomart image is:
+---[ECDSA 256]---+
|.+o.oo.oBOX.     |
|. oo. .=oO+=     |
|   . +.o=o+      |
|    +.+.oo .     |
|   o  +ES .      |
|    ..o= o       |
|     .+.o .      |
|       + o       |
|      . .        |
+----[SHA256]-----+
    generates a public 256-bits ECDSA key

QA::Scenario::Test::Integration::ObjectStorage
  #perform
    behaves like a QA scenario class
D, [2021-03-23T14:59:02.982580 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Integration::ObjectStorage#perform behaves like a QA scenario class sets tags on runner

      sets tags on runner
D, [2021-03-23T14:59:02.990841 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Integration::ObjectStorage#perform behaves like a QA scenario class performs before hooks only once

      performs before hooks only once
D, [2021-03-23T14:59:02.992808 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Integration::ObjectStorage#perform behaves like a QA scenario class sets an address of the subject

      sets an address of the subject
D, [2021-03-23T14:59:02.994664 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Integration::ObjectStorage#perform behaves like a QA scenario class responds to perform

      responds to perform
      with named command-line options
D, [2021-03-23T14:59:02.996445 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Integration::ObjectStorage#perform behaves like a QA scenario class with named command-line options raises an error if the option is invalid

        raises an error if the option is invalid
D, [2021-03-23T14:59:02.998677 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Integration::ObjectStorage#perform behaves like a QA scenario class with named command-line options passes on options after --

        passes on options after --
D, [2021-03-23T14:59:03.003021 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Integration::ObjectStorage#perform behaves like a QA scenario class with named command-line options converts options to attributes

        converts options to attributes
      specifying RSpec options
D, [2021-03-23T14:59:03.005409 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Integration::ObjectStorage#perform behaves like a QA scenario class specifying RSpec options sets options on runner

        sets options on runner

QA::Scenario::Test::Integration::Github
  #perform
    behaves like a QA scenario class
D, [2021-03-23T14:59:03.011306 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Integration::Github#perform behaves like a QA scenario class performs before hooks only once

      performs before hooks only once
D, [2021-03-23T14:59:03.013152 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Integration::Github#perform behaves like a QA scenario class requires a GitHub access token

      requires a GitHub access token
D, [2021-03-23T14:59:03.014980 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Integration::Github#perform behaves like a QA scenario class sets tags on runner

      sets tags on runner
D, [2021-03-23T14:59:03.016661 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Integration::Github#perform behaves like a QA scenario class responds to perform

      responds to perform
D, [2021-03-23T14:59:03.018038 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Integration::Github#perform behaves like a QA scenario class sets an address of the subject

      sets an address of the subject
      with named command-line options
D, [2021-03-23T14:59:03.020004 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Integration::Github#perform behaves like a QA scenario class with named command-line options converts options to attributes

        converts options to attributes
D, [2021-03-23T14:59:03.022301 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Integration::Github#perform behaves like a QA scenario class with named command-line options raises an error if the option is invalid

        raises an error if the option is invalid
D, [2021-03-23T14:59:03.024414 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Integration::Github#perform behaves like a QA scenario class with named command-line options passes on options after --

        passes on options after --
      specifying RSpec options
D, [2021-03-23T14:59:03.026729 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Integration::Github#perform behaves like a QA scenario class specifying RSpec options sets options on runner

        sets options on runner

QA::Support::Run
D, [2021-03-23T14:59:03.032480 #146] DEBUG -- : 
Starting test: QA::Support::Run retries twice and succeeds the third time

D, [2021-03-23T14:59:03.033111 #146] DEBUG -- : Attempt number 1
D, [2021-03-23T14:59:03.033295 #146] DEBUG -- : pwd=[/builds/gitlab-org-forks/gitlab/qa], command=[some command 2>&1]
D, [2021-03-23T14:59:03.033539 #146] DEBUG -- : output=[successful response], exitstatus=[0]
  retries twice and succeeds the third time
D, [2021-03-23T14:59:03.034560 #146] DEBUG -- : 
Starting test: QA::Support::Run raises an exception on 3rd failure

D, [2021-03-23T14:59:03.035002 #146] DEBUG -- : Attempt number 1
D, [2021-03-23T14:59:03.035158 #146] DEBUG -- : pwd=[/builds/gitlab-org-forks/gitlab/qa], command=[some command 2>&1]
D, [2021-03-23T14:59:03.035364 #146] DEBUG -- : output=[FAILURE], exitstatus=[1]
  raises an exception on 3rd failure
D, [2021-03-23T14:59:03.036398 #146] DEBUG -- : 
Starting test: QA::Support::Run runs successfully

D, [2021-03-23T14:59:03.036818 #146] DEBUG -- : Attempt number 1
D, [2021-03-23T14:59:03.036964 #146] DEBUG -- : pwd=[/builds/gitlab-org-forks/gitlab/qa], command=[some command 2>&1]
D, [2021-03-23T14:59:03.037173 #146] DEBUG -- : output=[successful response], exitstatus=[0]
  runs successfully

QA::Runtime::Logger
D, [2021-03-23T14:59:03.041378 #146] DEBUG -- : 
Starting test: QA::Runtime::Logger logs debug

  logs debug
D, [2021-03-23T14:59:03.042714 #146] DEBUG -- : 
Starting test: QA::Runtime::Logger logs warn

  logs warn
D, [2021-03-23T14:59:03.044002 #146] DEBUG -- : 
Starting test: QA::Runtime::Logger logs info

  logs info
D, [2021-03-23T14:59:03.045241 #146] DEBUG -- : 
Starting test: QA::Runtime::Logger logs unknown

  logs unknown
D, [2021-03-23T14:59:03.046373 #146] DEBUG -- : 
Starting test: QA::Runtime::Logger logs fatal

  logs fatal
D, [2021-03-23T14:59:03.047543 #146] DEBUG -- : 
Starting test: QA::Runtime::Logger logs error

  logs error

QA::Scenario::Test::Instance::Smoke
  behaves like a QA scenario class
D, [2021-03-23T14:59:03.052287 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Instance::Smoke behaves like a QA scenario class responds to perform

    responds to perform
D, [2021-03-23T14:59:03.053810 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Instance::Smoke behaves like a QA scenario class sets an address of the subject

    sets an address of the subject
D, [2021-03-23T14:59:03.055312 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Instance::Smoke behaves like a QA scenario class sets tags on runner

    sets tags on runner
D, [2021-03-23T14:59:03.056764 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Instance::Smoke behaves like a QA scenario class performs before hooks only once

    performs before hooks only once
    specifying RSpec options
D, [2021-03-23T14:59:03.058543 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Instance::Smoke behaves like a QA scenario class specifying RSpec options sets options on runner

      sets options on runner
    with named command-line options
D, [2021-03-23T14:59:03.060238 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Instance::Smoke behaves like a QA scenario class with named command-line options converts options to attributes

      converts options to attributes
D, [2021-03-23T14:59:03.062000 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Instance::Smoke behaves like a QA scenario class with named command-line options raises an error if the option is invalid

      raises an error if the option is invalid
D, [2021-03-23T14:59:03.063956 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Instance::Smoke behaves like a QA scenario class with named command-line options passes on options after --

      passes on options after --

QA::Scenario::Test::Integration::Kubernetes
  #perform
    behaves like a QA scenario class
D, [2021-03-23T14:59:03.069733 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Integration::Kubernetes#perform behaves like a QA scenario class sets tags on runner

      sets tags on runner
D, [2021-03-23T14:59:03.071341 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Integration::Kubernetes#perform behaves like a QA scenario class performs before hooks only once

      performs before hooks only once
D, [2021-03-23T14:59:03.072779 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Integration::Kubernetes#perform behaves like a QA scenario class responds to perform

      responds to perform
D, [2021-03-23T14:59:03.074196 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Integration::Kubernetes#perform behaves like a QA scenario class sets an address of the subject

      sets an address of the subject
      with named command-line options
D, [2021-03-23T14:59:03.075883 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Integration::Kubernetes#perform behaves like a QA scenario class with named command-line options passes on options after --

        passes on options after --
D, [2021-03-23T14:59:03.077832 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Integration::Kubernetes#perform behaves like a QA scenario class with named command-line options raises an error if the option is invalid

        raises an error if the option is invalid
D, [2021-03-23T14:59:03.079667 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Integration::Kubernetes#perform behaves like a QA scenario class with named command-line options converts options to attributes

        converts options to attributes
      specifying RSpec options
D, [2021-03-23T14:59:03.081598 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Integration::Kubernetes#perform behaves like a QA scenario class specifying RSpec options sets options on runner

        sets options on runner

QA::Scenario::Bootable
D, [2021-03-23T14:59:03.086719 #146] DEBUG -- : 
Starting test: QA::Scenario::Bootable makes it possible to define the scenario attribute

  makes it possible to define the scenario attribute
D, [2021-03-23T14:59:03.088670 #146] DEBUG -- : 
Starting test: QA::Scenario::Bootable does not require attributes to be defined

  does not require attributes to be defined

QA::Runtime::Namespace
  .name
    when CACHE_NAMESPACE_NAME is not defined
D, [2021-03-23T14:59:03.093507 #146] DEBUG -- : 
Starting test: QA::Runtime::Namespace.name when CACHE_NAMESPACE_NAME is not defined does not cache name when reset_cache is true

      does not cache name when reset_cache is true
D, [2021-03-23T14:59:03.095642 #146] DEBUG -- : 
Starting test: QA::Runtime::Namespace.name when CACHE_NAMESPACE_NAME is not defined caches name by default

      caches name by default
    when CACHE_NAMESPACE_NAME is defined
D, [2021-03-23T14:59:03.097820 #146] DEBUG -- : 
Starting test: QA::Runtime::Namespace.name when CACHE_NAMESPACE_NAME is defined caches name by default

      caches name by default
D, [2021-03-23T14:59:03.099695 #146] DEBUG -- : 
Starting test: QA::Runtime::Namespace.name when CACHE_NAMESPACE_NAME is defined caches name when reset_cache is false

      caches name when reset_cache is false
D, [2021-03-23T14:59:03.101532 #146] DEBUG -- : 
Starting test: QA::Runtime::Namespace.name when CACHE_NAMESPACE_NAME is defined does not cache name when reset_cache is true

      does not cache name when reset_cache is true
  .path
D, [2021-03-23T14:59:03.103551 #146] DEBUG -- : 
Starting test: QA::Runtime::Namespace.path is always cached

    is always cached

QA::Resource::Repository::Push
  .files=
D, [2021-03-23T14:59:03.108061 #146] DEBUG -- : 
Starting test: QA::Resource::Repository::Push.files= raises an error if files is not an array

    raises an error if files is not an array
D, [2021-03-23T14:59:03.108997 #146] DEBUG -- : 
Starting test: QA::Resource::Repository::Push.files= raises an error if files is not an array of hashes with :name and :content keys

    raises an error if files is not an array of hashes with :name and :content keys
D, [2021-03-23T14:59:03.109882 #146] DEBUG -- : 
Starting test: QA::Resource::Repository::Push.files= raises an error if files is an empty array

    raises an error if files is an empty array
D, [2021-03-23T14:59:03.110774 #146] DEBUG -- : 
Starting test: QA::Resource::Repository::Push.files= does not raise if files is an array of hashes with :name and :content keys

    does not raise if files is an array of hashes with :name and :content keys

QA::Scenario::Test::Instance::All
  behaves like a QA scenario class
D, [2021-03-23T14:59:03.114995 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Instance::All behaves like a QA scenario class responds to perform

    responds to perform
D, [2021-03-23T14:59:03.116529 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Instance::All behaves like a QA scenario class performs before hooks only once

    performs before hooks only once
D, [2021-03-23T14:59:03.118076 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Instance::All behaves like a QA scenario class sets an address of the subject

    sets an address of the subject
D, [2021-03-23T14:59:03.119555 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Instance::All behaves like a QA scenario class sets tags on runner

    sets tags on runner
    with named command-line options
D, [2021-03-23T14:59:03.121209 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Instance::All behaves like a QA scenario class with named command-line options passes on options after --

      passes on options after --
D, [2021-03-23T14:59:03.123069 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Instance::All behaves like a QA scenario class with named command-line options raises an error if the option is invalid

      raises an error if the option is invalid
D, [2021-03-23T14:59:03.125074 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Instance::All behaves like a QA scenario class with named command-line options converts options to attributes

      converts options to attributes
    specifying RSpec options
D, [2021-03-23T14:59:03.127035 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Instance::All behaves like a QA scenario class specifying RSpec options sets options on runner

      sets options on runner

QA::Scenario::Test::Integration::Mattermost
  #perform
    behaves like a QA scenario class
D, [2021-03-23T14:59:03.132348 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Integration::Mattermost#perform behaves like a QA scenario class requires a GitHub access token

      requires a GitHub access token
D, [2021-03-23T14:59:03.133993 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Integration::Mattermost#perform behaves like a QA scenario class responds to perform

      responds to perform
D, [2021-03-23T14:59:03.135509 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Integration::Mattermost#perform behaves like a QA scenario class performs before hooks only once

      performs before hooks only once
D, [2021-03-23T14:59:03.137137 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Integration::Mattermost#perform behaves like a QA scenario class sets tags on runner

      sets tags on runner
D, [2021-03-23T14:59:03.138892 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Integration::Mattermost#perform behaves like a QA scenario class sets an address of the subject

      sets an address of the subject
      with named command-line options
D, [2021-03-23T14:59:03.140935 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Integration::Mattermost#perform behaves like a QA scenario class with named command-line options converts options to attributes

        converts options to attributes
D, [2021-03-23T14:59:03.143101 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Integration::Mattermost#perform behaves like a QA scenario class with named command-line options raises an error if the option is invalid

        raises an error if the option is invalid
D, [2021-03-23T14:59:03.145355 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Integration::Mattermost#perform behaves like a QA scenario class with named command-line options passes on options after --

        passes on options after --
      specifying RSpec options
D, [2021-03-23T14:59:03.147868 #146] DEBUG -- : 
Starting test: QA::Scenario::Test::Integration::Mattermost#perform behaves like a QA scenario class specifying RSpec options sets options on runner

        sets options on runner

QA::Support::Waiter
  .wait_until
D, [2021-03-23T14:59:03.153419 #146] DEBUG -- : 
Starting test: QA::Support::Waiter.wait_until sets retry_on_exception to false by default

D, [2021-03-23T14:59:03.154033 #146] DEBUG -- : with wait_until: max_duration: 60; reload_page: ; sleep_interval: 0.1; raise_on_failure: true 
D, [2021-03-23T14:59:03.154291 #146] DEBUG -- : ended wait_until
    sets retry_on_exception to false by default
D, [2021-03-23T14:59:03.155390 #146] DEBUG -- : 
Starting test: QA::Support::Waiter.wait_until sets sleep_interval to 0.1 by default

D, [2021-03-23T14:59:03.155841 #146] DEBUG -- : with wait_until: max_duration: 60; reload_page: ; sleep_interval: 0.1; raise_on_failure: true 
D, [2021-03-23T14:59:03.156104 #146] DEBUG -- : ended wait_until
    sets sleep_interval to 0.1 by default
D, [2021-03-23T14:59:03.156925 #146] DEBUG -- : 
Starting test: QA::Support::Waiter.wait_until sets max_duration to 60 by default

D, [2021-03-23T14:59:03.157354 #146] DEBUG -- : with wait_until: max_duration: 60; reload_page: ; sleep_interval: 0.1; raise_on_failure: true 
D, [2021-03-23T14:59:03.157595 #146] DEBUG -- : ended wait_until
    sets max_duration to 60 by default
D, [2021-03-23T14:59:03.158405 #146] DEBUG -- : 
Starting test: QA::Support::Waiter.wait_until allows logs to be silenced

    allows logs to be silenced
D, [2021-03-23T14:59:03.159563 #146] DEBUG -- : 
Starting test: QA::Support::Waiter.wait_until sets raise_on_failure to true by default

D, [2021-03-23T14:59:03.160018 #146] DEBUG -- : with wait_until: max_duration: 60; reload_page: ; sleep_interval: 0.1; raise_on_failure: true 
D, [2021-03-23T14:59:03.160231 #146] DEBUG -- : ended wait_until
    sets raise_on_failure to true by default
    when the condition is false
D, [2021-03-23T14:59:03.161272 #146] DEBUG -- : 
Starting test: QA::Support::Waiter.wait_until when the condition is false logs the start

      logs the start
D, [2021-03-23T14:59:03.162513 #146] DEBUG -- : 
Starting test: QA::Support::Waiter.wait_until when the condition is false logs the end

      logs the end
    when the condition is true
D, [2021-03-23T14:59:03.163964 #146] DEBUG -- : 
Starting test: QA::Support::Waiter.wait_until when the condition is true logs the end

      logs the end
D, [2021-03-23T14:59:03.165181 #146] DEBUG -- : 
Starting test: QA::Support::Waiter.wait_until when the condition is true logs the start

      logs the start

Top 10 slowest examples (3.85 seconds, 54.6% of total time):
  QA::Runtime::Key::RSA#public_key generates a public RSA key
    1.86 seconds ./spec/runtime/key/rsa_spec.rb:7
  QA::Resource::SSHKey#key generates a default key
    1.16 seconds ./spec/resource/ssh_key_spec.rb:5
  QA::Page::Validator when checking validation errors when there are no validation errors #errors does not return errors
    0.21528 seconds ./spec/page/validator_spec.rb:49
  QA::Resource::Events::Project#wait_for_push_new_branch raises an error if a push with the specified branch is not found
    0.10259 seconds ./spec/resource/events/project_spec.rb:70
  QA::Resource::Events::Project#wait_for_push raises an error if a push with the specified commit message is not found
    0.10244 seconds ./spec/resource/events/project_spec.rb:53
  QA::Page::Base#wait_until when the condition is false returns false
    0.10135 seconds ./spec/page/base_spec.rb:87
  QA::Page::Base#wait_until when the condition is false refreshes
    0.10109 seconds ./spec/page/base_spec.rb:81
  QA::Page::Validator#descendants recursively returns all descendants that are page objects
    0.08354 seconds ./spec/page/validator_spec.rb:20
  QA::Runtime::Key::ED25519#public_key generates a public ED25519 key
    0.07634 seconds ./spec/runtime/key/ed25519_spec.rb:7
  QA::Page::Base#all_elements does not raise an error if :minimum, :maximum, :count, or :between is specified
    0.04019 seconds ./spec/page/base_spec.rb:104

Top 10 slowest example groups:
  QA::Runtime::Key::RSA
    1.87 seconds average (1.87 seconds / 1 example) ./spec/runtime/key/rsa_spec.rb:3
  QA::Resource::SSHKey
    0.39034 seconds average (1.17 seconds / 3 examples) ./spec/resource/ssh_key_spec.rb:3
  QA::Scenario::Template
    0.26928 seconds average (1.62 seconds / 6 examples) ./spec/scenario/template_spec.rb:3
  QA::Runtime::Key::ED25519
    0.08062 seconds average (0.08062 seconds / 1 example) ./spec/runtime/key/ed25519_spec.rb:3
  QA::Page::Validator
    0.04834 seconds average (0.33838 seconds / 7 examples) ./spec/page/validator_spec.rb:3
  QA::Resource::Events::Project
    0.04329 seconds average (0.21645 seconds / 5 examples) ./spec/resource/events/project_spec.rb:3
  QA::Runtime::Key::ECDSA
    0.02284 seconds average (0.09138 seconds / 4 examples) ./spec/runtime/key/ecdsa_spec.rb:3
  QA::Page::Base
    0.01681 seconds average (0.2857 seconds / 17 examples) ./spec/page/base_spec.rb:3
  QA::Specs::ParallelRunner
    0.00519 seconds average (0.02596 seconds / 5 examples) ./spec/specs/parallel_runner_spec.rb:3
  QA::Git::Repository
    0.00493 seconds average (0.28103 seconds / 57 examples) ./spec/git/repository_spec.rb:3

Finished in 7.05 seconds (files took 1.95 seconds to load)
595 examples, 0 failures

Randomized with seed 12738

section_end:1616511544:step_script
section_start:1616511544:archive_cache
Saving cache for successful job
Not uploading cache qa-v2 due to policy
section_end:1616511544:archive_cache
section_start:1616511545:cleanup_file_variables
Cleaning up file based variables
section_end:1616511546:cleanup_file_variables
Job succeeded