#!/bin/sh # Copyright (c) 2016, 2018 Samsung Electronics Co., Ltd All Rights Reserved # # 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. # Script used to run smoke and avocado tests on ODROID U3 # It preserves CONNECT_CNT information left by odroid_prepare_flash_conf.sh # After test SDMUX is switched to testserver in order to increase sdcard # longetivity and make next flash faster. # # Syntax is: odroid_run.sh $SDMUX [$NATIVE_TCT_REPO] # # Author: Aleksander Mistewicz export TESTLAB_SCRIPTS="$(CDPATH='' cd -- "$(dirname -- "$0")" && pwd -P)" . "${TESTLAB_SCRIPTS}/common.sh" . "${TESTLAB_SCRIPTS}/conf/conf.sh" . "${TESTLAB_SCRIPTS}/run/run.sh" . "${TESTLAB_SCRIPTS}/flash/flash.sh" SDMUX="$1" NATIVE_TCT_REPO="$2" test -n "${SDMUX}" || die "Missing argument: sdmux!" IP="$(get_ip "${SDMUX}")" || die "Error: get_ip failed!" echo "### conf ###" CONNECT_CNT="$(wait_ping)" || die "wait_ping: failed!" sleep 4 sdb connect "$IP" sleep 4 sdb -s "${IP}" root on echo "### run ###" echo "### wait 30s ###" # mainly for video subsystem to take valid screenshot sleep 30 copy_sdb "${IP}" "${TESTLAB_SCRIPTS}/run/smoke_tests.sh" run_smoke_sdb "${IP}" # FIXME case "$SDMUX" in *artik710*|*artik530*) IGNORE="y" ;; *) IGNORE="" ;; esac # Run go-smoke tests go-smoke -sdb "${IP}" -conf test.conf -out smoke.json test -f "screenshot.png" && mv -v "screenshot.png" "smoke.png" if [ -f "${SCREENSHOOTER_RPM}" ] && [ -z "$IGNORE" ] then sdb -s "${IP}" shell mount -o rw,remount / copy_sdb "${IP}" "${SCREENSHOOTER_RPM}" "/tmp" sdb -s "${IP}" shell rpm -i "/tmp/${SCREENSHOOTER_RPM##*/}" sdb -s "${IP}" shell sync TMP_SCREENSHOT="/tmp/screenshot.png" sdb -s "${IP}" shell "XDG_RUNTIME_DIR=/run" screenshooter -f "${TMP_SCREENSHOT}" sdb -s "${IP}" pull "${TMP_SCREENSHOT}" . sdb -s "${IP}" shell mount -o ro,remount / fi if [ -f "common_test.yaml" ] then run_avocado_sdb "${IP}" "avocado-results" "common_test.yaml" else echo "Missing file: common_test.yaml; skipping avocado tests" fi echo "### cleanup ###" sdb disconnect "$IP" switch2testserver "${SDMUX}"