Ejemplo n.º 1
0
def test_transfer(name,
                  data,
                  config,
                  io1str,
                  io2str,
                  timeout=1000,
                  extra_args=""):
    """Test a transfer between two gensio objects

    This function takes a name (for reporting), some data to transfer,
    a config file for ser2net, and transfers the data one direction,
    then the other, then both ways at the same time.
    """
    print("Transfer %s:\n  config=%s  io1=%s\n  io2=%s" %
          (name, config, io1str, io2str))

    ser2net, io1, io2 = utils.setup_2_ser2net(o,
                                              config,
                                              io1str,
                                              io2str,
                                              extra_args=extra_args)
    try:
        print("  io1 to io2")
        utils.test_dataxfer(io1, io2, data, timeout=timeout)
        print("  io2 to io1")
        utils.test_dataxfer(io2, io1, data, timeout=timeout)
        print("  bidirectional")
        utils.test_dataxfer_simul(io1, io2, data, timeout=timeout)
    finally:
        utils.finish_2_ser2net(ser2net, io1, io2)
    print("  Success!")
    return
Ejemplo n.º 2
0
def do_small_test(io1, io2):
    rb = gensio.get_random_bytes(512)
    print("  testing io1 to io2")
    utils.test_dataxfer(io1, io2, rb)
    print("  testing io2 to io1")
    utils.test_dataxfer(io2, io1, rb)
    print("  Success!")
Ejemplo n.º 3
0
def test_stdio_small():
    print("Test stdio small echo")
    rb = gensio.get_random_bytes(512)
    io = utils.alloc_io(o, "stdio,cat", chunksize=64)
    utils.test_dataxfer(io, io, rb)
    utils.io_close(io)
    print("  Success!")
Ejemplo n.º 4
0
def test_echo_device():
    print("Test echo device")
    io = utils.alloc_io(o, "serialdev,/dev/ttyEcho0,38400")
    check_raddr(io, "echo device", "/dev/ttyEcho0,38400N81 RTSHI DTRHI")
    utils.test_dataxfer(io, io, "This is a test string!")
    utils.io_close(io)
    print("  Success!")
Ejemplo n.º 5
0
def test_pty_basic():
    print("Test pty basic echo")
    io = utils.alloc_io(o, "pty,cat", chunksize=64)
    check_raddr(io, "pty basic", '"cat"')
    utils.test_dataxfer(io, io, "This is a test string!")
    utils.io_close(io)
    print("  Success!")
Ejemplo n.º 6
0
def test_echo_gensio():
    print("Test echo gensio")
    io = utils.alloc_io(o, "echo")
    check_raddr(io, "echo", "echo")
    utils.test_dataxfer(io, io, "This is a test string!")
    utils.io_close(io)
    print("  Success!")
Ejemplo n.º 7
0
def test_one_xfer(name,
                  data1,
                  data2,
                  config,
                  io1str,
                  io2str,
                  timeout=1000,
                  extra_args="",
                  compare1=None,
                  compare2=None):

    print("  " + name)
    ser2net, io1, io2 = utils.setup_2_ser2net(o,
                                              config,
                                              io1str,
                                              io2str,
                                              extra_args=extra_args)
    try:
        if data1:
            utils.test_dataxfer(io1,
                                io2,
                                data1,
                                timeout=timeout,
                                compare=compare1)
        if data2:
            utils.test_dataxfer(io2,
                                io1,
                                data2,
                                timeout=timeout,
                                compare=compare2)
    finally:
        utils.finish_2_ser2net(ser2net, io1, io2)
    return
Ejemplo n.º 8
0
def test_serial_pipe_device():
    print("Test serial pipe device")
    io1 = utils.alloc_io(o, "serialdev,/dev/ttyPipeA0,9600")
    io2 = utils.alloc_io(o, "serialdev,/dev/ttyPipeB0,9600")
    utils.test_dataxfer(io1, io2, "This is a test string!")
    utils.io_close(io1)
    utils.io_close(io2)
    print("  Success!")
Ejemplo n.º 9
0
def do_large_test(io1, io2):
    rb = os.urandom(1048570)
    print("  testing io1 to io2")
    utils.test_dataxfer(io1, io2, rb, timeout=30000)
    print("  testing io2 to io1")
    utils.test_dataxfer(io2, io1, rb, timeout=30000)
    print("  testing bidirection between io1 and io2")
    utils.test_dataxfer_simul(io1, io2, rb, timeout=30000)
    print("  Success!")
Ejemplo n.º 10
0
def do_medium_test(io1, io2):
    rb = os.urandom(131071)
    print("  testing io1 to io2")
    utils.test_dataxfer(io1, io2, rb, timeout=10000)
    print("  testing io2 to io1")
    utils.test_dataxfer(io2, io1, rb, timeout=10000)
    print("  testing bidirection between io1 and io2")
    utils.test_dataxfer_simul(io1, io2, rb, timeout=10000)
    print("  Success!")
Ejemplo n.º 11
0
def test_ipmisol_small():
    print("Test ipmisol small")
    isim = ipmisimdaemon.IPMISimDaemon(o)
    io1 = utils.alloc_io(o, "serialdev,/dev/ttyPipeA0,9600")
    io2 = utils.alloc_io(
        o, "ipmisol,lan -U ipmiusr -P test -p 9001 localhost,9600")
    utils.test_dataxfer(io1, io2, "This is a test string!")
    utils.io_close(io1)
    utils.io_close(io2)
    print("  Success!")
Ejemplo n.º 12
0
def test_ipmisol_large():
    print("Test ipmisol large")
    isim = ipmisimdaemon.IPMISimDaemon(o)
    io1 = utils.alloc_io(o, "serialdev,/dev/ttyPipeA0,115200")
    io2 = utils.alloc_io(
        o, "ipmisol,lan -U ipmiusr -P test -p 9001 localhost,115200")
    rb = gensio.get_random_bytes(104857)
    utils.test_dataxfer(io1, io2, rb, timeout=10000)
    utils.io_close(io1)
    utils.io_close(io2)
    print("  Success!")
Ejemplo n.º 13
0
def test_stdio_basic_stderr():
    print("Test stdio basic stderr echo")
    io = utils.alloc_io(o, "stdio,sh -c 'cat 1>&2'", chunksize=64)
    io.handler.ignore_input = True
    io.read_cb_enable(True)
    err = io.open_channel_s(None, None)
    utils.HandleData(o, "stderr", chunksize=64, io=err)
    utils.test_dataxfer(io, err, "This is a test string!")
    utils.io_close(io)
    utils.io_close(err)
    print("  Success!")
Ejemplo n.º 14
0
def do_test(io1, io2):
    utils.test_dataxfer(io1, io2, "This is a test string!")
Ejemplo n.º 15
0
def t2():
    print("Test serial pipe device")
    io1 = utils.alloc_io(o, "termios,/dev/ttyPipeA0,9600")
    io2 = utils.alloc_io(o, "termios,/dev/ttyPipeB0,9600")
    utils.test_dataxfer(io1, io2, "This is a test string!")
Ejemplo n.º 16
0
def test_stdio_basic():
    print("Test stdio basic echo")
    io = utils.alloc_io(o, "stdio,cat", chunksize=64)
    utils.test_dataxfer(io, io, "This is a test string!")
    utils.io_close(io)
    print("  Success!")
Ejemplo n.º 17
0
        raise Exception("kickolduser: remote end didn't close")
finally:
    if io3 is not None:
        utils.io_close(io3)
    utils.finish_2_ser2net(ser2net, io1, io2)

print("  multiple connections")
ser2net, io1, io2 = utils.setup_2_ser2net(
    utils.o, ("connection: &con", "  accepter: tcp,3023",
              "  connector: serialdev,/dev/ttyPipeA0,9600N81", "  options:",
              "    max-connections: 2"), "tcp,localhost,3023",
    "serialdev,/dev/ttyPipeB0,9600N81")
io3 = None
io4 = None
try:
    utils.test_dataxfer(io2, io1, "Test string")
    io3 = utils.alloc_io(utils.o, "tcp,localhost,3023")
    io3.handler.set_compare("Test 2 string")
    utils.test_dataxfer(io2, io1, "Test 2 string")
    if io3.handler.wait_timeout(1000) == 0:
        raise Exception("max-connections: Didn't receive data")

    io4 = utils.alloc_io(utils.o, "tcp,localhost,3023", do_open=False)
    io4.handler.set_compare("Port already in use\r\n")
    io4.handler.set_expected_err("Remote end closed connection")
    io4.open_s()
    io4.read_cb_enable(True)
    if io4.handler.wait_timeout(1000) == 0:
        raise Exception(
            "max-connections: Overconnect didn't receive errstring")
    io4.read_cb_enable(True)
Ejemplo n.º 18
0
def do_test(io1, io2):
    utils.test_dataxfer(io1, io2, "This is a test string!")
    print("  Success!")
Ejemplo n.º 19
0
def t1():
    print("Test echo device")
    io = utils.alloc_io(o, "termios,/dev/ttyEcho0,38400")
    utils.test_dataxfer(io, io, "This is a test string!")