-
Type: Bug
-
Resolution: Done
-
Priority: Minor - P4
-
Affects Version/s: None
-
Component/s: Testing Infrastructure
-
Fully Compatible
-
ALL
-
v3.4
-
-
TIG 2017-03-27
-
0
The find_last_activated_task() function script returns None when a build variant has never previously run before. This led to a transient failure when the "Enterprise Ubuntu 16.04 (Clang 3.7/libc++)" builder was added to Evergreen as part of SERVER-27434.
[2016/12/29 20:34:56.709] # Capture a list of new and modified tests. [2016/12/29 20:34:56.709] python buildscripts/burn_in_tests.py --branch=master --buildVariant=enterprise-ubuntu1604-clang-3.7-libcxx --testListOutfile=jstests/new_tests.json --noExec $burn_in_args [2016/12/29 20:35:21.843] Traceback (most recent call last): [2016/12/29 20:35:21.843] Comparing current branch against None [2016/12/29 20:35:21.843] File "buildscripts/burn_in_tests.py", line 425, in <module> [2016/12/29 20:35:21.843] main() [2016/12/29 20:35:21.843] File "buildscripts/burn_in_tests.py", line 391, in main [2016/12/29 20:35:21.843] values.check_evergreen) [2016/12/29 20:35:21.843] File "buildscripts/burn_in_tests.py", line 205, in find_changed_tests [2016/12/29 20:35:21.843] revisions = callo(["git", "rev-list", base_commit + "..." + last_activated]).splitlines() [2016/12/29 20:35:21.843] TypeError: cannot concatenate 'str' and 'NoneType' objects
I suspect the find_changed_tests() function should just be changed to default last_activated to "HEAD" when the find_last_activated_task() function returns None.
def find_changed_tests(branch_name, base_commit, max_revisions, buildvariant, check_evergreen): """ Use git to find which files have changed in this patch. TODO: This should be expanded to search for enterprise modules. """ changed_tests = [] if base_commit is None: base_commit = callo(["git", "merge-base", branch_name + "@{upstream}", "HEAD"]).rstrip() if check_evergreen: # We're going to check up to 200 commits in Evergreen for the last scheduled one. # The current commit will be activated in Evergreen; we use --skip to start at the # previous commit when trying to find the most recent preceding commit that has been # activated. revs_to_check = callo(["git", "rev-list", base_commit, "--max-count=200", "--skip=1"]).splitlines() last_activated = find_last_activated_task(revs_to_check, buildvariant, branch_name) print "Comparing current branch against", last_activated revisions = callo(["git", "rev-list", base_commit + "..." + last_activated]).splitlines() base_commit = last_activated ...
- is duplicated by
-
SERVER-28286 burn_in_tests.py can break compile when find_last_activated_task returns None
- Closed
-
SERVER-28064 buildscripts/burn_in_tests.py fails for the new build variant
- Closed