Sha256: 2b2fbf908d17b64594a673ece35020dfc55dcfaf2b0521b97fdf85ddec4dbf86

Contents?: true

Size: 1.23 KB

Versions: 21

Compression:

Stored size: 1.23 KB

Contents

# frozen_string_literal: true

require_relative 'helper'

class KernelTest < MiniTest::Test
  def test_system_method
    fn = '/tmp/test_system_method'
    FileUtils.rm(fn) rescue nil

    counter = 0
    timer = spin { throttled_loop(200) { counter += 1 } }

    system('sleep 0.01')
    assert(counter >= 2)

    system('echo "hello" > ' + fn)
    assert_equal "hello\n", IO.read(fn)
  ensure
    timer&.stop
  end

  def test_Kernel_system_singleton_method
    assert_equal true, Kernel.system("which ruby > /dev/null 2>&1")
    assert_equal false, Kernel.system("which rruubbyy > /dev/null 2>&1")
  end

  def patch_open3
    class << Open3
      alias_method :orig_popen2, :popen2
      def popen2(*args)
        raise SystemCallError, 'foo'
      end
    end
  end

  def unpatch_open3
    class << Open3
      alias_method :popen2, :orig_popen2
    end
  end

  def test_system_method_with_system_call_error
    patch_open3
    result = system('foo')
    assert_nil result
  ensure
    unpatch_open3
  end

  def test_backtick_method
    counter = 0
    timer = spin { throttled_loop(200) { counter += 1 } }

    `sleep 0.01`
    assert(counter >= 2)

    result = `echo "hello"`
    assert_equal "hello\n", result
  ensure
    timer&.stop
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
polyphony-0.51.0 test/test_kernel.rb
polyphony-0.50.1 test/test_kernel.rb
polyphony-0.50.0 test/test_kernel.rb
polyphony-0.49.2 test/test_kernel.rb
polyphony-0.49.1 test/test_kernel.rb
polyphony-0.49.0 test/test_kernel.rb
polyphony-0.48.0 test/test_kernel.rb
polyphony-0.47.5.1 test/test_kernel.rb
polyphony-0.47.5 test/test_kernel.rb
polyphony-0.47.4 test/test_kernel.rb
polyphony-0.47.3 test/test_kernel.rb
polyphony-0.47.2 test/test_kernel.rb
polyphony-0.47.1 test/test_kernel.rb
polyphony-0.47.0 test/test_kernel.rb
polyphony-0.46.1 test/test_kernel.rb
polyphony-0.46.0 test/test_kernel.rb
polyphony-0.45.5 test/test_kernel.rb
polyphony-0.45.4 test/test_kernel.rb
polyphony-0.45.2 test/test_kernel.rb
polyphony-0.45.1 test/test_kernel.rb