util_unittest.py revision 2a99a7e74a7f215066514fe81d2bfa6639d9eddd
15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# Copyright (c) 2012 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)import unittest
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)from telemetry.core import util
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)class TestWait(unittest.TestCase):
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  @staticmethod
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  def testNonTimeout():
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    def test():
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      return True
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    util.WaitFor(test, 0.1)
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  def testTimeout(self):
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    def test():
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      return False
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    self.assertRaises(util.TimeoutException, lambda: util.WaitFor(test, 0.1))
19