Sequoia
Loading...
Searching...
No Matches
IndividualTestPaths.hpp
Go to the documentation of this file.
1
2// Copyright Oliver J. Rosten 2022. //
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
15#include "sequoia/TestFramework/TestMode.hpp"
16
17namespace sequoia::testing
18{
20 {
21 public:
23
24 individual_materials_paths(std::filesystem::path sourceFile, const project_paths& projPaths);
25
26 [[nodiscard]]
27 std::filesystem::path original_working() const;
28
29 [[nodiscard]]
30 std::filesystem::path working() const;
31
32 [[nodiscard]]
33 std::filesystem::path original_auxiliary() const;
34
35 [[nodiscard]]
36 std::filesystem::path auxiliary() const;
37
38 [[nodiscard]]
39 std::filesystem::path prediction() const;
40
41 [[nodiscard]]
42 const std::filesystem::path& original_materials() const noexcept
43 {
44 return m_Materials;
45 }
46
47 [[nodiscard]]
48 const std::filesystem::path& temporary_materials() const noexcept
49 {
50 return m_TemporaryMaterials;
51 }
52
53 [[nodiscard]]
54 friend bool operator==(const individual_materials_paths&, const individual_materials_paths&) noexcept = default;
55 private:
56 std::filesystem::path
57 m_Materials,
58 m_TemporaryMaterials;
59
60 individual_materials_paths(const std::filesystem::path& relativePath, const test_materials_paths& materials, const output_paths& output);
61 };
62
64 {
65 public:
67
68 individual_diagnostics_paths(const std::filesystem::path& projectRoot, std::string_view suite, const std::filesystem::path& source, test_mode mode, const std::optional<std::string>& platform);
69
70 [[nodiscard]]
71 const std::filesystem::path& false_positive_or_negative_file_path() const noexcept
72 {
73 return m_Diagnostics;
74 }
75
76 [[nodiscard]]
77 const std::filesystem::path& caught_exceptions_file_path() const noexcept
78 {
79 return m_CaughtExceptions;
80 }
81
82 [[nodiscard]]
83 friend bool operator==(const individual_diagnostics_paths&, const individual_diagnostics_paths&) noexcept = default;
84 private:
85 std::filesystem::path
86 m_Diagnostics,
87 m_CaughtExceptions;
88 };
89
91 public:
92 test_summary_path() = default;
93
94 test_summary_path(const std::filesystem::path& sourceFile, const project_paths& projectPaths, const std::optional<std::string>& summaryDiscriminator);
95
96 [[nodiscard]]
97 const std::filesystem::path& file_path() const noexcept { return m_Summary; }
98
99 [[nodiscard]]
100 friend bool operator==(const test_summary_path&, const test_summary_path&) noexcept = default;
101 private:
102 std::filesystem::path m_Summary;
103 };
104}
File paths pertaining to a sequoia project.
Definition: Suite.hpp:46
Definition: IndividualTestPaths.hpp:64
Definition: IndividualTestPaths.hpp:20
Paths in the output directory.
Definition: ProjectPaths.hpp:389
Paths used by the project.
Definition: ProjectPaths.hpp:469
Paths relating to the TestMaterials directory.
Definition: ProjectPaths.hpp:185
Definition: IndividualTestPaths.hpp:90