mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-19 00:41:43 +00:00
* Attempt to build testbench tests online inorder to improve speed * Fix contianer reference * Start to remove jenkins shell script * Change job names * Remove sshpass * Remove teststand code * Copy test results back * Fix build by using athena container * Fail if any command fails * Remove jenkins test script * Remove name argument * Fix param count * Add build display name * Fix scp to copy into dir * Update display names * Update stage name * Fix test results scp * Create local test report dir * Remove commented out old code * Remove force pseudo-terminal allocation * Remove extra variables * Update readme * Remove old test runs * Update license header
85 lines
3.2 KiB
Bash
Executable File
85 lines
3.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
#*----------------------------------------------------------------------------*#
|
|
#* Copyright (c) 2014-2019 FIRST. All Rights Reserved. *#
|
|
#* Open Source Software - may be modified and shared by FRC teams. The code *#
|
|
#* must be accompanied by the FIRST BSD license file in the root directory of *#
|
|
#* the project. *#
|
|
#*----------------------------------------------------------------------------*#
|
|
|
|
# Configurable variables
|
|
source config.sh
|
|
|
|
# Java variables
|
|
DEFAULT_DESTINATION_JAVA_TEST_FILE=${DEFAULT_TEST_SCP_DIR}/${DEFAULT_JAVA_TEST_NAME}
|
|
|
|
# C++ Variables
|
|
DEFAULT_DESTINATION_CPP_TEST_FILE=${DEFAULT_TEST_SCP_DIR}/${DEFAULT_CPP_TEST_NAME}
|
|
|
|
DEFAULT_DESTINATION_RUN_TEST_SCRIPT=${DEFAULT_DESTINATION_DIR}/${DEFAULT_LOCAL_RUN_TEST_SCRIPT}
|
|
|
|
usage="$(basename "$0") [-h] (java|cpp) [-A] [arg] [arg]...
|
|
A script designed to run the integration tests.
|
|
This script should only be run on the computer connected to the roboRIO.
|
|
Where:
|
|
-h Show this help text.
|
|
-A Disable language recomended arguments.
|
|
arg Additional arguments to be passed to test."
|
|
|
|
|
|
# These variables are set when the language is selected
|
|
LANGUAGE=none
|
|
LOCAL_TEST_FILE=none
|
|
DESTINATION_TEST_FILE=none
|
|
TEST_RUN_ARGS=""
|
|
DESTINATION_TEST_RESULTS=none
|
|
LOCAL_TEST_RESULTS=none
|
|
|
|
|
|
# Begin searching for options from the second paramater on
|
|
PARAM_ARGS=${@:2}
|
|
|
|
if [[ "$1" = java ]]; then
|
|
LANGUAGE=$1
|
|
LOCAL_TEST_FILE=$DEFAULT_LOCAL_JAVA_TEST_FILE
|
|
DESTINATION_TEST_FILE=$DEFAULT_DESTINATION_JAVA_TEST_FILE
|
|
DESTINATION_TEST_RESULTS=$DEFAULT_DESTINATION_JAVA_TEST_RESULTS
|
|
LOCAL_TEST_RESULTS=$DEFAULT_LOCAL_JAVA_TEST_RESULT
|
|
elif [[ "$1" = cpp ]]; then
|
|
LANGUAGE=$1
|
|
LOCAL_TEST_FILE=$DEFAULT_LOCAL_CPP_TEST_FILE
|
|
DESTINATION_TEST_FILE=$DEFAULT_DESTINATION_CPP_TEST_FILE
|
|
DESTINATION_TEST_RESULTS=$DEFAULT_DESTINATION_CPP_TEST_RESULTS
|
|
LOCAL_TEST_RESULTS=$DEFAULT_LOCAL_CPP_TEST_RESULT
|
|
elif [[ "$1" = "-h" ]]; then
|
|
printf "Usage:\n"
|
|
echo "$usage"
|
|
exit
|
|
else
|
|
printf "Invalid language selection: %s\n\n" "$1" >&2
|
|
echo "$usage" >&2
|
|
exit 1
|
|
fi
|
|
|
|
# Check if the test file to upload exists
|
|
if [[ ! -e ${LOCAL_TEST_FILE} ]]; then
|
|
printf "The test file does not exist: %s\nAre you sure that you compiled the tests??\n\n" "${LOCAL_TEST_FILE}" >&2
|
|
echo "$usage" >&2
|
|
exit 1
|
|
fi
|
|
|
|
TEST_RUN_ARGS="${@:2}"
|
|
|
|
shopt -s huponexit
|
|
|
|
# Fail if any command fails
|
|
set -e
|
|
|
|
ssh ${ROBOT_ADDRESS} "rm -R ${DEFAULT_DESTINATION_TEST_RESULTS_DIR}; mkdir ${DEFAULT_DESTINATION_TEST_RESULTS_DIR}"
|
|
scp ${DEFAULT_LIBRARY_NATIVE_FILES}/* ${ROBOT_ADDRESS}:${DEFAULT_LIBRARY_NATIVE_DESTINATION}
|
|
ssh ${ADMIN_ROBOT_ADDRESS} ldconfig
|
|
scp config.sh ${DEFAULT_LOCAL_RUN_TEST_SCRIPT} ${ROBOT_ADDRESS}:/${DEFAULT_DESTINATION_DIR}
|
|
ssh ${ROBOT_ADDRESS} "chmod a+x ${DEFAULT_DESTINATION_RUN_TEST_SCRIPT}; mkdir ${DEFAULT_TEST_SCP_DIR}; touch ${DESTINATION_TEST_FILE}"
|
|
scp ${LOCAL_TEST_FILE} ${ROBOT_ADDRESS}:${DESTINATION_TEST_FILE}
|
|
ssh ${ROBOT_ADDRESS} ${DEFAULT_DESTINATION_RUN_TEST_SCRIPT} ${LANGUAGE} -d ${DEFAULT_TEST_SCP_DIR} ${TEST_RUN_ARGS}
|
|
mkdir ${DEFAULT_LOCAL_TEST_RESULTS_DIR}; scp ${ROBOT_ADDRESS}:${DESTINATION_TEST_RESULTS} ${LOCAL_TEST_RESULTS}
|