LEFT | RIGHT |
1 #!/bin/bash | 1 #!/bin/bash |
2 # | 2 # |
3 # Script to run end-to-end tests on Ubuntu Jenkins instance. | 3 # Script to run end-to-end tests on Ubuntu Jenkins instance. |
4 | 4 |
5 CONFIGURATION_FILE="${JOB_NAME}.ini"; | 5 # Fail on error. |
| 6 set -e |
| 7 |
| 8 CONFIGURATION=$1; |
| 9 |
| 10 CONFIGURATION_FILE="${CONFIGURATION}.ini"; |
6 | 11 |
7 SOURCES_DIRECTORY="/media/greendale_images"; | 12 SOURCES_DIRECTORY="/media/greendale_images"; |
8 REFERENCES_DIRECTORY="/media/greendale_images"; | 13 REFERENCES_DIRECTORY="/media/greendale_images"; |
| 14 |
9 RESULTS_DIRECTORY="plaso-out"; | 15 RESULTS_DIRECTORY="plaso-out"; |
10 | 16 |
11 ./config/linux/gift_ppa_install.sh include-test; | 17 ./config/linux/gift_ppa_install.sh include-test; |
12 | 18 |
13 mkdir -p ${RESULTS_DIRECTORY}; | 19 # Change path to test this script on Travis-CI. |
| 20 if test ${CONFIGURATION} = 'travis'; |
| 21 then |
| 22 » SOURCES_DIRECTORY="test_data"; |
| 23 » REFERENCES_DIRECTORY="test_data/end_to_end"; |
| 24 » CONFIGURATION_FILE="config/jenkins/${CONFIGURATION_FILE}"; |
| 25 fi |
| 26 |
| 27 mkdir -p ${RESULTS_DIRECTORY} ${RESULTS_DIRECTORY}/profiling; |
14 | 28 |
15 if ! test -f ${CONFIGURATION_FILE}; | 29 if ! test -f ${CONFIGURATION_FILE}; |
16 then | 30 then |
17 CONFIGURATION_FILE="config/jenkins/greendale/${CONFIGURATION_FILE}"; | 31 CONFIGURATION_FILE="config/jenkins/greendale/${CONFIGURATION_FILE}"; |
18 fi | 32 fi |
19 | 33 |
20 PYTHONPATH=. ./tests/end-to-end.py --config ${CONFIGURATION_FILE} --sources-dire
ctory ${SOURCES_DIRECTORY} --tools-directory ./tools --results-directory ${RESUL
TS_DIRECTORY} --references-directory ${REFERENCES_DIRECTORY}; | 34 PYTHONPATH=. ./utils/check_dependencies.py |
| 35 |
| 36 # Start the end-to-end tests in the background so we can capture the PID of |
| 37 # the process while the script is running. |
| 38 PYTHONPATH=. ./tests/end-to-end.py --config ${CONFIGURATION_FILE} --sources-dire
ctory ${SOURCES_DIRECTORY} --tools-directory ./tools --results-directory ${RESUL
TS_DIRECTORY} --references-directory ${REFERENCES_DIRECTORY} & |
| 39 |
| 40 PID_COMMAND=$!; |
| 41 |
| 42 echo "End-to-end tests started (PID: ${PID_COMMAND})"; |
| 43 |
| 44 wait ${PID_COMMAND}; |
| 45 |
| 46 RESULT=$?; |
| 47 |
| 48 # On Travis-CI print the stdout and stderr output to troubleshoot potential issu
es. |
| 49 if test ${CONFIGURATION} = 'travis'; |
| 50 then |
| 51 » for FILE in `find ${RESULTS_DIRECTORY} -name \*.out -type f`; |
| 52 » do |
| 53 » » echo "stdout file: ${FILE}"; |
| 54 » » cat ${FILE}; |
| 55 » » echo ""; |
| 56 » done |
| 57 |
| 58 » for FILE in `find ${RESULTS_DIRECTORY} -name \*.err -type f`; |
| 59 » do |
| 60 » » echo "stderr file: ${FILE}"; |
| 61 » » cat ${FILE}; |
| 62 » » echo ""; |
| 63 » done |
| 64 fi |
| 65 |
| 66 exit ${RESULT}; |
LEFT | RIGHT |