Beispiel #1
0
"""
Basic tests for general functionality.
"""

import fiu

# Test unknown failure point.
assert not fiu.fail('unknown')

# Test enable/disable.
fiu.enable('p1')
assert fiu.fail('p1')
fiu.disable('p1')
assert not fiu.fail('p1')

# Test enable_random.
fiu.enable_random('p1', probability = 0.5)
result = { True: 0, False: 0 }
for i in range(1000):
    result[fiu.fail('p1')] += 1

assert 400 < result[True] < 600, result
assert 400 < result[False] < 600, result

# Test repeated enabling/disabling.
fiu.enable('p1')
fiu.enable('p1')
assert fiu.fail('p1')
fiu.disable('p1')
assert not fiu.fail('p1')
Beispiel #2
0
"""
Basic tests for general functionality.
"""

import fiu

# Test unknown failure point.
assert not fiu.fail('unknown')

# Test enable/disable.
fiu.enable('p1')
assert fiu.fail('p1')
fiu.disable('p1')
assert not fiu.fail('p1')

# Test enable_random.
fiu.enable_random('p1', probability=0.5)
result = {True: 0, False: 0}
for i in range(1000):
    result[fiu.fail('p1')] += 1

assert 400 < result[True] < 600, result
assert 400 < result[False] < 600, result

# Test repeated enabling/disabling.
fiu.enable('p1')
fiu.enable('p1')
assert fiu.fail('p1')
fiu.disable('p1')
assert not fiu.fail('p1')
Beispiel #3
0
"""
Test the creation of many failure points.
"""

import fiu

N = 1000

for i in range(N):
    fiu.enable(str(i))

for i in range(N):
    assert fiu.fail(str(i))

# Remove only half and check again; this will stress the shrinking of our data
# structures.
for i in range(N / 2):
    fiu.disable(str(i))

for i in range(N / 2, N):
    assert fiu.fail(str(i))

for i in range(N / 2, N):
    fiu.disable(str(i))
Beispiel #4
0
import fiu

fiu.enable("a:b:c")
assert fiu.fail("a:b:c")

fiu.enable("a:b:*")
assert fiu.fail("a:b:c")
assert fiu.fail("a:b:x")
assert fiu.fail("a:b:c:d")

fiu.enable("a:b:*")  # Test repeated enabling of a wildcard.

fiu.enable("a:b:c:d")
assert fiu.fail("a:b:c:d")

fiu.disable("a:b:c")
assert fiu.fail("a:b:c")

fiu.disable("a:b:*")
assert not fiu.fail("a:b:c")
assert not fiu.fail("a:b:x")
assert fiu.fail("a:b:c:d")

fiu.disable("a:b:c:d")
assert not fiu.fail("a:b:c:d")


s = "x"
for i in range(200):
    fiu.enable(s + "/*")
    s += "/x"
"""
Tests to make sure cache invalidation works.
"""

import fiu

# Unknown - add - fail - remove - not fail.
# The initial unknown is relevant because it places a negative match in the
# cache.
assert not fiu.fail('p1')
fiu.enable('p1')
assert fiu.fail('p1')
fiu.disable('p1')
assert not fiu.fail('p1')

# Same as above, but with wildcards.
assert not fiu.fail('p2/x')
fiu.enable('p2/*')
assert fiu.fail('p2/x')
fiu.disable('p2/*')
assert not fiu.fail('p2/x')

Beispiel #6
0
import fiu

fiu.enable("a:b:c")
assert fiu.fail("a:b:c")

fiu.enable("a:b:*")
assert fiu.fail("a:b:c")
assert fiu.fail("a:b:x")
assert fiu.fail("a:b:c:d")

fiu.enable("a:b:*")  # Test repeated enabling of a wildcard.

fiu.enable("a:b:c:d")
assert fiu.fail("a:b:c:d")

fiu.disable("a:b:c")
assert fiu.fail("a:b:c")

fiu.disable("a:b:*")
assert not fiu.fail("a:b:c")
assert not fiu.fail("a:b:x")
assert fiu.fail("a:b:c:d")

fiu.disable("a:b:c:d")
assert not fiu.fail("a:b:c:d")

s = "x"
for i in range(200):
    fiu.enable(s + "/*")
    s += "/x"