コード例 #1
0
ファイル: test_run.py プロジェクト: wgwjifeng/bap-ida-python
def test_event_handlers(bapida):
    from bap.utils.run import BapIda
    backend, frontend = bapida
    bap = BapIda()
    bap.events = []

    def occured(bap, event):
        bap.events.append(event)

    events = ('instance_created', 'instance_updated', 'instance_finished')
    for event in events:
        BapIda.observers[event].append(partial(occured, event=event))

    backend.on_call.append(lambda bap, args: 'sleep 1')
    bap.on_finish(lambda bap: occured(bap, 'success'))

    bap.run()
    frontend.run()

    for msg in frontend.log:
        print(msg)

    for event in events:
        assert event in bap.events

    assert 'success' in bap.events
コード例 #2
0
def test_event_handlers(bapida):
    from bap.utils.run import BapIda
    backend, frontend = bapida
    bap = BapIda()
    bap.events = []

    def occured(bap, event):
        bap.events.append(event)

    events = ('instance_created', 'instance_updated', 'instance_finished')
    for event in events:
        BapIda.observers[event].append(partial(occured, event=event))

    backend.on_call.append(lambda bap, args: 'sleep 1')
    bap.on_finish(lambda bap: occured(bap, 'success'))

    bap.run()
    frontend.run()

    for msg in frontend.log:
        print(msg)

    for event in events:
        assert event in bap.events

    assert 'success' in bap.events
コード例 #3
0
ファイル: test_run.py プロジェクト: wgwjifeng/bap-ida-python
def test_failure(bapida):
    from bap.utils.run import BapIda
    backend, frontend = bapida
    bap = BapIda()
    bap.events = []

    backend.on_call.append(lambda bap, args: 1)
    bap.on_finish(lambda bap: bap.events.append('success'))

    bap.run()
    frontend.run()

    for msg in frontend.log:
        print(msg)

    assert 'success' not in bap.events
    assert len(BapIda.instances) == 0
コード例 #4
0
def test_failure(bapida):
    from bap.utils.run import BapIda
    backend, frontend = bapida
    bap = BapIda()
    bap.events = []

    backend.on_call.append(lambda bap, args: 1)
    bap.on_finish(lambda bap: bap.events.append('success'))

    bap.run()
    frontend.run()

    for msg in frontend.log:
        print(msg)

    assert 'success' not in bap.events
    assert len(BapIda.instances) == 0
コード例 #5
0
ファイル: test_run.py プロジェクト: wgwjifeng/bap-ida-python
def test_cancel(bapida):
    from bap.utils.run import BapIda
    backend, frontend = bapida
    bap = BapIda()
    bap.events = []

    backend.on_call.append(lambda bap, args: 'sleep 100')
    frontend.register_timer(600, lambda: bap.cancel())

    bap.on_finish(lambda bap: bap.events.append('success'))
    bap.on_cancel(lambda bap: bap.events.append('canceled'))

    bap.run()
    frontend.run()

    assert 'success' not in bap.events
    assert 'canceled' in bap.events
    assert len(BapIda.instances) == 0
コード例 #6
0
def test_cancel(bapida):
    from bap.utils.run import BapIda
    backend, frontend = bapida
    bap = BapIda()
    bap.events = []

    backend.on_call.append(lambda bap, args: 'sleep 100')
    frontend.register_timer(600, lambda: bap.cancel())

    bap.on_finish(lambda bap: bap.events.append('success'))
    bap.on_cancel(lambda bap: bap.events.append('canceled'))

    bap.run()
    frontend.run()

    assert 'success' not in bap.events
    assert 'canceled' in bap.events
    assert len(BapIda.instances) == 0