Example #1
0
def testDestroyCIDTwice(t, env):
    """ destroy a clientid twice without session

    FLAGS: destroy_clientid all
    CODE: DESCID8
    """
    c = env.c1.new_client(env.testname(t))

    res = env.c1.compound([op.destroy_clientid(c.clientid)])
    check(res)

    res = env.c1.compound([op.destroy_clientid(c.clientid)])
    check(res, NFS4ERR_STALE_CLIENTID)
Example #2
0
 def shutDown(self):
     """Run after each test"""
     log.debug("post-test")
     client_index = 0
     clients = {}
     for sessid in self.c1.sessions:
         session = self.c1.sessions[sessid]
         if session is None:
             continue
         clients[client_index] = session.client
         client_index += 1
         res = self.c1.compound([op.destroy_session(sessid)])
         if res.status != NFS4_OK:
             log.info("Could not clean up session: status %s" %
                      nfsstat4[res.status])
             session.client._del_session(session)
     for client_index in clients:
         client = clients[client_index]
         if client == self.c1:
             continue
         res = self.c1.compound([op.destroy_clientid(client.clientid)])
         if res.status != NFS4_OK:
             log.info("Could not clean up client: status %s" %
                      nfsstat4[res.status])
     log.debug("done post-test")
Example #3
0
def testDestroyCIDNotOnly(t, env):
    """ destroy a clientid without session with other compound

    FLAGS: destroy_clientid all
    CODE: DESCID7
    """
    res = env.c1.compound([op.destroy_clientid(0), op.reclaim_complete(TRUE)])
    check(res, NFS4ERR_NOT_ONLY_OP)
Example #4
0
def testDestroyBadCIDWS(t, env):
    """ destroy a nonexistant clientid without session

    FLAGS: destroy_clientid all
    CODE: DESCID3
    """
    res = env.c1.compound([op.destroy_clientid(0)])
    check(res, NFS4ERR_STALE_CLIENTID)
Example #5
0
def testDestroyCIDCSession(t, env):
    """ destroy a clientid which contains session without session

    FLAGS: destroy_clientid all
    CODE: DESCID6
    """
    c = env.c1.new_client(env.testname(t))
    sess = c.create_session()

    res = env.c1.compound([op.destroy_clientid(c.clientid)])
    check(res, NFS4ERR_CLIENTID_BUSY)
Example #6
0
def testSupported(t, env):
    """ Do a simple DESTROY_CLIENTID
        destroy an unconfirmed clientid without session

    FLAGS: destroy_clientid all
    CODE: DESCID1
    """
    c = env.c1.new_client(env.testname(t))

    res = env.c1.compound([op.destroy_clientid(c.clientid)])
    check(res)
Example #7
0
def testDestroyCIDSessionB(t, env):
    """ destroy clientid using a session belong to that client

    FLAGS: destroy_clientid all
    CODE: DESCID5
    """
    c = env.c1.new_client(env.testname(t))
    sess = c.create_session()

    res = sess.compound([op.destroy_clientid(c.clientid)])
    check(res, NFS4ERR_CLIENTID_BUSY)
Example #8
0
def testDestroyBadCIDIS(t, env):
    """ destroy a nonexistant clientid in session

    FLAGS: destroy_clientid all
    CODE: DESCID4
    """
    c = env.c1.new_client(env.testname(t))
    sess = c.create_session()

    res = sess.compound([op.destroy_clientid(0)])
    check(res, NFS4ERR_STALE_CLIENTID)
Example #9
0
def testDestroyCIDWS(t, env):
    """ destroy an unconfirmed clientid with session

    FLAGS: destroy_clientid all
    CODE: DESCID2
    """
    c1 = env.c1.new_client("%s_1" % env.testname(t))
    c2 = env.c1.new_client("%s_2" % env.testname(t))
    sess = c1.create_session()

    res = sess.compound([op.destroy_clientid(c2.clientid)])
    check(res)