discourse/spec
Alan Guo Xiang Tan 8b3eca056b
DEV: Fix chromedriver binary errors when running system tests in parallel (#23122)
What is the problem here?

The `selenium-webdriver` gem is responsible for downloading the
right version of the `chromedriver` binary and it downloads it into the
`~/.cache/selenium` folder. THe problem here is that when a user runs `bin/turbo_rspec spec/system`
for the first time, all of the processes will try to download the
`chromedriver` binary to the same path at the same time and will lead
to concurrency errors.

What is the fix here?

Before running any RSpec suite, we first check if the `.cache/selenium`
folder is present. If it is not present, we use a file system lock to
download the `chromedriver` binary such that other processes that runs
after will not need to install the `chromedriver` binary.

The long term fix here is to get `selenium-manager` to download the `chromedriver` binary to a unique path for each
process but the `--cache-path` option for `selenium-manager` is currently not supported in `selenium-webdriver`.
2023-08-17 12:53:40 +08:00
..
fabricators DEV: find_each in CSV exports (#22573) 2023-08-17 12:33:52 +10:00
fixtures FIX: ensures generic onebox has width/height for thumbnail (#23040) 2023-08-09 20:31:11 +02:00
helpers DEV: Replace #pluck_first freedom patch with AR #pick in core (#19893) 2023-02-13 12:39:45 +08:00
import_export DEV: Apply syntax_tree formatting to `spec/*` 2023-01-09 11:49:28 +00:00
initializers DEV: Fix test (#22018) 2023-06-08 16:12:13 -05:00
integration DEV: Update the rubocop-discourse gem 2023-06-26 11:41:52 +02:00
integrity DEV: Remove enable_experimental_hashtag_autocomplete logic (#22820) 2023-08-08 11:18:55 +10:00
jobs FIX: TopicSummarization workaround for Postgres' discrete range types (#23105) 2023-08-15 14:16:06 -03:00
lib FIX: TopicSummarization workaround for Postgres' discrete range types (#23105) 2023-08-15 14:16:06 -03:00
mailers FIX: Order tags shown in email subject by topics count and name (#22586) 2023-07-13 15:39:58 +08:00
models FIX: increase sidebar URL limit to 1000 (#23120) 2023-08-17 14:46:24 +10:00
multisite DEV: Remove Discourse.redis.delete_prefixed (#22103) 2023-06-16 12:44:35 +10:00
requests FIX: TopicSummarization workaround for Postgres' discrete range types (#23105) 2023-08-15 14:16:06 -03:00
script/import_scripts DEV: Fix flaky core backend spec (#22650) 2023-07-18 07:01:19 +08:00
serializers FIX: Missing pending queued posts from topic view (#22838) 2023-07-28 16:16:23 +00:00
services FIX: TopicSummarization workaround for Postgres' discrete range types (#23105) 2023-08-15 14:16:06 -03:00
support FEATURE: Stream topic summaries. (#23065) 2023-08-11 15:08:49 -03:00
system DEV: find_each in CSV exports (#22573) 2023-08-17 12:33:52 +10:00
tasks FEATURE: do not bump topics when retroactively closing (#23115) 2023-08-16 11:20:47 +10:00
views DEV: Fix random typos (#22078) 2023-06-13 22:02:21 +02:00
rails_helper.rb DEV: Fix chromedriver binary errors when running system tests in parallel (#23122) 2023-08-17 12:53:40 +08:00
regenerate_swagger_docs DEV: Add API docs for uploads and API doc watcher (#15387) 2021-12-23 08:40:15 +10:00
swagger_helper.rb DEV: Apply syntax_tree formatting to `spec/*` 2023-01-09 11:49:28 +00:00