summaryrefslogtreecommitdiffstats
path: root/tests/kwrapper
blob: 056399f5ac48716dc0ac7d83deb2cd2ac2cd3f3f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/bin/bash

_error() {
	echo "$1" >&2
	exit 1
}

export PTXDIST_SYSROOT_HOST=$(ptxd_get_ptxconf PTXCONF_SYSROOT_HOST)
# FIXME: Is there a dedicated IMAGEDIR?
export IMAGEDIR=${PTXDIST_PLATFORMDIR}/images
OURDIR="$(dirname "${0}")"
TST="${1}"
shift

[ -e "${PTXDIST_BOARDSETUP}" ] || _error "Please run 'ptxdist boardsetup' first!"

KSCRIPT="${PTXDIST_WORKSPACE}/tests/${TST}.kermit"
if [ ! -e "${KSCRIPT}" ]; then
	KSCRIPT="${OURDIR}/${TST}.kermit"
	[ -e "${KSCRIPT}" ] || _error "No kermit-script for ${TST} found! Please report to the developers."
fi

LIB="${OURDIR}/libptxdisttest.kermit"
[ -e "${LIB}" ] || _error "Could not find ${LIB}! Please report to the developers."

TMPFILE="$(mktemp "${PTXDIST_TEMPDIR}/kwrapper.XXXXXX")"

#
# we _must_ set the variables in kermit using 'define'!
# '.' has a bug there (patch already mainlined).
#
sed -e 's/^\(PTXCONF_BOARDSETUP_[A-Z0-9_]*\)=/define \1 /' "${PTXDIST_BOARDSETUP}" > "${TMPFILE}"
# FIXME: add PTXDIST_TEST_vars from environment, too

"${PTXDIST_SYSROOT_HOST}/bin/ckermit" "${KSCRIPT}" -Y = "${OURDIR}" "${TMPFILE}" "${@}"
[ $? != 0 ] && echo "An error occured! Please check also .${PTXDIST_PLATFORMDIR#${PTXDIST_WORKSPACE}}/test.log for further details!" >&2

rm -f "${TMPFILE}"