42 lines
1.4 KiB
Python
42 lines
1.4 KiB
Python
# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
import utils
|
|
from autotest_lib.client.bin import test
|
|
from autotest_lib.client.common_lib import autotemp
|
|
|
|
class desktopui_FontCache(test.test):
|
|
version = 1
|
|
_mounted = False
|
|
_new_cache = None
|
|
_FONTCACHE = "/usr/share/cache/fontconfig"
|
|
|
|
|
|
def _mount_cache(self):
|
|
utils.system("mount -n --bind %s %s" % (self._new_cache.name,
|
|
self._FONTCACHE))
|
|
self._mounted = True
|
|
|
|
def _unmount_cache(self):
|
|
if self._mounted:
|
|
utils.system("umount -n %s" % self._FONTCACHE)
|
|
self._mounted = False
|
|
|
|
def cleanup(self):
|
|
self._unmount_cache()
|
|
if self._new_cache:
|
|
self._new_cache.clean()
|
|
|
|
|
|
def run_once(self):
|
|
self._new_cache = autotemp.tempdir(unique_id="new-font-cache")
|
|
# Generate a new cache and compare it to the existing cache. Ideally, we
|
|
# would simply point fc-cache to a new cache location, however, that
|
|
# doesn't seem possible. So, just bind mount the existing cache location
|
|
# out of rootfs temporarily.
|
|
self._mount_cache()
|
|
utils.system("fc-cache -fv")
|
|
self._unmount_cache()
|
|
utils.system("diff -qr %s %s" % (self._FONTCACHE, self._new_cache.name))
|