diff options
-rw-r--r-- | src/buildtool/build_engine/target_map/TARGETS | 1 | ||||
-rw-r--r-- | src/buildtool/build_engine/target_map/built_in_rules.cpp | 20 | ||||
-rw-r--r-- | src/buildtool/build_engine/target_map/built_in_rules.hpp | 2 | ||||
-rw-r--r-- | src/buildtool/build_engine/target_map/export.cpp | 4 | ||||
-rw-r--r-- | src/buildtool/build_engine/target_map/export.hpp | 2 | ||||
-rw-r--r-- | src/buildtool/build_engine/target_map/target_map.cpp | 16 | ||||
-rw-r--r-- | src/buildtool/build_engine/target_map/target_map.hpp | 6 | ||||
-rw-r--r-- | src/buildtool/main/TARGETS | 1 | ||||
-rw-r--r-- | src/buildtool/main/analyse.cpp | 2 | ||||
-rw-r--r-- | src/buildtool/main/analyse.hpp | 2 | ||||
-rw-r--r-- | src/buildtool/main/main.cpp | 2 | ||||
-rw-r--r-- | src/buildtool/serve_api/serve_service/target.cpp | 1 | ||||
-rw-r--r-- | test/buildtool/build_engine/target_map/TARGETS | 2 | ||||
-rw-r--r-- | test/buildtool/build_engine/target_map/target_map.test.cpp | 152 |
14 files changed, 137 insertions, 76 deletions
diff --git a/src/buildtool/build_engine/target_map/TARGETS b/src/buildtool/build_engine/target_map/TARGETS index 5886f784..b753e503 100644 --- a/src/buildtool/build_engine/target_map/TARGETS +++ b/src/buildtool/build_engine/target_map/TARGETS @@ -47,6 +47,7 @@ , ["src/buildtool/build_engine/base_maps", "targets_file_map"] , ["src/buildtool/common", "config"] , ["src/buildtool/multithreading", "async_map_consumer"] + , ["src/buildtool/storage", "storage"] , ["@", "gsl", "", "gsl"] , ["@", "json", "", "json"] ] diff --git a/src/buildtool/build_engine/target_map/built_in_rules.cpp b/src/buildtool/build_engine/target_map/built_in_rules.cpp index 19a12105..d28a6ed9 100644 --- a/src/buildtool/build_engine/target_map/built_in_rules.cpp +++ b/src/buildtool/build_engine/target_map/built_in_rules.cpp @@ -339,6 +339,7 @@ void FileGenRule( const nlohmann::json& desc_json, const BuildMaps::Target::ConfiguredTarget& key, const gsl::not_null<RepositoryConfig*>& repo_config, + [[maybe_unused]] const ActiveTargetCache& /*target_cache*/, const BuildMaps::Target::TargetMap::SubCallerPtr& subcaller, const BuildMaps::Target::TargetMap::SetterPtr& setter, const BuildMaps::Target::TargetMap::LoggerPtr& logger, @@ -357,6 +358,7 @@ void SymlinkRule( const nlohmann::json& desc_json, const BuildMaps::Target::ConfiguredTarget& key, const gsl::not_null<RepositoryConfig*>& repo_config, + [[maybe_unused]] const ActiveTargetCache& /*target_cache*/, const BuildMaps::Target::TargetMap::SubCallerPtr& subcaller, const BuildMaps::Target::TargetMap::SetterPtr& setter, const BuildMaps::Target::TargetMap::LoggerPtr& logger, @@ -484,6 +486,7 @@ void TreeRule( const nlohmann::json& desc_json, const BuildMaps::Target::ConfiguredTarget& key, const gsl::not_null<RepositoryConfig*>& repo_config, + [[maybe_unused]] const ActiveTargetCache& /*target_cache*/, const BuildMaps::Target::TargetMap::SubCallerPtr& subcaller, const BuildMaps::Target::TargetMap::SetterPtr& setter, const BuildMaps::Target::TargetMap::LoggerPtr& logger, @@ -732,6 +735,7 @@ void InstallRule( const nlohmann::json& desc_json, const BuildMaps::Target::ConfiguredTarget& key, const gsl::not_null<RepositoryConfig*>& repo_config, + [[maybe_unused]] const ActiveTargetCache& /*target_cache*/, const BuildMaps::Target::TargetMap::SubCallerPtr& subcaller, const BuildMaps::Target::TargetMap::SetterPtr& setter, const BuildMaps::Target::TargetMap::LoggerPtr& logger, @@ -1317,6 +1321,7 @@ void GenericRule( const nlohmann::json& desc_json, const BuildMaps::Target::ConfiguredTarget& key, const gsl::not_null<RepositoryConfig*>& repo_config, + [[maybe_unused]] const ActiveTargetCache& /*target_cache*/, const BuildMaps::Target::TargetMap::SubCallerPtr& subcaller, const BuildMaps::Target::TargetMap::SetterPtr& setter, const BuildMaps::Target::TargetMap::LoggerPtr& logger, @@ -1394,6 +1399,7 @@ void ConfigureRule( const nlohmann::json& desc_json, const BuildMaps::Target::ConfiguredTarget& key, const gsl::not_null<RepositoryConfig*>& repo_config, + [[maybe_unused]] const ActiveTargetCache& /*target_cache*/, const BuildMaps::Target::TargetMap::SubCallerPtr& subcaller, const BuildMaps::Target::TargetMap::SetterPtr& setter, const BuildMaps::Target::TargetMap::LoggerPtr& logger, @@ -1533,7 +1539,8 @@ auto const kBuiltIns = std::unordered_map< std::function<void( const nlohmann::json&, const BuildMaps::Target::ConfiguredTarget&, - [[maybe_unused]] const gsl::not_null<RepositoryConfig*>&, + const gsl::not_null<RepositoryConfig*>&, + const ActiveTargetCache&, const BuildMaps::Target::TargetMap::SubCallerPtr&, const BuildMaps::Target::TargetMap::SetterPtr&, const BuildMaps::Target::TargetMap::LoggerPtr&, @@ -1564,6 +1571,7 @@ auto HandleBuiltin( const nlohmann::json& desc, const BuildMaps::Target::ConfiguredTarget& key, const gsl::not_null<RepositoryConfig*>& repo_config, + const ActiveTargetCache& target_cache, const BuildMaps::Target::TargetMap::SubCallerPtr& subcaller, const BuildMaps::Target::TargetMap::SetterPtr& setter, const BuildMaps::Target::TargetMap::LoggerPtr& logger, @@ -1586,8 +1594,14 @@ auto HandleBuiltin( msg), fatal); }); - (it->second)( - desc, key, repo_config, subcaller, setter, target_logger, result_map); + (it->second)(desc, + key, + repo_config, + target_cache, + subcaller, + setter, + target_logger, + result_map); return true; } } // namespace BuildMaps::Target diff --git a/src/buildtool/build_engine/target_map/built_in_rules.hpp b/src/buildtool/build_engine/target_map/built_in_rules.hpp index 5f815130..e3e2f220 100644 --- a/src/buildtool/build_engine/target_map/built_in_rules.hpp +++ b/src/buildtool/build_engine/target_map/built_in_rules.hpp @@ -21,6 +21,7 @@ #include "src/buildtool/build_engine/target_map/result_map.hpp" #include "src/buildtool/build_engine/target_map/target_map.hpp" #include "src/buildtool/common/repository_config.hpp" +#include "src/buildtool/storage/target_cache.hpp" namespace BuildMaps::Target { auto HandleBuiltin( @@ -28,6 +29,7 @@ auto HandleBuiltin( const nlohmann::json& desc, const BuildMaps::Target::ConfiguredTarget& key, const gsl::not_null<RepositoryConfig*>& repo_config, + const ActiveTargetCache& target_cache, const BuildMaps::Target::TargetMap::SubCallerPtr& subcaller, const BuildMaps::Target::TargetMap::SetterPtr& setter, const BuildMaps::Target::TargetMap::LoggerPtr& logger, diff --git a/src/buildtool/build_engine/target_map/export.cpp b/src/buildtool/build_engine/target_map/export.cpp index 25e78d32..c9aed0e3 100644 --- a/src/buildtool/build_engine/target_map/export.cpp +++ b/src/buildtool/build_engine/target_map/export.cpp @@ -97,6 +97,7 @@ void ExportRule( const nlohmann::json& desc_json, const BuildMaps::Target::ConfiguredTarget& key, const gsl::not_null<RepositoryConfig*>& repo_config, + const ActiveTargetCache& target_cache, const BuildMaps::Target::TargetMap::SubCallerPtr& subcaller, const BuildMaps::Target::TargetMap::SetterPtr& setter, const BuildMaps::Target::TargetMap::LoggerPtr& logger, @@ -117,8 +118,7 @@ void ExportRule( if (target_cache_key) { // first try to get value from local target cache - auto target_cache_value = - Storage::Instance().TargetCache().Read(*target_cache_key); + auto target_cache_value = target_cache.Read(*target_cache_key); bool from_just_serve{false}; #ifndef BOOTSTRAP_BUILD_TOOL diff --git a/src/buildtool/build_engine/target_map/export.hpp b/src/buildtool/build_engine/target_map/export.hpp index aa84f0b4..7f470706 100644 --- a/src/buildtool/build_engine/target_map/export.hpp +++ b/src/buildtool/build_engine/target_map/export.hpp @@ -21,10 +21,12 @@ #include "src/buildtool/build_engine/target_map/result_map.hpp" #include "src/buildtool/build_engine/target_map/target_map.hpp" #include "src/buildtool/common/repository_config.hpp" +#include "src/buildtool/storage/target_cache.hpp" void ExportRule(const nlohmann::json& desc_json, const BuildMaps::Target::ConfiguredTarget& key, const gsl::not_null<RepositoryConfig*>& repo_config, + const ActiveTargetCache& target_cache, const BuildMaps::Target::TargetMap::SubCallerPtr& subcaller, const BuildMaps::Target::TargetMap::SetterPtr& setter, const BuildMaps::Target::TargetMap::LoggerPtr& logger, diff --git a/src/buildtool/build_engine/target_map/target_map.cpp b/src/buildtool/build_engine/target_map/target_map.cpp index 2322ba54..4d28ac6a 100644 --- a/src/buildtool/build_engine/target_map/target_map.cpp +++ b/src/buildtool/build_engine/target_map/target_map.cpp @@ -1237,6 +1237,7 @@ void withRuleDefinition( void withTargetsFile( const BuildMaps::Target::ConfiguredTarget& key, const gsl::not_null<RepositoryConfig*>& repo_config, + const ActiveTargetCache& target_cache, const nlohmann::json& targets_file, const gsl::not_null<BuildMaps::Base::SourceTargetMap*>& source_target, const gsl::not_null<BuildMaps::Base::UserRuleMap*>& rule_map, @@ -1275,6 +1276,7 @@ void withTargetsFile( desc, key, repo_config, + target_cache, subcaller, setter, logger, @@ -1657,6 +1659,7 @@ auto CreateTargetMap( const gsl::not_null<AbsentTargetMap*>& absent_target_map, const gsl::not_null<ResultTargetMap*>& result_map, const gsl::not_null<RepositoryConfig*>& repo_config, + const ActiveTargetCache& target_cache, std::size_t jobs) -> TargetMap { auto target_reader = [source_target_map, targets_file_map, @@ -1664,11 +1667,12 @@ auto CreateTargetMap( directory_entries_map, absent_target_map, result_map, - repo_config](auto ts, - auto setter, - auto logger, - auto subcaller, - auto key) { + repo_config, + target_cache](auto ts, + auto setter, + auto logger, + auto subcaller, + auto key) { if (key.target.IsAnonymousTarget()) { withTargetNode(key, repo_config, @@ -1803,6 +1807,7 @@ auto CreateTargetMap( {key.target.ToModule()}, [key, repo_config, + target_cache, source_target_map, rule_map, ts, @@ -1812,6 +1817,7 @@ auto CreateTargetMap( result_map](auto values) { withTargetsFile(key, repo_config, + target_cache, *values[0], source_target_map, rule_map, diff --git a/src/buildtool/build_engine/target_map/target_map.hpp b/src/buildtool/build_engine/target_map/target_map.hpp index bcd902cc..2832eb35 100644 --- a/src/buildtool/build_engine/target_map/target_map.hpp +++ b/src/buildtool/build_engine/target_map/target_map.hpp @@ -29,6 +29,7 @@ #include "src/buildtool/build_engine/target_map/result_map.hpp" #include "src/buildtool/common/repository_config.hpp" #include "src/buildtool/multithreading/async_map_consumer.hpp" +#include "src/buildtool/storage/target_cache.hpp" namespace BuildMaps::Target { @@ -39,9 +40,10 @@ auto CreateTargetMap( const gsl::not_null<BuildMaps::Base::TargetsFileMap*>&, const gsl::not_null<BuildMaps::Base::UserRuleMap*>&, const gsl::not_null<BuildMaps::Base::DirectoryEntriesMap*>&, - [[maybe_unused]] const gsl::not_null<AbsentTargetMap*>&, + const gsl::not_null<AbsentTargetMap*>&, const gsl::not_null<ResultTargetMap*>&, - [[maybe_unused]] const gsl::not_null<RepositoryConfig*>&, + const gsl::not_null<RepositoryConfig*>&, + const ActiveTargetCache&, std::size_t jobs = 0) -> TargetMap; // use explicit cast to std::function to allow template deduction when used diff --git a/src/buildtool/main/TARGETS b/src/buildtool/main/TARGETS index bedcdcce..fd2adf7c 100644 --- a/src/buildtool/main/TARGETS +++ b/src/buildtool/main/TARGETS @@ -117,6 +117,7 @@ , ["src/buildtool/build_engine/target_map", "result_map"] , ["src/buildtool/build_engine/analysed_target", "target"] , ["src/buildtool/common", "config"] + , ["src/buildtool/storage", "storage"] ] , "stage": ["src", "buildtool", "main"] , "private-deps": diff --git a/src/buildtool/main/analyse.cpp b/src/buildtool/main/analyse.cpp index 6e8aeccc..6ea61de2 100644 --- a/src/buildtool/main/analyse.cpp +++ b/src/buildtool/main/analyse.cpp @@ -96,6 +96,7 @@ namespace Target = BuildMaps::Target; const Target::ConfiguredTarget& id, gsl::not_null<Target::ResultTargetMap*> const& result_map, gsl::not_null<RepositoryConfig*> const& repo_config, + ActiveTargetCache const& target_cache, std::size_t jobs, std::optional<std::string> const& request_action_input) -> std::optional<AnalysisResult> { @@ -119,6 +120,7 @@ namespace Target = BuildMaps::Target; &absent_target_map, result_map, repo_config, + target_cache, jobs); Logger::Log(LogLevel::Info, "Requested target is {}", id.ToString()); AnalysedTargetPtr target{}; diff --git a/src/buildtool/main/analyse.hpp b/src/buildtool/main/analyse.hpp index 82c2ba3e..a7e1cb08 100644 --- a/src/buildtool/main/analyse.hpp +++ b/src/buildtool/main/analyse.hpp @@ -20,6 +20,7 @@ #include "src/buildtool/build_engine/target_map/result_map.hpp" #include "src/buildtool/common/cli.hpp" #include "src/buildtool/common/repository_config.hpp" +#include "src/buildtool/storage/target_cache.hpp" struct AnalysisResult { BuildMaps::Target::ConfiguredTarget id; @@ -31,6 +32,7 @@ struct AnalysisResult { const BuildMaps::Target::ConfiguredTarget& id, gsl::not_null<BuildMaps::Target::ResultTargetMap*> const& result_map, gsl::not_null<RepositoryConfig*> const& repo_config, + ActiveTargetCache const& target_cache, std::size_t jobs, std::optional<std::string> const& request_action_input) -> std::optional<AnalysisResult>; diff --git a/src/buildtool/main/main.cpp b/src/buildtool/main/main.cpp index 78ec57a7..642251c4 100644 --- a/src/buildtool/main/main.cpp +++ b/src/buildtool/main/main.cpp @@ -40,6 +40,7 @@ #include "src/buildtool/main/install_cas.hpp" #include "src/buildtool/storage/config.hpp" #include "src/buildtool/storage/garbage_collector.hpp" +#include "src/buildtool/storage/storage.hpp" #include "src/buildtool/storage/target_cache.hpp" #ifndef BOOTSTRAP_BUILD_TOOL #include "src/buildtool/auth/authentication.hpp" @@ -997,6 +998,7 @@ auto main(int argc, char* argv[]) -> int { AnalyseTarget(id, &result_map, &repo_config, + Storage::Instance().TargetCache(), arguments.common.jobs, arguments.analysis.request_action_input); if (result) { diff --git a/src/buildtool/serve_api/serve_service/target.cpp b/src/buildtool/serve_api/serve_service/target.cpp index e7a4bf31..97b75b53 100644 --- a/src/buildtool/serve_api/serve_service/target.cpp +++ b/src/buildtool/serve_api/serve_service/target.cpp @@ -405,6 +405,7 @@ auto TargetService::ServeTarget( auto result = AnalyseTarget(configured_target, &result_map, &repository_config, + *tc, RemoteServeConfig::Jobs(), std::nullopt /*request_action_input*/); diff --git a/test/buildtool/build_engine/target_map/TARGETS b/test/buildtool/build_engine/target_map/TARGETS index e83c22d1..8f894ca1 100644 --- a/test/buildtool/build_engine/target_map/TARGETS +++ b/test/buildtool/build_engine/target_map/TARGETS @@ -23,6 +23,8 @@ , ["@", "src", "src/buildtool/build_engine/base_maps", "source_map"] , ["@", "src", "src/buildtool/build_engine/base_maps", "targets_file_map"] , ["@", "src", "src/buildtool/build_engine/target_map", "target_map"] + , ["@", "src", "src/buildtool/storage", "storage"] + , ["utils", "local_hermeticity"] ] , "stage": ["test", "buildtool", "build_engine", "target_map"] } diff --git a/test/buildtool/build_engine/target_map/target_map.test.cpp b/test/buildtool/build_engine/target_map/target_map.test.cpp index 14701f6c..dd7c19a9 100644 --- a/test/buildtool/build_engine/target_map/target_map.test.cpp +++ b/test/buildtool/build_engine/target_map/target_map.test.cpp @@ -25,6 +25,8 @@ #include "src/buildtool/build_engine/target_map/target_map.hpp" #include "src/buildtool/multithreading/async_map_consumer.hpp" #include "src/buildtool/multithreading/task_system.hpp" +#include "src/buildtool/storage/storage.hpp" +#include "test/utils/hermeticity/local.hpp" namespace { @@ -64,7 +66,7 @@ auto SetupConfig() -> RepositoryConfig { } // namespace -TEST_CASE("simple targets") { +TEST_CASE_METHOD(HermeticLocalTestFixture, "simple targets", "[target_map]") { auto repo_config = SetupConfig(); auto directory_entries = BuildMaps::Base::CreateDirectoryEntriesMap(&repo_config); @@ -82,13 +84,15 @@ TEST_CASE("simple targets") { BuildMaps::Target::ResultTargetMap result_map{0}; auto absent_target_map = BuildMaps::Target::CreateAbsentTargetMap(&result_map, &repo_config, 0); - auto target_map = BuildMaps::Target::CreateTargetMap(&source, - &targets_file_map, - &rule_map, - &directory_entries, - &absent_target_map, - &result_map, - &repo_config); + auto target_map = + BuildMaps::Target::CreateTargetMap(&source, + &targets_file_map, + &rule_map, + &directory_entries, + &absent_target_map, + &result_map, + &repo_config, + Storage::Instance().TargetCache()); AnalysedTargetPtr result; bool error{false}; @@ -409,7 +413,9 @@ TEST_CASE("simple targets") { } } -TEST_CASE("configuration deduplication") { +TEST_CASE_METHOD(HermeticLocalTestFixture, + "configuration deduplication", + "[target_map]") { auto repo_config = SetupConfig(); auto directory_entries = BuildMaps::Base::CreateDirectoryEntriesMap(&repo_config); @@ -427,13 +433,15 @@ TEST_CASE("configuration deduplication") { BuildMaps::Target::ResultTargetMap result_map{0}; auto absent_target_map = BuildMaps::Target::CreateAbsentTargetMap(&result_map, &repo_config, 0); - auto target_map = BuildMaps::Target::CreateTargetMap(&source, - &targets_file_map, - &rule_map, - &directory_entries, - &absent_target_map, - &result_map, - &repo_config); + auto target_map = + BuildMaps::Target::CreateTargetMap(&source, + &targets_file_map, + &rule_map, + &directory_entries, + &absent_target_map, + &result_map, + &repo_config, + Storage::Instance().TargetCache()); std::vector<AnalysedTargetPtr> result; bool error{false}; @@ -476,7 +484,9 @@ TEST_CASE("configuration deduplication") { CHECK(analysis_result.actions.size() == 2); } -TEST_CASE("generator functions in string arguments") { +TEST_CASE_METHOD(HermeticLocalTestFixture, + "generator functions in string arguments", + "[target_map]") { auto repo_config = SetupConfig(); auto directory_entries = BuildMaps::Base::CreateDirectoryEntriesMap(&repo_config); @@ -494,13 +504,15 @@ TEST_CASE("generator functions in string arguments") { BuildMaps::Target::ResultTargetMap result_map{0}; auto absent_target_map = BuildMaps::Target::CreateAbsentTargetMap(&result_map, &repo_config, 0); - auto target_map = BuildMaps::Target::CreateTargetMap(&source, - &targets_file_map, - &rule_map, - &directory_entries, - &absent_target_map, - &result_map, - &repo_config); + auto target_map = + BuildMaps::Target::CreateTargetMap(&source, + &targets_file_map, + &rule_map, + &directory_entries, + &absent_target_map, + &result_map, + &repo_config, + Storage::Instance().TargetCache()); AnalysedTargetPtr result; bool error{false}; @@ -556,7 +568,7 @@ TEST_CASE("generator functions in string arguments") { } } -TEST_CASE("built-in rules") { +TEST_CASE_METHOD(HermeticLocalTestFixture, "built-in rules", "[target_map]") { auto repo_config = SetupConfig(); auto directory_entries = BuildMaps::Base::CreateDirectoryEntriesMap(&repo_config); @@ -574,13 +586,15 @@ TEST_CASE("built-in rules") { BuildMaps::Target::ResultTargetMap result_map{0}; auto absent_target_map = BuildMaps::Target::CreateAbsentTargetMap(&result_map, &repo_config, 0); - auto target_map = BuildMaps::Target::CreateTargetMap(&source, - &targets_file_map, - &rule_map, - &directory_entries, - &absent_target_map, - &result_map, - &repo_config); + auto target_map = + BuildMaps::Target::CreateTargetMap(&source, + &targets_file_map, + &rule_map, + &directory_entries, + &absent_target_map, + &result_map, + &repo_config, + Storage::Instance().TargetCache()); AnalysedTargetPtr result; bool error{false}; std::string error_msg; @@ -746,7 +760,7 @@ TEST_CASE("built-in rules") { } } -TEST_CASE("target reference") { +TEST_CASE_METHOD(HermeticLocalTestFixture, "target reference", "[target_map]") { auto repo_config = SetupConfig(); auto directory_entries = BuildMaps::Base::CreateDirectoryEntriesMap(&repo_config); @@ -764,13 +778,15 @@ TEST_CASE("target reference") { BuildMaps::Target::ResultTargetMap result_map{0}; auto absent_target_map = BuildMaps::Target::CreateAbsentTargetMap(&result_map, &repo_config, 0); - auto target_map = BuildMaps::Target::CreateTargetMap(&source, - &targets_file_map, - &rule_map, - &directory_entries, - &absent_target_map, - &result_map, - &repo_config); + auto target_map = + BuildMaps::Target::CreateTargetMap(&source, + &targets_file_map, + &rule_map, + &directory_entries, + &absent_target_map, + &result_map, + &repo_config, + Storage::Instance().TargetCache()); AnalysedTargetPtr result; bool error{false}; @@ -869,7 +885,7 @@ TEST_CASE("target reference") { } } -TEST_CASE("trees") { +TEST_CASE_METHOD(HermeticLocalTestFixture, "trees", "[target_map]") { auto repo_config = SetupConfig(); auto directory_entries = BuildMaps::Base::CreateDirectoryEntriesMap(&repo_config); @@ -887,13 +903,15 @@ TEST_CASE("trees") { BuildMaps::Target::ResultTargetMap result_map{0}; auto absent_target_map = BuildMaps::Target::CreateAbsentTargetMap(&result_map, &repo_config, 0); - auto target_map = BuildMaps::Target::CreateTargetMap(&source, - &targets_file_map, - &rule_map, - &directory_entries, - &absent_target_map, - &result_map, - &repo_config); + auto target_map = + BuildMaps::Target::CreateTargetMap(&source, + &targets_file_map, + &rule_map, + &directory_entries, + &absent_target_map, + &result_map, + &repo_config, + Storage::Instance().TargetCache()); AnalysedTargetPtr result; bool error{false}; @@ -956,7 +974,9 @@ TEST_CASE("trees") { } } -TEST_CASE("RESULT error reporting") { +TEST_CASE_METHOD(HermeticLocalTestFixture, + "RESULT error reporting", + "[target_map]") { auto repo_config = SetupConfig(); auto directory_entries = BuildMaps::Base::CreateDirectoryEntriesMap(&repo_config); @@ -974,13 +994,15 @@ TEST_CASE("RESULT error reporting") { BuildMaps::Target::ResultTargetMap result_map{0}; auto absent_target_map = BuildMaps::Target::CreateAbsentTargetMap(&result_map, &repo_config, 0); - auto target_map = BuildMaps::Target::CreateTargetMap(&source, - &targets_file_map, - &rule_map, - &directory_entries, - &absent_target_map, - &result_map, - &repo_config); + auto target_map = + BuildMaps::Target::CreateTargetMap(&source, + &targets_file_map, + &rule_map, + &directory_entries, + &absent_target_map, + &result_map, + &repo_config, + Storage::Instance().TargetCache()); AnalysedTargetPtr result; bool error{false}; @@ -1102,7 +1124,7 @@ TEST_CASE("RESULT error reporting") { } } -TEST_CASE("wrong arguments") { +TEST_CASE_METHOD(HermeticLocalTestFixture, "wrong arguments", "[target_map]") { auto repo_config = SetupConfig(); auto directory_entries = BuildMaps::Base::CreateDirectoryEntriesMap(&repo_config); @@ -1120,13 +1142,15 @@ TEST_CASE("wrong arguments") { BuildMaps::Target::ResultTargetMap result_map{0}; auto absent_target_map = BuildMaps::Target::CreateAbsentTargetMap(&result_map, &repo_config, 0); - auto target_map = BuildMaps::Target::CreateTargetMap(&source, - &targets_file_map, - &rule_map, - &directory_entries, - &absent_target_map, - &result_map, - &repo_config); + auto target_map = + BuildMaps::Target::CreateTargetMap(&source, + &targets_file_map, + &rule_map, + &directory_entries, + &absent_target_map, + &result_map, + &repo_config, + Storage::Instance().TargetCache()); AnalysedTargetPtr result; bool error{false}; |