test_udp: test loopback on port 6000 (dw=8) and port 8000 (dw=32) OK on board!

This commit is contained in:
Florent Kermarrec 2015-02-10 16:30:34 +01:00
parent 974169218f
commit 310040b43b
1 changed files with 32 additions and 31 deletions

View File

@ -41,14 +41,12 @@ def generate_packet(seed, length):
seed += 1
return r, seed
fpga_ip = "192.168.1.40"
udp_port = 6000
test_size = 1*MB
tx_sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
rx_sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
rx_sock.bind(("", udp_port))
def test(fpga_ip, udp_port, test_size):
tx_sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
rx_sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
rx_sock.bind(("", udp_port))
def receive():
def receive():
rx_seed = 0
while rx_seed < test_size:
data, addr = rx_sock.recvfrom(8192)
@ -59,21 +57,24 @@ def receive():
s, l, e = check(rx_reference_packet, rx_packet)
print("shift "+ str(s) + " / length " + str(l) + " / errors " + str(e))
def send():
def send():
tx_seed = 0
while tx_seed < test_size:
tx_packet, tx_seed = generate_packet(tx_seed, 1024)
tx_sock.sendto(bytes(tx_packet), (fpga_ip, udp_port))
time.sleep(0.001) # XXX: FIXME, Python limitation?
receive_thread = threading.Thread(target=receive)
receive_thread.start()
receive_thread = threading.Thread(target=receive)
receive_thread.start()
send_thread = threading.Thread(target=send)
send_thread.start()
send_thread = threading.Thread(target=send)
send_thread.start()
try:
try:
send_thread.join(10)
receive_thread.join(0.1)
except KeyboardInterrupt:
except KeyboardInterrupt:
pass
test("192.168.1.40", 6000, 128*KB)
test("192.168.1.40", 8000, 128*KB)