13#include <catch_amalgamated.hpp>
14#include "../src/DeviceSpecHelpers.h"
15#include "../src/SimpleResourceManager.h"
16#include "../src/ComputingResourceHelpers.h"
53 std::vector<DeviceSpec> devices;
61 REQUIRE(devices.size() == 4);
62 auto& producer = devices[0];
63 auto& layer0Consumer0 = devices[1];
64 auto& layer0Consumer1 = devices[2];
65 auto& layer1Consumer0 = devices[3];
66 REQUIRE(producer.id ==
"A");
67 REQUIRE(layer0Consumer0.id ==
"B_t0");
68 REQUIRE(layer0Consumer1.id ==
"B_t1");
69 REQUIRE(layer1Consumer0.id ==
"C");
110 std::vector<DeviceSpec> devices;
118 REQUIRE(devices.size() == 7);
119 auto& producer = devices[0];
120 auto& layer0Consumer0 = devices[1];
121 auto& layer0Consumer1 = devices[2];
122 auto& layer1Consumer0 = devices[3];
123 auto& layer1Consumer1 = devices[4];
124 auto& layer1Consumer2 = devices[5];
125 auto& layer2Consumer0 = devices[6];
126 REQUIRE(producer.id ==
"A");
127 REQUIRE(layer0Consumer0.id ==
"B_t0");
128 REQUIRE(layer0Consumer1.id ==
"B_t1");
129 REQUIRE(layer1Consumer0.id ==
"C_t0");
130 REQUIRE(layer1Consumer1.id ==
"C_t1");
131 REQUIRE(layer1Consumer2.id ==
"C_t2");
132 REQUIRE(layer2Consumer0.id ==
"D");
WorkflowSpec defineDataProcessing(ConfigContext const &configcontext)
std::unique_ptr< ConfigContext > makeEmptyConfigContext()
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={})
WorkflowSpec defineSimplePipelining()