Bug 1315657: Fix web-platform tests for Linux o Taskcluster. r=rail
☠☠ backed out by d5de5a3e2d82 ☠ ☠
authorWander Lairson Costa <wcosta@mozilla.com>
Mon, 07 Nov 2016 12:00:51 -0200
changeset 348103 d89783fd81e527b8189d59a2c49ee745ef832aec
parent 348102 c5d86a74509d4c3ec16203a210d43f62e70549a9
child 348104 82a3e6d56e9fec2319795b93f905a722f19ad7bd
push id10298
push userraliiev@mozilla.com
push dateMon, 14 Nov 2016 12:33:03 +0000
treeherdermozilla-aurora@7e29173b1641 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
Bug 1315657: Fix web-platform tests for Linux o Taskcluster. r=rail Docker image for Linux tests ships minidump-stack-walk. The mozharness script finds it instead of tooltool downloaded file, and when try to give executable permission, it gets permission denied error because the file is localted outside home directory. As minidump-stack-walk already has executable permission, we skip the permission denied error. MozReview-Commit-ID: 5IyUna02iPb
--- a/testing/mozharness/mozharness/mozilla/testing/testbase.py
+++ b/testing/mozharness/mozharness/mozilla/testing/testbase.py
@@ -8,16 +8,17 @@
 import copy
 import os
 import platform
 import pprint
 import re
 import urllib2
 import json
 import socket
+import errno
 from mozharness.base.errors import BaseErrorList
 from mozharness.base.log import FATAL, WARNING
 from mozharness.base.python import (
@@ -752,17 +753,25 @@ Did you run with --create-virtualenv? Is
             except KeyError:
                 self.error('missing a required key.')
             abs_minidump_path = os.path.join(dirs['abs_work_dir'],
             if os.path.exists(abs_minidump_path):
-                self.chmod(abs_minidump_path, 0755)
+                try:
+                    self.chmod(abs_minidump_path, 0755)
+                except OSError as e:
+                    # docker image for Linux tests on Taskcluster already
+                    # ship minidump stackwalk. If mozharness finds it, it
+                    # won't have permission to modify bits. It is harmless,
+                    # however, because it already has executable permission.
+                    if e.errno != errno.EPERM:
+                        raise
                 self.minidump_stackwalk_path = abs_minidump_path
                 self.warning("minidump stackwalk path was given but couldn't be found. "
                              "Tried looking in '%s'" % abs_minidump_path)
                 # don't burn the job but we should at least turn them orange so it is caught
                 self.buildbot_status(TBPL_WARNING, WARNING)
         return self.minidump_stackwalk_path