diff options
author | Paul Cristian Sarbu <paul.cristian.sarbu@huawei.com> | 2023-11-24 11:31:42 +0100 |
---|---|---|
committer | Paul Cristian Sarbu <paul.cristian.sarbu@huawei.com> | 2023-11-27 15:03:20 +0100 |
commit | cf04253130030bc28866d10aa1f8fe1353643d42 (patch) | |
tree | ef7049624771866455105a8dab7b001840139701 /test/buildtool/build_engine/base_maps/source_map.test.cpp | |
parent | bc09302c2772c979c45ecc716c36e4a70bb484ac (diff) | |
download | justbuild-cf04253130030bc28866d10aa1f8fe1353643d42.tar.gz |
Refactoring RepositoryConfig
With the introduction of 'just serve', export targets can now be
built also independently from one another based on their
corresponding minimal repository configuration, as stored in the
target cache key.
In this context, this commit changes the RepositoryConfig usage
from one global (static) instance to pointers passed as necessary
throughout the code.
Diffstat (limited to 'test/buildtool/build_engine/base_maps/source_map.test.cpp')
-rw-r--r-- | test/buildtool/build_engine/base_maps/source_map.test.cpp | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/test/buildtool/build_engine/base_maps/source_map.test.cpp b/test/buildtool/build_engine/base_maps/source_map.test.cpp index 05157870..b61bcbd4 100644 --- a/test/buildtool/build_engine/base_maps/source_map.test.cpp +++ b/test/buildtool/build_engine/base_maps/source_map.test.cpp @@ -13,12 +13,14 @@ // limitations under the License. #include <filesystem> +#include <memory> #include <utility> #include "catch2/catch_test_macros.hpp" #include "src/buildtool/build_engine/base_maps/directory_map.hpp" #include "src/buildtool/build_engine/base_maps/entity_name.hpp" #include "src/buildtool/build_engine/base_maps/source_map.hpp" +#include "src/buildtool/common/repository_config.hpp" #include "src/buildtool/multithreading/async_map_consumer.hpp" #include "src/buildtool/multithreading/task_system.hpp" #include "test/buildtool/build_engine/base_maps/test_repo.hpp" @@ -27,7 +29,7 @@ namespace { using namespace BuildMaps::Base; // NOLINT -void SetupConfig(bool use_git) { +auto SetupConfig(bool use_git) -> RepositoryConfig { // manually create locally a test symlink in data_src; should match the // git test_repo structure if (not use_git) { @@ -44,9 +46,9 @@ void SetupConfig(bool use_git) { REQUIRE(git_root); root = std::move(*git_root); } - RepositoryConfig::Instance().Reset(); - RepositoryConfig::Instance().SetInfo( - "", RepositoryConfig::RepositoryInfo{root}); + RepositoryConfig repo_config{}; + repo_config.SetInfo("", RepositoryConfig::RepositoryInfo{root}); + return repo_config; } auto ReadSourceTarget( @@ -55,9 +57,10 @@ auto ReadSourceTarget( bool use_git = false, std::optional<SourceTargetMap::FailureFunction> fail_func = std::nullopt) -> bool { - SetupConfig(use_git); - auto directory_entries = CreateDirectoryEntriesMap(); - auto source_artifacts = CreateSourceTargetMap(&directory_entries); + auto repo_config = SetupConfig(use_git); + auto directory_entries = CreateDirectoryEntriesMap(&repo_config); + auto source_artifacts = + CreateSourceTargetMap(&directory_entries, &repo_config); std::string error_msg; bool success{true}; { |