mirror of
https://github.com/google/pebble.git
synced 2025-03-20 02:51:21 +00:00
80 lines
No EOL
2.8 KiB
Bash
Executable file
80 lines
No EOL
2.8 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
# Copyright 2015 Samsung Electronics Co., Ltd.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
TARGET="$1" #debug.linux release.linux
|
|
TARGET_IP="$2" # ip address of target board
|
|
TARGET_USER="$3" # login
|
|
TARGET_PASS="$4" # password
|
|
|
|
if [ $# -lt 4 ]
|
|
then
|
|
echo "This script runs ./jerry/* and ./jerry-test-suite/* tests on the remote board."
|
|
echo ""
|
|
echo "Usage:"
|
|
echo " 1st parameter: target to be tested: {debug.linux, release.linux}"
|
|
echo " 2nd parameter: ip address of target board: {110.110.110.110}"
|
|
echo " 3rd parameter: ssh login to target board: {login}"
|
|
echo " 4th parameter: ssh password to target board: {password}"
|
|
echo ""
|
|
echo "Example:"
|
|
echo " ./tools/runners/run-tests-remote.sh debug.linux 110.110.110.110 login password"
|
|
exit 1
|
|
fi
|
|
|
|
BASE_DIR=$(dirname "$(readlink -f "$0")" )
|
|
|
|
OUT_DIR="${BASE_DIR}"/../.././build/bin
|
|
LOGS_PATH_FULL="${OUT_DIR}"/"${TARGET}"/check
|
|
|
|
export SSHPASS="${TARGET_PASS}"
|
|
|
|
rm -rf "${LOGS_PATH_FULL}"
|
|
|
|
mkdir -p "${LOGS_PATH_FULL}"
|
|
|
|
REMOTE_TMP_DIR=$(sshpass -e ssh "${TARGET_USER}"@"${TARGET_IP}" 'mktemp -d')
|
|
REMOTE_TMP_TAR=$(sshpass -e ssh "${TARGET_USER}"@"${TARGET_IP}" 'mktemp')
|
|
LOCAL_TMP_TAR=$(mktemp)
|
|
|
|
tar -zcf "${LOCAL_TMP_TAR}" \
|
|
"${BASE_DIR}"/../.././build/bin/"${TARGET}" \
|
|
"${BASE_DIR}"/../.././tests/benchmarks \
|
|
"${BASE_DIR}"/../.././tests/jerry \
|
|
"${BASE_DIR}"/../.././tests/jerry-test-suite \
|
|
"${BASE_DIR}"/../.././tools/runners \
|
|
"${BASE_DIR}"/../.././tools/precommit-full-testing.sh > /dev/null 2>&1
|
|
|
|
sshpass -e scp "${LOCAL_TMP_TAR}" "${TARGET_USER}"@"${TARGET_IP}":"${REMOTE_TMP_TAR}"
|
|
|
|
sshpass -e ssh "${TARGET_USER}"@"${TARGET_IP}" \
|
|
"tar -zxf \"${REMOTE_TMP_TAR}\" -C \"${REMOTE_TMP_DIR}\"; rm \"${REMOTE_TMP_TAR}\";\
|
|
cd \"${REMOTE_TMP_DIR}\"; \
|
|
./tools/precommit-full-testing.sh ./build/bin \"$TARGET\" > ./build/bin/\"${TARGET}\"/check/run.log 2>&1; \
|
|
echo \$? > ./build/bin/\"${TARGET}\"/check/IS_TEST_OK"
|
|
|
|
sshpass -e scp -r "${TARGET_USER}"@"${TARGET_IP}":"${REMOTE_TMP_DIR}"/build/bin/"${TARGET}"/check/* "${LOGS_PATH_FULL}"
|
|
sshpass -e ssh "${TARGET_USER}"@"${TARGET_IP}" "rm -rf \"${REMOTE_TMP_DIR}\""
|
|
|
|
STATUS=$(cat "${LOGS_PATH_FULL}"/IS_TEST_OK)
|
|
|
|
if [ "${STATUS}" == 0 ] ; then
|
|
echo "${TARGET} testing passed."
|
|
exit 0
|
|
else
|
|
echo "${TARGET} testing failed."
|
|
echo "See logs in ${LOGS_PATH_FULL} directory for details."
|
|
exit 1
|
|
fi |