Sha256: d02e5eef001345507192aa01ac417972fd2b63deaefbc081f8c69e0f06062c64
Contents?: true
Size: 1.32 KB
Versions: 3
Compression:
Stored size: 1.32 KB
Contents
module KnapsackPro class Tracker include Singleton attr_reader :global_time, :test_files_with_time attr_writer :current_test_path def initialize set_defaults end def reset! set_defaults end def start_timer @start_time = now_without_mock_time.to_f end def stop_timer @execution_time = @start_time ? now_without_mock_time.to_f - @start_time : 0.0 update_global_time update_test_file_time @execution_time end def current_test_path raise("current_test_path needs to be set by Knapsack Pro Adapter's bind method") unless @current_test_path @current_test_path.sub(/^\.\//, '') end def to_a test_files = [] @test_files_with_time.each do |path, time_execution| test_files << { path: path, time_execution: time_execution } end test_files end private def set_defaults @global_time = 0 @test_files_with_time = {} @test_path = nil end def update_global_time @global_time += @execution_time end def update_test_file_time @test_files_with_time[current_test_path] ||= 0 @test_files_with_time[current_test_path] += @execution_time end def now_without_mock_time Time.now_without_mock_time end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
knapsack_pro-0.38.0 | lib/knapsack_pro/tracker.rb |
knapsack_pro-0.37.0 | lib/knapsack_pro/tracker.rb |
knapsack_pro-0.36.0 | lib/knapsack_pro/tracker.rb |