Revision e3200b18 test/ganeti.mcpu_unittest.py

b/test/ganeti.mcpu_unittest.py
27 27
from ganeti import mcpu
28 28

  
29 29

  
30
class TestLockTimeoutStrategy(unittest.TestCase):
30
class TestLockAttemptTimeoutStrategy(unittest.TestCase):
31 31
  def testConstants(self):
32
    self.assert_(mcpu._LockTimeoutStrategy._MAX_ATTEMPTS > 0)
33
    self.assert_(mcpu._LockTimeoutStrategy._ATTEMPT_FACTOR > 1.0)
32
    tpa = mcpu._LockAttemptTimeoutStrategy._TIMEOUT_PER_ATTEMPT
33
    self.assert_(len(tpa) > 10)
34
    self.assert_(sum(tpa) >= 150.0)
34 35

  
35 36
  def testSimple(self):
36
    strat = mcpu._LockTimeoutStrategy(_random_fn=lambda: 0.5)
37
    strat = mcpu._LockAttemptTimeoutStrategy(_random_fn=lambda: 0.5,
38
                                             _time_fn=lambda: 0.0)
37 39

  
38
    self.assertEqual(strat._attempts, 0)
40
    self.assertEqual(strat._attempt, 0)
39 41

  
40 42
    prev = None
41
    for _ in range(strat._MAX_ATTEMPTS):
43
    for _ in range(len(mcpu._LockAttemptTimeoutStrategy._TIMEOUT_PER_ATTEMPT)):
42 44
      timeout = strat.CalcRemainingTimeout()
43 45
      self.assert_(timeout is not None)
44 46

  
45 47
      self.assert_(timeout <= 10.0)
46 48
      self.assert_(prev is None or timeout >= prev)
47 49

  
48
      strat.NextAttempt()
50
      strat = strat.NextAttempt()
49 51

  
50 52
      prev = timeout
51 53

  

Also available in: Unified diff