13#include <catch_amalgamated.hpp>
15#include "../src/DeviceSpecHelpers.h"
16#include "../src/GraphvizHelpers.h"
17#include "../src/WorkflowHelpers.h"
21#include "../src/SimpleResourceManager.h"
22#include "../src/ComputingResourceHelpers.h"
32 {.name =
"input-proxy", .outputs = {
OutputSpec{
"QEMC",
"CELL", 1},
OutputSpec{
"CTF",
"DONE", 0}}},
33 {.name =
"EMC-Cell-proxy", .inputs =
Inputs{
InputSpec{
"a",
"QEMC",
"CELL", 1, Lifetime::Sporadic}}},
34 {.name =
"calib-output-proxy-barrel-tf", .inputs = {
InputSpec{
"a",
"CTF",
"DONE", 0}}}};
44 REQUIRE(channelPolicies.empty() ==
false);
45 REQUIRE(completionPolicies.empty() ==
false);
46 std::vector<DeviceSpec> devices;
49 REQUIRE(resources.size() == 1);
50 REQUIRE(resources[0].startPort == 22000);
53 REQUIRE(offers.size() == 1);
54 REQUIRE(offers[0].startPort == 22000);
55 REQUIRE(offers[0].rangeSize == 5000);
std::unique_ptr< ConfigContext > makeEmptyConfigContext()
std::vector< ComputingOffer > getAvailableOffers() override
Get the available resources for a device to run on.
Defining PrimaryVertex explicitly as messageable.
TEST_CASE("test_prepareArguments")
std::vector< DataProcessorSpec > WorkflowSpec
std::vector< InputSpec > Inputs
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 auto buildEdges(WorkflowSpec &physicalWorkflow) -> std::vector< std::pair< int, int > >
WorkflowSpec defineDataProcessingWithSporadic()