summaryrefslogtreecommitdiffstats
path: root/tests/kwrapper
blob: 94d4deb1da4a3a2ec4b60c1907a2561f0085e050 (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
39
40
41
#!/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_PATH="${PTXDIST_WORKSPACE}/tests"
if [ ! -e "${LIB_PATH}/libptxdisttest.kermit" ]; then
	LIB_PATH="${OURDIR}"
	[ -e "${LIB_PATH}/libptxdisttest.kermit" ] || _error "Could not find kermit-library! Please report to the developers."
fi

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 = "${LIB_PATH}" "${TMPFILE}" "${@}"
[ $? != 0 ] && echo "An error occured! Please check also .${PTXDIST_PLATFORMDIR#${PTXDIST_WORKSPACE}}/test.log for further details!" >&2

rm -f "${TMPFILE}"