
Seeing failures from calibration waterfall (and fixed by crrev.com/c/3199782). Adding more conversion on the other files in the same folder. Bug: chromium:1252452 Change-Id: I58a25872c8d997f0714a769fbf0d1bd79d6fb8d4 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3202582 Commit-Queue: Wenbin Zhang <wenbinzhang@google.com> Reviewed-by: John Chen <johnchen@chromium.org> Cr-Commit-Position: refs/heads/main@{#927976}
62 lines
1.8 KiB
Python
Executable File
62 lines
1.8 KiB
Python
Executable File
#!/usr/bin/env python
|
|
# Copyright 2018 The Chromium Authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
"""Usage: run_with_dummy_home.py <command>
|
|
|
|
Helper for running a test with a dummy $HOME, populated with just enough for
|
|
tests to run and pass. Useful for isolating tests from the real $HOME, which
|
|
can contain config files that negatively affect test performance.
|
|
"""
|
|
|
|
from __future__ import print_function
|
|
|
|
import os
|
|
import shutil
|
|
import subprocess
|
|
import sys
|
|
import tempfile
|
|
|
|
|
|
def _set_up_dummy_home(original_home, dummy_home):
|
|
"""Sets up a dummy $HOME that Chromium tests can run in.
|
|
|
|
Files are copied, while directories are symlinked.
|
|
"""
|
|
for filename in ['.Xauthority']:
|
|
original_path = os.path.join(original_home, filename)
|
|
if not os.path.exists(original_path):
|
|
continue
|
|
shutil.copyfile(original_path, os.path.join(dummy_home, filename))
|
|
|
|
# Prevent fontconfig etc. from reconstructing the cache and symlink rr
|
|
# trace directory.
|
|
for dirpath in [['.cache'], ['.local', 'share', 'rr'], ['.vpython'],
|
|
['.vpython_cipd_cache'], ['.vpython-root']]:
|
|
original_path = os.path.join(original_home, *dirpath)
|
|
if not os.path.exists(original_path):
|
|
continue
|
|
dummy_parent_path = os.path.join(dummy_home, *dirpath[:-1])
|
|
if not os.path.isdir(dummy_parent_path):
|
|
os.makedirs(dummy_parent_path)
|
|
os.symlink(original_path, os.path.join(dummy_home, *dirpath))
|
|
|
|
|
|
def main():
|
|
try:
|
|
dummy_home = tempfile.mkdtemp()
|
|
print('Creating dummy home in %s' % dummy_home)
|
|
|
|
original_home = os.environ['HOME']
|
|
os.environ['HOME'] = dummy_home
|
|
_set_up_dummy_home(original_home, dummy_home)
|
|
|
|
return subprocess.call(sys.argv[1:])
|
|
finally:
|
|
shutil.rmtree(dummy_home)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
sys.exit(main())
|