add communications test
This commit is contained in:
parent
448b70cc97
commit
52279a9afc
|
@ -0,0 +1,18 @@
|
||||||
|
from creole import *
|
||||||
|
import socket
|
||||||
|
|
||||||
|
def connect(ip, port):
|
||||||
|
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||||
|
s.connect((ip, port))
|
||||||
|
return s
|
||||||
|
|
||||||
|
def execute(creole_instance, socket):
|
||||||
|
code = creole_instance()
|
||||||
|
l = len(code)
|
||||||
|
assert l <= 0xFFFF
|
||||||
|
socket.sendall(bytes([l & 0xFF, l >> 8]) + code)
|
||||||
|
|
||||||
|
def connect_exec(cr, ip="192.168.1.50", port=6626):
|
||||||
|
s = connect(ip, port)
|
||||||
|
execute(cr, s)
|
||||||
|
return s.recv(1024)
|
|
@ -0,0 +1,25 @@
|
||||||
|
from comm import *
|
||||||
|
|
||||||
|
# These require a connection!
|
||||||
|
def test_print_char():
|
||||||
|
p = Program()
|
||||||
|
p.parse_asm_line(f"SENDVAL 100")
|
||||||
|
assert connect_exec(p) == b'100'
|
||||||
|
|
||||||
|
def test_print_string():
|
||||||
|
p = Program()
|
||||||
|
p.parse_lines([
|
||||||
|
"j .l",
|
||||||
|
f"db d0 {[ord(x) for x in 'hello world']}",
|
||||||
|
".l",
|
||||||
|
"senddat d0"
|
||||||
|
])
|
||||||
|
return connect_exec(p).decode()
|
||||||
|
|
||||||
|
def test_run_adc():
|
||||||
|
p = Program()
|
||||||
|
p.parse_lines([
|
||||||
|
"read_adc 0 r0",
|
||||||
|
"sendval r0"
|
||||||
|
])
|
||||||
|
return connect_exec(p).decode()
|
Loading…
Reference in New Issue