Esempio n. 1
0
def test_source_unannotated():
    children.reset()
    parents.reset()

    parent = m.Parent()
    assert parents.alive == 1

    assert children.created == 0
    assert children.destroyed == 0
    parent.source()
    assert children.created == 1
    assert children.destroyed == 1
    assert children.alive == 0

    del parent
    assert parents.alive == 0
Esempio n. 2
0
def test_ctor_keep_alive():
    children.reset()
    parents.reset()

    assert children.created == 0
    assert children.destroyed == 0
    assert children.alive == 0
    assert parents.alive == 0
    parent = m.Parent(m.Child())
    assert children.created == 1
    assert children.destroyed == 0
    assert children.alive == 1
    assert parents.alive == 1

    del parent
    assert parents.alive == 0
    assert children.created == 1
    assert children.destroyed == 1
    assert children.alive == 0
Esempio n. 3
0
def test_sink_keep_alive_plain():
    children.reset()
    parents.reset()

    parent = m.Parent()
    assert parents.alive == 1

    assert children.created == 0
    assert children.destroyed == 0
    assert children.alive == 0
    parent.sink_keep_alive_plain(m.Child())
    assert children.created == 1
    assert children.destroyed == 0
    assert children.alive == 1

    del parent
    assert parents.alive == 0
    assert children.created == 1
    assert children.destroyed == 1
    assert children.alive == 0
Esempio n. 4
0
def test_sink_unannotated():
    children.reset()
    parents.reset()

    parent = m.Parent()
    assert parents.alive == 1

    assert children.created == 0
    assert children.destroyed == 0
    m.Child()
    assert children.created == 1
    assert children.destroyed == 1
    assert children.alive == 0
    parent.sink(m.Child())
    assert children.created == 2
    assert children.destroyed == 2
    assert children.alive == 0

    del parent
    assert parents.alive == 0
Esempio n. 5
0
def test_source_keep_alive_parent():
    children.reset()
    parents.reset()

    parent = m.Parent()
    assert parents.alive == 1

    assert children.created == 0
    assert children.destroyed == 0
    child = parent.source_keep_alive_parent()
    assert children.created == 1
    assert children.destroyed == 0
    assert children.alive == 1

    del parent
    assert parents.alive == 1
    assert children.alive == 1

    del child
    assert parents.alive == 0
    assert children.alive == 0