From 3fbfd9fce3e68ad4801f281a17341eaebed5200d Mon Sep 17 00:00:00 2001 From: robk-tahoe Date: Mon, 20 Oct 2008 16:52:35 -0700 Subject: [PATCH] fuse/runtests: make exceptions in 'read_in_random_order' into TestFailures --- contrib/fuse/runtests.py | 34 +++++++++++++++++++++------------- 1 file changed, 21 insertions(+), 13 deletions(-) diff --git a/contrib/fuse/runtests.py b/contrib/fuse/runtests.py index 67f68091..5a94cce8 100644 --- a/contrib/fuse/runtests.py +++ b/contrib/fuse/runtests.py @@ -468,19 +468,27 @@ class SystemTest (object): # XXX this should also do a test where sz%bs != 0, so that it correctly tests # the edge case where the last read is a 'short' block path = os.path.join(testdir, name) - fsize = os.path.getsize(path) - if fsize != len(body): - tmpl = 'Expected file size %s but found %s' - raise TestFailure(tmpl, len(body), fsize) - - f = open(path, 'r') - posns = range(0,sz,bs) - random.shuffle(posns) - data = [None] * (sz/bs) - for p in posns: - f.seek(p) - data[p/bs] = f.read(bs) - found = ''.join(data) + try: + fsize = os.path.getsize(path) + if fsize != len(body): + tmpl = 'Expected file size %s but found %s' + raise TestFailure(tmpl, len(body), fsize) + except Exception, err: + tmpl = 'Could not read file size for %r: %r' + raise TestFailure(tmpl, path, err) + + try: + f = open(path, 'r') + posns = range(0,sz,bs) + random.shuffle(posns) + data = [None] * (sz/bs) + for p in posns: + f.seek(p) + data[p/bs] = f.read(bs) + found = ''.join(data) + except Exception, err: + tmpl = 'Could not read file %r: %r' + raise TestFailure(tmpl, path, err) if found != body: tmpl = 'Expected file contents %s but found %s' -- 2.45.2