diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-04-15 06:09:30 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-04-15 06:09:30 +0000 |
commit | 17e561ffb82d134ccdee8dfb505d9cba7c311a4c (patch) | |
tree | d54b7d229b058a4080e1ae1d6d2d6290972b453d /tooling/merge_request_rspec_failure_rake_task.rb | |
parent | 1edce674dc65d54891f9a56dde344ae737c31313 (diff) | |
download | gitlab-ce-17e561ffb82d134ccdee8dfb505d9cba7c311a4c.tar.gz |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'tooling/merge_request_rspec_failure_rake_task.rb')
-rw-r--r-- | tooling/merge_request_rspec_failure_rake_task.rb | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/tooling/merge_request_rspec_failure_rake_task.rb b/tooling/merge_request_rspec_failure_rake_task.rb new file mode 100644 index 00000000000..02ac38bee69 --- /dev/null +++ b/tooling/merge_request_rspec_failure_rake_task.rb @@ -0,0 +1,37 @@ +# frozen_string_literal: true + +require 'test_file_finder' +require_relative './merge_request' + +module Tooling + class MergeRequestRspecFailureRakeTask < RSpec::Core::RakeTask + PROJECT_PATH = 'gitlab-org/gitlab' + + def run_task(_verbose) + if pattern.empty? + puts "No rspec failures in the merge request." + return + end + + super + end + + def rspec_failures_on_merge_request + test_file_finder = TestFileFinder::FileFinder.new + test_file_finder.use TestFileFinder::MappingStrategies::GitlabMergeRequestRspecFailure.new(project_path: PROJECT_PATH, merge_request_iid: merge_request.iid) + test_file_finder.test_files + rescue TestFileFinder::TestReportError => e + abort e.message + end + + private + + def merge_request + @merge_request ||= Tooling::MergeRequest.for(branch: current_branch, project_path: PROJECT_PATH) + end + + def current_branch + @current_branch ||= `git branch --show-current`.strip + end + end +end |