Sequoia
Loading...
Searching...
No Matches
DependencyAnalyzer.hpp
Go to the documentation of this file.
1
2// Copyright Oliver J. Rosten 2021. //
3// Distributed under the GNU GENERAL PUBLIC LICENSE, Version 3.0. //
4// (See accompanying file LICENSE.md or copy at //
5// https://www.gnu.org/licenses/gpl-3.0.en.html) //
7
8#pragma once
9
16
17namespace sequoia::testing
18{
19 enum class prune_mode { passive, active };
20
21 std::vector<std::filesystem::path>& read_tests(const std::filesystem::path& file, std::vector<std::filesystem::path>& tests);
22
23 [[nodiscard]]
24 std::vector<std::filesystem::path> read_tests(const std::filesystem::path& file);
25
26 void write_tests(const project_paths& projPaths, const std::filesystem::path& file, const std::vector<std::filesystem::path>& tests);
27
28 [[nodiscard]]
29 std::optional<std::vector<std::filesystem::path>> tests_to_run(const project_paths& projPaths, std::string_view cutoff);
30
31 void update_prune_files(const project_paths& projPaths,
32 std::vector<std::filesystem::path> failedTests,
33 std::filesystem::file_time_type updateTime,
34 std::optional<std::size_t> id);
35
36 void update_prune_files(const project_paths& projPaths,
37 std::vector<std::filesystem::path> executedTests,
38 std::vector<std::filesystem::path> failedTests,
39 std::optional<std::size_t> id);
40
41 void setup_instability_analysis_prune_folder(const project_paths& projPaths);
42
43 void aggregate_instability_analysis_prune_files(const project_paths& projPaths, prune_mode mode, std::filesystem::file_time_type timeStamp, std::size_t numReps);
44}
File paths pertaining to a sequoia project.