Module: Polyrun::Minitest

Defined in:
lib/polyrun/minitest.rb

Overview

Optional Minitest-oriented wiring (require polyrun/minitest explicitly).

Does not load the minitest gem. Call Minitest.install_parallel_provisioning! from test/test_helper.rb after Rails / DB configuration (same timing as a direct call to Data::ParallelProvisioning.run_suite_hooks!).

Defined Under Namespace

Modules: WorkerPingTestHook

Class Method Summary collapse

Class Method Details

.install_parallel_provisioning!Object

Runs Data::ParallelProvisioning.run_suite_hooks! (serial vs shard worker hooks).



34
35
36
# File 'lib/polyrun/minitest.rb', line 34

def install_parallel_provisioning!
  Polyrun::Data::ParallelProvisioning.run_suite_hooks!
end

.install_worker_ping!Object

Same ping semantics as RSpec.install_worker_ping!: ping! at test setup and teardown. Requires minitest to be loaded first (Minitest::Test defined).



40
41
42
43
44
45
46
47
48
49
# File 'lib/polyrun/minitest.rb', line 40

def install_worker_ping!
  require_relative "worker_ping"
  unless defined?(::Minitest::Test)
    Polyrun::Log.warn "polyrun minitest: install_worker_ping! skipped (load minitest/autorun or minitest/test first)"
    return
  end

  ::Minitest::Test.send(:prepend, WorkerPingTestHook)
  Polyrun::WorkerPing.ensure_interval_ping_thread!
end