Message ID | 1463671819-4933-1-git-send-email-tigran.mkrtchyan@desy.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
crap, wrong patches.... ----- Original Message ----- > From: "Tigran Mkrtchyan" <tigran.mkrtchyan@desy.de> > To: bfields@fieldses.org > Cc: linux-nfs@vger.kernel.org, "Tigran Mkrtchyan" <tigran.mkrtchyan@desy.de> > Sent: Thursday, May 19, 2016 5:30:16 PM > Subject: [PATCH 1/2] reduce code duplication > this is a similar to 215116a change, which merges > checklist and check functions into a single one. > > Signed-off-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de> > --- > nfs4.0/servertests/environment.py | 38 ++++++++++++------------------- > nfs4.0/servertests/st_acl.py | 2 +- > nfs4.0/servertests/st_commit.py | 6 ++--- > nfs4.0/servertests/st_compound.py | 4 ++-- > nfs4.0/servertests/st_create.py | 12 +++++----- > nfs4.0/servertests/st_delegation.py | 14 ++++++------ > nfs4.0/servertests/st_getattr.py | 6 ++--- > nfs4.0/servertests/st_link.py | 8 +++---- > nfs4.0/servertests/st_lock.py | 18 +++++++-------- > nfs4.0/servertests/st_lockt.py | 8 +++---- > nfs4.0/servertests/st_locku.py | 12 +++++----- > nfs4.0/servertests/st_lookup.py | 14 ++++++------ > nfs4.0/servertests/st_lookupp.py | 4 ++-- > nfs4.0/servertests/st_nverify.py | 4 ++-- > nfs4.0/servertests/st_open.py | 8 +++---- > nfs4.0/servertests/st_openconfirm.py | 2 +- > nfs4.0/servertests/st_read.py | 6 ++--- > nfs4.0/servertests/st_readdir.py | 8 +++---- > nfs4.0/servertests/st_reboot.py | 10 ++++---- > nfs4.0/servertests/st_releaselockowner.py | 2 +- > nfs4.0/servertests/st_remove.py | 4 ++-- > nfs4.0/servertests/st_rename.py | 14 ++++++------ > nfs4.0/servertests/st_replay.py | 4 ++-- > nfs4.0/servertests/st_setattr.py | 6 ++--- > nfs4.0/servertests/st_setclientid.py | 4 ++-- > nfs4.0/servertests/st_verify.py | 4 ++-- > nfs4.0/servertests/st_write.py | 4 ++-- > 27 files changed, 108 insertions(+), 118 deletions(-) > > diff --git a/nfs4.0/servertests/environment.py > b/nfs4.0/servertests/environment.py > index 9852178..6fe083a 100644 > --- a/nfs4.0/servertests/environment.py > +++ b/nfs4.0/servertests/environment.py > @@ -155,7 +155,7 @@ class Environment(testmod.Environment): > for comp in self.opts.path: > path.append(comp) > res = c.compound(c.use_obj(path)) > - checklist(res, [NFS4_OK, NFS4ERR_NOENT], > + check(res, [NFS4_OK, NFS4ERR_NOENT], > "Could not LOOKUP /%s," % '/'.join(path)) > if res.status == NFS4ERR_NOENT: > res = c.create_obj(path) > @@ -163,7 +163,7 @@ class Environment(testmod.Environment): > # remove /tree/* > tree = self.opts.path[:-1] + ['tree'] > res = c.compound(c.use_obj(tree)) > - checklist(res, [NFS4_OK, NFS4ERR_NOENT]) > + check(res, [NFS4_OK, NFS4ERR_NOENT]) > if res.status == NFS4ERR_NOENT: > res = c.create_obj(tree) > check(res, msg="Trying to create /%s," % '/'.join(tree)) > @@ -233,31 +233,18 @@ class Environment(testmod.Environment): > debug_fail = False > > def check(res, stat=NFS4_OK, msg=None, warnlist=[]): > - #if res.status == stat: > - # return > - if res.status == stat: > - if not (debug_fail and msg): > - return > + > if type(stat) is str: > raise "You forgot to put 'msg=' in front of check's string arg" > - desired = nfsstat4[stat] > - received = nfsstat4[res.status] > - if msg: > - failedop_name = msg > - elif res.resarray: > - failedop_name = nfs_opnum4[res.resarray[-1].resop] > - else: > - failedop_name = 'Compound' > - msg = "%s should return %s, instead got %s" % \ > - (failedop_name, desired, received) > - if res.status in warnlist: > - raise testmod.WarningException(msg) > - else: > - raise testmod.FailureException(msg) > > -def checklist(res, statlist, msg=None): > + statlist = stat > + if type(statlist) == int: > + statlist = [stat] > + > if res.status in statlist: > - return > + if not (debug_fail and msg): > + return > + > statnames = [nfsstat4[stat] for stat in statlist] > desired = ' or '.join(statnames) > if not desired: > @@ -271,7 +258,10 @@ def checklist(res, statlist, msg=None): > failedop_name = 'Compound' > msg = "%s should return %s, instead got %s" % \ > (failedop_name, desired, received) > - raise testmod.FailureException(msg) > + if res.status in warnlist: > + raise testmod.WarningException(msg) > + else: > + raise testmod.FailureException(msg) > > def checkdict(expected, got, translate={}, failmsg=''): > if failmsg: failmsg += ': ' > diff --git a/nfs4.0/servertests/st_acl.py b/nfs4.0/servertests/st_acl.py > index 653d996..097a4ec 100644 > --- a/nfs4.0/servertests/st_acl.py > +++ b/nfs4.0/servertests/st_acl.py > @@ -1,5 +1,5 @@ > from nfs4_const import * > -from environment import check, checklist > +from environment import check > from nfs4_type import nfsace4 > > # assuming server will accept any small positive integer as an owner > diff --git a/nfs4.0/servertests/st_commit.py b/nfs4.0/servertests/st_commit.py > index 6b8ade7..bdeceae 100644 > --- a/nfs4.0/servertests/st_commit.py > +++ b/nfs4.0/servertests/st_commit.py > @@ -1,5 +1,5 @@ > from nfs4_const import * > -from environment import check, checklist > +from environment import check > > _text = "Random data to write" > > @@ -15,7 +15,7 @@ def _commit(t, c, offset=0, count=0, statlist=[NFS4_OK]): > res = c.write_file(fh, _text, 0, stateid, how=UNSTABLE4) > check(res, msg="WRITE with how=UNSTABLE4") > res = c.commit_file(fh, offset, count) > - checklist(res, statlist, msg="COMMIT with offset=%x, count=%x" % (offset, > count)) > + check(res, statlist, msg="COMMIT with offset=%x, count=%x" % (offset, > count)) > > def testCommitOffset0(t, env): > """COMMIT > @@ -80,7 +80,7 @@ def testLink(t, env): > """ > c = env.c1 > res = c.commit_file(env.opts.uselink) > - checklist(res, [NFS4ERR_INVAL, NFS4ERR_SYMLINK], "COMMIT with non-file > object") > + check(res, [NFS4ERR_INVAL, NFS4ERR_SYMLINK], "COMMIT with non-file object") > > def testBlock(t, env): > """COMMIT > diff --git a/nfs4.0/servertests/st_compound.py > b/nfs4.0/servertests/st_compound.py > index d2af73b..17ae26d 100644 > --- a/nfs4.0/servertests/st_compound.py > +++ b/nfs4.0/servertests/st_compound.py > @@ -1,7 +1,7 @@ > from nfs4_const import * > from nfs4_type import nfs_argop4 > from nfs4_pack import NFS4Packer > -from environment import check, checklist, get_invalid_utf8strings > +from environment import check, get_invalid_utf8strings > from rpc import RPCError > > def testZeroOps(t, env): > @@ -100,7 +100,7 @@ def testLongCompound(t, env): > while 1: > count += step > res = c.compound(baseops * count) > - checklist(res, [NFS4_OK, NFS4ERR_RESOURCE], > + check(res, [NFS4_OK, NFS4ERR_RESOURCE], > "COMPOUND with len=%i argarry" % (3*count)) > if res.status == NFS4ERR_RESOURCE: > return > diff --git a/nfs4.0/servertests/st_create.py b/nfs4.0/servertests/st_create.py > index 490c75b..149c8d7 100644 > --- a/nfs4.0/servertests/st_create.py > +++ b/nfs4.0/servertests/st_create.py > @@ -1,6 +1,6 @@ > from nfs4_const import * > from nfs4_type import createtype4, specdata4 > -from environment import check, checklist > +from environment import check > > def getDefaultAttr(c): > attr = {} > @@ -91,7 +91,7 @@ def testDirOffLink(t, env): > """ > c = env.c1 > res = c.create_obj(env.opts.uselink + [t.code]) > - checklist(res, [NFS4ERR_NOTDIR, NFS4ERR_SYMLINK]) > + check(res, [NFS4ERR_NOTDIR, NFS4ERR_SYMLINK]) > > def testDirOffBlock(t, env): > """CREATE dir off a block device > @@ -172,7 +172,7 @@ def testZeroLengthForLNK(t, env): > objtype = createtype4(NF4LNK, **{'linkdata':''}) > ops += [c.create_op(objtype, t.code, getDefaultAttr(c))] > res = c.compound(ops) > - checklist(res, [NFS4ERR_INVAL, NFS4ERR_NOENT], "CREATE with zero-length > name for SYMLINK") > + check(res, [NFS4ERR_INVAL, NFS4ERR_NOENT], "CREATE with zero-length name > for SYMLINK") > > def testRegularFile(t, env): > """CREATE should fail with NFS4ERR_BADTYPE for regular files > @@ -228,10 +228,10 @@ def testDots(t, env): > """ > c = env.c1 > res = c.create_obj(c.homedir + ['.']) > - checklist(res, [NFS4_OK, NFS4ERR_BADNAME], > + check(res, [NFS4_OK, NFS4ERR_BADNAME], > "Trying to CREATE a dir named '.'") > res2 = c.create_obj(c.homedir + ['..']) > - checklist(res2, [NFS4_OK, NFS4ERR_BADNAME], > + check(res2, [NFS4_OK, NFS4ERR_BADNAME], > "Trying to CREATE a dir named '..'") > if res.status == NFS4_OK or res2.status == NFS4_OK: > t.pass_warn("Allowed creation of dir named '.' or '..'") > @@ -258,7 +258,7 @@ def testSlash(t, env): > res = c.create_obj(c.homedir + [t.code + '/foo']) > if res.status == NFS4_OK: > t.pass_warn("Allowed creation of dir named '%s/foo'" % t.code) > - checklist(res, [NFS4ERR_BADNAME, NFS4ERR_BADCHAR], > + check(res, [NFS4ERR_BADNAME, NFS4ERR_BADCHAR], > "Creation of dir named '%s/foo'" % t.code) > > def testLongName(t, env): > diff --git a/nfs4.0/servertests/st_delegation.py > b/nfs4.0/servertests/st_delegation.py > index eaff326..6994f91 100644 > --- a/nfs4.0/servertests/st_delegation.py > +++ b/nfs4.0/servertests/st_delegation.py > @@ -1,6 +1,6 @@ > from nfs4_const import * > from nfs4_type import nfs_client_id4, clientaddr4, cb_client4 > -from environment import check, checklist > +from environment import check > import os > import threading > import time > @@ -54,7 +54,7 @@ def _cause_recall(t, env): > deny=OPEN4_SHARE_DENY_NONE) > _lock.release() > if res.status == NFS4_OK: break > - checklist(res, [NFS4_OK, NFS4ERR_DELAY], "Open which causes recall") > + check(res, [NFS4_OK, NFS4ERR_DELAY], "Open which causes recall") > env.sleep(sleeptime, 'Got NFS4ERR_DELAY on open') > return c.confirm('newowner', res) > > @@ -291,7 +291,7 @@ def testRenew(t, env, funct=None, response=NFS4_OK): > access=OPEN4_SHARE_ACCESS_WRITE) > env.sleep(lease / 2, "Waiting to send RENEW") > res = c.compound([c.renew_op(c.clientid)]) > - checklist(res, [NFS4_OK, NFS4ERR_CB_PATH_DOWN], "RENEW") > + check(res, [NFS4_OK, NFS4ERR_CB_PATH_DOWN], "RENEW") > if res.status != NFS4_OK: > noticed = True > break > @@ -362,7 +362,7 @@ def testDelegShare(t, env, funct=_recall, response=NFS4_OK): > access=OPEN4_SHARE_ACCESS_WRITE) > _lock.release() > if res.status in [NFS4_OK, NFS4ERR_SHARE_DENIED]: break > - checklist(res, [NFS4_OK, NFS4ERR_DELAY, NFS4ERR_SHARE_DENIED], > + check(res, [NFS4_OK, NFS4ERR_DELAY, NFS4ERR_SHARE_DENIED], > "Open which causes recall") > env.sleep(sleeptime, 'Got NFS4ERR_DELAY on open') > sleeptime += 5 > @@ -410,7 +410,7 @@ def testChangeDeleg(t, env, funct=_recall): > confirm = res.resarray[0].switch.switch.setclientid_confirm > confirmop = c.setclientid_confirm_op(c.clientid, confirm) > res = c.compound([confirmop]) > - checklist(res, [NFS4_OK, NFS4ERR_RESOURCE]) > + check(res, [NFS4_OK, NFS4ERR_RESOURCE]) > if res.status == NFS4ERR_RESOURCE: > # ibm workaround > res = c.compound([confirmop]) > @@ -522,7 +522,7 @@ def testClaimCur(t, env): > res = c.open_file('newowner', c.homedir + [t.code], > access=OPEN4_SHARE_ACCESS_WRITE, > deny=OPEN4_SHARE_DENY_NONE) > - checklist(res, [NFS4_OK, NFS4ERR_DELAY], "Open which causes recall") > + check(res, [NFS4_OK, NFS4ERR_DELAY], "Open which causes recall") > env.sleep(2, "Waiting for recall") > > # Now send some opens > @@ -541,7 +541,7 @@ def _retry_conflicting_op(env, c, op, opname): > res = c.compound(op) > _lock.release() > if res.status == NFS4_OK: break > - checklist(res, [NFS4_OK, NFS4ERR_DELAY], > + check(res, [NFS4_OK, NFS4ERR_DELAY], > "%s which causes recall" % opname) > env.sleep(1, 'Got NFS4ERR_DELAY on %s' % opname) > > diff --git a/nfs4.0/servertests/st_getattr.py b/nfs4.0/servertests/st_getattr.py > index 6a4acdd..9dede73 100644 > --- a/nfs4.0/servertests/st_getattr.py > +++ b/nfs4.0/servertests/st_getattr.py > @@ -1,5 +1,5 @@ > from nfs4_const import * > -from environment import check, checklist > +from environment import check > from nfs4lib import get_attr_name > > def _try_mandatory(t, env, path): > @@ -481,7 +481,7 @@ def testFSLocations(t, env): > ops = c.use_obj(env.opts.usefile) > ops += [c.getattr([FATTR4_FS_LOCATIONS])] > res = c.compound(ops) > - checklist(res, [NFS4_OK, NFS4ERR_ATTRNOTSUPP], "GETATTR(fs_locations)") > + check(res, [NFS4_OK, NFS4ERR_ATTRNOTSUPP], "GETATTR(fs_locations)") > if res.status == NFS4ERR_ATTRNOTSUPP: > t.fail_support("fs_locations not a supported attribute") > # print res.resarray[-1].obj_attributes > @@ -512,7 +512,7 @@ def testOwnerName(t, env): > ops = c.use_obj(env.opts.usefile) > ops += [c.getattr([FATTR4_OWNER])] > res = c.compound(ops) > - checklist(res, [NFS4_OK, NFS4ERR_ATTRNOTSUPP], "GETATTR(owner)") > + check(res, [NFS4_OK, NFS4ERR_ATTRNOTSUPP], "GETATTR(owner)") > if res.status == NFS4ERR_ATTRNOTSUPP: > t.fail_support("owner not a supported attribute") > # print res.resarray[-1].obj_attributes > diff --git a/nfs4.0/servertests/st_link.py b/nfs4.0/servertests/st_link.py > index 633025b..d87b14d 100644 > --- a/nfs4.0/servertests/st_link.py > +++ b/nfs4.0/servertests/st_link.py > @@ -1,5 +1,5 @@ > from nfs4_const import * > -from environment import check, checklist, get_invalid_utf8strings > +from environment import check, get_invalid_utf8strings > > def _basictest(t, c, path, error=NFS4_OK): > """Link to path, and make sure FATTR4_NUMLINKS increases by one""" > @@ -143,7 +143,7 @@ def testCfhLink(t, env): > CODE: LINK4a > """ > res = env.c1.link(env.opts.usefile, env.opts.uselink + [t.code]) > - checklist(res, [NFS4ERR_NOTDIR, NFS4ERR_SYMLINK], > + check(res, [NFS4ERR_NOTDIR, NFS4ERR_SYMLINK], > "LINK with <cfh> not a directory") > > def testCfhBlock(t, env): > @@ -238,10 +238,10 @@ def testDots(t, env): > res = c.create_obj(dir) > check(res) > res1 = c.link(env.opts.usefile, dir + ['.']) > - checklist(res1, [NFS4_OK, NFS4ERR_BADNAME], > + check(res1, [NFS4_OK, NFS4ERR_BADNAME], > "Trying to make a hardlink named '.'") > res2 = c.link(env.opts.usefile, dir + ['..']) > - checklist(res2, [NFS4_OK, NFS4ERR_BADNAME], > + check(res2, [NFS4_OK, NFS4ERR_BADNAME], > "Trying to make a hardlink named '..'") > if res1.status == NFS4_OK or res2.status == NFS4_OK: > t.pass_warn("Allowed creation of hardlink named '.' or '..'") > diff --git a/nfs4.0/servertests/st_lock.py b/nfs4.0/servertests/st_lock.py > index d54614d..5e5c69c 100644 > --- a/nfs4.0/servertests/st_lock.py > +++ b/nfs4.0/servertests/st_lock.py > @@ -1,6 +1,6 @@ > from nfs4_const import * > from nfs4_type import stateid4 > -from environment import check, checklist, get_invalid_clientid, makeStaleId, > makeBadIDganesha > +from environment import check, get_invalid_clientid, makeStaleId, > makeBadIDganesha > import time > > def testFile(t, env): > @@ -33,7 +33,7 @@ def testClose(t, env): > res = c.lock_test(fh) > check(res, NFS4ERR_DENIED, "Testing file %s is locked" % t.code) > res = c.close_file(t.code, fh, stateid) > - checklist(res, [NFS4_OK, NFS4ERR_LOCKS_HELD], > + check(res, [NFS4_OK, NFS4ERR_LOCKS_HELD], > "Trying to close locked file") > if res.status == NFS4ERR_LOCKS_HELD: > t.fail_support("Can not close locked files") > @@ -74,7 +74,7 @@ def test32bitRange(t, env): > c.init_connection() > fh, stateid = c.create_confirm(t.code) > res = c.lock_file(t.code, fh, stateid, 0, 0xffffffffffff) > - checklist(res, [NFS4_OK, NFS4ERR_BAD_RANGE], "LOCK range over 32 bits") > + check(res, [NFS4_OK, NFS4ERR_BAD_RANGE], "LOCK range over 32 bits") > if res.status == NFS4ERR_BAD_RANGE: > t.fail_support("Server does not support 64 bit lock ranges") > > @@ -91,7 +91,7 @@ def testOverlap(t, env): > res1 = c.lock_file(t.code, fh, stateid, 25, 75) > check(res1) > res2 = c.relock_file(1, fh, res1.lockid, 50, 75) > - checklist(res2, [NFS4_OK, NFS4ERR_LOCK_RANGE], "Overlapping locks") > + check(res2, [NFS4_OK, NFS4ERR_LOCK_RANGE], "Overlapping locks") > if res2.status == NFS4ERR_LOCK_RANGE: > t.fail_support("Server does not support lock consolidation") > # Test the merged lock > @@ -116,7 +116,7 @@ def testDowngrade(t, env): > check(res1) > # Lock again with read lock > res2 = c.relock_file(1, fh, res1.lockid, 25, 75, READ_LT) > - checklist(res2, [NFS4_OK, NFS4ERR_LOCK_NOTSUPP], "Lock downgrade") > + check(res2, [NFS4_OK, NFS4ERR_LOCK_NOTSUPP], "Lock downgrade") > if res2.status == NFS4ERR_LOCK_NOTSUPP: > t.fail_support("Server does not support atomic lock downgrades") > # Test the lock has changed > @@ -140,7 +140,7 @@ def testUpgrade(t, env): > check(res1) > # Lock again with write lock > res2 = c.relock_file(1, fh, res1.lockid, 25, 75, WRITE_LT) > - checklist(res2, [NFS4_OK, NFS4ERR_LOCK_NOTSUPP], "Lock upgrade") > + check(res2, [NFS4_OK, NFS4ERR_LOCK_NOTSUPP], "Lock upgrade") > if res2.status == NFS4ERR_LOCK_NOTSUPP: > t.fail_support("Server does not support atomic lock upgrades") > # Test the lock has changed > @@ -161,7 +161,7 @@ def testMode(t, env): > c.init_connection() > fh, stateid = c.create_confirm(t.code, access=OPEN4_SHARE_ACCESS_READ) > res = c.lock_file(t.code, fh, stateid) > - checklist(res, [NFS4_OK, NFS4ERR_OPENMODE], > + check(res, [NFS4_OK, NFS4ERR_OPENMODE], > "Write-locking a read-mode file") > if res.status == NFS4_OK: > t.pass_warn("Allowed write-locking a read-mode file, " > @@ -409,7 +409,7 @@ def testTimedoutGrabLock(t, env): > for i in range(3): > env.sleep(sleeptime) > res = c2.compound([c2.renew_op(c2.clientid)]) > - checklist(res, [NFS4_OK, NFS4ERR_CB_PATH_DOWN]) > + check(res, [NFS4_OK, NFS4ERR_CB_PATH_DOWN]) > # Client 2: Lock file, should work since Client 1's lock has expired > res2 = c2.lock_file(t.code, fh2, stateid2, type=READ_LT) > check(res2, msg="Locking file after another client's lock expires") > @@ -660,7 +660,7 @@ def testBlockTimeout(t, env): > for i in range(3): > env.sleep(sleeptime, "Waiting for queued blocking lock to timeout") > res = c.compound([c.renew_op(c.clientid)]) > - checklist(res, [NFS4_OK, NFS4ERR_CB_PATH_DOWN]) > + check(res, [NFS4_OK, NFS4ERR_CB_PATH_DOWN]) > # Standard owner releases lock > res1 = c.unlock_file(1, fh1, res1.lockid) > check(res1) > diff --git a/nfs4.0/servertests/st_lockt.py b/nfs4.0/servertests/st_lockt.py > index 134f1fa..94b685b 100644 > --- a/nfs4.0/servertests/st_lockt.py > +++ b/nfs4.0/servertests/st_lockt.py > @@ -1,5 +1,5 @@ > from nfs4_const import * > -from environment import check, checklist, get_invalid_clientid > +from environment import check, get_invalid_clientid > > def testUnlockedFile(t, env): > """LOCKT on a regular unlocked file > @@ -48,7 +48,7 @@ def testLink(t, env): > c = env.c1 > c.init_connection() > res = c.lock_test(env.opts.uselink) > - checklist(res, [NFS4ERR_INVAL, NFS4ERR_SYMLINK], "LOCKT on non-file > object") > + check(res, [NFS4ERR_INVAL, NFS4ERR_SYMLINK], "LOCKT on non-file object") > > def testBlock(t, env): > """LOCKT on non-file objects) > @@ -127,7 +127,7 @@ def test32bitRange(t, env): > c.init_connection() > fh, stateid = c.create_confirm(t.code) > res = c.lock_test(fh, 0, 0xffffffffffff) > - checklist(res, [NFS4_OK, NFS4ERR_BAD_RANGE], "LOCKT range over 32 bits") > + check(res, [NFS4_OK, NFS4ERR_BAD_RANGE], "LOCKT range over 32 bits") > if res.status == NFS4ERR_BAD_RANGE: > t.fail_support("Server does not support 64 bit lock ranges") > > @@ -147,7 +147,7 @@ def testOverlap(t, env): > res = c.lock_test(fh, 100, 50, tester=lockowner) > check(res, msg="LOCKT against own exactly matching lock") > res = c.lock_test(fh, 75, 50, tester=lockowner) > - checklist(res, [NFS4_OK, NFS4ERR_LOCK_RANGE], > + check(res, [NFS4_OK, NFS4ERR_LOCK_RANGE], > "LOCKT against own overlapping lock") > if res.status == NFS4ERR_LOCK_RANGE: > t.fail_support("Server does not support lock consolidation") > diff --git a/nfs4.0/servertests/st_locku.py b/nfs4.0/servertests/st_locku.py > index 06b342c..dc8acc8 100644 > --- a/nfs4.0/servertests/st_locku.py > +++ b/nfs4.0/servertests/st_locku.py > @@ -1,6 +1,6 @@ > from nfs4_const import * > from nfs4_type import stateid4 > -from environment import check, checklist, makeStaleId > +from environment import check, makeStaleId > > def testFile(t, env): > """LOCKU a regular file > @@ -34,7 +34,7 @@ def testUnlocked(t, env): > res1 = c.lock_file(t.code, fh, stateid, 100, 100) > check(res1, msg="Locking file %s" % t.code) > res2 = c.unlock_file(1, fh, res1.lockid, 0, 50) > - checklist(res2, [NFS4_OK, NFS4ERR_LOCK_RANGE], "LOCKU on an unlocked area") > + check(res2, [NFS4_OK, NFS4ERR_LOCK_RANGE], "LOCKU on an unlocked area") > if res2.status == NFS4ERR_LOCK_RANGE: > t.fail_support("LOCKU on an unlocked area should return OK") > > @@ -51,7 +51,7 @@ def testSplit(t, env): > res1 = c.lock_file(t.code, fh, stateid, 100, 100) > check(res1, msg="Locking file %s" % t.code) > res2 = c.unlock_file(1, fh, res1.lockid, 125, 50) > - checklist(res2, [NFS4_OK, NFS4ERR_LOCK_RANGE], "LOCKU inside locked area") > + check(res2, [NFS4_OK, NFS4ERR_LOCK_RANGE], "LOCKU inside locked area") > if res2.status == NFS4ERR_LOCK_RANGE: > t.fail_support("LOCKU inside a locked area should return OK") > > @@ -68,7 +68,7 @@ def testOverlap(t, env): > res1 = c.lock_file(t.code, fh, stateid, 100, 100) > check(res1, msg="Locking file %s" % t.code) > res2 = c.unlock_file(1, fh, res1.lockid, 50, 100) > - checklist(res2, [NFS4_OK, NFS4ERR_LOCK_RANGE], > + check(res2, [NFS4_OK, NFS4ERR_LOCK_RANGE], > "LOCKU overlapping a locked area") > if res2.status == NFS4ERR_LOCK_RANGE: > t.fail("LOCKU overlapping a locked area should return OK, " > @@ -87,7 +87,7 @@ def test32bitRange(t, env): > res1 = c.lock_file(t.code, fh, stateid) > check(res1) > res2 = c.unlock_file(1, fh, res1.lockid, 0, 0xffffffffffff) > - checklist(res2, [NFS4_OK, NFS4ERR_BAD_RANGE, NFS4ERR_LOCK_RANGE], > + check(res2, [NFS4_OK, NFS4ERR_BAD_RANGE, NFS4ERR_LOCK_RANGE], > "LOCKU range over 32 bits") > if res2.status == NFS4ERR_BAD_RANGE: > t.fail("Allowed 64 bit LOCK range, but only 32 bit LOCKU range") > @@ -265,5 +265,5 @@ def testTimedoutUnlock(t, env): > c2.init_connection() > c2.open_confirm(t.code, access=OPEN4_SHARE_ACCESS_WRITE) > res2 = c.unlock_file(1, fh, res1.lockid) > - checklist(res2, [NFS4ERR_EXPIRED, NFS4_OK], > + check(res2, [NFS4ERR_EXPIRED, NFS4_OK], > "Try to unlock file after timed out") > diff --git a/nfs4.0/servertests/st_lookup.py b/nfs4.0/servertests/st_lookup.py > index 392be52..112ee51 100644 > --- a/nfs4.0/servertests/st_lookup.py > +++ b/nfs4.0/servertests/st_lookup.py > @@ -1,5 +1,5 @@ > from nfs4_const import * > -from environment import check, checklist, get_invalid_utf8strings > +from environment import check, get_invalid_utf8strings > import rpc > > def testDir(t, env): > @@ -218,7 +218,7 @@ def testNonAccessable(t, env): > check(res) > res = c.compound(c.use_obj(dir + ['foo'])) > if env.opts.uid == 0: > - checklist(res, [NFS4_OK, NFS4ERR_ACCESS], "LOOKUP object in a dir with > mode=000") > + check(res, [NFS4_OK, NFS4ERR_ACCESS], "LOOKUP object in a dir with > mode=000") > else: > check(res, NFS4ERR_ACCESS, "LOOKUP object in a dir with mode=000") > > @@ -254,16 +254,16 @@ def testDots(t, env): > check(res) > # Run tests > res1 = c.compound(c.use_obj(dir + ['.'])) > - checklist(res1, [NFS4ERR_NOENT, NFS4ERR_BADNAME], > + check(res1, [NFS4ERR_NOENT, NFS4ERR_BADNAME], > "LOOKUP a nonexistant '.'") > res2 = c.compound(c.use_obj(dir + ['..'])) > - checklist(res2, [NFS4ERR_NOENT, NFS4ERR_BADNAME], > + check(res2, [NFS4ERR_NOENT, NFS4ERR_BADNAME], > "LOOKUP a nonexistant '..'") > res1 = c.compound(c.use_obj(dir + ['.', 'foo'])) > - checklist(res1, [NFS4ERR_NOENT, NFS4ERR_BADNAME], > + check(res1, [NFS4ERR_NOENT, NFS4ERR_BADNAME], > "LOOKUP a nonexistant '.'") > res2 = c.compound(c.use_obj(dir + ['..', t.code])) > - checklist(res2, [NFS4ERR_NOENT, NFS4ERR_BADNAME], > + check(res2, [NFS4ERR_NOENT, NFS4ERR_BADNAME], > "LOOKUP a nonexistant '..'") > > def testUnaccessibleDir(t, env): > @@ -281,7 +281,7 @@ def testUnaccessibleDir(t, env): > check(res, msg="Setting mode=0 on directory %s" % t.code) > res = c.compound(c.use_obj(path + ['hidden'])) > if env.opts.uid == 0: > - checklist(res, [NFS4_OK, NFS4ERR_ACCESS], "LOOKUP off of dir with > mode=000") > + check(res, [NFS4_OK, NFS4ERR_ACCESS], "LOOKUP off of dir with mode=000") > else: > check(res, NFS4ERR_ACCESS, "LOOKUP off of dir with mode=000") > > diff --git a/nfs4.0/servertests/st_lookupp.py b/nfs4.0/servertests/st_lookupp.py > index 6249700..4fa6e9b 100644 > --- a/nfs4.0/servertests/st_lookupp.py > +++ b/nfs4.0/servertests/st_lookupp.py > @@ -1,5 +1,5 @@ > from nfs4_const import * > -from environment import check, checklist, get_invalid_utf8strings > +from environment import check, get_invalid_utf8strings > > def testDir(t, env): > """LOOKUPP with directory (cfh) > @@ -54,7 +54,7 @@ def testLink(t, env): > c = env.c1 > ops = c.use_obj(env.opts.uselink) + [c.lookupp_op()] > res = c.compound(ops) > - checklist(res, [NFS4ERR_NOTDIR, NFS4ERR_SYMLINK], > + check(res, [NFS4ERR_NOTDIR, NFS4ERR_SYMLINK], > "LOOKUPP with non-dir <cfh>") > > def testBlock(t, env): > diff --git a/nfs4.0/servertests/st_nverify.py b/nfs4.0/servertests/st_nverify.py > index 24e37e1..b0a8a4b 100644 > --- a/nfs4.0/servertests/st_nverify.py > +++ b/nfs4.0/servertests/st_nverify.py > @@ -1,5 +1,5 @@ > from nfs4_const import * > -from environment import check, checklist, get_invalid_clientid, makeStaleId > +from environment import check, get_invalid_clientid, makeStaleId > > def _try_mand(env, path): > c = env.c1 > @@ -43,7 +43,7 @@ def _try_unsupported(env, path): > ops = baseops + [c.nverify_op({attr.bitnum: attr.sample})] > res = c.compound(ops) > if attr.writeonly: > - checklist(res, [NFS4ERR_ATTRNOTSUPP, NFS4ERR_INVAL], > + check(res, [NFS4ERR_ATTRNOTSUPP, NFS4ERR_INVAL], > "VERIFY with unsupported attr %s" % attr.name) > else: > check(res, NFS4ERR_ATTRNOTSUPP, > diff --git a/nfs4.0/servertests/st_open.py b/nfs4.0/servertests/st_open.py > index 1057d83..3637b41 100644 > --- a/nfs4.0/servertests/st_open.py > +++ b/nfs4.0/servertests/st_open.py > @@ -1,5 +1,5 @@ > from nfs4_const import * > -from environment import check, checklist, checkdict, get_invalid_utf8strings > +from environment import check, checkdict, get_invalid_utf8strings > from nfs4lib import get_bitnumattr_dict > > # Any test that uses create_confirm should depend on this test > @@ -79,7 +79,7 @@ def testCreatExclusiveFile(t, env): > c.init_connection() > # Create the file > res = c.create_file(t.code, mode=EXCLUSIVE4, verifier='12345678', > deny=OPEN4_SHARE_DENY_NONE) > - checklist(res, [NFS4_OK, NFS4ERR_NOTSUPP], > + check(res, [NFS4_OK, NFS4ERR_NOTSUPP], > "Trying to do exclusive create of file %s" % t.code) > if res.status == NFS4ERR_NOTSUPP: > c.fail_support("Exclusive OPEN not supported") > @@ -310,7 +310,7 @@ def testClaimPrev(t, env): > c.init_connection() > fh, stateid = c.create_confirm(t.code) > res = c.open_file(t.code, fh, claim_type=CLAIM_PREVIOUS, > deleg_type=OPEN_DELEGATE_NONE) > - checklist(res, [NFS4ERR_RECLAIM_BAD, NFS4ERR_NO_GRACE], > + check(res, [NFS4ERR_RECLAIM_BAD, NFS4ERR_NO_GRACE], > "Trying to OPEN with CLAIM_PREVIOUS") > > def testModeChange(t, env): > @@ -331,7 +331,7 @@ def testModeChange(t, env): > res = c.open_file(t.code, access=OPEN4_SHARE_ACCESS_BOTH, > deny=OPEN4_SHARE_DENY_NONE) > if env.opts.uid == 0: > - checklist(res, [NFS4_OK, NFS4ERR_ACCESS], "Opening file %s with mode=000" > % t.code) > + check(res, [NFS4_OK, NFS4ERR_ACCESS], "Opening file %s with mode=000" % > t.code) > else: > check(res, NFS4ERR_ACCESS, "Opening file %s with mode=000" % t.code) > > diff --git a/nfs4.0/servertests/st_openconfirm.py > b/nfs4.0/servertests/st_openconfirm.py > index bd238dd..589454d 100644 > --- a/nfs4.0/servertests/st_openconfirm.py > +++ b/nfs4.0/servertests/st_openconfirm.py > @@ -1,6 +1,6 @@ > from nfs4_const import * > from nfs4_type import stateid4 > -from environment import check, checklist, makeStaleId > +from environment import check, makeStaleId > > def _confirm(t, c, file, stateid): > ops = c.use_obj(file) > diff --git a/nfs4.0/servertests/st_read.py b/nfs4.0/servertests/st_read.py > index 5a3932e..de13418 100644 > --- a/nfs4.0/servertests/st_read.py > +++ b/nfs4.0/servertests/st_read.py > @@ -1,5 +1,5 @@ > from nfs4_const import * > -from environment import check, checklist, makeBadID, makeBadIDganesha, > makeStaleId > +from environment import check, makeBadID, makeBadIDganesha, makeStaleId > import rpc > > def _compare(t, res, expect, eof=True): > @@ -123,7 +123,7 @@ def testLink(t, env): > """ > c = env.c1 > res = c.read_file(env.opts.uselink) > - checklist(res, [NFS4ERR_INVAL, NFS4ERR_SYMLINK], "Read of a non-file > object") > + check(res, [NFS4ERR_INVAL, NFS4ERR_SYMLINK], "Read of a non-file object") > > def testBlock(t, env): > """READ with non-file objects > @@ -240,4 +240,4 @@ def testStolenStateid(t, env): > c.security=rpc.SecAuthSys(0, "whatever", 3912, 2422, []) > res = c.read_file(fh, stateid=stateid) > c.security=security > - checklist(res, [NFS4ERR_ACCESS, NFS4ERR_PERM], "READ with stolen stateid") > + check(res, [NFS4ERR_ACCESS, NFS4ERR_PERM], "READ with stolen stateid") > diff --git a/nfs4.0/servertests/st_readdir.py b/nfs4.0/servertests/st_readdir.py > index bf4add4..0a3b45a 100644 > --- a/nfs4.0/servertests/st_readdir.py > +++ b/nfs4.0/servertests/st_readdir.py > @@ -1,6 +1,6 @@ > from nfs4_const import * > from nfs4lib import get_attr_name > -from environment import check, checklist > +from environment import check > > def _compare(t, entries, expect, attrlist=[]): > names = [e.name for e in entries] > @@ -107,7 +107,7 @@ def testFhLink(t, env): > ops = c.use_obj(env.opts.uselink) > ops += [c.readdir()] > res = c.compound(ops) > - checklist(res, [NFS4ERR_NOTDIR, NFS4ERR_SYMLINK], "READDIR with non-dir > <cfh>") > + check(res, [NFS4ERR_NOTDIR, NFS4ERR_SYMLINK], "READDIR with non-dir <cfh>") > > def testFhBlock(t, env): > """READDIR with non-dir (cfh) should give NFS4ERR_NOTDIR > @@ -232,7 +232,7 @@ def testUnaccessibleDir(t, env): > ops = c.use_obj(path) + [c.readdir()] > res = c.compound(ops) > if env.opts.uid == 0: > - checklist(res, [NFS4_OK, NFS4ERR_ACCESS], "READDIR of directory with > mode=000") > + check(res, [NFS4_OK, NFS4ERR_ACCESS], "READDIR of directory with > mode=000") > else: > check(res, NFS4ERR_ACCESS, "READDIR of directory with mode=000") > > @@ -253,7 +253,7 @@ def testUnaccessibleDirAttrs(t, env): > [c.readdir(attr_request=[FATTR4_RDATTR_ERROR, FATTR4_TYPE])] > res = c.compound(ops) > if env.opts.uid == 0: > - checklist(res, [NFS4_OK, NFS4ERR_ACCESS], "READDIR of directory with > mode=000") > + check(res, [NFS4_OK, NFS4ERR_ACCESS], "READDIR of directory with > mode=000") > else: > check(res, NFS4ERR_ACCESS, "READDIR of directory with mode=000") > > diff --git a/nfs4.0/servertests/st_reboot.py b/nfs4.0/servertests/st_reboot.py > index ef91c07..02e458c 100644 > --- a/nfs4.0/servertests/st_reboot.py > +++ b/nfs4.0/servertests/st_reboot.py > @@ -1,5 +1,5 @@ > from nfs4_const import * > -from environment import check, checklist > +from environment import check > import os > > # NOTE - reboot tests are NOT part of the standard test suite > @@ -76,7 +76,7 @@ def testManyClaims(t, env): > c.init_connection(badid) > res = c.open_file(t.code, badfh, claim_type=CLAIM_PREVIOUS, > deleg_type=OPEN_DELEGATE_NONE) > - checklist(res, [NFS4ERR_NO_GRACE, NFS4ERR_RECLAIM_BAD], > + check(res, [NFS4ERR_NO_GRACE, NFS4ERR_RECLAIM_BAD], > "Reclaim with bad clientid %s" % badid) > finally: > env.sleep(sleeptime, "Waiting for grace period to end") > @@ -144,7 +144,7 @@ def testEdge1(t, env): > c1.init_connection() > res1 = c1.open_file(t.code, fh1, claim_type=CLAIM_PREVIOUS, > deleg_type=OPEN_DELEGATE_NONE) > - checklist(res1, [NFS4ERR_NO_GRACE, NFS4ERR_RECLAIM_BAD], > + check(res1, [NFS4ERR_NO_GRACE, NFS4ERR_RECLAIM_BAD], > "Reclaim lock that has been interfered with") > finally: > env.sleep(sleeptime, "Waiting for grace period to end") > @@ -190,7 +190,7 @@ def testEdge2(t, env): > c1.init_connection() > res1 = c1.open_file(t.code, fh1, claim_type=CLAIM_PREVIOUS, > deleg_type=OPEN_DELEGATE_NONE) > - checklist(res1, [NFS4ERR_NO_GRACE, NFS4ERR_RECLAIM_BAD], > + check(res1, [NFS4ERR_NO_GRACE, NFS4ERR_RECLAIM_BAD], > "Reclaim lock that has been interfered with") > finally: > env.sleep(sleeptime, "Waiting for grace period to end") > @@ -222,7 +222,7 @@ def testRootSquash(t, env): > c.init_connection() > while 1: > res = c.create_file(t.code, c.homedir + [t.code, 'file']) > - checklist(res, [NFS4_OK, NFS4ERR_GRACE], "Creating file") > + check(res, [NFS4_OK, NFS4ERR_GRACE], "Creating file") > if res.status == NFS4ERR_GRACE: > env.sleep(1, "Waiting for grace period to *just* finish") > else: > diff --git a/nfs4.0/servertests/st_releaselockowner.py > b/nfs4.0/servertests/st_releaselockowner.py > index 73b2b5a..a0b8949 100644 > --- a/nfs4.0/servertests/st_releaselockowner.py > +++ b/nfs4.0/servertests/st_releaselockowner.py > @@ -1,6 +1,6 @@ > from nfs4_const import * > from nfs4_type import lock_owner4 > -from environment import check, checklist > +from environment import check > > def testFile(t, env): > """RELEASE_LOCKOWNER - basic test > diff --git a/nfs4.0/servertests/st_remove.py b/nfs4.0/servertests/st_remove.py > index d475185..d1614a9 100644 > --- a/nfs4.0/servertests/st_remove.py > +++ b/nfs4.0/servertests/st_remove.py > @@ -1,5 +1,5 @@ > from nfs4_const import * > -from environment import check, checklist, get_invalid_utf8strings > +from environment import check, get_invalid_utf8strings > > def testDir(t, env): > """REMOVE on existing, removable object > @@ -121,7 +121,7 @@ def testCfhLink(t, env): > c = env.c1 > ops = c.use_obj(env.opts.uselink) + [c.remove_op(t.code)] > res = c.compound(ops) > - checklist(res, [NFS4ERR_NOTDIR, NFS4ERR_SYMLINK], "REMOVE with non-dir > cfh") > + check(res, [NFS4ERR_NOTDIR, NFS4ERR_SYMLINK], "REMOVE with non-dir cfh") > > def testCfhBlock(t, env): > """REMOVE with non-dir (cfh) should give NFS4ERR_NOTDIR > diff --git a/nfs4.0/servertests/st_rename.py b/nfs4.0/servertests/st_rename.py > index 1e01d8e..0feba4b 100644 > --- a/nfs4.0/servertests/st_rename.py > +++ b/nfs4.0/servertests/st_rename.py > @@ -1,5 +1,5 @@ > from nfs4_const import * > -from environment import check, checklist, get_invalid_utf8strings > +from environment import check, get_invalid_utf8strings > > def testValidDir(t, env): > """RENAME : normal operation > @@ -130,7 +130,7 @@ def testSfhLink(t, env): > """ > c = env.c1 > res = c.rename_obj(env.opts.uselink + [t.code], c.homedir + [t.code]) > - checklist(res, [NFS4ERR_NOTDIR, NFS4ERR_SYMLINK], "RENAME with non-dir > <sfh>") > + check(res, [NFS4ERR_NOTDIR, NFS4ERR_SYMLINK], "RENAME with non-dir <sfh>") > > def testSfhBlock(t, env): > """RENAME with non-dir (sfh) should return NFS4ERR_NOTDIR > @@ -200,7 +200,7 @@ def testCfhLink(t, env): > res = c.create_obj(t.code) > check(res) > res = c.rename_obj(c.homedir + [t.code], env.opts.uselink + [t.code]) > - checklist(res, [NFS4ERR_NOTDIR, NFS4ERR_SYMLINK], "RENAME with non-dir > <cfh>") > + check(res, [NFS4ERR_NOTDIR, NFS4ERR_SYMLINK], "RENAME with non-dir <cfh>") > > def testCfhBlock(t, env): > """RENAME with non-dir (cfh) should return NFS4ERR_NOTDIR > @@ -386,7 +386,7 @@ def testDirToObj(t, env): > c.maketree([t.code, ['dir'], 'file']) > res = c.rename_obj(basedir + ['dir'], basedir + ['file']) > # note rfc 3530 and 1813 specify EXIST, but posix specifies NOTDIR > - checklist(res, [NFS4ERR_EXIST, NFS4ERR_NOTDIR], "RENAME dir into existing > file") > + check(res, [NFS4ERR_EXIST, NFS4ERR_NOTDIR], "RENAME dir into existing > file") > > def testDirToDir(t, env): > """RENAME dir into existing, empty dir should retrun NFS4_OK > @@ -414,7 +414,7 @@ def testFileToDir(t, env): > c.maketree([t.code, ['dir'], 'file']) > res = c.rename_obj(basedir + ['file'], basedir + ['dir']) > # note rfc 3530 and 1813 specify EXIST, but posix specifies ISDIR > - checklist(res, [NFS4ERR_EXIST, NFS4ERR_ISDIR], "RENAME file into existing > dir") > + check(res, [NFS4ERR_EXIST, NFS4ERR_ISDIR], "RENAME file into existing dir") > > def testFileToFile(t, env): > """RENAME file into existing file should return NFS4_OK > @@ -441,7 +441,7 @@ def testDirToFullDir(t, env): > basedir = c.homedir + [t.code] > c.maketree([t.code, ['dir1'], ['dir2', ['foo']]]) > res = c.rename_obj(basedir + ['dir1'], basedir + ['dir2']) > - checklist(res, [NFS4ERR_EXIST, NFS4ERR_NOTEMPTY], "RENAME dir1 into > existing, nonempty dir2") > + check(res, [NFS4ERR_EXIST, NFS4ERR_NOTEMPTY], "RENAME dir1 into existing, > nonempty dir2") > > def testFileToFullDir(t, env): > """RENAME file into existing, nonempty dir should fail > @@ -456,7 +456,7 @@ def testFileToFullDir(t, env): > c.maketree([t.code, 'file', ['dir', ['foo']]]) > res = c.rename_obj(basedir + ['file'], basedir + ['dir']) > # note rfc 3530 and 1813 specify EXIST, but posix specifies ISDIR > - checklist(res, [NFS4ERR_EXIST, NFS4ERR_ISDIR], "RENAME file into existing, > nonempty dir") > + check(res, [NFS4ERR_EXIST, NFS4ERR_ISDIR], "RENAME file into existing, > nonempty dir") > > def testSelfRenameDir(t, env): > """RENAME that does nothing > diff --git a/nfs4.0/servertests/st_replay.py b/nfs4.0/servertests/st_replay.py > index c126c06..7a63910 100644 > --- a/nfs4.0/servertests/st_replay.py > +++ b/nfs4.0/servertests/st_replay.py > @@ -1,11 +1,11 @@ > from nfs4_const import * > -from environment import check, checklist > +from environment import check > from nfs4_type import * > > def _replay(env, c, ops, error=NFS4_OK): > # Can send in an error list, but replays must return same error as orig > if type(error) is list: > - check_funct = checklist > + check_funct = check > else: > check_funct = check > res = c.compound(ops) > diff --git a/nfs4.0/servertests/st_setattr.py b/nfs4.0/servertests/st_setattr.py > index b9cfd84..5e9c4e9 100644 > --- a/nfs4.0/servertests/st_setattr.py > +++ b/nfs4.0/servertests/st_setattr.py > @@ -1,5 +1,5 @@ > from nfs4_const import * > -from environment import check, checklist, get_invalid_utf8strings > +from environment import check, get_invalid_utf8strings > from nfs4lib import bitmap2list, dict2fattr > from nfs4_type import nfstime4, settime4 > > @@ -39,7 +39,7 @@ def _try_readonly(t, env, path): > check(res, NFS4ERR_INVAL, > "SETATTR the supported read-only attribute %s" % attr.name) > else: > - checklist(res, [NFS4ERR_INVAL, NFS4ERR_ATTRNOTSUPP], > + check(res, [NFS4ERR_INVAL, NFS4ERR_ATTRNOTSUPP], > "SETATTR the unsupported read-only attribute %s" % attr.name) > > def _try_unsupported(t, env, path): > @@ -571,7 +571,7 @@ def testSizeLink(t, env): > check(res) > ops = c.use_obj(path) + [c.setattr({FATTR4_SIZE: 0})] > res = c.compound(ops) > - checklist(res, [NFS4ERR_INVAL, NFS4ERR_SYMLINK], > + check(res, [NFS4ERR_INVAL, NFS4ERR_SYMLINK], > "SETATTR(FATTR4_SIZE) of a symlink") > > def testSizeBlock(t, env): > diff --git a/nfs4.0/servertests/st_setclientid.py > b/nfs4.0/servertests/st_setclientid.py > index fbeab22..dbcb12e 100644 > --- a/nfs4.0/servertests/st_setclientid.py > +++ b/nfs4.0/servertests/st_setclientid.py > @@ -1,5 +1,5 @@ > from nfs4_const import * > -from environment import check, checklist > +from environment import check > import os > import struct, time > > @@ -378,5 +378,5 @@ def testNoConfirm(t, env): > ops = c.use_obj(c.homedir) > ops += [c.open(t.code, t.code, OPEN4_CREATE)] > res = c.compound(ops) > - checklist(res, [NFS4ERR_STALE_CLIENTID, NFS4ERR_EXPIRED], > + check(res, [NFS4ERR_STALE_CLIENTID, NFS4ERR_EXPIRED], > "OPEN using clientid that was never confirmed") > diff --git a/nfs4.0/servertests/st_verify.py b/nfs4.0/servertests/st_verify.py > index 255b6a8..696575e 100644 > --- a/nfs4.0/servertests/st_verify.py > +++ b/nfs4.0/servertests/st_verify.py > @@ -1,5 +1,5 @@ > from nfs4_const import * > -from environment import check, checklist, get_invalid_clientid, makeStaleId > +from environment import check, get_invalid_clientid, makeStaleId > > def _try_mand(env, path): > c = env.c1 > @@ -43,7 +43,7 @@ def _try_unsupported(env, path): > ops = baseops + [c.verify_op({attr.bitnum: attr.sample})] > res = c.compound(ops) > if attr.writeonly: > - checklist(res, [NFS4ERR_ATTRNOTSUPP, NFS4ERR_INVAL], > + check(res, [NFS4ERR_ATTRNOTSUPP, NFS4ERR_INVAL], > "VERIFY with unsupported attr %s" % attr.name) > else: > check(res, NFS4ERR_ATTRNOTSUPP, > diff --git a/nfs4.0/servertests/st_write.py b/nfs4.0/servertests/st_write.py > index c76cf94..f8efe33 100644 > --- a/nfs4.0/servertests/st_write.py > +++ b/nfs4.0/servertests/st_write.py > @@ -1,6 +1,6 @@ > from nfs4_const import * > from nfs4_type import * > -from environment import check, checklist, compareTimes, makeBadID, > makeBadIDganesha, makeStaleId > +from environment import check, compareTimes, makeBadID, makeBadIDganesha, > makeStaleId > import struct > > _text = 'write data' # len=10 > @@ -175,7 +175,7 @@ def testLink(t, env): > res = c.create_obj(path, NF4LNK) > check(res) > res = c.write_file(path, _text) > - checklist(res, [NFS4ERR_INVAL, NFS4ERR_SYMLINK], "WRITE to a symlink") > + check(res, [NFS4ERR_INVAL, NFS4ERR_SYMLINK], "WRITE to a symlink") > > def testBlock(t, env): > """WRITE to a non-file should return NFS4ERR_INVAL > -- > 2.5.5 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-nfs" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/nfs4.0/servertests/environment.py b/nfs4.0/servertests/environment.py index 9852178..6fe083a 100644 --- a/nfs4.0/servertests/environment.py +++ b/nfs4.0/servertests/environment.py @@ -155,7 +155,7 @@ class Environment(testmod.Environment): for comp in self.opts.path: path.append(comp) res = c.compound(c.use_obj(path)) - checklist(res, [NFS4_OK, NFS4ERR_NOENT], + check(res, [NFS4_OK, NFS4ERR_NOENT], "Could not LOOKUP /%s," % '/'.join(path)) if res.status == NFS4ERR_NOENT: res = c.create_obj(path) @@ -163,7 +163,7 @@ class Environment(testmod.Environment): # remove /tree/* tree = self.opts.path[:-1] + ['tree'] res = c.compound(c.use_obj(tree)) - checklist(res, [NFS4_OK, NFS4ERR_NOENT]) + check(res, [NFS4_OK, NFS4ERR_NOENT]) if res.status == NFS4ERR_NOENT: res = c.create_obj(tree) check(res, msg="Trying to create /%s," % '/'.join(tree)) @@ -233,31 +233,18 @@ class Environment(testmod.Environment): debug_fail = False def check(res, stat=NFS4_OK, msg=None, warnlist=[]): - #if res.status == stat: - # return - if res.status == stat: - if not (debug_fail and msg): - return + if type(stat) is str: raise "You forgot to put 'msg=' in front of check's string arg" - desired = nfsstat4[stat] - received = nfsstat4[res.status] - if msg: - failedop_name = msg - elif res.resarray: - failedop_name = nfs_opnum4[res.resarray[-1].resop] - else: - failedop_name = 'Compound' - msg = "%s should return %s, instead got %s" % \ - (failedop_name, desired, received) - if res.status in warnlist: - raise testmod.WarningException(msg) - else: - raise testmod.FailureException(msg) -def checklist(res, statlist, msg=None): + statlist = stat + if type(statlist) == int: + statlist = [stat] + if res.status in statlist: - return + if not (debug_fail and msg): + return + statnames = [nfsstat4[stat] for stat in statlist] desired = ' or '.join(statnames) if not desired: @@ -271,7 +258,10 @@ def checklist(res, statlist, msg=None): failedop_name = 'Compound' msg = "%s should return %s, instead got %s" % \ (failedop_name, desired, received) - raise testmod.FailureException(msg) + if res.status in warnlist: + raise testmod.WarningException(msg) + else: + raise testmod.FailureException(msg) def checkdict(expected, got, translate={}, failmsg=''): if failmsg: failmsg += ': ' diff --git a/nfs4.0/servertests/st_acl.py b/nfs4.0/servertests/st_acl.py index 653d996..097a4ec 100644 --- a/nfs4.0/servertests/st_acl.py +++ b/nfs4.0/servertests/st_acl.py @@ -1,5 +1,5 @@ from nfs4_const import * -from environment import check, checklist +from environment import check from nfs4_type import nfsace4 # assuming server will accept any small positive integer as an owner diff --git a/nfs4.0/servertests/st_commit.py b/nfs4.0/servertests/st_commit.py index 6b8ade7..bdeceae 100644 --- a/nfs4.0/servertests/st_commit.py +++ b/nfs4.0/servertests/st_commit.py @@ -1,5 +1,5 @@ from nfs4_const import * -from environment import check, checklist +from environment import check _text = "Random data to write" @@ -15,7 +15,7 @@ def _commit(t, c, offset=0, count=0, statlist=[NFS4_OK]): res = c.write_file(fh, _text, 0, stateid, how=UNSTABLE4) check(res, msg="WRITE with how=UNSTABLE4") res = c.commit_file(fh, offset, count) - checklist(res, statlist, msg="COMMIT with offset=%x, count=%x" % (offset, count)) + check(res, statlist, msg="COMMIT with offset=%x, count=%x" % (offset, count)) def testCommitOffset0(t, env): """COMMIT @@ -80,7 +80,7 @@ def testLink(t, env): """ c = env.c1 res = c.commit_file(env.opts.uselink) - checklist(res, [NFS4ERR_INVAL, NFS4ERR_SYMLINK], "COMMIT with non-file object") + check(res, [NFS4ERR_INVAL, NFS4ERR_SYMLINK], "COMMIT with non-file object") def testBlock(t, env): """COMMIT diff --git a/nfs4.0/servertests/st_compound.py b/nfs4.0/servertests/st_compound.py index d2af73b..17ae26d 100644 --- a/nfs4.0/servertests/st_compound.py +++ b/nfs4.0/servertests/st_compound.py @@ -1,7 +1,7 @@ from nfs4_const import * from nfs4_type import nfs_argop4 from nfs4_pack import NFS4Packer -from environment import check, checklist, get_invalid_utf8strings +from environment import check, get_invalid_utf8strings from rpc import RPCError def testZeroOps(t, env): @@ -100,7 +100,7 @@ def testLongCompound(t, env): while 1: count += step res = c.compound(baseops * count) - checklist(res, [NFS4_OK, NFS4ERR_RESOURCE], + check(res, [NFS4_OK, NFS4ERR_RESOURCE], "COMPOUND with len=%i argarry" % (3*count)) if res.status == NFS4ERR_RESOURCE: return diff --git a/nfs4.0/servertests/st_create.py b/nfs4.0/servertests/st_create.py index 490c75b..149c8d7 100644 --- a/nfs4.0/servertests/st_create.py +++ b/nfs4.0/servertests/st_create.py @@ -1,6 +1,6 @@ from nfs4_const import * from nfs4_type import createtype4, specdata4 -from environment import check, checklist +from environment import check def getDefaultAttr(c): attr = {} @@ -91,7 +91,7 @@ def testDirOffLink(t, env): """ c = env.c1 res = c.create_obj(env.opts.uselink + [t.code]) - checklist(res, [NFS4ERR_NOTDIR, NFS4ERR_SYMLINK]) + check(res, [NFS4ERR_NOTDIR, NFS4ERR_SYMLINK]) def testDirOffBlock(t, env): """CREATE dir off a block device @@ -172,7 +172,7 @@ def testZeroLengthForLNK(t, env): objtype = createtype4(NF4LNK, **{'linkdata':''}) ops += [c.create_op(objtype, t.code, getDefaultAttr(c))] res = c.compound(ops) - checklist(res, [NFS4ERR_INVAL, NFS4ERR_NOENT], "CREATE with zero-length name for SYMLINK") + check(res, [NFS4ERR_INVAL, NFS4ERR_NOENT], "CREATE with zero-length name for SYMLINK") def testRegularFile(t, env): """CREATE should fail with NFS4ERR_BADTYPE for regular files @@ -228,10 +228,10 @@ def testDots(t, env): """ c = env.c1 res = c.create_obj(c.homedir + ['.']) - checklist(res, [NFS4_OK, NFS4ERR_BADNAME], + check(res, [NFS4_OK, NFS4ERR_BADNAME], "Trying to CREATE a dir named '.'") res2 = c.create_obj(c.homedir + ['..']) - checklist(res2, [NFS4_OK, NFS4ERR_BADNAME], + check(res2, [NFS4_OK, NFS4ERR_BADNAME], "Trying to CREATE a dir named '..'") if res.status == NFS4_OK or res2.status == NFS4_OK: t.pass_warn("Allowed creation of dir named '.' or '..'") @@ -258,7 +258,7 @@ def testSlash(t, env): res = c.create_obj(c.homedir + [t.code + '/foo']) if res.status == NFS4_OK: t.pass_warn("Allowed creation of dir named '%s/foo'" % t.code) - checklist(res, [NFS4ERR_BADNAME, NFS4ERR_BADCHAR], + check(res, [NFS4ERR_BADNAME, NFS4ERR_BADCHAR], "Creation of dir named '%s/foo'" % t.code) def testLongName(t, env): diff --git a/nfs4.0/servertests/st_delegation.py b/nfs4.0/servertests/st_delegation.py index eaff326..6994f91 100644 --- a/nfs4.0/servertests/st_delegation.py +++ b/nfs4.0/servertests/st_delegation.py @@ -1,6 +1,6 @@ from nfs4_const import * from nfs4_type import nfs_client_id4, clientaddr4, cb_client4 -from environment import check, checklist +from environment import check import os import threading import time @@ -54,7 +54,7 @@ def _cause_recall(t, env): deny=OPEN4_SHARE_DENY_NONE) _lock.release() if res.status == NFS4_OK: break - checklist(res, [NFS4_OK, NFS4ERR_DELAY], "Open which causes recall") + check(res, [NFS4_OK, NFS4ERR_DELAY], "Open which causes recall") env.sleep(sleeptime, 'Got NFS4ERR_DELAY on open') return c.confirm('newowner', res) @@ -291,7 +291,7 @@ def testRenew(t, env, funct=None, response=NFS4_OK): access=OPEN4_SHARE_ACCESS_WRITE) env.sleep(lease / 2, "Waiting to send RENEW") res = c.compound([c.renew_op(c.clientid)]) - checklist(res, [NFS4_OK, NFS4ERR_CB_PATH_DOWN], "RENEW") + check(res, [NFS4_OK, NFS4ERR_CB_PATH_DOWN], "RENEW") if res.status != NFS4_OK: noticed = True break @@ -362,7 +362,7 @@ def testDelegShare(t, env, funct=_recall, response=NFS4_OK): access=OPEN4_SHARE_ACCESS_WRITE) _lock.release() if res.status in [NFS4_OK, NFS4ERR_SHARE_DENIED]: break - checklist(res, [NFS4_OK, NFS4ERR_DELAY, NFS4ERR_SHARE_DENIED], + check(res, [NFS4_OK, NFS4ERR_DELAY, NFS4ERR_SHARE_DENIED], "Open which causes recall") env.sleep(sleeptime, 'Got NFS4ERR_DELAY on open') sleeptime += 5 @@ -410,7 +410,7 @@ def testChangeDeleg(t, env, funct=_recall): confirm = res.resarray[0].switch.switch.setclientid_confirm confirmop = c.setclientid_confirm_op(c.clientid, confirm) res = c.compound([confirmop]) - checklist(res, [NFS4_OK, NFS4ERR_RESOURCE]) + check(res, [NFS4_OK, NFS4ERR_RESOURCE]) if res.status == NFS4ERR_RESOURCE: # ibm workaround res = c.compound([confirmop]) @@ -522,7 +522,7 @@ def testClaimCur(t, env): res = c.open_file('newowner', c.homedir + [t.code], access=OPEN4_SHARE_ACCESS_WRITE, deny=OPEN4_SHARE_DENY_NONE) - checklist(res, [NFS4_OK, NFS4ERR_DELAY], "Open which causes recall") + check(res, [NFS4_OK, NFS4ERR_DELAY], "Open which causes recall") env.sleep(2, "Waiting for recall") # Now send some opens @@ -541,7 +541,7 @@ def _retry_conflicting_op(env, c, op, opname): res = c.compound(op) _lock.release() if res.status == NFS4_OK: break - checklist(res, [NFS4_OK, NFS4ERR_DELAY], + check(res, [NFS4_OK, NFS4ERR_DELAY], "%s which causes recall" % opname) env.sleep(1, 'Got NFS4ERR_DELAY on %s' % opname) diff --git a/nfs4.0/servertests/st_getattr.py b/nfs4.0/servertests/st_getattr.py index 6a4acdd..9dede73 100644 --- a/nfs4.0/servertests/st_getattr.py +++ b/nfs4.0/servertests/st_getattr.py @@ -1,5 +1,5 @@ from nfs4_const import * -from environment import check, checklist +from environment import check from nfs4lib import get_attr_name def _try_mandatory(t, env, path): @@ -481,7 +481,7 @@ def testFSLocations(t, env): ops = c.use_obj(env.opts.usefile) ops += [c.getattr([FATTR4_FS_LOCATIONS])] res = c.compound(ops) - checklist(res, [NFS4_OK, NFS4ERR_ATTRNOTSUPP], "GETATTR(fs_locations)") + check(res, [NFS4_OK, NFS4ERR_ATTRNOTSUPP], "GETATTR(fs_locations)") if res.status == NFS4ERR_ATTRNOTSUPP: t.fail_support("fs_locations not a supported attribute") # print res.resarray[-1].obj_attributes @@ -512,7 +512,7 @@ def testOwnerName(t, env): ops = c.use_obj(env.opts.usefile) ops += [c.getattr([FATTR4_OWNER])] res = c.compound(ops) - checklist(res, [NFS4_OK, NFS4ERR_ATTRNOTSUPP], "GETATTR(owner)") + check(res, [NFS4_OK, NFS4ERR_ATTRNOTSUPP], "GETATTR(owner)") if res.status == NFS4ERR_ATTRNOTSUPP: t.fail_support("owner not a supported attribute") # print res.resarray[-1].obj_attributes diff --git a/nfs4.0/servertests/st_link.py b/nfs4.0/servertests/st_link.py index 633025b..d87b14d 100644 --- a/nfs4.0/servertests/st_link.py +++ b/nfs4.0/servertests/st_link.py @@ -1,5 +1,5 @@ from nfs4_const import * -from environment import check, checklist, get_invalid_utf8strings +from environment import check, get_invalid_utf8strings def _basictest(t, c, path, error=NFS4_OK): """Link to path, and make sure FATTR4_NUMLINKS increases by one""" @@ -143,7 +143,7 @@ def testCfhLink(t, env): CODE: LINK4a """ res = env.c1.link(env.opts.usefile, env.opts.uselink + [t.code]) - checklist(res, [NFS4ERR_NOTDIR, NFS4ERR_SYMLINK], + check(res, [NFS4ERR_NOTDIR, NFS4ERR_SYMLINK], "LINK with <cfh> not a directory") def testCfhBlock(t, env): @@ -238,10 +238,10 @@ def testDots(t, env): res = c.create_obj(dir) check(res) res1 = c.link(env.opts.usefile, dir + ['.']) - checklist(res1, [NFS4_OK, NFS4ERR_BADNAME], + check(res1, [NFS4_OK, NFS4ERR_BADNAME], "Trying to make a hardlink named '.'") res2 = c.link(env.opts.usefile, dir + ['..']) - checklist(res2, [NFS4_OK, NFS4ERR_BADNAME], + check(res2, [NFS4_OK, NFS4ERR_BADNAME], "Trying to make a hardlink named '..'") if res1.status == NFS4_OK or res2.status == NFS4_OK: t.pass_warn("Allowed creation of hardlink named '.' or '..'") diff --git a/nfs4.0/servertests/st_lock.py b/nfs4.0/servertests/st_lock.py index d54614d..5e5c69c 100644 --- a/nfs4.0/servertests/st_lock.py +++ b/nfs4.0/servertests/st_lock.py @@ -1,6 +1,6 @@ from nfs4_const import * from nfs4_type import stateid4 -from environment import check, checklist, get_invalid_clientid, makeStaleId, makeBadIDganesha +from environment import check, get_invalid_clientid, makeStaleId, makeBadIDganesha import time def testFile(t, env): @@ -33,7 +33,7 @@ def testClose(t, env): res = c.lock_test(fh) check(res, NFS4ERR_DENIED, "Testing file %s is locked" % t.code) res = c.close_file(t.code, fh, stateid) - checklist(res, [NFS4_OK, NFS4ERR_LOCKS_HELD], + check(res, [NFS4_OK, NFS4ERR_LOCKS_HELD], "Trying to close locked file") if res.status == NFS4ERR_LOCKS_HELD: t.fail_support("Can not close locked files") @@ -74,7 +74,7 @@ def test32bitRange(t, env): c.init_connection() fh, stateid = c.create_confirm(t.code) res = c.lock_file(t.code, fh, stateid, 0, 0xffffffffffff) - checklist(res, [NFS4_OK, NFS4ERR_BAD_RANGE], "LOCK range over 32 bits") + check(res, [NFS4_OK, NFS4ERR_BAD_RANGE], "LOCK range over 32 bits") if res.status == NFS4ERR_BAD_RANGE: t.fail_support("Server does not support 64 bit lock ranges") @@ -91,7 +91,7 @@ def testOverlap(t, env): res1 = c.lock_file(t.code, fh, stateid, 25, 75) check(res1) res2 = c.relock_file(1, fh, res1.lockid, 50, 75) - checklist(res2, [NFS4_OK, NFS4ERR_LOCK_RANGE], "Overlapping locks") + check(res2, [NFS4_OK, NFS4ERR_LOCK_RANGE], "Overlapping locks") if res2.status == NFS4ERR_LOCK_RANGE: t.fail_support("Server does not support lock consolidation") # Test the merged lock @@ -116,7 +116,7 @@ def testDowngrade(t, env): check(res1) # Lock again with read lock res2 = c.relock_file(1, fh, res1.lockid, 25, 75, READ_LT) - checklist(res2, [NFS4_OK, NFS4ERR_LOCK_NOTSUPP], "Lock downgrade") + check(res2, [NFS4_OK, NFS4ERR_LOCK_NOTSUPP], "Lock downgrade") if res2.status == NFS4ERR_LOCK_NOTSUPP: t.fail_support("Server does not support atomic lock downgrades") # Test the lock has changed @@ -140,7 +140,7 @@ def testUpgrade(t, env): check(res1) # Lock again with write lock res2 = c.relock_file(1, fh, res1.lockid, 25, 75, WRITE_LT) - checklist(res2, [NFS4_OK, NFS4ERR_LOCK_NOTSUPP], "Lock upgrade") + check(res2, [NFS4_OK, NFS4ERR_LOCK_NOTSUPP], "Lock upgrade") if res2.status == NFS4ERR_LOCK_NOTSUPP: t.fail_support("Server does not support atomic lock upgrades") # Test the lock has changed @@ -161,7 +161,7 @@ def testMode(t, env): c.init_connection() fh, stateid = c.create_confirm(t.code, access=OPEN4_SHARE_ACCESS_READ) res = c.lock_file(t.code, fh, stateid) - checklist(res, [NFS4_OK, NFS4ERR_OPENMODE], + check(res, [NFS4_OK, NFS4ERR_OPENMODE], "Write-locking a read-mode file") if res.status == NFS4_OK: t.pass_warn("Allowed write-locking a read-mode file, " @@ -409,7 +409,7 @@ def testTimedoutGrabLock(t, env): for i in range(3): env.sleep(sleeptime) res = c2.compound([c2.renew_op(c2.clientid)]) - checklist(res, [NFS4_OK, NFS4ERR_CB_PATH_DOWN]) + check(res, [NFS4_OK, NFS4ERR_CB_PATH_DOWN]) # Client 2: Lock file, should work since Client 1's lock has expired res2 = c2.lock_file(t.code, fh2, stateid2, type=READ_LT) check(res2, msg="Locking file after another client's lock expires") @@ -660,7 +660,7 @@ def testBlockTimeout(t, env): for i in range(3): env.sleep(sleeptime, "Waiting for queued blocking lock to timeout") res = c.compound([c.renew_op(c.clientid)]) - checklist(res, [NFS4_OK, NFS4ERR_CB_PATH_DOWN]) + check(res, [NFS4_OK, NFS4ERR_CB_PATH_DOWN]) # Standard owner releases lock res1 = c.unlock_file(1, fh1, res1.lockid) check(res1) diff --git a/nfs4.0/servertests/st_lockt.py b/nfs4.0/servertests/st_lockt.py index 134f1fa..94b685b 100644 --- a/nfs4.0/servertests/st_lockt.py +++ b/nfs4.0/servertests/st_lockt.py @@ -1,5 +1,5 @@ from nfs4_const import * -from environment import check, checklist, get_invalid_clientid +from environment import check, get_invalid_clientid def testUnlockedFile(t, env): """LOCKT on a regular unlocked file @@ -48,7 +48,7 @@ def testLink(t, env): c = env.c1 c.init_connection() res = c.lock_test(env.opts.uselink) - checklist(res, [NFS4ERR_INVAL, NFS4ERR_SYMLINK], "LOCKT on non-file object") + check(res, [NFS4ERR_INVAL, NFS4ERR_SYMLINK], "LOCKT on non-file object") def testBlock(t, env): """LOCKT on non-file objects) @@ -127,7 +127,7 @@ def test32bitRange(t, env): c.init_connection() fh, stateid = c.create_confirm(t.code) res = c.lock_test(fh, 0, 0xffffffffffff) - checklist(res, [NFS4_OK, NFS4ERR_BAD_RANGE], "LOCKT range over 32 bits") + check(res, [NFS4_OK, NFS4ERR_BAD_RANGE], "LOCKT range over 32 bits") if res.status == NFS4ERR_BAD_RANGE: t.fail_support("Server does not support 64 bit lock ranges") @@ -147,7 +147,7 @@ def testOverlap(t, env): res = c.lock_test(fh, 100, 50, tester=lockowner) check(res, msg="LOCKT against own exactly matching lock") res = c.lock_test(fh, 75, 50, tester=lockowner) - checklist(res, [NFS4_OK, NFS4ERR_LOCK_RANGE], + check(res, [NFS4_OK, NFS4ERR_LOCK_RANGE], "LOCKT against own overlapping lock") if res.status == NFS4ERR_LOCK_RANGE: t.fail_support("Server does not support lock consolidation") diff --git a/nfs4.0/servertests/st_locku.py b/nfs4.0/servertests/st_locku.py index 06b342c..dc8acc8 100644 --- a/nfs4.0/servertests/st_locku.py +++ b/nfs4.0/servertests/st_locku.py @@ -1,6 +1,6 @@ from nfs4_const import * from nfs4_type import stateid4 -from environment import check, checklist, makeStaleId +from environment import check, makeStaleId def testFile(t, env): """LOCKU a regular file @@ -34,7 +34,7 @@ def testUnlocked(t, env): res1 = c.lock_file(t.code, fh, stateid, 100, 100) check(res1, msg="Locking file %s" % t.code) res2 = c.unlock_file(1, fh, res1.lockid, 0, 50) - checklist(res2, [NFS4_OK, NFS4ERR_LOCK_RANGE], "LOCKU on an unlocked area") + check(res2, [NFS4_OK, NFS4ERR_LOCK_RANGE], "LOCKU on an unlocked area") if res2.status == NFS4ERR_LOCK_RANGE: t.fail_support("LOCKU on an unlocked area should return OK") @@ -51,7 +51,7 @@ def testSplit(t, env): res1 = c.lock_file(t.code, fh, stateid, 100, 100) check(res1, msg="Locking file %s" % t.code) res2 = c.unlock_file(1, fh, res1.lockid, 125, 50) - checklist(res2, [NFS4_OK, NFS4ERR_LOCK_RANGE], "LOCKU inside locked area") + check(res2, [NFS4_OK, NFS4ERR_LOCK_RANGE], "LOCKU inside locked area") if res2.status == NFS4ERR_LOCK_RANGE: t.fail_support("LOCKU inside a locked area should return OK") @@ -68,7 +68,7 @@ def testOverlap(t, env): res1 = c.lock_file(t.code, fh, stateid, 100, 100) check(res1, msg="Locking file %s" % t.code) res2 = c.unlock_file(1, fh, res1.lockid, 50, 100) - checklist(res2, [NFS4_OK, NFS4ERR_LOCK_RANGE], + check(res2, [NFS4_OK, NFS4ERR_LOCK_RANGE], "LOCKU overlapping a locked area") if res2.status == NFS4ERR_LOCK_RANGE: t.fail("LOCKU overlapping a locked area should return OK, " @@ -87,7 +87,7 @@ def test32bitRange(t, env): res1 = c.lock_file(t.code, fh, stateid) check(res1) res2 = c.unlock_file(1, fh, res1.lockid, 0, 0xffffffffffff) - checklist(res2, [NFS4_OK, NFS4ERR_BAD_RANGE, NFS4ERR_LOCK_RANGE], + check(res2, [NFS4_OK, NFS4ERR_BAD_RANGE, NFS4ERR_LOCK_RANGE], "LOCKU range over 32 bits") if res2.status == NFS4ERR_BAD_RANGE: t.fail("Allowed 64 bit LOCK range, but only 32 bit LOCKU range") @@ -265,5 +265,5 @@ def testTimedoutUnlock(t, env): c2.init_connection() c2.open_confirm(t.code, access=OPEN4_SHARE_ACCESS_WRITE) res2 = c.unlock_file(1, fh, res1.lockid) - checklist(res2, [NFS4ERR_EXPIRED, NFS4_OK], + check(res2, [NFS4ERR_EXPIRED, NFS4_OK], "Try to unlock file after timed out") diff --git a/nfs4.0/servertests/st_lookup.py b/nfs4.0/servertests/st_lookup.py index 392be52..112ee51 100644 --- a/nfs4.0/servertests/st_lookup.py +++ b/nfs4.0/servertests/st_lookup.py @@ -1,5 +1,5 @@ from nfs4_const import * -from environment import check, checklist, get_invalid_utf8strings +from environment import check, get_invalid_utf8strings import rpc def testDir(t, env): @@ -218,7 +218,7 @@ def testNonAccessable(t, env): check(res) res = c.compound(c.use_obj(dir + ['foo'])) if env.opts.uid == 0: - checklist(res, [NFS4_OK, NFS4ERR_ACCESS], "LOOKUP object in a dir with mode=000") + check(res, [NFS4_OK, NFS4ERR_ACCESS], "LOOKUP object in a dir with mode=000") else: check(res, NFS4ERR_ACCESS, "LOOKUP object in a dir with mode=000") @@ -254,16 +254,16 @@ def testDots(t, env): check(res) # Run tests res1 = c.compound(c.use_obj(dir + ['.'])) - checklist(res1, [NFS4ERR_NOENT, NFS4ERR_BADNAME], + check(res1, [NFS4ERR_NOENT, NFS4ERR_BADNAME], "LOOKUP a nonexistant '.'") res2 = c.compound(c.use_obj(dir + ['..'])) - checklist(res2, [NFS4ERR_NOENT, NFS4ERR_BADNAME], + check(res2, [NFS4ERR_NOENT, NFS4ERR_BADNAME], "LOOKUP a nonexistant '..'") res1 = c.compound(c.use_obj(dir + ['.', 'foo'])) - checklist(res1, [NFS4ERR_NOENT, NFS4ERR_BADNAME], + check(res1, [NFS4ERR_NOENT, NFS4ERR_BADNAME], "LOOKUP a nonexistant '.'") res2 = c.compound(c.use_obj(dir + ['..', t.code])) - checklist(res2, [NFS4ERR_NOENT, NFS4ERR_BADNAME], + check(res2, [NFS4ERR_NOENT, NFS4ERR_BADNAME], "LOOKUP a nonexistant '..'") def testUnaccessibleDir(t, env): @@ -281,7 +281,7 @@ def testUnaccessibleDir(t, env): check(res, msg="Setting mode=0 on directory %s" % t.code) res = c.compound(c.use_obj(path + ['hidden'])) if env.opts.uid == 0: - checklist(res, [NFS4_OK, NFS4ERR_ACCESS], "LOOKUP off of dir with mode=000") + check(res, [NFS4_OK, NFS4ERR_ACCESS], "LOOKUP off of dir with mode=000") else: check(res, NFS4ERR_ACCESS, "LOOKUP off of dir with mode=000") diff --git a/nfs4.0/servertests/st_lookupp.py b/nfs4.0/servertests/st_lookupp.py index 6249700..4fa6e9b 100644 --- a/nfs4.0/servertests/st_lookupp.py +++ b/nfs4.0/servertests/st_lookupp.py @@ -1,5 +1,5 @@ from nfs4_const import * -from environment import check, checklist, get_invalid_utf8strings +from environment import check, get_invalid_utf8strings def testDir(t, env): """LOOKUPP with directory (cfh) @@ -54,7 +54,7 @@ def testLink(t, env): c = env.c1 ops = c.use_obj(env.opts.uselink) + [c.lookupp_op()] res = c.compound(ops) - checklist(res, [NFS4ERR_NOTDIR, NFS4ERR_SYMLINK], + check(res, [NFS4ERR_NOTDIR, NFS4ERR_SYMLINK], "LOOKUPP with non-dir <cfh>") def testBlock(t, env): diff --git a/nfs4.0/servertests/st_nverify.py b/nfs4.0/servertests/st_nverify.py index 24e37e1..b0a8a4b 100644 --- a/nfs4.0/servertests/st_nverify.py +++ b/nfs4.0/servertests/st_nverify.py @@ -1,5 +1,5 @@ from nfs4_const import * -from environment import check, checklist, get_invalid_clientid, makeStaleId +from environment import check, get_invalid_clientid, makeStaleId def _try_mand(env, path): c = env.c1 @@ -43,7 +43,7 @@ def _try_unsupported(env, path): ops = baseops + [c.nverify_op({attr.bitnum: attr.sample})] res = c.compound(ops) if attr.writeonly: - checklist(res, [NFS4ERR_ATTRNOTSUPP, NFS4ERR_INVAL], + check(res, [NFS4ERR_ATTRNOTSUPP, NFS4ERR_INVAL], "VERIFY with unsupported attr %s" % attr.name) else: check(res, NFS4ERR_ATTRNOTSUPP, diff --git a/nfs4.0/servertests/st_open.py b/nfs4.0/servertests/st_open.py index 1057d83..3637b41 100644 --- a/nfs4.0/servertests/st_open.py +++ b/nfs4.0/servertests/st_open.py @@ -1,5 +1,5 @@ from nfs4_const import * -from environment import check, checklist, checkdict, get_invalid_utf8strings +from environment import check, checkdict, get_invalid_utf8strings from nfs4lib import get_bitnumattr_dict # Any test that uses create_confirm should depend on this test @@ -79,7 +79,7 @@ def testCreatExclusiveFile(t, env): c.init_connection() # Create the file res = c.create_file(t.code, mode=EXCLUSIVE4, verifier='12345678', deny=OPEN4_SHARE_DENY_NONE) - checklist(res, [NFS4_OK, NFS4ERR_NOTSUPP], + check(res, [NFS4_OK, NFS4ERR_NOTSUPP], "Trying to do exclusive create of file %s" % t.code) if res.status == NFS4ERR_NOTSUPP: c.fail_support("Exclusive OPEN not supported") @@ -310,7 +310,7 @@ def testClaimPrev(t, env): c.init_connection() fh, stateid = c.create_confirm(t.code) res = c.open_file(t.code, fh, claim_type=CLAIM_PREVIOUS, deleg_type=OPEN_DELEGATE_NONE) - checklist(res, [NFS4ERR_RECLAIM_BAD, NFS4ERR_NO_GRACE], + check(res, [NFS4ERR_RECLAIM_BAD, NFS4ERR_NO_GRACE], "Trying to OPEN with CLAIM_PREVIOUS") def testModeChange(t, env): @@ -331,7 +331,7 @@ def testModeChange(t, env): res = c.open_file(t.code, access=OPEN4_SHARE_ACCESS_BOTH, deny=OPEN4_SHARE_DENY_NONE) if env.opts.uid == 0: - checklist(res, [NFS4_OK, NFS4ERR_ACCESS], "Opening file %s with mode=000" % t.code) + check(res, [NFS4_OK, NFS4ERR_ACCESS], "Opening file %s with mode=000" % t.code) else: check(res, NFS4ERR_ACCESS, "Opening file %s with mode=000" % t.code) diff --git a/nfs4.0/servertests/st_openconfirm.py b/nfs4.0/servertests/st_openconfirm.py index bd238dd..589454d 100644 --- a/nfs4.0/servertests/st_openconfirm.py +++ b/nfs4.0/servertests/st_openconfirm.py @@ -1,6 +1,6 @@ from nfs4_const import * from nfs4_type import stateid4 -from environment import check, checklist, makeStaleId +from environment import check, makeStaleId def _confirm(t, c, file, stateid): ops = c.use_obj(file) diff --git a/nfs4.0/servertests/st_read.py b/nfs4.0/servertests/st_read.py index 5a3932e..de13418 100644 --- a/nfs4.0/servertests/st_read.py +++ b/nfs4.0/servertests/st_read.py @@ -1,5 +1,5 @@ from nfs4_const import * -from environment import check, checklist, makeBadID, makeBadIDganesha, makeStaleId +from environment import check, makeBadID, makeBadIDganesha, makeStaleId import rpc def _compare(t, res, expect, eof=True): @@ -123,7 +123,7 @@ def testLink(t, env): """ c = env.c1 res = c.read_file(env.opts.uselink) - checklist(res, [NFS4ERR_INVAL, NFS4ERR_SYMLINK], "Read of a non-file object") + check(res, [NFS4ERR_INVAL, NFS4ERR_SYMLINK], "Read of a non-file object") def testBlock(t, env): """READ with non-file objects @@ -240,4 +240,4 @@ def testStolenStateid(t, env): c.security=rpc.SecAuthSys(0, "whatever", 3912, 2422, []) res = c.read_file(fh, stateid=stateid) c.security=security - checklist(res, [NFS4ERR_ACCESS, NFS4ERR_PERM], "READ with stolen stateid") + check(res, [NFS4ERR_ACCESS, NFS4ERR_PERM], "READ with stolen stateid") diff --git a/nfs4.0/servertests/st_readdir.py b/nfs4.0/servertests/st_readdir.py index bf4add4..0a3b45a 100644 --- a/nfs4.0/servertests/st_readdir.py +++ b/nfs4.0/servertests/st_readdir.py @@ -1,6 +1,6 @@ from nfs4_const import * from nfs4lib import get_attr_name -from environment import check, checklist +from environment import check def _compare(t, entries, expect, attrlist=[]): names = [e.name for e in entries] @@ -107,7 +107,7 @@ def testFhLink(t, env): ops = c.use_obj(env.opts.uselink) ops += [c.readdir()] res = c.compound(ops) - checklist(res, [NFS4ERR_NOTDIR, NFS4ERR_SYMLINK], "READDIR with non-dir <cfh>") + check(res, [NFS4ERR_NOTDIR, NFS4ERR_SYMLINK], "READDIR with non-dir <cfh>") def testFhBlock(t, env): """READDIR with non-dir (cfh) should give NFS4ERR_NOTDIR @@ -232,7 +232,7 @@ def testUnaccessibleDir(t, env): ops = c.use_obj(path) + [c.readdir()] res = c.compound(ops) if env.opts.uid == 0: - checklist(res, [NFS4_OK, NFS4ERR_ACCESS], "READDIR of directory with mode=000") + check(res, [NFS4_OK, NFS4ERR_ACCESS], "READDIR of directory with mode=000") else: check(res, NFS4ERR_ACCESS, "READDIR of directory with mode=000") @@ -253,7 +253,7 @@ def testUnaccessibleDirAttrs(t, env): [c.readdir(attr_request=[FATTR4_RDATTR_ERROR, FATTR4_TYPE])] res = c.compound(ops) if env.opts.uid == 0: - checklist(res, [NFS4_OK, NFS4ERR_ACCESS], "READDIR of directory with mode=000") + check(res, [NFS4_OK, NFS4ERR_ACCESS], "READDIR of directory with mode=000") else: check(res, NFS4ERR_ACCESS, "READDIR of directory with mode=000") diff --git a/nfs4.0/servertests/st_reboot.py b/nfs4.0/servertests/st_reboot.py index ef91c07..02e458c 100644 --- a/nfs4.0/servertests/st_reboot.py +++ b/nfs4.0/servertests/st_reboot.py @@ -1,5 +1,5 @@ from nfs4_const import * -from environment import check, checklist +from environment import check import os # NOTE - reboot tests are NOT part of the standard test suite @@ -76,7 +76,7 @@ def testManyClaims(t, env): c.init_connection(badid) res = c.open_file(t.code, badfh, claim_type=CLAIM_PREVIOUS, deleg_type=OPEN_DELEGATE_NONE) - checklist(res, [NFS4ERR_NO_GRACE, NFS4ERR_RECLAIM_BAD], + check(res, [NFS4ERR_NO_GRACE, NFS4ERR_RECLAIM_BAD], "Reclaim with bad clientid %s" % badid) finally: env.sleep(sleeptime, "Waiting for grace period to end") @@ -144,7 +144,7 @@ def testEdge1(t, env): c1.init_connection() res1 = c1.open_file(t.code, fh1, claim_type=CLAIM_PREVIOUS, deleg_type=OPEN_DELEGATE_NONE) - checklist(res1, [NFS4ERR_NO_GRACE, NFS4ERR_RECLAIM_BAD], + check(res1, [NFS4ERR_NO_GRACE, NFS4ERR_RECLAIM_BAD], "Reclaim lock that has been interfered with") finally: env.sleep(sleeptime, "Waiting for grace period to end") @@ -190,7 +190,7 @@ def testEdge2(t, env): c1.init_connection() res1 = c1.open_file(t.code, fh1, claim_type=CLAIM_PREVIOUS, deleg_type=OPEN_DELEGATE_NONE) - checklist(res1, [NFS4ERR_NO_GRACE, NFS4ERR_RECLAIM_BAD], + check(res1, [NFS4ERR_NO_GRACE, NFS4ERR_RECLAIM_BAD], "Reclaim lock that has been interfered with") finally: env.sleep(sleeptime, "Waiting for grace period to end") @@ -222,7 +222,7 @@ def testRootSquash(t, env): c.init_connection() while 1: res = c.create_file(t.code, c.homedir + [t.code, 'file']) - checklist(res, [NFS4_OK, NFS4ERR_GRACE], "Creating file") + check(res, [NFS4_OK, NFS4ERR_GRACE], "Creating file") if res.status == NFS4ERR_GRACE: env.sleep(1, "Waiting for grace period to *just* finish") else: diff --git a/nfs4.0/servertests/st_releaselockowner.py b/nfs4.0/servertests/st_releaselockowner.py index 73b2b5a..a0b8949 100644 --- a/nfs4.0/servertests/st_releaselockowner.py +++ b/nfs4.0/servertests/st_releaselockowner.py @@ -1,6 +1,6 @@ from nfs4_const import * from nfs4_type import lock_owner4 -from environment import check, checklist +from environment import check def testFile(t, env): """RELEASE_LOCKOWNER - basic test diff --git a/nfs4.0/servertests/st_remove.py b/nfs4.0/servertests/st_remove.py index d475185..d1614a9 100644 --- a/nfs4.0/servertests/st_remove.py +++ b/nfs4.0/servertests/st_remove.py @@ -1,5 +1,5 @@ from nfs4_const import * -from environment import check, checklist, get_invalid_utf8strings +from environment import check, get_invalid_utf8strings def testDir(t, env): """REMOVE on existing, removable object @@ -121,7 +121,7 @@ def testCfhLink(t, env): c = env.c1 ops = c.use_obj(env.opts.uselink) + [c.remove_op(t.code)] res = c.compound(ops) - checklist(res, [NFS4ERR_NOTDIR, NFS4ERR_SYMLINK], "REMOVE with non-dir cfh") + check(res, [NFS4ERR_NOTDIR, NFS4ERR_SYMLINK], "REMOVE with non-dir cfh") def testCfhBlock(t, env): """REMOVE with non-dir (cfh) should give NFS4ERR_NOTDIR diff --git a/nfs4.0/servertests/st_rename.py b/nfs4.0/servertests/st_rename.py index 1e01d8e..0feba4b 100644 --- a/nfs4.0/servertests/st_rename.py +++ b/nfs4.0/servertests/st_rename.py @@ -1,5 +1,5 @@ from nfs4_const import * -from environment import check, checklist, get_invalid_utf8strings +from environment import check, get_invalid_utf8strings def testValidDir(t, env): """RENAME : normal operation @@ -130,7 +130,7 @@ def testSfhLink(t, env): """ c = env.c1 res = c.rename_obj(env.opts.uselink + [t.code], c.homedir + [t.code]) - checklist(res, [NFS4ERR_NOTDIR, NFS4ERR_SYMLINK], "RENAME with non-dir <sfh>") + check(res, [NFS4ERR_NOTDIR, NFS4ERR_SYMLINK], "RENAME with non-dir <sfh>") def testSfhBlock(t, env): """RENAME with non-dir (sfh) should return NFS4ERR_NOTDIR @@ -200,7 +200,7 @@ def testCfhLink(t, env): res = c.create_obj(t.code) check(res) res = c.rename_obj(c.homedir + [t.code], env.opts.uselink + [t.code]) - checklist(res, [NFS4ERR_NOTDIR, NFS4ERR_SYMLINK], "RENAME with non-dir <cfh>") + check(res, [NFS4ERR_NOTDIR, NFS4ERR_SYMLINK], "RENAME with non-dir <cfh>") def testCfhBlock(t, env): """RENAME with non-dir (cfh) should return NFS4ERR_NOTDIR @@ -386,7 +386,7 @@ def testDirToObj(t, env): c.maketree([t.code, ['dir'], 'file']) res = c.rename_obj(basedir + ['dir'], basedir + ['file']) # note rfc 3530 and 1813 specify EXIST, but posix specifies NOTDIR - checklist(res, [NFS4ERR_EXIST, NFS4ERR_NOTDIR], "RENAME dir into existing file") + check(res, [NFS4ERR_EXIST, NFS4ERR_NOTDIR], "RENAME dir into existing file") def testDirToDir(t, env): """RENAME dir into existing, empty dir should retrun NFS4_OK @@ -414,7 +414,7 @@ def testFileToDir(t, env): c.maketree([t.code, ['dir'], 'file']) res = c.rename_obj(basedir + ['file'], basedir + ['dir']) # note rfc 3530 and 1813 specify EXIST, but posix specifies ISDIR - checklist(res, [NFS4ERR_EXIST, NFS4ERR_ISDIR], "RENAME file into existing dir") + check(res, [NFS4ERR_EXIST, NFS4ERR_ISDIR], "RENAME file into existing dir") def testFileToFile(t, env): """RENAME file into existing file should return NFS4_OK @@ -441,7 +441,7 @@ def testDirToFullDir(t, env): basedir = c.homedir + [t.code] c.maketree([t.code, ['dir1'], ['dir2', ['foo']]]) res = c.rename_obj(basedir + ['dir1'], basedir + ['dir2']) - checklist(res, [NFS4ERR_EXIST, NFS4ERR_NOTEMPTY], "RENAME dir1 into existing, nonempty dir2") + check(res, [NFS4ERR_EXIST, NFS4ERR_NOTEMPTY], "RENAME dir1 into existing, nonempty dir2") def testFileToFullDir(t, env): """RENAME file into existing, nonempty dir should fail @@ -456,7 +456,7 @@ def testFileToFullDir(t, env): c.maketree([t.code, 'file', ['dir', ['foo']]]) res = c.rename_obj(basedir + ['file'], basedir + ['dir']) # note rfc 3530 and 1813 specify EXIST, but posix specifies ISDIR - checklist(res, [NFS4ERR_EXIST, NFS4ERR_ISDIR], "RENAME file into existing, nonempty dir") + check(res, [NFS4ERR_EXIST, NFS4ERR_ISDIR], "RENAME file into existing, nonempty dir") def testSelfRenameDir(t, env): """RENAME that does nothing diff --git a/nfs4.0/servertests/st_replay.py b/nfs4.0/servertests/st_replay.py index c126c06..7a63910 100644 --- a/nfs4.0/servertests/st_replay.py +++ b/nfs4.0/servertests/st_replay.py @@ -1,11 +1,11 @@ from nfs4_const import * -from environment import check, checklist +from environment import check from nfs4_type import * def _replay(env, c, ops, error=NFS4_OK): # Can send in an error list, but replays must return same error as orig if type(error) is list: - check_funct = checklist + check_funct = check else: check_funct = check res = c.compound(ops) diff --git a/nfs4.0/servertests/st_setattr.py b/nfs4.0/servertests/st_setattr.py index b9cfd84..5e9c4e9 100644 --- a/nfs4.0/servertests/st_setattr.py +++ b/nfs4.0/servertests/st_setattr.py @@ -1,5 +1,5 @@ from nfs4_const import * -from environment import check, checklist, get_invalid_utf8strings +from environment import check, get_invalid_utf8strings from nfs4lib import bitmap2list, dict2fattr from nfs4_type import nfstime4, settime4 @@ -39,7 +39,7 @@ def _try_readonly(t, env, path): check(res, NFS4ERR_INVAL, "SETATTR the supported read-only attribute %s" % attr.name) else: - checklist(res, [NFS4ERR_INVAL, NFS4ERR_ATTRNOTSUPP], + check(res, [NFS4ERR_INVAL, NFS4ERR_ATTRNOTSUPP], "SETATTR the unsupported read-only attribute %s" % attr.name) def _try_unsupported(t, env, path): @@ -571,7 +571,7 @@ def testSizeLink(t, env): check(res) ops = c.use_obj(path) + [c.setattr({FATTR4_SIZE: 0})] res = c.compound(ops) - checklist(res, [NFS4ERR_INVAL, NFS4ERR_SYMLINK], + check(res, [NFS4ERR_INVAL, NFS4ERR_SYMLINK], "SETATTR(FATTR4_SIZE) of a symlink") def testSizeBlock(t, env): diff --git a/nfs4.0/servertests/st_setclientid.py b/nfs4.0/servertests/st_setclientid.py index fbeab22..dbcb12e 100644 --- a/nfs4.0/servertests/st_setclientid.py +++ b/nfs4.0/servertests/st_setclientid.py @@ -1,5 +1,5 @@ from nfs4_const import * -from environment import check, checklist +from environment import check import os import struct, time @@ -378,5 +378,5 @@ def testNoConfirm(t, env): ops = c.use_obj(c.homedir) ops += [c.open(t.code, t.code, OPEN4_CREATE)] res = c.compound(ops) - checklist(res, [NFS4ERR_STALE_CLIENTID, NFS4ERR_EXPIRED], + check(res, [NFS4ERR_STALE_CLIENTID, NFS4ERR_EXPIRED], "OPEN using clientid that was never confirmed") diff --git a/nfs4.0/servertests/st_verify.py b/nfs4.0/servertests/st_verify.py index 255b6a8..696575e 100644 --- a/nfs4.0/servertests/st_verify.py +++ b/nfs4.0/servertests/st_verify.py @@ -1,5 +1,5 @@ from nfs4_const import * -from environment import check, checklist, get_invalid_clientid, makeStaleId +from environment import check, get_invalid_clientid, makeStaleId def _try_mand(env, path): c = env.c1 @@ -43,7 +43,7 @@ def _try_unsupported(env, path): ops = baseops + [c.verify_op({attr.bitnum: attr.sample})] res = c.compound(ops) if attr.writeonly: - checklist(res, [NFS4ERR_ATTRNOTSUPP, NFS4ERR_INVAL], + check(res, [NFS4ERR_ATTRNOTSUPP, NFS4ERR_INVAL], "VERIFY with unsupported attr %s" % attr.name) else: check(res, NFS4ERR_ATTRNOTSUPP, diff --git a/nfs4.0/servertests/st_write.py b/nfs4.0/servertests/st_write.py index c76cf94..f8efe33 100644 --- a/nfs4.0/servertests/st_write.py +++ b/nfs4.0/servertests/st_write.py @@ -1,6 +1,6 @@ from nfs4_const import * from nfs4_type import * -from environment import check, checklist, compareTimes, makeBadID, makeBadIDganesha, makeStaleId +from environment import check, compareTimes, makeBadID, makeBadIDganesha, makeStaleId import struct _text = 'write data' # len=10 @@ -175,7 +175,7 @@ def testLink(t, env): res = c.create_obj(path, NF4LNK) check(res) res = c.write_file(path, _text) - checklist(res, [NFS4ERR_INVAL, NFS4ERR_SYMLINK], "WRITE to a symlink") + check(res, [NFS4ERR_INVAL, NFS4ERR_SYMLINK], "WRITE to a symlink") def testBlock(t, env): """WRITE to a non-file should return NFS4ERR_INVAL
this is a similar to 215116a change, which merges checklist and check functions into a single one. Signed-off-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de> --- nfs4.0/servertests/environment.py | 38 ++++++++++++------------------- nfs4.0/servertests/st_acl.py | 2 +- nfs4.0/servertests/st_commit.py | 6 ++--- nfs4.0/servertests/st_compound.py | 4 ++-- nfs4.0/servertests/st_create.py | 12 +++++----- nfs4.0/servertests/st_delegation.py | 14 ++++++------ nfs4.0/servertests/st_getattr.py | 6 ++--- nfs4.0/servertests/st_link.py | 8 +++---- nfs4.0/servertests/st_lock.py | 18 +++++++-------- nfs4.0/servertests/st_lockt.py | 8 +++---- nfs4.0/servertests/st_locku.py | 12 +++++----- nfs4.0/servertests/st_lookup.py | 14 ++++++------ nfs4.0/servertests/st_lookupp.py | 4 ++-- nfs4.0/servertests/st_nverify.py | 4 ++-- nfs4.0/servertests/st_open.py | 8 +++---- nfs4.0/servertests/st_openconfirm.py | 2 +- nfs4.0/servertests/st_read.py | 6 ++--- nfs4.0/servertests/st_readdir.py | 8 +++---- nfs4.0/servertests/st_reboot.py | 10 ++++---- nfs4.0/servertests/st_releaselockowner.py | 2 +- nfs4.0/servertests/st_remove.py | 4 ++-- nfs4.0/servertests/st_rename.py | 14 ++++++------ nfs4.0/servertests/st_replay.py | 4 ++-- nfs4.0/servertests/st_setattr.py | 6 ++--- nfs4.0/servertests/st_setclientid.py | 4 ++-- nfs4.0/servertests/st_verify.py | 4 ++-- nfs4.0/servertests/st_write.py | 4 ++-- 27 files changed, 108 insertions(+), 118 deletions(-)