コード例 #1
0
 def f1(f, jf):
     jf.write(c)
     fiu.enable("jio/get_tid/overflow")
     try:
         jf.write(c)
     except IOError:
         pass
コード例 #2
0
ファイル: t_fi.py プロジェクト: Patrickaos/libjio
	def f1(f, jf):
		jf.write(c)
		fiu.enable("jio/get_tid/overflow")
		try:
			jf.write(c)
		except IOError:
			pass
コード例 #3
0
ファイル: t_fi.py プロジェクト: Patrickaos/libjio
	def f1(f, jf):
		jf.write('x' * (80 + len(c)))
		t = jf.new_trans()
		t.add_w(c, 80)
		t.commit()
		assert content(f.name) == 'x' * 80 + c
		fiu.enable("jio/commit/tf_sync")
		t.rollback()
コード例 #4
0
 def f1(f, jf):
     jf.write('x' * (80 + len(c)))
     t = jf.new_trans()
     t.add_w(c, 80)
     t.commit()
     assert content(f.name) == 'x' * 80 + c
     fiu.enable("jio/commit/tf_sync")
     t.rollback()
コード例 #5
0
 def f1(f, jf):
     fiu.enable("jio/commit/pre_ok_free_tid")
     jf.write(c)
コード例 #6
0
 def f1(f, jf):
     fiu.enable("jio/commit/wrote_all_ops")
     jf.write(c)
コード例 #7
0
 def f1(f, jf):
     fiu.enable("jio/commit/wrote_op")
     t = jf.new_trans()
     t.add_w(c, 0)
     t.add_w(c, len(c) + 200)
     t.commit()
コード例 #8
0
 def f1(f, jf):
     fiu.enable("jio/commit/tf_sync")
     jf.write(c)
コード例 #9
0
ファイル: test-manyfps.py プロジェクト: lwllvyb/libfiu-hack
"""
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))
コード例 #10
0
"""
Test the behaviour of the wildcard failure points.
"""

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"
コード例 #11
0
ファイル: test-basic.py プロジェクト: lwllvyb/libfiu-hack
"""
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')
コード例 #12
0
 def f1(f, jf):
     fiu.enable("jio/commit/tf_header")
     jf.write(c)
コード例 #13
0
"""
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')

コード例 #14
0
ファイル: t_fi.py プロジェクト: Patrickaos/libjio
	def f1(f, jf):
		fiu.enable("jio/commit/pre_ok_free_tid")
		jf.write(c)
コード例 #15
0
ファイル: t_fi.py プロジェクト: Patrickaos/libjio
	def f1(f, jf):
		fiu.enable("jio/commit/wrote_all_ops")
		jf.write(c)
コード例 #16
0
ファイル: t_fi.py プロジェクト: Patrickaos/libjio
	def f1(f, jf):
		fiu.enable("jio/commit/wrote_op")
		t = jf.new_trans()
		t.add_w(c, 0)
		t.add_w(c, len(c) + 200)
		t.commit()
コード例 #17
0
ファイル: t_fi.py プロジェクト: Patrickaos/libjio
	def f1(f, jf):
		fiu.enable("jio/commit/tf_sync")
		jf.write(c)
コード例 #18
0
ファイル: test-onetime.py プロジェクト: lwllvyb/libfiu-hack
"""
Test that we fail ONETIME points only one time.
"""

import fiu

fiu.enable('p1', flags=fiu.Flags.ONETIME)
fiu.enable('p2')

assert fiu.fail('p1')
for i in range(100):
    assert not fiu.fail('p1')

for i in range(100):
    assert fiu.fail('p2')
コード例 #19
0
ファイル: test-wildcards.py プロジェクト: daveh86/libfiu
"""
Test the behaviour of the wildcard failure points.
"""

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")

コード例 #20
0
 def f1(f, jf):
     fiu.enable("jio/jsync/pre_unlink")
     t = jf.new_trans()
     t.add_w(c, 0)
     t.commit()
     jf.jsync()
コード例 #21
0
ファイル: t_fi.py プロジェクト: Patrickaos/libjio
	def f1(f, jf):
		fiu.enable("jio/jsync/pre_unlink")
		t = jf.new_trans()
		t.add_w(c, 0)
		t.commit()
		jf.jsync()
コード例 #22
0
 def f1(f, jf):
     fiu.enable("jio/commit/created_tf")
     jf.write(c)
コード例 #23
0
ファイル: t_fi.py プロジェクト: Patrickaos/libjio
	def f1(f, jf):
		fiu.enable("jio/commit/created_tf")
		jf.write(c)
コード例 #24
0
"""
Test that we keep references to failinfo as needed.
"""

import fiu

# Object we'll use for failinfo
finfo = [1, 2, 3]

fiu.enable('p1', failinfo = finfo)

assert fiu.fail('p1')
assert fiu.failinfo('p1') is finfo

finfo_id = id(finfo)
del finfo

assert fiu.failinfo('p1') == [1, 2, 3]
assert id(fiu.failinfo('p1')) == finfo_id

コード例 #25
0
ファイル: t_fi.py プロジェクト: Patrickaos/libjio
	def f1(f, jf):
		fiu.enable("jio/commit/tf_header")
		jf.write(c)
コード例 #26
0
ファイル: test-basic.py プロジェクト: daveh86/libfiu
"""
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')
コード例 #27
0
ファイル: test-onetime.py プロジェクト: daveh86/libfiu
"""
Test that we fail ONETIME points only one time.
"""

import fiu

fiu.enable("p1", flags=fiu.Flags.ONETIME)
fiu.enable("p2")

assert fiu.fail("p1")
for i in range(100):
    assert not fiu.fail("p1")

for i in range(100):
    assert fiu.fail("p2")