[ARVADOS] updated: 8cfc0583424956ca6b2a3f1f2efcf751e185aa3a

git at public.curoverse.com git at public.curoverse.com
Wed Oct 15 17:00:01 EDT 2014


Summary of changes:
 apps/workbench/test/functional/collections_controller_test.rb | 9 +++++++++
 1 file changed, 9 insertions(+)

       via  8cfc0583424956ca6b2a3f1f2efcf751e185aa3a (commit)
      from  adb949d39f83b47e1a3cd48a75ec2c6713381cd9 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.


commit 8cfc0583424956ca6b2a3f1f2efcf751e185aa3a
Author: Tom Clegg <tom at curoverse.com>
Date:   Wed Oct 15 16:59:07 2014 -0400

    Resolve race condition: wait for response before checking mock expectations. refs #3782

diff --git a/apps/workbench/test/functional/collections_controller_test.rb b/apps/workbench/test/functional/collections_controller_test.rb
index 50577ed..ff53777 100644
--- a/apps/workbench/test/functional/collections_controller_test.rb
+++ b/apps/workbench/test/functional/collections_controller_test.rb
@@ -188,6 +188,10 @@ class CollectionsControllerTest < ActionController::TestCase
     fakefiledata.expects(:read).twice.with() do |length|
       # Fail the test if read() is called with length>1MiB:
       length < 2**20
+      ## Force the ActionController::Live thread to lose the race to
+      ## verify that @response.body.length actually waits for the
+      ## response (see below):
+      # sleep 3
     end.returns("foo\n", nil)
     fakefiledata.expects(:close)
     foo_file = api_fixture('collections')['foo_file']
@@ -196,5 +200,10 @@ class CollectionsControllerTest < ActionController::TestCase
       uuid: foo_file['uuid'],
       file: foo_file['manifest_text'].match(/ \d+:\d+:(\S+)/)[1]
     }, session_for(:active)
+    # Wait for the whole response to arrive before deciding whether
+    # mocks' expectations were met. Otherwise, Mocha will fail the
+    # test depending on how slowly the ActionController::Live thread
+    # runs.
+    @response.body.length
   end
 end

-----------------------------------------------------------------------


hooks/post-receive
-- 




More information about the arvados-commits mailing list