diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 80ecf7f..b892ad4 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -11,7 +11,7 @@ jobs: strategy: fail-fast: false matrix: - ruby: [ '3.1', '3.0', '2.7' ] + ruby: [ '3.2', '3.1', '3.0', '2.7' ] os: - ubuntu-latest name: Unit testing with Ruby ${{ matrix.ruby }} on ${{ matrix.os }} diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 183005d..2c39b6f 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -11,7 +11,7 @@ jobs: strategy: fail-fast: false matrix: - ruby: [ '3.1', '2.7' ] + ruby: [ '3.2', '3.1', '2.7' ] os: - windows-latest include: diff --git a/serverengine.gemspec b/serverengine.gemspec index 36d32c3..379d6da 100644 --- a/serverengine.gemspec +++ b/serverengine.gemspec @@ -21,8 +21,8 @@ Gem::Specification.new do |gem| gem.add_dependency "sigdump", ["~> 0.2.2"] # rake v12.x doesn't work with rspec 2. rspec should be updated to 3 - gem.add_development_dependency "rake", ["~> 11.0"] - gem.add_development_dependency "rspec", ["~> 2.13.0"] + gem.add_development_dependency "rake", ["~> 13.0"] + gem.add_development_dependency "rspec", ["~> 3.12.0"] gem.add_development_dependency 'rake-compiler-dock', ['~> 0.5.0'] gem.add_development_dependency 'rake-compiler', ['~> 0.9.4'] diff --git a/spec/daemon_logger_spec.rb b/spec/daemon_logger_spec.rb index 0bb19f6..aebf6b1 100644 --- a/spec/daemon_logger_spec.rb +++ b/spec/daemon_logger_spec.rb @@ -150,7 +150,7 @@ end it 'inter-process locking on rotation' do - pending "fork is not implemented in Windows" if ServerEngine.windows? + skip "fork is not implemented in Windows" if ServerEngine.windows? log = DaemonLogger.new("tmp/se4.log", level: 'trace', log_rotate_age: 3, log_rotate_size: 10) r, w = IO.pipe @@ -175,7 +175,7 @@ end it 'reopen log when path is renamed' do - pending "rename isn't supported on windows" if ServerEngine.windows? + skip "rename isn't supported on windows" if ServerEngine.windows? log = DaemonLogger.new("tmp/rotate.log", { level: 'info', log_rotate_age: 0 }) diff --git a/spec/daemon_spec.rb b/spec/daemon_spec.rb index 89f142e..33cb8b4 100644 --- a/spec/daemon_spec.rb +++ b/spec/daemon_spec.rb @@ -11,7 +11,7 @@ end it 'run and graceful stop by signal' do - pending "not supported signal base commands on Windows" if ServerEngine.windows? + skip "not supported signal base commands on Windows" if ServerEngine.windows? dm = Daemon.new(TestServer, TestWorker, daemonize: true, pid_path: "tmp/pid", command_sender: "signal") dm.main @@ -33,7 +33,7 @@ end it 'signals' do - pending "not supported signal base commands on Windows" if ServerEngine.windows? + skip "not supported signal base commands on Windows" if ServerEngine.windows? dm = Daemon.new(TestServer, TestWorker, daemonize: true, pid_path: "tmp/pid", command_sender: "signal") dm.main @@ -112,7 +112,7 @@ end it 'exits with status 0 when it was stopped normally' do - pending "worker type process(fork) cannot be used in Windows" if ServerEngine.windows? + skip "worker type process(fork) cannot be used in Windows" if ServerEngine.windows? dm = Daemon.new( TestServer, TestWorker, @@ -135,7 +135,7 @@ end it 'exits with status of workers if worker exits with status specified in unrecoverable_exit_codes, without supervisor' do - pending "worker type process(fork) cannot be used in Windows" if ServerEngine.windows? + skip "worker type process(fork) cannot be used in Windows" if ServerEngine.windows? dm = Daemon.new( TestServer, @@ -159,7 +159,7 @@ end it 'exits with status of workers if worker exits with status specified in unrecoverable_exit_codes, with supervisor' do - pending "worker type process(fork) cannot be used in Windows" if ServerEngine.windows? + skip "worker type process(fork) cannot be used in Windows" if ServerEngine.windows? dm = Daemon.new( TestServer, diff --git a/spec/multi_process_server_spec.rb b/spec/multi_process_server_spec.rb index 0fe398b..ca7be44 100644 --- a/spec/multi_process_server_spec.rb +++ b/spec/multi_process_server_spec.rb @@ -17,7 +17,7 @@ end it 'scale up' do - pending "Windows environment does not support fork" if ServerEngine.windows? && impl_class == ServerEngine::MultiProcessServer + skip "Windows environment does not support fork" if ServerEngine.windows? && impl_class == ServerEngine::MultiProcessServer config = { workers: 2, @@ -50,7 +50,7 @@ end it 'scale down' do - pending "Windows environment does not support fork" if ServerEngine.windows? && impl_class == ServerEngine::MultiProcessServer + skip "Windows environment does not support fork" if ServerEngine.windows? && impl_class == ServerEngine::MultiProcessServer config = { workers: 2, @@ -98,7 +98,7 @@ end it 'raises SystemExit when all workers exit with specified code by unrecoverable_exit_codes' do - pending "Windows environment does not support fork" if ServerEngine.windows? && impl_class == ServerEngine::MultiProcessServer + skip "Windows environment does not support fork" if ServerEngine.windows? && impl_class == ServerEngine::MultiProcessServer config = { workers: 4, @@ -127,7 +127,7 @@ end it 'raises SystemExit immediately when a worker exits if stop_immediately_at_unrecoverable_exit specified' do - pending "Windows environment does not support fork" if ServerEngine.windows? && impl_class == ServerEngine::MultiProcessServer + skip "Windows environment does not support fork" if ServerEngine.windows? && impl_class == ServerEngine::MultiProcessServer config = { workers: 4, @@ -172,7 +172,7 @@ end it 'stop' do - pending "Windows environment does not support fork" if ServerEngine.windows? + skip "Windows environment does not support fork" if ServerEngine.windows? config = { workers: 1, @@ -197,7 +197,7 @@ end it 'non zero exit status' do - pending "Windows environment does not support fork" if ServerEngine.windows? + skip "Windows environment does not support fork" if ServerEngine.windows? config = { workers: 1, @@ -232,7 +232,7 @@ def initialize end it 'zero exit status' do - pending "Windows environment does not support fork" if ServerEngine.windows? + skip "Windows environment does not support fork" if ServerEngine.windows? config = { workers: 1, diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 7e1abc4..101c320 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -1,9 +1,6 @@ require 'bundler' require 'rspec' - -RSpec.configure do |config| - config.color_enabled = true -end +require 'fileutils' begin Bundler.setup(:default, :test) diff --git a/spec/supervisor_spec.rb b/spec/supervisor_spec.rb index 3071999..d0f2bb0 100644 --- a/spec/supervisor_spec.rb +++ b/spec/supervisor_spec.rb @@ -90,7 +90,7 @@ def start_daemon(**config) context "when using #{sender} as command_sender" do it 'start and graceful stop' do - pending 'not supported on Windows' if ServerEngine.windows? && sender == 'signal' + skip 'not supported on Windows' if ServerEngine.windows? && sender == 'signal' sv, t = start_supervisor(command_sender: sender) @@ -113,7 +113,7 @@ def start_daemon(**config) end it 'immediate stop' do - pending 'not supported on Windows' if ServerEngine.windows? && sender == 'signal' + skip 'not supported on Windows' if ServerEngine.windows? && sender == 'signal' sv, t = start_supervisor(command_sender: sender) @@ -131,7 +131,7 @@ def start_daemon(**config) end it 'graceful restart' do - pending 'not supported on Windows' if ServerEngine.windows? && sender == 'signal' + skip 'not supported on Windows' if ServerEngine.windows? && sender == 'signal' sv, t = start_supervisor(command_sender: sender) @@ -155,7 +155,7 @@ def start_daemon(**config) end it 'immediate restart' do - pending 'not supported on Windows' if ServerEngine.windows? && sender == 'signal' + skip 'not supported on Windows' if ServerEngine.windows? && sender == 'signal' sv, t = start_supervisor(command_sender: sender) @@ -179,7 +179,7 @@ def start_daemon(**config) end it 'reload' do - pending 'not supported on Windows' if ServerEngine.windows? && sender == 'signal' + skip 'not supported on Windows' if ServerEngine.windows? && sender == 'signal' sv, t = start_supervisor(command_sender: sender) @@ -200,7 +200,7 @@ def start_daemon(**config) # TODO detach it 'auto restart in limited ratio' do - pending 'not supported on Windows' if ServerEngine.windows? && sender == 'signal' + skip 'not supported on Windows' if ServerEngine.windows? && sender == 'signal' RR.stub(ServerEngine).dump_uncaught_error