diff options
author | Paul Cristian Sarbu <paul.cristian.sarbu@huawei.com> | 2024-03-06 17:17:16 +0100 |
---|---|---|
committer | Paul Cristian Sarbu <paul.cristian.sarbu@huawei.com> | 2024-03-11 15:59:05 +0100 |
commit | b885deebf9fc02b9f1e849d91de93fadcfb71a73 (patch) | |
tree | a26b4f9ad05e479b51b97a1a4c489525243c241a | |
parent | 1bba42d5168a13dbebda8820fc5e28df1d401669 (diff) | |
download | justbuild-b885deebf9fc02b9f1e849d91de93fadcfb71a73.tar.gz |
just analyse: Use explicit target cache instance
The serve endpoint always has to access the correctly sharded
target cache, including during analysis. For this purpose, the
target cache instance interrogated during analysis has to be
explicitly provided.
-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}; |