All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] test/memory: fixing line parsing in memory autotest
@ 2017-11-09 18:14 Radoslaw Biernacki
  2017-11-12  2:48 ` Thomas Monjalon
  0 siblings, 1 reply; 2+ messages in thread
From: Radoslaw Biernacki @ 2017-11-09 18:14 UTC (permalink / raw)
  To: dev, sergio.gonzalez.monroy; +Cc: santosh.shukla, anatoly.burakov, thomas

This patch fixes three problems in memory autotest:
 - the regex for IOVA
 - missing validation of second and following output lines
 - propagation of error to consecutive tests
 - conversion base for mem size (hex indtead of dec)
First fix is for changes introduced with IOVA, the regex was not
updated which lead to unit test failure.  Patch now also uses loop for
line outputs processing to verify more than just one line. By this we
also satisfy the pexpect() and scan the "Test OK"/"Test Failed" so in
case of error all output lines are consumed and does not break the
consecutive test (error does not propagate).

Fixes: 7ba49d39f14c ("mem: rename segment address from physical to IOVA")
Fixes: b4ce15aa2bc7 ("app/test: fix memory autotest")

Signed-off-by: Radoslaw Biernacki <radoslaw.biernacki@linaro.org>
---
 test/test/autotest_test_funcs.py | 37 +++++++++++++++++++++++--------------
 1 file changed, 23 insertions(+), 14 deletions(-)

diff --git a/test/test/autotest_test_funcs.py b/test/test/autotest_test_funcs.py
index 8da8fcd..15fcb7c 100644
--- a/test/test/autotest_test_funcs.py
+++ b/test/test/autotest_test_funcs.py
@@ -62,21 +62,30 @@ def dump_autotest(child, test_name):
 
 
 def memory_autotest(child, test_name):
+    lines = 0
+    error = ''
     child.sendline(test_name)
-    regexp = "phys:0x[0-9a-f]*, len:([0-9]*), virt:0x[0-9a-f]*, " \
-             "socket_id:[0-9]*"
-    index = child.expect([regexp, pexpect.TIMEOUT], timeout=180)
-    if index != 0:
-        return -1, "Fail [Timeout]"
-    size = int(child.match.groups()[0], 16)
-    if size <= 0:
-        return -1, "Fail [Bad size]"
-    index = child.expect(["Test OK", "Test Failed",
-                          pexpect.TIMEOUT], timeout=10)
-    if index == 1:
-        return -1, "Fail"
-    elif index == 2:
-        return -1, "Fail [Timeout]"
+    while True:
+        regexp = "IOVA:0x[0-9a-f]*, len:([0-9]*), virt:0x[0-9a-f]*, " \
+                 "socket_id:[0-9]*"
+        index = child.expect([regexp, "Test OK", "Test Failed",
+                              pexpect.TIMEOUT], timeout=10)
+        if index == 3:
+            return -1, "Fail [Timeout]"
+        elif index == 1:
+            break
+        elif index == 2:
+            return -1, "Fail"
+        else:
+            lines = lines + 1
+            size = int(child.match.groups()[0], 10)
+            if size <= 0:
+                error = 'Bad size'
+
+    if lines <= 0:
+        return -1, "Fail [No entries]"
+    if error != '':
+        return -1, "Fail [{}]".format(error)
     return 0, "Success"
 
 
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] test/memory: fixing line parsing in memory autotest
  2017-11-09 18:14 [PATCH] test/memory: fixing line parsing in memory autotest Radoslaw Biernacki
@ 2017-11-12  2:48 ` Thomas Monjalon
  0 siblings, 0 replies; 2+ messages in thread
From: Thomas Monjalon @ 2017-11-12  2:48 UTC (permalink / raw)
  To: Radoslaw Biernacki
  Cc: dev, sergio.gonzalez.monroy, santosh.shukla, anatoly.burakov

09/11/2017 19:14, Radoslaw Biernacki:
> This patch fixes three problems in memory autotest:
>  - the regex for IOVA
>  - missing validation of second and following output lines
>  - propagation of error to consecutive tests
>  - conversion base for mem size (hex indtead of dec)
> First fix is for changes introduced with IOVA, the regex was not
> updated which lead to unit test failure.  Patch now also uses loop for
> line outputs processing to verify more than just one line. By this we
> also satisfy the pexpect() and scan the "Test OK"/"Test Failed" so in
> case of error all output lines are consumed and does not break the
> consecutive test (error does not propagate).
> 
> Fixes: 7ba49d39f14c ("mem: rename segment address from physical to IOVA")
> Fixes: b4ce15aa2bc7 ("app/test: fix memory autotest")
> 
> Signed-off-by: Radoslaw Biernacki <radoslaw.biernacki@linaro.org>

Applied, thanks

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2017-11-12  2:48 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-11-09 18:14 [PATCH] test/memory: fixing line parsing in memory autotest Radoslaw Biernacki
2017-11-12  2:48 ` Thomas Monjalon

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.