Sha256: 4f79a7e776527a7c1433e906d73b1062b8d539d55eb22d44e0b1fcfb74470e88

Contents?: true

Size: 794 Bytes

Versions: 61

Compression:

Stored size: 794 Bytes

Contents

# frozen_string_literal: true

require_relative 'helper'

class ProcessSupervisionTest < MiniTest::Test
  def test_process_supervisor_with_block
    i, o = IO.pipe

    f = spin do
      Polyphony.watch_process do
        i.close
        sleep 5
      ensure
        o << 'foo'
        o.close
      end
      supervise(on_error: :restart)
    end

    sleep 0.05
    f.terminate
    f.await

    o.close
    msg = i.read
    i.close
    assert_equal 'foo', msg
  end

  def test_process_supervisor_with_cmd
    fn = '/tmp/test_process_supervisor_with_cmd'
    FileUtils.rm(fn) rescue nil

    f = spin do
      Polyphony.watch_process("echo foo >> #{fn}")
      supervise(on_error: :restart)
    end

    sleep 0.05
    f.terminate
    f.await

    assert_equal "foo\n", IO.read(fn)

  end
end

Version data entries

61 entries across 61 versions & 1 rubygems

Version Path
polyphony-0.69 test/test_process_supervision.rb
polyphony-0.68 test/test_process_supervision.rb
polyphony-0.67 test/test_process_supervision.rb
polyphony-0.66 test/test_process_supervision.rb
polyphony-0.65 test/test_process_supervision.rb
polyphony-0.64 test/test_process_supervision.rb
polyphony-0.63 test/test_process_supervision.rb
polyphony-0.62 test/test_process_supervision.rb
polyphony-0.61 test/test_process_supervision.rb
polyphony-0.60 test/test_process_supervision.rb
polyphony-0.59.1 test/test_process_supervision.rb
polyphony-0.59 test/test_process_supervision.rb
polyphony-0.58 test/test_process_supervision.rb
polyphony-0.57.0 test/test_process_supervision.rb
polyphony-0.56.0 test/test_process_supervision.rb
polyphony-0.55.0 test/test_process_supervision.rb
polyphony-0.54.0 test/test_process_supervision.rb
polyphony-0.53.2 test/test_process_supervision.rb
polyphony-0.53.1 test/test_process_supervision.rb
polyphony-0.53.0 test/test_process_supervision.rb