DEV: Fix stylesheet manager flaky spec (#13846)

The cache_fullpath for the Stylesheet::Manager was the same for
every test runner in a parallel test environment, so when other
specs or other places e.g. the stylesheets_controller_spec ran
rm -rf Stylesheet::Manager.cache_fullpath this caused errors
for other specs running that went through the
Stylesheet::Manager::Builder#compile path, causing the error

```
Errno::ENOENT:
       No such file or directory @ rb_sysopen
```


Also fixed the stylesheet_controller which was interpolating Rails.root + CACHE_PATH
itself instead of just using Stylesheet::Manager.cache_fullpath
This commit is contained in:
Martin Brennan
2021-07-26 14:22:54 +10:00
committed by GitHub
parent 3d25572970
commit e1d2b67178
2 changed files with 4 additions and 2 deletions

View File

@ -53,7 +53,7 @@ class StylesheetsController < ApplicationController
# Security note, safe due to route constraint
underscore_digest = digest ? "_" + digest : ""
cache_path = "#{Rails.root}/#{Stylesheet::Manager::CACHE_PATH}"
cache_path = Stylesheet::Manager.cache_fullpath
location = "#{cache_path}/#{target}#{underscore_digest}#{extension}"
stylesheet_time = query.pluck_first(:created_at)