summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Johns <chrisj@rtems.org>2018-11-07 16:09:07 +1100
committerChris Johns <chrisj@rtems.org>2018-11-09 10:20:00 +1100
commit06ced255e7beb755a94710a53e888c8557453440 (patch)
tree718e6869cd3787116ffeb8491836f679ea563b92
parenth8300: Remove left over files (diff)
downloadrtems-06ced255e7beb755a94710a53e888c8557453440.tar.bz2
testsuite: Add python verison support to rtems-test-check.py
Closes #3579
-rw-r--r--testsuites/aclocal/rtems-test-check.m42
-rwxr-xr-xtestsuites/rtems-test-check57
-rwxr-xr-xtestsuites/rtems-test-check.py47
3 files changed, 95 insertions, 11 deletions
diff --git a/testsuites/aclocal/rtems-test-check.m4 b/testsuites/aclocal/rtems-test-check.m4
index a46c4abb20..36a917b3e8 100644
--- a/testsuites/aclocal/rtems-test-check.m4
+++ b/testsuites/aclocal/rtems-test-check.m4
@@ -5,7 +5,7 @@ AC_DEFUN([RTEMS_TEST_CHECK],
[AC_REQUIRE([RTEMS_ENV_RTEMSBSP])
AC_REQUIRE([RTEMS_SOURCE_TOP])
AC_MSG_CHECKING([${RTEMS_CPU}/${RTEMS_BSP} $1 test])
- tcheck="${RTEMS_SOURCE_ROOT}/testsuites/rtems-test-check.py"
+ tcheck="${RTEMS_SOURCE_ROOT}/testsuites/rtems-test-check"
tdata="${RTEMS_BSP}-testsuite.tcfg"
tincludes="${RTEMS_SOURCE_ROOT}/bsps/${RTEMS_CPU}/${RTEMS_BSP_FAMILY}/config:${RTEMS_SOURCE_ROOT}/testsuites"
if test -f $tcheck; then
diff --git a/testsuites/rtems-test-check b/testsuites/rtems-test-check
new file mode 100755
index 0000000000..e7fd08dde5
--- /dev/null
+++ b/testsuites/rtems-test-check
@@ -0,0 +1,57 @@
+#! /bin/sh
+#
+# RTEMS Tools Project (http://www.rtems.org/)
+# Copyright 2018 Chris Johns (chrisj@rtems.org)
+# All rights reserved.
+#
+# This file is part of the RTEMS Tools package in 'rtems-tools'.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+# 1. Redistributions of source code must retain the above copyright notice,
+# this list of conditions and the following disclaimer.
+#
+# 2. Redistributions in binary form must reproduce the above copyright notice,
+# this list of conditions and the following disclaimer in the documentation
+# and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+#
+
+#
+# This script wraps python finding a suitable version to use.
+#
+base=$(dirname $0)
+PYTHON_CMD=${base}/rtems-test-check.py
+set -e
+if test ! -f $PYTHON_CMD; then
+ echo "error: RTEMS Testsuite python command not found: $PYTHON_CMD"
+ exit 5
+fi
+for py in python2 python3 python
+do
+ set +e
+ py_cmd=$(command -v $py)
+ set -e
+ if test -n "$RTEMS_PYTHON_OVERRIDE"; then
+ if test "$RTEMS_PYTHON_OVERRIDE" != "$py"; then
+ py_cmd=""
+ fi
+ fi
+ if test -n "$py_cmd"; then
+ exec $py_cmd $PYTHON_CMD $0 $*
+ fi
+done
+echo "error: RTEMS Testsuite no valid python found"
+exit 5
diff --git a/testsuites/rtems-test-check.py b/testsuites/rtems-test-check.py
index 847aab05ae..0a4970a4ab 100755
--- a/testsuites/rtems-test-check.py
+++ b/testsuites/rtems-test-check.py
@@ -1,7 +1,32 @@
#! /usr/bin/env python
#
-# Copyright 2017 Chris Johns <chrisj@rtems.org>
-# All rights reserved
+# Copyright 2018 Chris Johns (chrisj@rtems.org)
+# All rights reserved.
+#
+# This file is part of the RTEMS Tools package in 'rtems-tools'.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+# 1. Redistributions of source code must retain the above copyright notice,
+# this list of conditions and the following disclaimer.
+#
+# 2. Redistributions in binary form must reproduce the above copyright notice,
+# this list of conditions and the following disclaimer in the documentation
+# and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+#
#
#
@@ -9,6 +34,7 @@
#
from __future__ import print_function
+
import os.path
import sys
@@ -28,7 +54,8 @@ def find_testdata(paths, name):
#
# Arguments. Keep it simple.
#
-if len(sys.argv) < 4:
+sys_args = sys.argv[1:]
+if len(sys_args) < 4:
eprint('error: invalid command line')
print('INVALID-TEST-DATA')
sys.exit(2)
@@ -36,18 +63,18 @@ if len(sys.argv) < 4:
verbose = False
args = 0
-if sys.argv[1] == '-v':
+if sys_args[1] == '-v':
verbose = True
args = 1
-mode = sys.argv[args + 1]
-bsp = sys.argv[args + 2]
-includepaths = sys.argv[args + 4].split(':')
-testconfig = [find_testdata(includepaths, sys.argv[args + 3])]
-tests = sys.argv[args + 5:]
+mode = sys_args[args + 1]
+bsp = sys_args[args + 2]
+includepaths = sys_args[args + 4].split(':')
+testconfig = [find_testdata(includepaths, sys_args[args + 3])]
+tests = sys_args[args + 5:]
if verbose:
- eprint('cmd: %s' % (' '.join(sys.argv)))
+ eprint('cmd: %s' % (' '.join(sys_args)))
#
# Handle the modes.