1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
|
import tifffile
from gi.repository import GLib, Ufo
from nose.tools import raises
from common import tempdir, disable
@raises(GLib.GError)
def test_wrong_connection():
from ufo import Read, FlatFieldCorrect, Write
darks = Read()
flats = Read()
radios = Read()
write = Write()
ffc = FlatFieldCorrect()
g = Ufo.TaskGraph()
g.connect_nodes_full(radios.task, ffc.task, 0)
g.connect_nodes_full(darks.task, ffc.task, 1)
g.connect_nodes_full(flats.task, ffc.task, 0)
g.connect_nodes(ffc.task, write.task)
sched = Ufo.Scheduler()
sched.run(g)
def test_task_count():
from ufo import DummyData, Write, Average
with tempdir() as d:
generate = DummyData(number=5, width=512, height=512)
write = Write(filename=d.path('foo-%i.tif'))
average = Average()
write(average(generate())).run().join()
assert(generate.task.props.num_processed == 0)
assert(average.task.props.num_processed == 5)
assert(write.task.props.num_processed == 1)
@disable
def test_broadcast():
from ufo import Generate, Writer
import glob
with tempdir() as d:
generate = Generate(number=5, width=512, height=512)
write1 = Writer(filename=d.path('foo-%i.tif'))
write2 = Writer(filename=d.path('bar-%i.tif'))
g = Ufo.TaskGraph()
g.connect_nodes(generate.task, write1.task)
g.connect_nodes(generate.task, write2.task)
sched = Ufo.Scheduler()
sched.run(g)
foos = glob.glob(d.path('foo-*'))
bars = glob.glob(d.path('bar-*'))
assert(len(foos) == 5)
assert(len(bars) == 5)
def test_resource_info():
resources = Ufo.Resources()
nodes = resources.get_gpu_nodes()
assert(nodes)
node = nodes[0]
assert(node.get_info(Ufo.GpuNodeInfo.LOCAL_MEM_SIZE) > 0)
assert(node.get_info(Ufo.GpuNodeInfo.MAX_MEM_ALLOC_SIZE) > 0)
assert(node.get_info(Ufo.GpuNodeInfo.GLOBAL_MEM_SIZE) > node.get_info(Ufo.GpuNodeInfo.LOCAL_MEM_SIZE))
|