lib/knapsack_pro/tracker.rb in knapsack_pro-3.0.0 vs lib/knapsack_pro/tracker.rb in knapsack_pro-3.1.0
- old
+ new
@@ -9,21 +9,22 @@
attr_reader :global_time_since_beginning, :global_time, :test_files_with_time, :prerun_tests_loaded
attr_writer :current_test_path
def initialize
@global_time_since_beginning = 0
+ KnapsackPro::Config::TempFiles.ensure_temp_directory_exists!
FileUtils.mkdir_p(tracker_dir_path)
set_defaults
end
def reset!
set_defaults
# Remove report only when the reset! method is called explicitly.
# The report should be persisted on the disk so that multiple tracker instances can share the report state.
# Tracker instance can be created by knapsack_pro process and a separate tracker is created by rake task (e.g., RSpec) in Regular Mode.
- File.delete(prerun_tests_report_path) if File.exists?(prerun_tests_report_path)
+ File.delete(prerun_tests_report_path) if File.exist?(prerun_tests_report_path)
end
def start_timer
@start_time ||= now_without_mock_time.to_f
end
@@ -90,11 +91,11 @@
@current_test_path = nil
@prerun_tests_loaded = false
end
def tracker_dir_path
- "#{KnapsackPro::Config::Env::TMP_DIR}/tracker"
+ "#{KnapsackPro::Config::TempFiles::TEMP_DIRECTORY_PATH}/tracker"
end
def prerun_tests_report_path
raise 'Test runner adapter not set. Report a bug to the Knapsack Pro support.' unless KnapsackPro::Config::Env.test_runner_adapter
report_name = "prerun_tests_#{KnapsackPro::Config::Env.test_runner_adapter}_node_#{KnapsackPro::Config::Env.ci_node_index}.json"
@@ -108,9 +109,10 @@
f.write(report_json)
end
end
def read_prerun_tests_report
+ raise "Report #{prerun_tests_report_path} doest not exist on the disk. Most likely, it was removed accidentally. Please report the bug to the Knapsack Pro support team at https://knapsackpro.com/contact" unless File.exist?(prerun_tests_report_path)
JSON.parse(File.read(prerun_tests_report_path))
end
def load_prerun_tests
read_prerun_tests_report.each do |test_file_path, hash|