Sha256: 2d8ddd072617b3844062a928a43d7db182e6d4022eb4f629843a59c972c14fe0

Contents?: true

Size: 854 Bytes

Versions: 5

Compression:

Stored size: 854 Bytes

Contents

# Common setup for all test files.

begin
  require 'rubygems'
  gem 'flexmock'
rescue LoadError
  # got no gems
end

require 'thread'
require 'flexmock/test_unit'

if RUBY_VERSION >= "1.9.0"
  class Test::Unit::TestCase
#    def passed?
#      true
#    end
  end
end

module TestMethods
  def assert_exception(ex, msg=nil, &block)
    assert_raise(ex, msg, &block)
  end
end

class SerializedArray
  def initialize
    @mutex = Mutex.new
    @array = Array.new
  end

  Array.public_instance_methods.each do |method_name|
    unless method_name =~ %r!\A__! or method_name =~ %r!\A(object_)?id\Z!
      # TODO: jettison 1.8.6; use define_method with |&block|
      eval %{
        def #{method_name}(*args, &block)
          @mutex.synchronize {
            @array.send('#{method_name}', *args, &block)
          }
        end
      }
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
drake-0.8.7.0.2.4 test/rake_test_setup.rb
drake-0.8.5.0.2.2 test/rake_test_setup.rb
drake-0.8.4.1.2.0 test/rake_test_setup.rb
drake-0.8.4.1.2.1 test/rake_test_setup.rb
drake-0.8.7.0.2.3 test/rake_test_setup.rb