13#include "../src/ComputingResourceHelpers.h"
14#include "../src/DeviceSpecHelpers.h"
15#include "../src/MermaidHelpers.h"
16#include "../src/SimpleResourceManager.h"
21#include <catch_amalgamated.hpp>
29void lineByLineComparison(
const std::string& as,
const std::string& bs)
31 std::istringstream
a(as);
32 std::istringstream
b(bs);
36 while (
a.good() &&
b.good()) {
37 a.getline(bufferA, 1024);
38 b.getline(bufferB, 1024);
39 REQUIRE(std::string(bufferA) == std::string(bufferB));
85 std::ostringstream
str;
86 std::vector<DeviceSpec> devices;
87 for (
auto& device : devices) {
88 REQUIRE(device.id !=
"");
99 lineByLineComparison(
str.str(), R
"EXPECTED(graph TD
104 A-- 22000:from_A_to_B -->B
105 A-- 22001:from_A_to_C -->C
106 B-- 22002:from_B_to_D -->D
107 C-- 22003:from_C_to_D -->D
114 std::ostringstream
str;
115 std::vector<DeviceSpec> devices;
116 for (
auto& device : devices) {
117 REQUIRE(device.id !=
"");
128 lineByLineComparison(
str.str(), R
"EXPECTED(graph TD
135 A-- 22000:from_A_to_B_t0 -->B_t0
136 A-- 22001:from_A_to_B_t1 -->B_t1
137 A-- 22002:from_A_to_B_t2 -->B_t2
138 B_t0-- 22003:from_B_t0_to_C_t0 -->C_t0
139 B_t1-- 22005:from_B_t1_to_C_t0 -->C_t0
140 B_t2-- 22007:from_B_t2_to_C_t0 -->C_t0
141 B_t0-- 22004:from_B_t0_to_C_t1 -->C_t1
142 B_t1-- 22006:from_B_t1_to_C_t1 -->C_t1
143 B_t2-- 22008:from_B_t2_to_C_t1 -->C_t1
WorkflowSpec defineDataProcessing(ConfigContext const &configcontext)
std::unique_ptr< ConfigContext > makeEmptyConfigContext()
GLboolean GLboolean GLboolean b
GLboolean GLboolean GLboolean GLboolean a
Defining PrimaryVertex explicitly as messageable.
TEST_CASE("test_prepareArguments")
std::vector< DataProcessorSpec > WorkflowSpec
DataProcessorSpec timePipeline(DataProcessorSpec original, size_t count)
std::vector< InputSpec > Inputs
std::vector< OutputSpec > Outputs
static std::vector< CallbacksPolicy > createDefaultPolicies()
static std::vector< ChannelConfigurationPolicy > createDefaultPolicies(ConfigContext const &configContext)
Default policies to use, based on the contents of the @configContex content.
static std::vector< CompletionPolicy > createDefaultPolicies()
Helper to create the default configuration.
static ComputingResource getLocalhostResource()
static void dataProcessorSpecs2DeviceSpecs(const WorkflowSpec &workflow, std::vector< ChannelConfigurationPolicy > const &channelPolicies, std::vector< CompletionPolicy > const &completionPolicies, std::vector< DispatchPolicy > const &dispatchPolicies, std::vector< ResourcePolicy > const &resourcePolicies, std::vector< CallbacksPolicy > const &callbacksPolicies, std::vector< SendingPolicy > const &sendingPolicy, std::vector< ForwardingPolicy > const &forwardingPolicies, std::vector< DeviceSpec > &devices, ResourceManager &resourceManager, std::string const &uniqueWorkflowId, ConfigContext const &configContext, bool optimizeTopology=false, unsigned short resourcesMonitoringInterval=0, std::string const &channelPrefix="", OverrideServiceSpecs const &overrideServices={})
static void dumpDeviceSpec2Mermaid(std::ostream &, const Devices &specs)
Helper to dump a set of devices as a mermaid file.
WorkflowSpec defineDataProcessing2()