[11/17] CLNT: DESTROY_SESSION not the fianl operation
diff mbox

Message ID 4D6DE4CE.7050501@cn.fujitsu.com
State RFC, archived
Headers show

Commit Message

Mi Jinlong March 2, 2011, 6:33 a.m. UTC
None

Patch
diff mbox

diff --git a/nfs4.1/server41tests/st_destroy_session.py b/nfs4.1/server41tests/st_destroy_session.py
index a60daf1..d7be8a1 100644
--- a/nfs4.1/server41tests/st_destroy_session.py
+++ b/nfs4.1/server41tests/st_destroy_session.py
@@ -133,3 +133,19 @@  def testDestroy3(t, env):
     if not recall.happened:
         fail("Did not get callback")
 
+def testDestoryNotFinalOps(t, env):
+    """ If the COMPOUND request starts with SEQUENCE, DESTROY_SESSION
+        MUST be the final operation in the COMPOUND request.
+        rfc5661 18.37.3
+
+    FLAGS: destroy_session
+    CODE: DSESS9004
+    """
+    c = env.c1.new_client(env.testname(t))
+    sess1 = c.create_session()
+
+    sid = sess1.sessionid
+    res = c.c.compound([op.sequence(sid, 1, 2, 3, False),
+                        op.destroy_session(sess1.sessionid),
+                        op.putrootfh()])
+    check(res, NFS4ERR_NOT_ONLY_OP)