Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(402)

Unified Diff: third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/port/linux.py

Issue 2859703002: webkitpy: Override TEMPDIR for Xvfb. (Closed)
Patch Set: Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/port/linux.py
diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/port/linux.py b/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/port/linux.py
index d0c6bbd325e86c278c582898714ffe473bc9d302..3e76cea94628ed12b153328399943da099c89ffe 100644
--- a/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/port/linux.py
+++ b/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/port/linux.py
@@ -157,12 +157,24 @@ class LinuxPort(base.Port):
_log.warn('Failed to find a free display to start Xvfb.')
return
+ # Parts of Xvfb use a hard-coded "/tmp" for its temporary directory.
+ # This can cause a failure when those parts expect to hardlink against
+ # files that were created in "TEMPDIR" / "TMPDIR".
+ #
+ # Since altering this behavior requires an Xvfb patch or some deep
+ # surgery, we instead opt to use the system "TEMPDIR" for this specific
+ # process.
mithro 2017/05/03 01:58:34 Don't need this second paragraph.
dnj 2017/05/03 03:36:36 Done.
+ #
+ # See: crbug.com/715848
mithro 2017/05/03 01:58:34 https://crbug.com/XXXXX
dnj 2017/05/03 03:36:36 Done.
+ env = self.host.environ.copy()
+ env['TEMPDIR'] = env['TMPDIR'] = '/tmp'
mithro 2017/05/03 01:58:34 Can you log a warning if 'TEMPDIR' is set in the e
iannucci 2017/05/03 02:06:36 Actually... Why set TEMPDIR? That's only used on w
dnj 2017/05/03 03:36:36 I can - however, this will generally not be set on
dnj 2017/05/03 03:36:36 I was overriding everything I saw in the log vars,
+
_log.info('Starting Xvfb with display "%s".', display)
self._xvfb_stdout = tempfile.NamedTemporaryFile(delete=False)
self._xvfb_stderr = tempfile.NamedTemporaryFile(delete=False)
self._xvfb_process = self.host.executive.popen(
['Xvfb', display, '-screen', '0', '1280x800x24', '-ac', '-dpi', '96'],
- stdout=self._xvfb_stdout, stderr=self._xvfb_stderr)
+ stdout=self._xvfb_stdout, stderr=self._xvfb_stderr, env=env)
# By setting DISPLAY here, the individual worker processes will
# get the right DISPLAY. Note, if this environment could be passed
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698