def testOnetoAll(): graph = WorkflowGraph() prod = t.TestProducer() cons = t.TestOneInOneOut() cons.numprocesses = 2 cons.inputconnections['input']['grouping'] = 'all' graph.connect(prod, 'output', cons, 'input') return graph
def testPipeline(graph): ''' Adds a pipeline to the given graph. :rtype: the created graph ''' prod = t.TestProducer() prev = prod for i in range(5): cons = t.TestOneInOneOut() graph.connect(prev, 'output', cons, 'input') prev = cons return graph
def testTee(): ''' Creates a graph with two consumer nodes and a tee connection. :rtype: the created graph ''' graph = WorkflowGraph() prod = t.TestProducer() prev = prod cons1 = t.TestOneInOneOut() cons2 = t.TestOneInOneOut() graph.connect(prod, 'output', cons1, 'input') graph.connect(prod, 'output', cons2, 'input') return graph
def testPipeline(graph): ''' Creates a pipeline and adds it to the given graph. :rtype: the modified graph ''' prod = t.TestProducer() prev = prod part1 = [prod] part2 = [] for i in range(5): cons = t.TestOneInOneOut() part2.append(cons) graph.connect(prev, 'output', cons, 'input') prev = cons return graph
def testAlltoOne(): ''' Creates a graph with two consumer nodes and a global grouping. :rtype: the created graph ''' graph = WorkflowGraph() prod = t.TestProducer() cons1 = t.TestOneInOneOut() cons2 = t.TestOneInOneOut() cons1.numprocesses=5 cons2.numprocesses=5 graph.connect(prod, 'output', cons1, 'input') cons2.inputconnections['input']['grouping'] = 'global' graph.connect(cons1, 'output', cons2, 'input') return graph
def testSplitMerge(): ''' Creates the split/merge graph with 4 nodes. :rtype: the created graph ''' graph = WorkflowGraph() prod = t.TestProducer(2) cons1 = t.TestOneInOneOut() cons2 = t.TestOneInOneOutWriter() last = t.TestTwoInOneOut() graph.connect(prod, 'output0', cons1, 'input') graph.connect(prod, 'output1', cons2, 'input') graph.connect(cons1, 'output', last, 'input0') graph.connect(cons2, 'output', last, 'input1') return graph
def testParallelPipeline(): ''' Creates a graph with 4 nodes. :rtype: the created graph ''' graph = WorkflowGraph() prod = t.TestProducer() prev = prod cons1 = t.TestOneInOneOut() cons2 = t.TestOneInOneOut() cons3 = t.TestOneInOneOut() graph.connect(prod, 'output', cons1, 'input') graph.connect(cons1, 'output', cons2, 'input') graph.connect(cons1, 'output', cons3, 'input') return graph
def testParallelPipeline(): ''' Creates the parallel pipeline graph with partitioning information. :rtype: the created graph ''' graph = WorkflowGraph() prod = t.TestProducer() prev = prod cons1 = t.TestOneInOneOut() cons2 = t.TestOneInOneOut() cons3 = t.TestOneInOneOut() graph.connect(prod, 'output', cons1, 'input') graph.connect(cons1, 'output', cons2, 'input') graph.connect(cons1, 'output', cons3, 'input') graph.partitions = [ [prod, cons1, cons2], [cons3] ] return graph