2019-05-02 17:17:27 -05:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2023-01-07 05:59:28 -06:00
|
|
|
if ENV["DISCOURSE_DUMP_HEAP"] == "1"
|
|
|
|
require "objspace"
|
2016-06-09 22:00:15 -05:00
|
|
|
ObjectSpace.trace_object_allocations_start
|
2014-12-07 16:54:35 -06:00
|
|
|
end
|
|
|
|
|
2023-01-07 05:59:28 -06:00
|
|
|
require "rubygems"
|
2013-02-05 13:16:51 -06:00
|
|
|
|
|
|
|
# Set up gems listed in the Gemfile.
|
2023-01-07 05:59:28 -06:00
|
|
|
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile", __FILE__)
|
2013-02-05 13:16:51 -06:00
|
|
|
|
2023-01-07 05:59:28 -06:00
|
|
|
require "bundler/setup" if File.exist?(ENV["BUNDLE_GEMFILE"])
|
2017-04-25 12:15:12 -05:00
|
|
|
|
2023-01-07 05:59:28 -06:00
|
|
|
if (ENV["DISABLE_BOOTSNAP"] != "1")
|
2018-02-25 17:29:25 -06:00
|
|
|
begin
|
2024-02-18 21:33:52 -06:00
|
|
|
require "bootsnap/setup"
|
2018-02-25 17:29:25 -06:00
|
|
|
rescue LoadError
|
|
|
|
# not a strong requirement
|
|
|
|
end
|
2017-04-25 12:15:12 -05:00
|
|
|
end
|
2019-04-01 03:27:49 -05:00
|
|
|
|
|
|
|
# Parallel spec system
|
2023-01-07 05:59:28 -06:00
|
|
|
if ENV["RAILS_ENV"] == "test" && ENV["TEST_ENV_NUMBER"]
|
|
|
|
if ENV["TEST_ENV_NUMBER"] == ""
|
2019-06-20 19:59:01 -05:00
|
|
|
n = 1
|
|
|
|
else
|
2023-01-07 05:59:28 -06:00
|
|
|
n = ENV["TEST_ENV_NUMBER"].to_i
|
2019-06-20 19:59:01 -05:00
|
|
|
end
|
|
|
|
|
2023-01-07 05:59:28 -06:00
|
|
|
port = 10_000 + n
|
2019-04-01 03:27:49 -05:00
|
|
|
|
2019-06-20 19:59:01 -05:00
|
|
|
STDERR.puts "Setting up parallel test mode - starting Redis #{n} on port #{port}"
|
2019-04-01 03:27:49 -05:00
|
|
|
|
|
|
|
`rm -rf tmp/test_data_#{n} && mkdir -p tmp/test_data_#{n}/redis`
|
2023-01-07 05:59:28 -06:00
|
|
|
pid =
|
|
|
|
Process.spawn("redis-server --dir tmp/test_data_#{n}/redis --port #{port}", out: "/dev/null")
|
2019-04-01 03:27:49 -05:00
|
|
|
|
|
|
|
ENV["DISCOURSE_REDIS_PORT"] = port.to_s
|
2022-08-04 16:15:06 -05:00
|
|
|
ENV["RAILS_DB"] = "discourse_test_#{n}"
|
2019-04-01 03:27:49 -05:00
|
|
|
|
2019-06-21 04:30:51 -05:00
|
|
|
at_exit do
|
|
|
|
Process.kill("SIGTERM", pid)
|
|
|
|
Process.wait
|
|
|
|
end
|
2019-04-01 03:27:49 -05:00
|
|
|
end
|