• Erik Chen's avatar
    Make fontconfig cache construction deterministic...for now. · a48130cf
    Erik Chen authored
    We currently front-load construction of the font cache [which takes 600ms] from
    test run time to compile time. This saves 600ms on each test shard which uses
    the font cache. The problem is that fontconfig cache construction is not
    intended to be deterministic.
    
    This CL sets some external state to ensure deterministic output. We have no way
    of guaranteeing that this produces correct results, or even has the intended
    effect. I personally think we should get rid of this step entirely. The time
    saved per test shard is not worth the developer time it takes to try to make
    fontconfig cache output deterministic.
    
    This CL makes two changes:
      * Pregenerates a fixed uuid in the test_fonts directory.
      * Sets the mtime of the test_fonts directory to a date far in the past.
    
    This CL also fixes the gn steps to correctly specify data outputs so the isolate
    will actually pick up all the output.
    
    Future rolls of fontconfig may break build determinism again. Hopefully
    https://bugs.chromium.org/p/chromium/issues/detail?id=870731 will be fixed by
    then so that this will be caught by the CQ/waterfall.
    
    Change-Id: I89180cd3645ced2f83513c796195977f865df42c
    Bug: 870622
    Reviewed-on: https://chromium-review.googlesource.com/1161969
    Commit-Queue: Erik Chen <erikchen@chromium.org>
    Reviewed-by: default avatarThomas Anderson <thomasanderson@chromium.org>
    Reviewed-by: default avatarNico Weber <thakis@chromium.org>
    Reviewed-by: default avatarTakuto Ikuta <tikuta@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#580715}
    a48130cf
generate_fontconfig_caches.cc 2.35 KB