def METHOD_NAME(child, iterations=10):
    """ This test verifies sock_tcp in a typical server role by
        accepting a connection, exchange data, teardown connection, handle the next one
    """
    # Setup RIOT Node as server
    with SockTcpServer(child, generate_port_number()) as sock_srv:
        # Establish multiple connections iterativly
        for i in range(iterations):
            print('\n    Running listen/accept iteration {}'.format(i), end='')
            with HostTcpClient(sock_srv) as host_cli:
                # Accept connection from host system
                sock_srv.accept(timeout_ms=0)
                # Send data from host to RIOT
                data = '0123456789'
                host_cli.send(data)
                sock_srv.read(data, 1000)
                # Send data from RIOT to host
                sock_srv.write(data)
                host_cli.receive(data)
                # Randomize connection teardown: The connections
                # can be closed from either Regardless the type of the connection teardown
                # sock_srv must be able to accept the next connection
                dice_throw = random.randint(0, 1)
                if dice_throw == 0:
                    sock_srv.disconnect()
                    host_cli.close()
                elif dice_throw == 1:
                    host_cli.close()
                    sock_srv.disconnect()