1 #!/bin/bash 2 # 3 # Copyright (c) 2013 The Chromium OS Authors. All rights reserved. 4 # Use of this source code is governed by a BSD-style license that can be 5 # found in the LICENSE file. 6 USAGE="Usage: deploy_private_test.sh -a PATH_TO_PUBLIC_AUTOTEST \ 7 -p PATH_TO_PRIVATE_AUTOTEST" 8 HELP="${USAGE} 9 Link server side tests under PATH_TO_PRIVATE_AUTOTEST \ 10 to PATH_TO_PUBLIC_AUTOTEST 11 12 PATH_TO_PRIVATE_AUTOTEST defaults to \ 13 /usr/local/autotest/site_utils/autotest_private 14 PATH_TO_PUBLIC_AUTOTEST defaults to \ 15 /usr/local/autotest" 16 17 AUTOTEST_ROOT="/usr/local/autotest" 18 PRIVATE_AUTOTEST_ROOT="${AUTOTEST_ROOT}/site_utils/autotest_private" 19 20 while getopts ":p:a:h" opt; do 21 case $opt in 22 a) 23 AUTOTEST_ROOT=$OPTARG 24 ;; 25 p) 26 PRIVATE_AUTOTEST_ROOT=$OPTARG 27 ;; 28 h) 29 echo "${HELP}" >&2 30 exit 0 31 ;; 32 \?) 33 echo "Invalid option: -$OPTARG" >&2 34 echo "${USAGE}" >&2 35 exit 1 36 ;; 37 esac 38 done 39 40 if [ ! -d "${AUTOTEST_ROOT}" ]; then 41 echo "Invalid public autotest root: ${AUTOTEST_ROOT}" >&2 42 exit 1 43 fi 44 45 if [ ! -d "${PRIVATE_AUTOTEST_ROOT}" ]; then 46 echo "Invalid private autotest root: ${PRIVATE_AUTOTEST_ROOT}" >&2 47 exit 1 48 fi 49 50 PUBLIC_SERVER_TESTS_DIR="${AUTOTEST_ROOT}/server/site_tests" 51 PUBLIC_SERVER_SUITES_DIR="${PUBLIC_SERVER_TESTS_DIR}/suites" 52 PUBLIC_CLIENT_TESTS_DIR="${AUTOTEST_ROOT}/client/site_tests" 53 54 PRIVATE_SERVER_TESTS_DIR="${PRIVATE_AUTOTEST_ROOT}/server/site_tests" 55 PRIVATE_SERVER_SUITES_DIR="${PRIVATE_SERVER_TESTS_DIR}/suites" 56 PRIVATE_CLIENT_TESTS_DIR="${PRIVATE_AUTOTEST_ROOT}/client/site_tests" 57 58 echo "Removing existing symbolic links in ${PUBLIC_SERVER_TESTS_DIR}, \ 59 ${PUBLIC_CLIENT_TESTS_DIR} and ${PUBLIC_SERVER_SUITES_DIR}" 60 find ${PUBLIC_SERVER_TESTS_DIR} -type l -exec rm -v {} \; 61 find ${PUBLIC_CLIENT_TESTS_DIR} -type l -exec rm -v {} \; 62 find ${PUBLIC_SERVER_SUITES_DIR} -type l -exec rm -v {} \; 63 echo "Creating links for tests..." 64 find ${PRIVATE_SERVER_TESTS_DIR} -mindepth 1 -maxdepth 1 \ 65 -type d ! -path ${PRIVATE_SERVER_SUITES_DIR} \ 66 -exec ln -v -s {} ${PUBLIC_SERVER_TESTS_DIR} \; 67 find ${PRIVATE_CLIENT_TESTS_DIR} -mindepth 1 -maxdepth 1 \ 68 -type d ! -path ${PRIVATE_SERVER_SUITES_DIR} \ 69 -exec ln -v -s {} ${PUBLIC_CLIENT_TESTS_DIR} \; 70 echo "Creating links for suites..." 71 find ${PRIVATE_SERVER_SUITES_DIR} -mindepth 1 -maxdepth 1 -type f \ 72 -exec ln -v -s {} ${PUBLIC_SERVER_SUITES_DIR} \; 73