summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYves Duhem <yves.duhem@mongodb.com>2018-01-17 17:02:52 -0500
committerYves Duhem <yves.duhem@mongodb.com>2018-01-17 17:02:52 -0500
commit0006869bf571ef76636a3cc75b033de4e6f168c6 (patch)
treeb206790c4cdf140e36a521b358a8f29eb8f49e83
parent903bbae76a2c690a7e91c9acaaa07648e4448ff9 (diff)
downloadmongo-0006869bf571ef76636a3cc75b033de4e6f168c6.tar.gz
SERVER-30565 Move burn_in_tests.py invocation out of compile task
(cherry picked from commit 7969a3e83d918a9a3ccaae65c6509b1abad4b34e) Also includes the following related fix: SERVER-30634 Fix burn_in_tests test detection on Windows (cherry picked from commit 6b815203b752f4a1e1f8f810b7dda5e0a331b4ea)
-rw-r--r--etc/evergreen.yml39
1 files changed, 31 insertions, 8 deletions
diff --git a/etc/evergreen.yml b/etc/evergreen.yml
index 3d62987e75a..4aee63f0e35 100644
--- a/etc/evergreen.yml
+++ b/etc/evergreen.yml
@@ -1278,14 +1278,6 @@ tasks:
${strip_command|/usr/bin/strip} mongobridge
fi
- # If this is a scheduled build, we check for changes against the last scheduled commit.
- if [ "${is_patch}" != "true" ]; then
- burn_in_args="--checkEvergreen"
- fi
-
- # Capture a list of new and modified tests.
- ${python|/opt/mongodbtoolchain/v2/bin/python2} buildscripts/burn_in_tests.py --branch=${branch_name} --buildVariant=${build_variant} --testListOutfile=jstests/new_tests.json --noExec $burn_in_args
-
# On windows we need to make sure the paths in unittests.txt are compatible with cygwin tar
sed 's|\\|/|g' build/unittests.txt > build/unittests-tarlist.txt
${tar|tar} -czvf mongodb-unittests.tgz -T build/unittests-tarlist.txt build/unittests.txt
@@ -1422,7 +1414,38 @@ tasks:
depends_on:
- name: compile
commands:
+ - command: git.get_project
+ # The repository is cloned in a directory distinct from src for the modified test detection
+ # because the extraction of the artifacts performed in the 'do setup' causes
+ # 'git diff --name-only' to see all tests as modified on Windows (git 1.9.5). See SERVER-30634.
+ params:
+ directory: burn_in_tests_clonedir
+ revisions: # for each module include revision as <module_name> : ${<module_name>_rev}
+ enterprise: ${enterprise_rev}
+ - command: shell.exec
- func: "do setup"
+ - func: "set up virtualenv"
+ - command: shell.exec
+ params:
+ working_dir: burn_in_tests_clonedir
+ script: |
+ set -o errexit
+ # Create a symbolic link to the venv in the src directory so activate_virtualenv can use it
+ # if it exists.
+ ln -s ../src/venv venv
+ ${activate_virtualenv}
+ set -o verbose
+ # If this is a scheduled build, we check for changes against the last scheduled commit.
+ if [ "${is_patch}" != "true" ]; then
+ burn_in_args="--checkEvergreen"
+ fi
+ # Copy the dbtest executable from the src dir because burn_in_tests.py calls it to get the
+ # list of dbtest suites.
+ cp ../src/dbtest${exe} .
+ # Capture a list of new and modified tests.
+ ${python|/opt/mongodbtoolchain/v2/bin/python2} buildscripts/burn_in_tests.py --branch=${branch_name} --buildVariant=${build_variant} --testListOutfile=jstests/new_tests.json --noExec $burn_in_args
+ # Copy the results to the src dir.
+ cp jstests/new_tests.json ../src/jstests/new_tests.json
- func: "do multiversion setup"
- func: "run tests"
vars: