[PATCH] nfs4lib: add test name as a compound tag

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



allowes to easy trace tests, e.q: [st_verify.py:_try_mand]

a similar fix as 2b41c3e, but for 4.0. Introdces a bit
of code duplication, but this is forced by test suite structure.

Signed-off-by: Tigran Mkrtchyan <tigran.mkrtchyan@xxxxxxx>
---
 nfs4.0/nfs4lib.py    | 18 +++++++++++++++++-
 nfs4.1/nfs4client.py |  3 ++-
 2 files changed, 19 insertions(+), 2 deletions(-)

diff --git a/nfs4.0/nfs4lib.py b/nfs4.0/nfs4lib.py
index f196bef..5031feb 100644
--- a/nfs4.0/nfs4lib.py
+++ b/nfs4.0/nfs4lib.py
@@ -40,6 +40,8 @@ import struct
 import socket
 import sys
 import re
+import inspect
+from os.path import basename
 
 class NFSException(rpc.RPCError):
     pass
@@ -313,8 +315,13 @@ class NFS4Client(rpc.RPCClient, nfs4_ops.NFS4Operations):
         """Make COMPOUND procedure call"""
         if type(argarray) is not list:
             raise "Need list for argarray"
+
+        if len(tag) == 0:
+            compound_tag = self.create_tag()
+        else:
+            compound_tag = tag
         # Make the actual call
-        compoundargs = COMPOUND4args(argarray=argarray, tag=tag,
+        compoundargs = COMPOUND4args(argarray=argarray, tag=compound_tag,
                                      minorversion=minorversion)
         if SHOW_TRAFFIC:
             print
@@ -367,6 +374,15 @@ class NFS4Client(rpc.RPCClient, nfs4_ops.NFS4Operations):
 
         return res
 
+    def create_tag(self):
+        current_module = inspect.getmodule(inspect.currentframe().f_back)
+        current_stack = inspect.stack()
+        stackid = 0
+        while current_module == inspect.getmodule(current_stack[stackid][0]):
+              stackid = stackid + 1
+        test_name = '%s:%s' % (basename(current_stack[stackid][1]), current_stack[stackid][3])
+        return test_name
+
     def init_connection(self, id=None, verifier=None, cb_ident=None):
         """Do setclientid/setclientidconfirm combination"""
         # SETCLIENTID
diff --git a/nfs4.1/nfs4client.py b/nfs4.1/nfs4client.py
index 62ccc3a..14b34d2 100644
--- a/nfs4.1/nfs4client.py
+++ b/nfs4.1/nfs4client.py
@@ -307,9 +307,10 @@ class NFS4Client(rpc.Client, rpc.Server):
         return s
 
     def create_tag(self):
+        current_module = inspect.getmodule(inspect.currentframe().f_back)
         current_stack = inspect.stack()
         stackid = 0
-        while basename(current_stack[stackid][1]) == 'environment.py' or basename(current_stack[stackid][1]) == 'nfs4client.py':
+        while current_module == inspect.getmodule(current_stack[stackid][0]):
               stackid = stackid + 1
         test_name = '%s:%s' % (basename(current_stack[stackid][1]), current_stack[stackid][3])
         return test_name
-- 
2.4.2

--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux