diff options
author | Jonathan Abrahams <jonathan@mongodb.com> | 2016-10-14 16:14:02 -0400 |
---|---|---|
committer | Jonathan Abrahams <jonathan@mongodb.com> | 2016-10-14 16:14:02 -0400 |
commit | f6aee8e582f37f039ff588e42bd95efbafbda924 (patch) | |
tree | bbd3d41dd0f827fd6924265ef69e4efa9acc8898 | |
parent | f3ab276dbbbc1a96d76d49373fa04e0a20f01cd6 (diff) | |
download | mongo-f6aee8e582f37f039ff588e42bd95efbafbda924.tar.gz |
SERVER-26633 Distinguish Jepsen test failures from setup failures
-rw-r--r-- | etc/evergreen.yml | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/etc/evergreen.yml b/etc/evergreen.yml index 5d8c94f6d18..00efc64530b 100644 --- a/etc/evergreen.yml +++ b/etc/evergreen.yml @@ -513,7 +513,7 @@ functions: script: | set -o verbose start_time=$(date +%s) - lein run --tarball "file:///root/mongo-binaries.tgz" ${jepsen_key_time_limit} ${jepsen_protocol_version} ${jepsen_read_concern} ${jepsen_read_with_find_and_modify} ${jepsen_storage_engine} ${jepsen_time_limit} ${jepsen_write_concern} + lein run --tarball "file:///root/mongo-binaries.tgz" ${jepsen_key_time_limit} ${jepsen_protocol_version} ${jepsen_read_concern} ${jepsen_read_with_find_and_modify} ${jepsen_storage_engine} ${jepsen_time_limit} ${jepsen_write_concern} 2>&1 | tee jepsen_${task_name}_${execution}.log exit_code=$? end_time=$(date +%s) elapsed_secs=$((end_time-start_time)) @@ -521,12 +521,28 @@ functions: status='"pass"' failures=0 else - status='"fail"' - failures=1 + grep -q "Analysis invalid" jepsen_${task_name}_${execution}.log + if [ $? -eq 0 ]; then + status='"fail"' + failures=1 + else + # If the failure is due to setup, then this is considered a system failure. + echo $exit_code > jepsen_system_failure_${task_name}_${execution} + exit 0 + fi fi # Create report.json echo "{\"failures\": $failures, \"results\": [{\"status\": $status, \"exit_code\": $exit_code, \"test_file\": \"${task_name}\", \"start\": $start_time, \"end\": $end_time, \"elapsed\": $elapsed_secs}]}" > ../../report.json exit $exit_code + - command: shell.exec + params: + working_dir: src/jepsen/mongodb + script: | + set -o verbose + # Jepsen system failure if file exists. + if [ -f jepsen_systemfailure_${task_name}_${execution} ]; then + exit $(cat jepsen_system_failure_${task_name}_${execution}) + fi "run jstestfuzz": - command: shell.exec |