Sha256: 97bd2a3c51c5a4d137c49fc3242623cba787ae35e287164dbeae169a2b8f1c21

Contents?: true

Size: 939 Bytes

Versions: 10

Compression:

Stored size: 939 Bytes

Contents

#!/usr/bin/env ruby

require 'test/unit'
require 'ruby-prof'


# --  Tests ----
class ExcludeThreadsTest < Test::Unit::TestCase
  def test_exclude_threads

    def thread1_proc
      sleep(0.5)
      sleep(2)
    end

    def thread2_proc
      sleep(0.5)
      sleep(2)
    end

    thread1 = Thread.new do
      thread1_proc
    end

    thread2 = Thread.new do
      thread2_proc
    end

    RubyProf::exclude_threads = [ thread2 ]

    RubyProf.start

    thread1.join
    thread2.join

    result = RubyProf.stop

    RubyProf::exclude_threads = nil

    assert_equal(2, result.threads.length)

    output = Array.new
    result.threads.each do | thread_id, methods |
      methods.each do | m |
        if m.full_name.index("ExcludeThreadsTest#thread") == 0
          output.push(m.full_name)
        end
      end
    end

    assert_equal(1, output.length)
    assert_equal("ExcludeThreadsTest#thread1_proc", output[0])
  end
end

Version data entries

10 entries across 10 versions & 2 rubygems

Version Path
ruby-prof-0.10.8 test/exclude_threads_test.rb
ruby-prof-0.10.7 test/exclude_threads_test.rb
ruby-prof-0.10.6 test/exclude_threads_test.rb
ruby-prof-0.10.5 test/exclude_threads_test.rb
ruby-prof-0.10.4 test/exclude_threads_test.rb
ruby-prof-0.10.2 test/exclude_threads_test.rb
acunote-ruby-prof-0.9.2 test/exclude_threads_test.rb
ruby-prof-0.9.2 test/exclude_threads_test.rb
ruby-prof-0.9.1 test/exclude_threads_test.rb
ruby-prof-0.9.0 test/exclude_threads_test.rb