<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -102,7 +102,9 @@ begin
       '--sort coverage'
     ] + FileList['rakelib/*.rake'].pathmap(&quot;-x%p&quot;)
     t.test_files = FileList[
-      'test/test*.rb', 'test/functional.rb'
+      'test/lib/*_test.rb',
+      'test/contrib/*_test.rb',
+      'test/functional/*_test.rb'
     ]
     t.output_dir = 'coverage'
     t.verbose = true</diff>
      <filename>Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,7 @@
 #!/usr/bin/env ruby
 
 require 'test/unit'
+require 'thread'
 require 'rake'
 
 ######################################################################
@@ -10,11 +11,18 @@ class TestMultiTask &lt; Test::Unit::TestCase
   def setup
     Task.clear
     @runs = Array.new
+    @mutex = Mutex.new
+  end
+
+  def add_run(obj)
+    @mutex.synchronize do
+      @runs &lt;&lt; obj
+    end
   end
 
   def test_running_multitasks
-    task :a do 3.times do |i| @runs &lt;&lt; &quot;A#{i}&quot;; sleep 0.01; end end
-    task :b do 3.times do |i| @runs &lt;&lt; &quot;B#{i}&quot;; sleep 0.01;  end end
+    task :a do 3.times do |i| add_run(&quot;A#{i}&quot;); sleep 0.01; end end
+    task :b do 3.times do |i| add_run(&quot;B#{i}&quot;); sleep 0.01;  end end
     multitask :both =&gt; [:a, :b]
     Task[:both].invoke
     assert_equal 6, @runs.size
@@ -25,9 +33,9 @@ class TestMultiTask &lt; Test::Unit::TestCase
   end
 
   def test_all_multitasks_wait_on_slow_prerequisites
-    task :slow do 3.times do |i| @runs &lt;&lt; &quot;S#{i}&quot;; sleep 0.05 end end
-    task :a =&gt; [:slow] do 3.times do |i| @runs &lt;&lt; &quot;A#{i}&quot;; sleep 0.01 end end
-    task :b =&gt; [:slow] do 3.times do |i| @runs &lt;&lt; &quot;B#{i}&quot;; sleep 0.01 end end
+    task :slow do 3.times do |i| add_run(&quot;S#{i}&quot;); sleep 0.05 end end
+    task :a =&gt; [:slow] do 3.times do |i| add_run(&quot;A#{i}&quot;); sleep 0.01 end end
+    task :b =&gt; [:slow] do 3.times do |i| add_run(&quot;B#{i}&quot;); sleep 0.01 end end
     multitask :both =&gt; [:a, :b]
     Task[:both].invoke
     assert_equal 9, @runs.size</diff>
      <filename>test/lib/multitask_test.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>6fe3f8e2af68233eb90b2c3c8a811cd3b84a0970</id>
    </parent>
  </parents>
  <author>
    <name>Jim Weirich</name>
    <email>jim.weirich@gmail.com</email>
  </author>
  <url>http://github.com/jimweirich/rake/commit/4dda757c172e89a494057a464974f05211c78376</url>
  <id>4dda757c172e89a494057a464974f05211c78376</id>
  <committed-date>2009-05-27T06:34:09-07:00</committed-date>
  <authored-date>2009-05-27T06:34:09-07:00</authored-date>
  <message>Fixed race condition in tests.</message>
  <tree>3ac1123b289145c41538df5bd26f479bb9fceeb0</tree>
  <committer>
    <name>Jim Weirich</name>
    <email>jim.weirich@gmail.com</email>
  </committer>
</commit>
