tests: add capability to provide make command via environment

For those tests that don't use the tooling fixed in the previous commit
This commit is contained in:
Martine S. Lenders 2020-07-08 08:38:16 +02:00
parent da3fdd33d1
commit 1cb0e09d88
No known key found for this signature in database
GPG Key ID: CCD317364F63286F
4 changed files with 19 additions and 14 deletions

View File

@ -43,6 +43,7 @@ TESTRUNNER_RESET_AFTER_TERM = int(os.environ.get('TESTRUNNER_RESET_AFTER_TERM')
MAKE = os.environ.get('MAKE', 'make') MAKE = os.environ.get('MAKE', 'make')
def _reset_board(env): def _reset_board(env):
if MAKE_RESET_DELAY > 0: if MAKE_RESET_DELAY > 0:
time.sleep(MAKE_RESET_DELAY) time.sleep(MAKE_RESET_DELAY)

View File

@ -18,6 +18,8 @@ import socket
DEFAULT_TIMEOUT = 5 DEFAULT_TIMEOUT = 5
MAKE = os.environ.get('MAKE', 'make')
class Strategy(object): class Strategy(object):
def __init__(self, func=None): def __init__(self, func=None):
@ -47,7 +49,7 @@ class BoardStrategy(Strategy):
if env is not None: if env is not None:
env.update(env) env.update(env)
env.update(self.board.to_env()) env.update(self.board.to_env())
cmd = ("make", "-C", application) + make_targets cmd = (MAKE, "-C", application) + make_targets
print(' '.join(cmd)) print(' '.join(cmd))
print(subprocess.check_output(cmd, env=env)) print(subprocess.check_output(cmd, env=env))
@ -165,7 +167,7 @@ def default_test_case(board_group, application, env=None):
if env is not None: if env is not None:
env.update(env) env.update(env)
env.update(board.to_env()) env.update(board.to_env())
with pexpect.spawnu("make", ["-C", application, "term"], env=env, with pexpect.spawnu(MAKE, ["-C", application, "term"], env=env,
timeout=DEFAULT_TIMEOUT, timeout=DEFAULT_TIMEOUT,
logfile=sys.stdout) as spawn: logfile=sys.stdout) as spawn:
spawn.expect("TEST: SUCCESS") spawn.expect("TEST: SUCCESS")
@ -201,9 +203,9 @@ def test_ipv6_send(board_group, application, env=None):
if env is not None: if env is not None:
env_receiver.update(env) env_receiver.update(env)
env_receiver.update(board_group.boards[1].to_env()) env_receiver.update(board_group.boards[1].to_env())
with pexpect.spawnu("make", ["-C", application, "term"], env=env_sender, with pexpect.spawnu(MAKE, ["-C", application, "term"], env=env_sender,
timeout=DEFAULT_TIMEOUT) as sender, \ timeout=DEFAULT_TIMEOUT) as sender, \
pexpect.spawnu("make", ["-C", application, "term"], env=env_receiver, pexpect.spawnu(MAKE, ["-C", application, "term"], env=env_receiver,
timeout=DEFAULT_TIMEOUT) as receiver: timeout=DEFAULT_TIMEOUT) as receiver:
ipprot = random.randint(0x00, 0xff) ipprot = random.randint(0x00, 0xff)
receiver_ip = get_ipv6_address(receiver) receiver_ip = get_ipv6_address(receiver)
@ -225,9 +227,9 @@ def test_udpv6_send(board_group, application, env=None):
if env is not None: if env is not None:
env_receiver.update(env) env_receiver.update(env)
env_receiver.update(board_group.boards[1].to_env()) env_receiver.update(board_group.boards[1].to_env())
with pexpect.spawnu("make", ["-C", application, "term"], env=env_sender, with pexpect.spawnu(MAKE, ["-C", application, "term"], env=env_sender,
timeout=DEFAULT_TIMEOUT) as sender, \ timeout=DEFAULT_TIMEOUT) as sender, \
pexpect.spawnu("make", ["-C", application, "term"], env=env_receiver, pexpect.spawnu(MAKE, ["-C", application, "term"], env=env_receiver,
timeout=DEFAULT_TIMEOUT) as receiver: timeout=DEFAULT_TIMEOUT) as receiver:
port = random.randint(0x0000, 0xffff) port = random.randint(0x0000, 0xffff)
receiver_ip = get_ipv6_address(receiver) receiver_ip = get_ipv6_address(receiver)
@ -250,9 +252,9 @@ def test_tcpv6_send(board_group, application, env=None):
if env is not None: if env is not None:
env_server.update(env) env_server.update(env)
env_server.update(board_group.boards[1].to_env()) env_server.update(board_group.boards[1].to_env())
with pexpect.spawnu("make", ["-C", application, "term"], env=env_client, with pexpect.spawnu(MAKE, ["-C", application, "term"], env=env_client,
timeout=DEFAULT_TIMEOUT) as client, \ timeout=DEFAULT_TIMEOUT) as client, \
pexpect.spawnu("make", ["-C", application, "term"], env=env_server, pexpect.spawnu(MAKE, ["-C", application, "term"], env=env_server,
timeout=DEFAULT_TIMEOUT) as server: timeout=DEFAULT_TIMEOUT) as server:
port = random.randint(0x0000, 0xffff) port = random.randint(0x0000, 0xffff)
server_ip = get_ipv6_address(server) server_ip = get_ipv6_address(server)
@ -284,9 +286,9 @@ def test_tcpv6_multiconnect(board_group, application, env=None):
if env is not None: if env is not None:
env_server.update(env) env_server.update(env)
env_server.update(board_group.boards[1].to_env()) env_server.update(board_group.boards[1].to_env())
with pexpect.spawnu("make", ["-C", application, "term"], env=env_client, with pexpect.spawnu(MAKE, ["-C", application, "term"], env=env_client,
timeout=DEFAULT_TIMEOUT) as client, \ timeout=DEFAULT_TIMEOUT) as client, \
pexpect.spawnu("make", ["-C", application, "term"], env=env_server, pexpect.spawnu(MAKE, ["-C", application, "term"], env=env_server,
timeout=DEFAULT_TIMEOUT) as server: timeout=DEFAULT_TIMEOUT) as server:
port = random.randint(0x0000, 0xffff) port = random.randint(0x0000, 0xffff)
server_ip = get_ipv6_address(server) server_ip = get_ipv6_address(server)
@ -327,9 +329,9 @@ def test_triple_send(board_group, application, env=None):
if env is not None: if env is not None:
env_receiver.update(env) env_receiver.update(env)
env_receiver.update(board_group.boards[1].to_env()) env_receiver.update(board_group.boards[1].to_env())
with pexpect.spawnu("make", ["-C", application, "term"], env=env_sender, with pexpect.spawnu(MAKE, ["-C", application, "term"], env=env_sender,
timeout=DEFAULT_TIMEOUT) as sender, \ timeout=DEFAULT_TIMEOUT) as sender, \
pexpect.spawnu("make", ["-C", application, "term"], env=env_receiver, pexpect.spawnu(MAKE, ["-C", application, "term"], env=env_receiver,
timeout=DEFAULT_TIMEOUT) as receiver: timeout=DEFAULT_TIMEOUT) as receiver:
udp_port = random.randint(0x0000, 0xffff) udp_port = random.randint(0x0000, 0xffff)
tcp_port = random.randint(0x0000, 0xffff) tcp_port = random.randint(0x0000, 0xffff)

View File

@ -10,11 +10,12 @@
import sys import sys
import subprocess import subprocess
from testrunner import run from testrunner import run
from testrunner.spawn import MAKE
def flash_slot(slotnum, version): def flash_slot(slotnum, version):
cmd = [ cmd = [
"make", MAKE,
"RIOTBOOT_SKIP_COMPILE=1", "RIOTBOOT_SKIP_COMPILE=1",
"riotboot/flash-slot{}".format(slotnum), "riotboot/flash-slot{}".format(slotnum),
"APP_VER={}".format(version), "APP_VER={}".format(version),

View File

@ -7,6 +7,7 @@ from traceback import print_tb
import pexpect import pexpect
BOARD = os.getenv('BOARD', 'stm32f4discovery') BOARD = os.getenv('BOARD', 'stm32f4discovery')
MAKE = os.environ.get('MAKE', 'make')
def testfunc(): def testfunc():
@ -20,7 +21,7 @@ def testfunc():
if exc.errno == os.errno.ENOENT: if exc.errno == os.errno.ENOENT:
print("ABORTING TEST: {} seems to be missing.\n".format(cross_gcc)) print("ABORTING TEST: {} seems to be missing.\n".format(cross_gcc))
else: else:
child = pexpect.spawnu(['make'], env=os.environ) child = pexpect.spawnu([MAKE], env=os.environ)
child.logfile = sys.stdout child.logfile = sys.stdout
try: try: