run-webkit-tests fails to create user's cache directory when System Integrity Protect...
authordbates@webkit.org <dbates@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 31 Mar 2016 23:45:54 +0000 (23:45 +0000)
committerdbates@webkit.org <dbates@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 31 Mar 2016 23:45:54 +0000 (23:45 +0000)
commitb4a3e006859e0517e2e8a50acb56578287aac81d
tree3e599a34c1323f96cf79dea182e759faadc24c7a
parent971df546316c3e73b26300c2a348ac9cde15e2a3
run-webkit-tests fails to create user's cache directory when System Integrity Protection is enabled
https://bugs.webkit.org/show_bug.cgi?id=156071
<rdar://problem/25467827>

Reviewed by Brent Fulgham.

Fixes an issue where run-webkit-tests will fail to create the suffixed user's cache directory
on non-Apple Internal machines with System Integrity Protection enabled because the OS only
honors the suffix, specified by the environment variable DIRHELPER_USER_DIR_SUFFIX, in
privileged processes. And python(1) does not have sufficient privileges. As a workaround for
systems that have System Integrity Protection enabled we compute the path to the suffixed
user's cache directory by hand.

Additionally, fix an issue where the user's cache directory created by run-webkit-test was
never deleted on cessation of the test run.

* Scripts/webkitpy/port/driver.py:
(Driver._start): Actually store the path to the user's cache directory in self._driver_user_cache_directory
so that we can delete this directory on cessation of the test run.
* Scripts/webkitpy/port/mac.py:
(MacPort):
(MacPort._path_to_user_cache_directory): Unset the environment variable DIRHELPER_USER_DIR_SUFFIX (if set),
query the OS for the path to the user's cache directory and concatenate this path with the
specified suffix.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@198930 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Tools/ChangeLog
Tools/Scripts/webkitpy/port/driver.py
Tools/Scripts/webkitpy/port/mac.py