-fixing source port randomization for DNS service
[oweals/gnunet.git] / src / integration-tests / gnunet_testing.py.in
index 81dff3f06584cc4a0f4697dc64514d4990e146e4..9d4a328770cd2498cae46b5237b486c1791b2a98 100644 (file)
@@ -116,8 +116,8 @@ class StatisticsCondition (Condition):
         self.result = -1;
     def check(self):
         if (self.fulfilled == False):
-            self.result = self.peer.check (self.subsystem, self.name, self.value);
-            if (self.result == self.value):
+            self.result = self.peer.get_statistics_value (self.subsystem, self.name);
+            if (str(self.result) == str(self.value)):
                 self.fulfilled = True
                 return True
             else:
@@ -125,22 +125,20 @@ class StatisticsCondition (Condition):
         else:
             return True
     def eval(self, failed_only):
+       if (self.result == -1):
+               res = 'NaN'
+       else:
+               res = str(self.result)
+        if (self.fulfilled == False):
+            fail = " FAIL!" 
+            op = " != "
+        else: 
+            fail = ""
+            op = " == "
         if ((self.fulfilled == False) and (failed_only == True)):
-            if (self.fulfilled == False):
-                fail = " FAIL!" 
-                op = " != "
-            else: 
-                fail = ""
-                op = " == "
-            print self.peer.cfg + " " + str(self.type) + ' condition in subsystem "' + self.subsystem.ljust(12) +'" : "' + self.name.ljust(30) +'" : ' + str(self.value) + op + str(self.result) + fail
+            print self.peer.cfg + " " + str(self.type) + ' condition in subsystem "' + self.subsystem.ljust(12) +'" : "' + self.name.ljust(30) +'" : (expected/real value) ' + str(self.value) + op + res + fail
         elif (failed_only == False): 
-            if (self.fulfilled == False):
-                fail = " FAIL!" 
-                op = " != "
-            else: 
-                fail = ""
-                op = " == "
-            print self.peer.cfg + " " + str(self.type) + ' condition in subsystem "' + self.subsystem.ljust(12) +'" : "' + self.name.ljust(30) +'" : ' + str(self.value) + op + str(self.result) + fail 
+            print self.peer.cfg + " " + str(self.type) + ' condition in subsystem "' + self.subsystem.ljust(12) +'" : "' + self.name.ljust(30) +'" : (expected/real value) ' + str(self.value) + op + res + fail 
         return self.fulfilled    
         
 class Test:
@@ -210,15 +208,15 @@ class Peer:
             return False
         self.started = False
         return True;
-    def check (self, subsystem, name, value):
+    def get_statistics_value (self, subsystem, name):
         from gnunet_pyexpect import pexpect
         server = pexpect ()
         server.spawn (None, [self.test.gnunetstatistics, '-c', self.cfg ,'-q','-n', name, '-s', subsystem ], stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
         #server.expect ("stdout", re.compile (r""))
         test = server.read("stdout", 10240)
-        if (test.find(str(value)) == -1): 
-            return value
+        tests = test.partition('\n')[0]
+        if (tests.isdigit() == True):
+            return tests
         else:
-            return value  
-
+            return -1
         
\ No newline at end of file