test/functional/timeout_test.rb in mongo-1.8.6 vs test/functional/timeout_test.rb in mongo-1.9.0

- old
+ new

@@ -1,19 +1,33 @@ +# Copyright (C) 2013 10gen Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + require 'test_helper' class TestTimeout < Test::Unit::TestCase def test_op_timeout - connection = standard_connection(:op_timeout => 1) + connection = standard_connection(:op_timeout => 0.5) admin = connection.db('admin') - command = {:eval => "sleep(500)"} + command = {:eval => "sleep(100)"} # Should not timeout assert admin.command(command) # Should timeout - command = {:eval => "sleep(1500)"} + command = {:eval => "sleep(1000)"} assert_raise Mongo::OperationTimeout do admin.command(command) end end @@ -26,13 +40,13 @@ coll.drop coll.insert({:a => 1}) # use external timeout to mangle socket begin - Timeout::timeout(1) do - db.command({:eval => "sleep(1500)"}) + Timeout::timeout(0.5) do + db.command({:eval => "sleep(1000)"}) end - rescue Timeout::Error => ex + rescue Timeout::Error #puts "Thread timed out and has now mangled the socket" end assert_nothing_raised do coll.find_one