From cded5351df27e784a76d764c6f4b389b2544b26a Mon Sep 17 00:00:00 2001 From: Jonathan Leitschuh Date: Tue, 26 Aug 2014 12:51:15 -0400 Subject: [PATCH] Test scripts have permission to run and fixes sshpass. Updates vagrant file to have sshpass by default. Adds configuration for setting up the network in bridged mode so that the scripts can use mdns to connect to the roboRIO. Change-Id: I7274a24c772790c9495e8a1c083385ef528044a6 --- Vagrantfile | 2 +- bootstrap.sh | 4 ++++ test-scripts/config.sh | 0 test-scripts/deploy-and-run-test-on-robot.sh | 5 ++--- test-scripts/jenkins-run-tests-get-results.sh | 6 +++--- test-scripts/run-tests-on-robot.sh | 0 test-scripts/spawn_driver_station.sh | 21 ++++++++++++------- 7 files changed, 24 insertions(+), 14 deletions(-) mode change 100644 => 100755 test-scripts/config.sh mode change 100644 => 100755 test-scripts/deploy-and-run-test-on-robot.sh mode change 100644 => 100755 test-scripts/jenkins-run-tests-get-results.sh mode change 100644 => 100755 test-scripts/run-tests-on-robot.sh mode change 100644 => 100755 test-scripts/spawn_driver_station.sh diff --git a/Vagrantfile b/Vagrantfile index 45cd7410c7..3490780228 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -32,7 +32,7 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| # Create a public network, which generally matched to bridged network. # Bridged networks make the machine appear as another physical device on # your network. - # config.vm.network "public_network" + config.vm.network "public_network", bridge: 'en0' # If true, then any SSH connections made will enable agent forwarding. # Default value: false diff --git a/bootstrap.sh b/bootstrap.sh index 53fbcbffa3..5aa17e5992 100644 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -49,6 +49,10 @@ mkdir -p /home/vagrant/jdk-linux-arm-vfp-sflt/ # Unzip the jdk into this new directory tar -xzf /vagrant/jdk-7u45-linux-arm-vfp-sflt.gz -C /home/vagrant/jdk-linux-arm-vfp-sflt/ + +# Install sshpass for the test system +apt-get --yes --force-yes install sshpass + # Keep this at the end of this file printf "\n\n" printf "Your virtual enviroment is now nearly set-up.\n" diff --git a/test-scripts/config.sh b/test-scripts/config.sh old mode 100644 new mode 100755 diff --git a/test-scripts/deploy-and-run-test-on-robot.sh b/test-scripts/deploy-and-run-test-on-robot.sh old mode 100644 new mode 100755 index bbedb0ec7e..3412afa3e7 --- a/test-scripts/deploy-and-run-test-on-robot.sh +++ b/test-scripts/deploy-and-run-test-on-robot.sh @@ -65,9 +65,9 @@ TEST_RUN_ARGS="${@:2}" shopt -s huponexit SCP_TEST_SCRIPT="scp config.sh ${DEFAULT_LOCAL_RUN_TEST_SCRIPT} ${ROBOT_ADDRESS}:/${DEFAULT_DESTINATION_DIR}" -SSH_CHMOD_AND_MAKE_TEMP_TEST_DIR="ssh -t ${ROBOT_ADDRESS} 'chmod a+x ${DEFAULT_DESTINATION_RUN_TEST_SCRIPT}; mkdir ${DEFAULT_TEST_SCP_DIR} 2>/dev/null'" +SSH_CHMOD_AND_MAKE_TEMP_TEST_DIR="ssh -t ${ROBOT_ADDRESS} chmod a+x ${DEFAULT_DESTINATION_RUN_TEST_SCRIPT}; mkdir ${DEFAULT_TEST_SCP_DIR} 2>/dev/null" SCP_TEST_PROGRAM="scp ${LOCAL_TEST_FILE} ${ROBOT_ADDRESS}:/${DESTINATION_TEST_FILE}" -SSH_RUN_TESTS="ssh -t ${ROBOT_ADDRESS} '${DEFAULT_DESTINATION_RUN_TEST_SCRIPT} ${LANGUAGE} $(whoami) -d ${DEFAULT_TEST_SCP_DIR} ${TEST_RUN_ARGS}'" +SSH_RUN_TESTS="ssh -t ${ROBOT_ADDRESS} ${DEFAULT_DESTINATION_RUN_TEST_SCRIPT} ${LANGUAGE} $(whoami) -d ${DEFAULT_TEST_SCP_DIR} ${TEST_RUN_ARGS}" if [ $(which sshpass) ]; then sshpass -p "" ${SCP_TEST_SCRIPT} @@ -80,4 +80,3 @@ else eval ${SCP_TEST_PROGRAM} eval ${SSH_RUN_TESTS} fi - diff --git a/test-scripts/jenkins-run-tests-get-results.sh b/test-scripts/jenkins-run-tests-get-results.sh old mode 100644 new mode 100755 index 931c756345..059120d536 --- a/test-scripts/jenkins-run-tests-get-results.sh +++ b/test-scripts/jenkins-run-tests-get-results.sh @@ -18,7 +18,7 @@ fi mkdir ${DEFAULT_LOCAL_TEST_RESULTS_DIR} 2>/dev/null # Remove the preivous test results from the the robot -SSH_REMOVE_OLD_TEST_RESULTS="ssh -t ${ROBOT_ADDRESS} 'rm -R ${DEFAULT_DESTINATION_TEST_RESULTS_DIR}; mkdir ${DEFAULT_DESTINATION_TEST_RESULTS_DIR}'" +SSH_REMOVE_OLD_TEST_RESULTS="ssh -t ${ROBOT_ADDRESS} rm -R ${DEFAULT_DESTINATION_TEST_RESULTS_DIR}; mkdir ${DEFAULT_DESTINATION_TEST_RESULTS_DIR}" if [ $(which sshpass) ]; then sshpass -p "" ${SSH_REMOVE_OLD_TEST_RESULTS} else @@ -28,7 +28,7 @@ fi printf "Running cpp test\n" # Run the C++ Tests -deploy-and-run-test-on-robot.sh cpp "--gtest_output=xml:${DEFAULT_DESTINATION_CPP_TEST_RESULTS}" +./deploy-and-run-test-on-robot.sh cpp "--gtest_output=xml:${DEFAULT_DESTINATION_CPP_TEST_RESULTS}" # Retrive the C++ Test Results SCP_GET_CPP_TEST_RESULT="scp ${ROBOT_ADDRESS}:${DEFAULT_DESTINATION_CPP_TEST_RESULTS} ${DEFAULT_LOCAL_CPP_TEST_RESULT}" @@ -39,7 +39,7 @@ else fi # Run the Java Tests -deploy-and-run-test-on-robot.sh java +./deploy-and-run-test-on-robot.sh java # Retrive the Java Test Results SCP_GET_JAVA_TEST_RESULT="scp ${ROBOT_ADDRESS}:${DEFAULT_DESTINATION_JAVA_TEST_RESULTS} ${DEFAULT_LOCAL_JAVA_TEST_RESULT}" diff --git a/test-scripts/run-tests-on-robot.sh b/test-scripts/run-tests-on-robot.sh old mode 100644 new mode 100755 diff --git a/test-scripts/spawn_driver_station.sh b/test-scripts/spawn_driver_station.sh old mode 100644 new mode 100755 index 23e15ab67f..cd2f14b4c7 --- a/test-scripts/spawn_driver_station.sh +++ b/test-scripts/spawn_driver_station.sh @@ -21,16 +21,23 @@ fi echo $SSH_CHECK_FOR_TESTSTAND if $(eval $SSH_CHECK_FOR_TESTSTAND); then - echo "Driver STation is already running"; + echo "Driver Station is already running"; exit 0; fi echo "Starting Driver Station"; -SSH_START_TESTSTAND_DRIVER_STATION="ssh ${ROBOT_ADDRESS} '${TESTSTAND_SERVE_COMMAND}'" +function startDS { + SSH_START_TESTSTAND_DRIVER_STATION="ssh ${ROBOT_ADDRESS} ${TESTSTAND_SERVE_COMMAND}" + if [ $(which sshpass) ]; then + sshpass -p "" ${SSH_START_TESTSTAND_DRIVER_STATION} + else + eval ${SSH_START_TESTSTAND_DRIVER_STATION} + fi +} -if [ $(which sshpass) ]; then - sshpass -p "" ${SSH_START_TESTSTAND_DRIVER_STATION} & -else - eval ${SSH_START_TESTSTAND_DRIVER_STATION} & -fi \ No newline at end of file +startDS& + +sleep 1 + +exit