diff options
author | Martin Lund <mgl@doredevelopment.dk> | 2010-05-19 15:53:04 (GMT) |
---|---|---|
committer | Martin Lund <mgl@doredevelopment.dk> | 2010-05-19 15:53:04 (GMT) |
commit | 1779c82ad2916f9a3c3ad2dd350dbeb2d6692f9d (patch) | |
tree | ced95e1ac1b87ffeaffa3aafa985be5e27ca621e /scripts/build | |
parent | 0a63e8222c2865406f0c8967fedd8a89c2c816d8 (diff) |
test-suite: Added new test suite feature (experimental)
This patch adds support for installing the gcc test suite. A helper
Makefile is provided for building and running the gcc tests.
The default configuration runs all gcc tests and requires automatic
ssh/scp login access to a networked target board. See README for
more details.
Note: Current feature is tested with the powerpc-unknown-linux-gnu
sample but it should work with others as well.
Signed-off-by: Martin Lund <mgl@doredevelopment.dk>
Diffstat (limited to 'scripts/build')
-rw-r--r-- | scripts/build/test_suite.sh | 41 | ||||
-rw-r--r-- | scripts/build/test_suite/gcc.sh | 36 |
2 files changed, 77 insertions, 0 deletions
diff --git a/scripts/build/test_suite.sh b/scripts/build/test_suite.sh new file mode 100644 index 0000000..8fabf42 --- /dev/null +++ b/scripts/build/test_suite.sh @@ -0,0 +1,41 @@ +# Wrapper to build the test suite facilities +# +# Current assumption: test suites are independent of each other +# - no order handling required. + +# List all test suite facilities, and parse their scripts +CT_TEST_SUITE_FACILITY_LIST= +for f in "${CT_LIB_DIR}/scripts/build/test_suite/"*.sh; do + _f="$(basename "${f}" .sh)" + __f="CT_TEST_SUITE_${_f}" + __f=`echo ${__f} | tr "[:lower:]" "[:upper:]"` + if [ "${!__f}" = "y" ]; then + CT_DoLog DEBUG "Enabling test suite '${_f}'" + . "${f}" + CT_TEST_SUITE_FACILITY_LIST="${CT_TEST_SUITE_FACILITY_LIST} ${_f}" + else + CT_DoLog DEBUG "Disabling test suite '${_f}'" + fi +done + +# Download the test suite facilities +do_test_suite_get() { + for f in ${CT_TEST_SUITE_FACILITY_LIST}; do + do_test_suite_${f}_get + done +} + +# Extract and patch the test suite facilities +do_test_suite_extract() { + for f in ${CT_TEST_SUITE_FACILITY_LIST}; do + do_test_suite_${f}_extract + done +} + +# Build the test suite facilities +do_test_suite() { + for f in ${CT_TEST_SUITE_FACILITY_LIST}; do + do_test_suite_${f}_build + done +} + diff --git a/scripts/build/test_suite/gcc.sh b/scripts/build/test_suite/gcc.sh new file mode 100644 index 0000000..1b65269 --- /dev/null +++ b/scripts/build/test_suite/gcc.sh @@ -0,0 +1,36 @@ +# This file adds the functions to build the GCC test suite +# Copyright 2010 DoréDevelopment +# Created by Martin Lund <mgl@doredevelopment.dk> +# Licensed under the GPL v2. See COPYING in the root of this package + +do_test_suite_gcc_get() { :; } +do_test_suite_gcc_extract() { :; } +do_test_suite_gcc_build() { :; } + +# Overide functions depending on configuration +if [ "${CT_TEST_SUITE_GCC}" = "y" ]; then + +do_test_suite_gcc_build() { + + CT_DoStep INFO "Installing GCC test suite" + + CT_DoExecLog ALL mkdir -p "${CT_TEST_SUITE_DIR}/gcc-test-suite/gcc-${CT_CC_VERSION}/gcc" + CT_DoExecLog ALL cp "${CT_TOP_DIR}/contrib/gcc-test-suite/Makefile" \ + "${CT_TEST_SUITE_DIR}/gcc-test-suite" + CT_DoExecLog ALL cp "${CT_TOP_DIR}/contrib/gcc-test-suite/default.cfg" \ + "${CT_TEST_SUITE_DIR}/gcc-test-suite" + CT_DoExecLog ALL cp "${CT_TOP_DIR}/contrib/gcc-test-suite/README" \ + "${CT_TEST_SUITE_DIR}/gcc-test-suite" + CT_DoExecLog ALL cp -r "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}/gcc/testsuite" \ + "${CT_TEST_SUITE_DIR}/gcc-test-suite/gcc-${CT_CC_VERSION}/gcc" + sed "s/DG_GCC_VERSION .*/DG_GCC_VERSION = ${CT_CC_VERSION}/g" \ + ${CT_TEST_SUITE_DIR}/gcc-test-suite/default.cfg > \ + ${CT_TEST_SUITE_DIR}/gcc-test-suite/default.cfg.tmp + sed "s/DG_TARGET .*/DG_TARGET = ${CT_TARGET}/g" \ + ${CT_TEST_SUITE_DIR}/gcc-test-suite/default.cfg.tmp > \ + ${CT_TEST_SUITE_DIR}/gcc-test-suite/default.cfg + CT_DoExecLog ALL rm -f "${CT_TEST_SUITE_DIR}/gcc-test-suite/default.cfg.tmp" + CT_EndStep +} + +fi # CT_TEST_SUITE_GCC |