summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorPaul Cristian Sarbu <paul.cristian.sarbu@huawei.com>2024-07-29 14:55:31 +0200
committerPaul Cristian Sarbu <paul.cristian.sarbu@huawei.com>2024-07-30 12:10:06 +0200
commit196554bd9064ed6773740ee0760bb051b89ea857 (patch)
tree44689c8d897aea8bb301aa93cb94529197abd7e3 /test
parent470d8b518fec24aa4f7af50b249acb47c595f780 (diff)
downloadjustbuild-196554bd9064ed6773740ee0760bb051b89ea857.tar.gz
Pass ExecutionContext to GraphTraverser and Executor/Rebuilder
Also update the classes documentation accordingly.
Diffstat (limited to 'test')
-rw-r--r--test/buildtool/execution_engine/executor/TARGETS2
-rw-r--r--test/buildtool/execution_engine/executor/executor.test.cpp109
-rw-r--r--test/buildtool/execution_engine/executor/executor_api.test.hpp96
-rw-r--r--test/buildtool/graph_traverser/TARGETS1
-rw-r--r--test/buildtool/graph_traverser/graph_traverser.test.hpp199
5 files changed, 211 insertions, 196 deletions
diff --git a/test/buildtool/execution_engine/executor/TARGETS b/test/buildtool/execution_engine/executor/TARGETS
index ab257156..39a2c3de 100644
--- a/test/buildtool/execution_engine/executor/TARGETS
+++ b/test/buildtool/execution_engine/executor/TARGETS
@@ -10,6 +10,7 @@
, ["@", "src", "src/buildtool/execution_api/remote", "config"]
, ["@", "src", "src/buildtool/execution_api/remote", "context"]
, ["@", "src", "src/buildtool/execution_engine/dag", "dag"]
+ , ["@", "src", "src/buildtool/execution_engine/executor", "context"]
, ["@", "src", "src/buildtool/execution_engine/executor", "executor"]
, ["@", "src", "src/buildtool/file_system", "file_system_manager"]
, ["@", "src", "src/buildtool/progress_reporting", "progress"]
@@ -36,6 +37,7 @@
, ["@", "src", "src/buildtool/execution_api/remote", "config"]
, ["@", "src", "src/buildtool/execution_api/remote", "context"]
, ["@", "src", "src/buildtool/execution_engine/dag", "dag"]
+ , ["@", "src", "src/buildtool/execution_engine/executor", "context"]
, ["@", "src", "src/buildtool/execution_engine/executor", "executor"]
, ["@", "src", "src/buildtool/progress_reporting", "progress"]
, ["@", "src", "src/buildtool/crypto", "hash_function"]
diff --git a/test/buildtool/execution_engine/executor/executor.test.cpp b/test/buildtool/execution_engine/executor/executor.test.cpp
index 15752c94..961d5b0f 100644
--- a/test/buildtool/execution_engine/executor/executor.test.cpp
+++ b/test/buildtool/execution_engine/executor/executor.test.cpp
@@ -32,6 +32,7 @@
#include "src/buildtool/execution_api/common/execution_api.hpp"
#include "src/buildtool/execution_api/remote/config.hpp"
#include "src/buildtool/execution_api/remote/context.hpp"
+#include "src/buildtool/execution_engine/executor/context.hpp"
#include "src/buildtool/execution_engine/executor/executor.hpp"
#include "src/buildtool/file_system/file_system_manager.hpp"
#include "src/buildtool/progress_reporting/progress.hpp"
@@ -298,12 +299,12 @@ TEST_CASE("Executor: Process artifact", "[executor]") {
.retry_config = &retry_config,
.exec_config = &remote_config};
auto const apis = CreateTestApiBundle(hash_function, api);
- Executor runner{&repo_config,
- &apis,
- &remote_context,
- hash_function,
- &stats,
- &progress};
+ ExecutionContext const exec_context{.repo_config = &repo_config,
+ .apis = &apis,
+ .remote_context = &remote_context,
+ .statistics = &stats,
+ .progress = &progress};
+ Executor runner{&exec_context};
CHECK(runner.Process(g.ArtifactNodeWithId(local_cpp_id)));
CHECK(runner.Process(g.ArtifactNodeWithId(known_cpp_id)));
@@ -322,12 +323,12 @@ TEST_CASE("Executor: Process artifact", "[executor]") {
.retry_config = &retry_config,
.exec_config = &remote_config};
auto const apis = CreateTestApiBundle(hash_function, api);
- Executor runner{&repo_config,
- &apis,
- &remote_context,
- hash_function,
- &stats,
- &progress};
+ ExecutionContext const exec_context{.repo_config = &repo_config,
+ .apis = &apis,
+ .remote_context = &remote_context,
+ .statistics = &stats,
+ .progress = &progress};
+ Executor runner{&exec_context};
CHECK(not runner.Process(g.ArtifactNodeWithId(local_cpp_id)));
CHECK(runner.Process(g.ArtifactNodeWithId(known_cpp_id)));
@@ -346,12 +347,12 @@ TEST_CASE("Executor: Process artifact", "[executor]") {
.retry_config = &retry_config,
.exec_config = &remote_config};
auto const apis = CreateTestApiBundle(hash_function, api);
- Executor runner{&repo_config,
- &apis,
- &remote_context,
- hash_function,
- &stats,
- &progress};
+ ExecutionContext const exec_context{.repo_config = &repo_config,
+ .apis = &apis,
+ .remote_context = &remote_context,
+ .statistics = &stats,
+ .progress = &progress};
+ Executor runner{&exec_context};
CHECK(runner.Process(g.ArtifactNodeWithId(local_cpp_id)));
CHECK(not runner.Process(g.ArtifactNodeWithId(known_cpp_id)));
@@ -395,12 +396,12 @@ TEST_CASE("Executor: Process action", "[executor]") {
.retry_config = &retry_config,
.exec_config = &remote_config};
auto const apis = CreateTestApiBundle(hash_function, api);
- Executor runner{&repo_config,
- &apis,
- &remote_context,
- hash_function,
- &stats,
- &progress};
+ ExecutionContext const exec_context{.repo_config = &repo_config,
+ .apis = &apis,
+ .remote_context = &remote_context,
+ .statistics = &stats,
+ .progress = &progress};
+ Executor runner{&exec_context};
CHECK(runner.Process(g.ArtifactNodeWithId(local_cpp_id)));
CHECK(runner.Process(g.ArtifactNodeWithId(known_cpp_id)));
@@ -422,12 +423,12 @@ TEST_CASE("Executor: Process action", "[executor]") {
.retry_config = &retry_config,
.exec_config = &remote_config};
auto const apis = CreateTestApiBundle(hash_function, api);
- Executor runner{&repo_config,
- &apis,
- &remote_context,
- hash_function,
- &stats,
- &progress};
+ ExecutionContext const exec_context{.repo_config = &repo_config,
+ .apis = &apis,
+ .remote_context = &remote_context,
+ .statistics = &stats,
+ .progress = &progress};
+ Executor runner{&exec_context};
CHECK(runner.Process(g.ArtifactNodeWithId(local_cpp_id)));
CHECK(runner.Process(g.ArtifactNodeWithId(known_cpp_id)));
@@ -449,12 +450,12 @@ TEST_CASE("Executor: Process action", "[executor]") {
.retry_config = &retry_config,
.exec_config = &remote_config};
auto const apis = CreateTestApiBundle(hash_function, api);
- Executor runner{&repo_config,
- &apis,
- &remote_context,
- hash_function,
- &stats,
- &progress};
+ ExecutionContext const exec_context{.repo_config = &repo_config,
+ .apis = &apis,
+ .remote_context = &remote_context,
+ .statistics = &stats,
+ .progress = &progress};
+ Executor runner{&exec_context};
CHECK(runner.Process(g.ArtifactNodeWithId(local_cpp_id)));
CHECK(runner.Process(g.ArtifactNodeWithId(known_cpp_id)));
@@ -479,12 +480,12 @@ TEST_CASE("Executor: Process action", "[executor]") {
.retry_config = &retry_config,
.exec_config = &remote_config};
auto const apis = CreateTestApiBundle(hash_function, api);
- Executor runner{&repo_config,
- &apis,
- &remote_context,
- hash_function,
- &stats,
- &progress};
+ ExecutionContext const exec_context{.repo_config = &repo_config,
+ .apis = &apis,
+ .remote_context = &remote_context,
+ .statistics = &stats,
+ .progress = &progress};
+ Executor runner{&exec_context};
CHECK(runner.Process(g.ArtifactNodeWithId(local_cpp_id)));
CHECK(runner.Process(g.ArtifactNodeWithId(known_cpp_id)));
@@ -506,12 +507,12 @@ TEST_CASE("Executor: Process action", "[executor]") {
.retry_config = &retry_config,
.exec_config = &remote_config};
auto const apis = CreateTestApiBundle(hash_function, api);
- Executor runner{&repo_config,
- &apis,
- &remote_context,
- hash_function,
- &stats,
- &progress};
+ ExecutionContext const exec_context{.repo_config = &repo_config,
+ .apis = &apis,
+ .remote_context = &remote_context,
+ .statistics = &stats,
+ .progress = &progress};
+ Executor runner{&exec_context};
CHECK(runner.Process(g.ArtifactNodeWithId(local_cpp_id)));
CHECK(runner.Process(g.ArtifactNodeWithId(known_cpp_id)));
@@ -536,12 +537,12 @@ TEST_CASE("Executor: Process action", "[executor]") {
.retry_config = &retry_config,
.exec_config = &remote_config};
auto const apis = CreateTestApiBundle(hash_function, api);
- Executor runner{&repo_config,
- &apis,
- &remote_context,
- hash_function,
- &stats,
- &progress};
+ ExecutionContext const exec_context{.repo_config = &repo_config,
+ .apis = &apis,
+ .remote_context = &remote_context,
+ .statistics = &stats,
+ .progress = &progress};
+ Executor runner{&exec_context};
CHECK(runner.Process(g.ArtifactNodeWithId(local_cpp_id)));
CHECK(runner.Process(g.ArtifactNodeWithId(known_cpp_id)));
diff --git a/test/buildtool/execution_engine/executor/executor_api.test.hpp b/test/buildtool/execution_engine/executor/executor_api.test.hpp
index bef97e85..896279ef 100644
--- a/test/buildtool/execution_engine/executor/executor_api.test.hpp
+++ b/test/buildtool/execution_engine/executor/executor_api.test.hpp
@@ -35,6 +35,7 @@
#include "src/buildtool/execution_api/remote/config.hpp"
#include "src/buildtool/execution_api/remote/context.hpp"
#include "src/buildtool/execution_engine/dag/dag.hpp"
+#include "src/buildtool/execution_engine/executor/context.hpp"
#include "src/buildtool/execution_engine/executor/executor.hpp"
#include "src/buildtool/file_system/file_system_manager.hpp"
#include "src/buildtool/progress_reporting/progress.hpp"
@@ -149,8 +150,13 @@ static inline void RunHelloWorldCompilation(
auto api = factory();
auto const apis = CreateTestApiBundle(hash_function, api);
- Executor runner{
- repo_config, &apis, &remote_context, hash_function, stats, progress};
+
+ ExecutionContext const exec_context{.repo_config = repo_config,
+ .apis = &apis,
+ .remote_context = &remote_context,
+ .statistics = stats,
+ .progress = progress};
+ Executor runner{&exec_context};
// upload local artifacts
auto const* main_cpp_node = g.ArtifactNodeWithId(main_cpp_id);
@@ -279,8 +285,13 @@ static inline void RunGreeterCompilation(
auto api = factory();
auto const apis = CreateTestApiBundle(hash_function, api);
- Executor runner{
- repo_config, &apis, &remote_context, hash_function, stats, progress};
+
+ ExecutionContext const exec_context{.repo_config = repo_config,
+ .apis = &apis,
+ .remote_context = &remote_context,
+ .statistics = stats,
+ .progress = progress};
+ Executor runner{&exec_context};
// upload local artifacts
for (auto const& id : {greet_hpp_id, greet_cpp_id, main_cpp_id}) {
@@ -449,8 +460,14 @@ static inline void TestUploadAndDownloadTrees(
.exec_config = &*remote_config};
auto const apis = CreateTestApiBundle(hash_function, api);
- Executor runner{
- repo_config, &apis, &remote_context, hash_function, stats, progress};
+
+ ExecutionContext const exec_context{.repo_config = repo_config,
+ .apis = &apis,
+ .remote_context = &remote_context,
+ .statistics = stats,
+ .progress = progress};
+ Executor runner{&exec_context};
+
REQUIRE(runner.Process(g.ArtifactNodeWithId(foo_id)));
REQUIRE(runner.Process(g.ArtifactNodeWithId(bar_id)));
@@ -620,12 +637,13 @@ static inline void TestRetrieveOutputDirectories(
// run action
auto api = factory();
auto const apis = CreateTestApiBundle(hash_function, api);
- Executor runner{repo_config,
- &apis,
- &remote_context,
- hash_function,
- stats,
- progress};
+
+ ExecutionContext const exec_context{.repo_config = repo_config,
+ .apis = &apis,
+ .remote_context = &remote_context,
+ .statistics = stats,
+ .progress = progress};
+ Executor runner{&exec_context};
REQUIRE(runner.Process(action));
// read output
@@ -673,12 +691,13 @@ static inline void TestRetrieveOutputDirectories(
// run action
auto api = factory();
auto const apis = CreateTestApiBundle(hash_function, api);
- Executor runner{repo_config,
- &apis,
- &remote_context,
- hash_function,
- stats,
- progress};
+
+ ExecutionContext const exec_context{.repo_config = repo_config,
+ .apis = &apis,
+ .remote_context = &remote_context,
+ .statistics = stats,
+ .progress = progress};
+ Executor runner{&exec_context};
REQUIRE(runner.Process(action));
// read output
@@ -743,12 +762,13 @@ static inline void TestRetrieveOutputDirectories(
// run action
auto api = factory();
auto const apis = CreateTestApiBundle(hash_function, api);
- Executor runner{repo_config,
- &apis,
- &remote_context,
- hash_function,
- stats,
- progress};
+
+ ExecutionContext const exec_context{.repo_config = repo_config,
+ .apis = &apis,
+ .remote_context = &remote_context,
+ .statistics = stats,
+ .progress = progress};
+ Executor runner{&exec_context};
REQUIRE(runner.Process(action));
// read output
@@ -815,12 +835,14 @@ static inline void TestRetrieveOutputDirectories(
// run action
auto api = factory();
auto const apis = CreateTestApiBundle(hash_function, api);
- Executor runner{repo_config,
- &apis,
- &remote_context,
- hash_function,
- stats,
- progress};
+
+ ExecutionContext const exec_context{
+ .repo_config = repo_config,
+ .apis = &apis,
+ .remote_context = &remote_context,
+ .statistics = stats,
+ .progress = progress};
+ Executor runner{&exec_context};
CHECK_FALSE(runner.Process(action));
}
@@ -840,12 +862,14 @@ static inline void TestRetrieveOutputDirectories(
// run action
auto api = factory();
auto const apis = CreateTestApiBundle(hash_function, api);
- Executor runner{repo_config,
- &apis,
- &remote_context,
- hash_function,
- stats,
- progress};
+
+ ExecutionContext const exec_context{
+ .repo_config = repo_config,
+ .apis = &apis,
+ .remote_context = &remote_context,
+ .statistics = stats,
+ .progress = progress};
+ Executor runner{&exec_context};
CHECK_FALSE(runner.Process(action));
}
}
diff --git a/test/buildtool/graph_traverser/TARGETS b/test/buildtool/graph_traverser/TARGETS
index 1035fbcd..4079857c 100644
--- a/test/buildtool/graph_traverser/TARGETS
+++ b/test/buildtool/graph_traverser/TARGETS
@@ -12,6 +12,7 @@
, ["@", "src", "src/buildtool/execution_api/local", "context"]
, ["@", "src", "src/buildtool/execution_api/remote", "config"]
, ["@", "src", "src/buildtool/execution_api/remote", "context"]
+ , ["@", "src", "src/buildtool/execution_engine/executor", "context"]
, ["@", "src", "src/buildtool/file_system", "file_system_manager"]
, ["@", "src", "src/buildtool/file_system", "jsonfs"]
, ["@", "src", "src/buildtool/graph_traverser", "graph_traverser"]
diff --git a/test/buildtool/graph_traverser/graph_traverser.test.hpp b/test/buildtool/graph_traverser/graph_traverser.test.hpp
index 6618e5bf..28ec44e0 100644
--- a/test/buildtool/graph_traverser/graph_traverser.test.hpp
+++ b/test/buildtool/graph_traverser/graph_traverser.test.hpp
@@ -36,6 +36,7 @@
#include "src/buildtool/execution_api/local/context.hpp"
#include "src/buildtool/execution_api/remote/config.hpp"
#include "src/buildtool/execution_api/remote/context.hpp"
+#include "src/buildtool/execution_engine/executor/context.hpp"
#include "src/buildtool/file_system/file_system_manager.hpp"
#include "src/buildtool/file_system/jsonfs.hpp"
#include "src/buildtool/graph_traverser/graph_traverser.hpp"
@@ -189,13 +190,14 @@ class TestProject {
auto const apis =
ApiBundle::Create(&local_context, &remote_context, p.GetRepoConfig());
- GraphTraverser const gt{clargs.gtargs,
- p.GetRepoConfig(),
- &remote_context,
- &stats,
- &progress,
- &apis,
- [](auto done, auto cv) {}};
+ ExecutionContext const exec_context{.repo_config = p.GetRepoConfig(),
+ .apis = &apis,
+ .remote_context = &remote_context,
+ .statistics = &stats,
+ .progress = &progress};
+
+ GraphTraverser const gt{
+ clargs.gtargs, &exec_context, [](auto done, auto cv) {}};
auto const result =
gt.BuildAndStage(clargs.graph_description, clargs.artifacts);
@@ -214,13 +216,8 @@ class TestProject {
SECTION("Executable is retrieved as executable") {
auto const clargs_exec = p.CmdLineArgs("_entry_points_get_executable");
- GraphTraverser const gt_get_exec{clargs_exec.gtargs,
- p.GetRepoConfig(),
- &remote_context,
- &stats,
- &progress,
- &apis,
- [](auto done, auto cv) {}};
+ GraphTraverser const gt_get_exec{
+ clargs_exec.gtargs, &exec_context, [](auto done, auto cv) {}};
auto const exec_result = gt_get_exec.BuildAndStage(
clargs_exec.graph_description, clargs_exec.artifacts);
@@ -268,13 +265,14 @@ class TestProject {
auto const apis =
ApiBundle::Create(&local_context, &remote_context, p.GetRepoConfig());
- GraphTraverser const gt{clargs.gtargs,
- p.GetRepoConfig(),
- &remote_context,
- &stats,
- &progress,
- &apis,
- [](auto done, auto cv) {}};
+ ExecutionContext const exec_context{.repo_config = p.GetRepoConfig(),
+ .apis = &apis,
+ .remote_context = &remote_context,
+ .statistics = &stats,
+ .progress = &progress};
+
+ GraphTraverser const gt{
+ clargs.gtargs, &exec_context, [](auto done, auto cv) {}};
auto const result =
gt.BuildAndStage(clargs.graph_description, clargs.artifacts);
@@ -317,13 +315,14 @@ class TestProject {
auto const apis =
ApiBundle::Create(&local_context, &remote_context, p.GetRepoConfig());
- GraphTraverser const gt{clargs.gtargs,
- p.GetRepoConfig(),
- &remote_context,
- &stats,
- &progress,
- &apis,
- [](auto done, auto cv) {}};
+ ExecutionContext const exec_context{.repo_config = p.GetRepoConfig(),
+ .apis = &apis,
+ .remote_context = &remote_context,
+ .statistics = &stats,
+ .progress = &progress};
+
+ GraphTraverser const gt{
+ clargs.gtargs, &exec_context, [](auto done, auto cv) {}};
auto const result =
gt.BuildAndStage(clargs.graph_description, clargs.artifacts);
@@ -332,13 +331,8 @@ class TestProject {
CHECK(FileSystemManager::IsFile(result->output_paths.at(0)));
auto const clargs_full_build = p.CmdLineArgs("_entry_points_full_build");
- GraphTraverser const gt_full_build{clargs_full_build.gtargs,
- p.GetRepoConfig(),
- &remote_context,
- &stats,
- &progress,
- &apis,
- [](auto done, auto cv) {}};
+ GraphTraverser const gt_full_build{
+ clargs_full_build.gtargs, &exec_context, [](auto done, auto cv) {}};
auto const full_build_result = gt_full_build.BuildAndStage(
clargs_full_build.graph_description, clargs_full_build.artifacts);
@@ -382,16 +376,18 @@ class TestProject {
.retry_config = &retry_config,
.exec_config = remote_config};
- auto const apis = ApiBundle::Create(
+ auto const full_apis = ApiBundle::Create(
&local_context, &remote_context, full_hello_world.GetRepoConfig());
- GraphTraverser const gt_upload{clargs_update_cpp.gtargs,
- full_hello_world.GetRepoConfig(),
- &remote_context,
- &stats,
- &progress,
- &apis,
- [](auto done, auto cv) {}};
+ ExecutionContext const full_context{
+ .repo_config = full_hello_world.GetRepoConfig(),
+ .apis = &full_apis,
+ .remote_context = &remote_context,
+ .statistics = &stats,
+ .progress = &progress};
+
+ GraphTraverser const gt_upload{
+ clargs_update_cpp.gtargs, &full_context, [](auto done, auto cv) {}};
auto const cpp_result = gt_upload.BuildAndStage(
clargs_update_cpp.graph_description, clargs_update_cpp.artifacts);
@@ -407,13 +403,18 @@ class TestProject {
TestProject hello_world_known_cpp("hello_world_known_source");
auto const clargs = hello_world_known_cpp.CmdLineArgs();
- GraphTraverser const gt{clargs.gtargs,
- full_hello_world.GetRepoConfig(),
- &remote_context,
- &stats,
- &progress,
- &apis,
- [](auto done, auto cv) {}};
+
+ auto const apis_known = ApiBundle::Create(
+ &local_context, &remote_context, hello_world_known_cpp.GetRepoConfig());
+
+ ExecutionContext const context_known{
+ .repo_config = hello_world_known_cpp.GetRepoConfig(),
+ .apis = &apis_known,
+ .remote_context = &remote_context,
+ .statistics = &stats,
+ .progress = &progress};
+ GraphTraverser const gt{
+ clargs.gtargs, &context_known, [](auto done, auto cv) {}};
auto const result =
gt.BuildAndStage(clargs.graph_description, clargs.artifacts);
@@ -459,13 +460,13 @@ static void TestBlobsUploadedAndUsed(
auto const apis =
ApiBundle::Create(&local_context, &remote_context, p.GetRepoConfig());
- GraphTraverser gt{clargs.gtargs,
- p.GetRepoConfig(),
- &remote_context,
- &stats,
- &progress,
- &apis,
- [](auto done, auto cv) {}};
+ ExecutionContext const exec_context{.repo_config = p.GetRepoConfig(),
+ .apis = &apis,
+ .remote_context = &remote_context,
+ .statistics = &stats,
+ .progress = &progress};
+
+ GraphTraverser gt{clargs.gtargs, &exec_context, [](auto done, auto cv) {}};
auto const result =
gt.BuildAndStage(clargs.graph_description, clargs.artifacts);
@@ -516,13 +517,13 @@ static void TestEnvironmentVariablesSetAndUsed(
auto const apis =
ApiBundle::Create(&local_context, &remote_context, p.GetRepoConfig());
- GraphTraverser gt{clargs.gtargs,
- p.GetRepoConfig(),
- &remote_context,
- &stats,
- &progress,
- &apis,
- [](auto done, auto cv) {}};
+ ExecutionContext const exec_context{.repo_config = p.GetRepoConfig(),
+ .apis = &apis,
+ .remote_context = &remote_context,
+ .statistics = &stats,
+ .progress = &progress};
+
+ GraphTraverser gt{clargs.gtargs, &exec_context, [](auto done, auto cv) {}};
auto const result =
gt.BuildAndStage(clargs.graph_description, clargs.artifacts);
@@ -573,13 +574,13 @@ static void TestTreesUsed(
auto const apis =
ApiBundle::Create(&local_context, &remote_context, p.GetRepoConfig());
- GraphTraverser gt{clargs.gtargs,
- p.GetRepoConfig(),
- &remote_context,
- &stats,
- &progress,
- &apis,
- [](auto done, auto cv) {}};
+ ExecutionContext const exec_context{.repo_config = p.GetRepoConfig(),
+ .apis = &apis,
+ .remote_context = &remote_context,
+ .statistics = &stats,
+ .progress = &progress};
+
+ GraphTraverser gt{clargs.gtargs, &exec_context, [](auto done, auto cv) {}};
auto const result =
gt.BuildAndStage(clargs.graph_description, clargs.artifacts);
@@ -630,13 +631,13 @@ static void TestNestedTreesUsed(
auto const apis =
ApiBundle::Create(&local_context, &remote_context, p.GetRepoConfig());
- GraphTraverser gt{clargs.gtargs,
- p.GetRepoConfig(),
- &remote_context,
- &stats,
- &progress,
- &apis,
- [](auto done, auto cv) {}};
+ ExecutionContext const exec_context{.repo_config = p.GetRepoConfig(),
+ .apis = &apis,
+ .remote_context = &remote_context,
+ .statistics = &stats,
+ .progress = &progress};
+
+ GraphTraverser gt{clargs.gtargs, &exec_context, [](auto done, auto cv) {}};
auto const result =
gt.BuildAndStage(clargs.graph_description, clargs.artifacts);
@@ -686,15 +687,16 @@ static void TestFlakyHelloWorldDetected(
auto const apis =
ApiBundle::Create(&local_context, &remote_context, p.GetRepoConfig());
+ ExecutionContext const exec_context{.repo_config = p.GetRepoConfig(),
+ .apis = &apis,
+ .remote_context = &remote_context,
+ .statistics = &stats,
+ .progress = &progress};
+
{
auto clargs = p.CmdLineArgs("_entry_points_ctimes");
- GraphTraverser const gt{clargs.gtargs,
- p.GetRepoConfig(),
- &remote_context,
- &stats,
- &progress,
- &apis,
- [](auto done, auto cv) {}};
+ GraphTraverser const gt{
+ clargs.gtargs, &exec_context, [](auto done, auto cv) {}};
auto const result =
gt.BuildAndStage(clargs.graph_description, clargs.artifacts);
@@ -708,13 +710,8 @@ static void TestFlakyHelloWorldDetected(
// make_exe[flaky]->make_output[miss]
auto clargs_output = p.CmdLineArgs();
clargs_output.gtargs.rebuild = RebuildArguments{};
- GraphTraverser const gt_output{clargs_output.gtargs,
- p.GetRepoConfig(),
- &remote_context,
- &stats,
- &progress,
- &apis,
- [](auto done, auto cv) {}};
+ GraphTraverser const gt_output{
+ clargs_output.gtargs, &exec_context, [](auto done, auto cv) {}};
REQUIRE(gt_output.BuildAndStage(clargs_output.graph_description,
clargs_output.artifacts));
CHECK(stats.ActionsFlakyCounter() == 1);
@@ -725,13 +722,8 @@ static void TestFlakyHelloWorldDetected(
// make_exe[flaky]->make_output[miss]->strip_time [miss]
auto clargs_stripped = p.CmdLineArgs("_entry_points_stripped");
clargs_stripped.gtargs.rebuild = RebuildArguments{};
- GraphTraverser const gt_stripped{clargs_stripped.gtargs,
- p.GetRepoConfig(),
- &remote_context,
- &stats,
- &progress,
- &apis,
- [](auto done, auto cv) {}};
+ GraphTraverser const gt_stripped{
+ clargs_stripped.gtargs, &exec_context, [](auto done, auto cv) {}};
REQUIRE(gt_stripped.BuildAndStage(clargs_stripped.graph_description,
clargs_stripped.artifacts));
CHECK(stats.ActionsFlakyCounter() == 1);
@@ -742,13 +734,8 @@ static void TestFlakyHelloWorldDetected(
// make_exe[flaky]->make_output[miss]->strip_time[miss]->list_ctimes [flaky]
auto clargs_ctimes = p.CmdLineArgs("_entry_points_ctimes");
clargs_ctimes.gtargs.rebuild = RebuildArguments{};
- GraphTraverser const gt_ctimes{clargs_ctimes.gtargs,
- p.GetRepoConfig(),
- &remote_context,
- &stats,
- &progress,
- &apis,
- [](auto done, auto cv) {}};
+ GraphTraverser const gt_ctimes{
+ clargs_ctimes.gtargs, &exec_context, [](auto done, auto cv) {}};
REQUIRE(gt_ctimes.BuildAndStage(clargs_ctimes.graph_description,
clargs_ctimes.artifacts));
CHECK(stats.ActionsFlakyCounter() == 2);