示例#1
0
文件: select_suite.py 项目: OS-Q/Y511
def test_poll():
    poll = select.poll()
    queue = Queue()
    event = Event()
    can = Can(board.CAN_0)
    uart = Uart(1)

    # Register both event channels.
    poll.register(queue)
    poll.register(event)
    poll.register(can)
    poll.register(uart)

    # Timeout waiting for event.
    assert poll.poll(0.01) == []

    # Event write, poll and read.
    event.write(0x1)
    assert poll.poll() == [(event, select.POLLIN)]
    assert event.read(0x1) == 0x1

    # Queue write, poll and read.
    queue.write(b'foo')
    assert poll.poll() == [(queue, select.POLLIN)]
    assert queue.read(3) == b'foo'
示例#2
0
def test_bad_arguments():
    queue = Queue()

    with assert_raises(TypeError, "can't convert NoneType to int"):
        queue.read(None)

    with assert_raises(TypeError, "object with buffer protocol required"):
        queue.write(None)
示例#3
0
文件: main.py 项目: eerimoq/pumbaa
def test_bad_arguments():
    queue = Queue()

    with assert_raises(TypeError, "can't convert NoneType to int"):
        queue.read(None)

    with assert_raises(TypeError, "object with buffer protocol required"):
        queue.write(None)
示例#4
0
文件: main.py 项目: eerimoq/pumbaa
def test_poll():
    poll = select.poll()
    queue = Queue()
    event = Event()

    # Register both event channels.
    poll.register(queue)
    poll.register(event)

    # Timeout waiting for event.
    assert poll.poll(0.01) == []

    # Event write, poll and read.
    event.write(0x1)
    assert poll.poll() == [(event, select.POLLIN)]
    assert event.read(0x1) == 0x1

    # Queue write, poll and read.
    queue.write(b"foo")
    assert poll.poll() == [(queue, select.POLLIN)]
    assert queue.read(3) == b"foo"
示例#5
0
def test_read_write():
    queue = Queue()

    queue.write(b'foo')
    assert queue.size() == 3
    assert queue.read(3) == b'foo'
示例#6
0
文件: main.py 项目: eerimoq/pumbaa
BUTTON_PIN = board.PIN_GPIO0
UDP_ADDRESS = '192.168.1.103'
UDP_PORT = 30303

button = Event()
exti = Exti(BUTTON_PIN, Exti.FALLING, button, 0x1)

queue = Queue()

udp = socket.socket(type=socket.SOCK_DGRAM)
udp.bind((UDP_ADDRESS, UDP_PORT))

poll = select.poll()
poll.register(button)
poll.register(queue)
poll.register(udp)

queue.write('foo')

while True:
    [(channel, eventmask)] = poll.poll()

    if channel is button:
        button.read(0x1)
        print("button")
    elif channel is queue:
        print("queue:", queue.read(3))
    elif channel is udp:
        print("udp:", udp.recv(1024))
示例#7
0
文件: main.py 项目: ssahgal/pumbaa
BUTTON_PIN = board.PIN_GPIO0
UDP_ADDRESS = '192.168.1.103'
UDP_PORT = 30303

button = Event()
exti = Exti(BUTTON_PIN, Exti.FALLING, button, 0x1)

queue = Queue()

udp = socket.socket(type=socket.SOCK_DGRAM)
udp.bind((UDP_ADDRESS, UDP_PORT))

poll = select.poll()
poll.register(button)
poll.register(queue)
poll.register(udp)

queue.write('foo')

while True:
    [(channel, eventmask)] = poll.poll()

    if channel is button:
        button.read(0x1)
        print("button")
    elif channel is queue:
        print("queue:", queue.read(3))
    elif channel is udp:
        print("udp:", udp.recv(1024))
示例#8
0
文件: main.py 项目: eerimoq/pumbaa
def test_read_write():
    queue = Queue()

    queue.write(b'foo')
    assert queue.size() == 3
    assert queue.read(3) == b'foo'