Example #1
0
def test_cpp_invalid(test_env):
    test_env.start(1, executor="cpptester")
    with test_env.client.new_session() as s:
        t1 = Task("cpptester/this_should_not_exist", outputs=0)
        s.submit()
        with pytest.raises(TaskException, match='this_should_not_exist'):
            t1.wait()
Example #2
0
def test_cpp_panic(test_env):
    test_env.start(1, executor="cpptester")
    with test_env.client.new_session() as s:
        t1 = Task("cpptester/panic", outputs=0)
        s.submit()
        with pytest.raises(TaskException, match='panicked on purpose'):
            t1.wait()
Example #3
0
def test_cpp_invalid_outputs(test_env):
    test_env.start(1, executor="cpptester")
    with test_env.client.new_session() as s:
        obj = blob("WORLD")
        t1 = Task("cpptester/hello", inputs=(obj, ), outputs=3)
        s.submit()
        with pytest.raises(TaskException, match='3'):
            t1.wait()
Example #4
0
def test_task_construction(fake_session):
    with fake_session as session:
        t1 = Task("dummy")
        t2 = Task("dummy")

        assert t1.session == session
        assert t2.session == session
        assert t1.id != t2.id
Example #5
0
def test_task_keep_outputs(fake_session):
    with fake_session:
        t = Task("dummy", outputs=[
            Output("a"), Output("b"), Output("c")])
        assert all(not t.is_kept() for t in t.outputs)
        t.keep_outputs()
        assert all(t.is_kept() for t in t.outputs)
        t.unkeep_outputs()
        assert all(not t.is_kept() for t in t.outputs)
Example #6
0
def test_task_outputs(fake_session):
    with fake_session:
        t1 = Task("dummy",
                  outputs=(Output("a", size_hint=1.0, content_type="text"),
                           Output("long_name"),
                           Output("space inside"),
                           Output("")))

        assert "a" in t1.outputs
        assert "space inside" in t1.outputs
        assert "XXX" not in t1.outputs

        assert isinstance(t1.outputs["a"], DataObject)
        assert isinstance(t1.outputs["space inside"], DataObject)
        assert isinstance(t1.outputs["long_name"], DataObject)
        assert t1.outputs['a'].content_type == "text"
        assert t1.outputs['long_name'].content_type is None

        with pytest.raises(KeyError):
            t1.outputs["XXX"]

        assert t1.outputs["a"] != t1.outputs[3]
        assert t1.outputs["a"] == t1.outputs[0]
        assert t1.outputs["a"] != t1.outputs["long_name"]
        assert t1.outputs[1] == t1.outputs["long_name"]
Example #7
0
def cpp_hello(obj):
    return Task("cpptester/hello", inputs=(obj, ), outputs=1)
Example #8
0
def cpp_fail(obj):
    return Task("cpptester/fail", inputs=(obj, ), outputs=0)
Example #9
0
def hello(obj):
    return Task("rusttester/hello", inputs=(obj,), outputs=1)