diff options
author | Kamil Trzcinski <ayufan@ayufan.eu> | 2016-05-21 20:17:15 -0500 |
---|---|---|
committer | Kamil Trzcinski <ayufan@ayufan.eu> | 2016-06-03 17:08:17 +0200 |
commit | 0a1fccb2ed0e0479dbaa4c22726d5c7a440f014c (patch) | |
tree | 67687617f475fa9253aa84b6a325bb953e5db852 /spec | |
parent | ca3c5c295ed653b483fe81c3918ffe60f46666b9 (diff) | |
download | gitlab-ce-0a1fccb2ed0e0479dbaa4c22726d5c7a440f014c.tar.gz |
Try to use knapsack
Diffstat (limited to 'spec')
-rw-r--r-- | spec/knapsack_merger.rb | 41 | ||||
-rw-r--r-- | spec/spec_helper.rb | 4 |
2 files changed, 45 insertions, 0 deletions
diff --git a/spec/knapsack_merger.rb b/spec/knapsack_merger.rb new file mode 100644 index 00000000000..c6bcefe8464 --- /dev/null +++ b/spec/knapsack_merger.rb @@ -0,0 +1,41 @@ +begin + class Knapsack::Report + alias_method :save_without_leading_existing_report, :save + + def load_existing_report + Knapsack::Presenter.existing_report = open + rescue + false + end + + def save + load_existing_report + save_without_leading_existing_report + end + end + + class << Knapsack::Presenter + attr_accessor :existing_report + + def initialize + @existing_report = [] + end + + def report_hash + return current_report_hash unless existing_report + existing_report.merge(current_report_hash).sort.to_h + end + + def current_report_hash + Knapsack.tracker.test_files_with_time + end + + def report_yml + report_hash.to_yaml + end + + def report_json + JSON.pretty_generate(report_hash) + end + end +end diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 576d16e7ea3..84b9ee75f6a 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -15,6 +15,10 @@ require 'rspec/rails' require 'shoulda/matchers' require 'sidekiq/testing/inline' require 'rspec/retry' +require 'knapsack' +require_relative 'knapsack_merger' + +Knapsack::Adapters::RSpecAdapter.bind # Requires supporting ruby files with custom matchers and macros, etc, # in spec/support/ and its subdirectories. |