Below is the file 'lib/nfs4/servertests/st_setclientidconfirm.py' from this revision. You can also download the file.
from nfs4.nfs4_const import * from environment import check import os def testStale(t, env): """SETCLIENTID_CONFIRM with unknown id should return NFS4ERR_STALE_CLIENTID FLAGS: setclientidconfirm all CODE: CIDCF1 """ c = env.c1 res = c.compound([c.setclientid_confirm_op(0,'')]) check(res, NFS4ERR_STALE_CLIENTID, "SETCLIENTID_CONFIRM with unknown id=0") def testBadConfirm(t, env): """SETCLIENTID_CONFIRM with case not covered in RFC FLAGS: setclientidconfirm all CODE: CIDCF2 """ c = env.c1 id = "Clientid_for_%s_pid=%i" % (t.code, os.getpid()) clientid, idconfirm = c.init_connection(id) res = c.compound([c.setclientid(id=id)]) check(res) # Now confirm 1st set again, instead of 2nd res = c.compound([c.setclientid_confirm_op(clientid, idconfirm)]) check(res, msg="SETCLIENTID_CONFIRM with case not covered in RFC, " "seems most likely should do nothing and") def testAllCases(t, env): """SETCLIENTID_CONFIRM with each case from RFC FLAGS: setclientidconfirm all CODE: CIDCF3 """ c = env.c1 id = "Clientid_for_%s_pid=%i" % (t.code, os.getpid()) # no (**c*s), no (**c*s) res = c.compound([c.setclientid_confirm_op(0,'')]) check(res, NFS4ERR_STALE_CLIENTID, "SETCLIENTID_CONFIRM with unknown id=0") # no (**c*s) and no (*xd*t), (*xc*s) c.init_connection(id) # no (**c*s) and (*xd*t), (*xc*s) clientid, idconfirm = c.init_connection(id, verifier='') # (vxc*s), no (vxc**) res = c.compound([c.setclientid_confirm_op(clientid, idconfirm)]) check(res) # (vxc*t), (vxc*s) c.init_connection(id, verifier='')