xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* [XTF PATCH v2 0/4] Runner exit code clean up
@ 2016-07-22  9:43 Wei Liu
  2016-07-22  9:43 ` [XTF PATCH v2 1/4] gitignore: ignore vim swp file Wei Liu
                   ` (3 more replies)
  0 siblings, 4 replies; 9+ messages in thread
From: Wei Liu @ 2016-07-22  9:43 UTC (permalink / raw)
  To: Xen-devel; +Cc: Wei Liu, Ian Jackson, andrew.cooper3

Wei Liu (4):
  gitignore: ignore vim swp file
  xtf-runner: sync all test results
  xtf-runner: provide a set of exit codes for different results
  xtf-runner: regularise runner exit code

 .gitignore |  1 +
 xtf-runner | 37 ++++++++++++++++++++++++++++++++-----
 2 files changed, 33 insertions(+), 5 deletions(-)

-- 
2.1.4


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

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

* [XTF PATCH v2 1/4] gitignore: ignore vim swp file
  2016-07-22  9:43 [XTF PATCH v2 0/4] Runner exit code clean up Wei Liu
@ 2016-07-22  9:43 ` Wei Liu
  2016-07-22  9:43 ` [XTF PATCH v2 2/4] xtf-runner: sync all test results Wei Liu
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 9+ messages in thread
From: Wei Liu @ 2016-07-22  9:43 UTC (permalink / raw)
  To: Xen-devel; +Cc: Wei Liu, Ian Jackson, andrew.cooper3

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
---
 .gitignore | 1 +
 1 file changed, 1 insertion(+)

diff --git a/.gitignore b/.gitignore
index 01243f0..56e1884 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,6 +3,7 @@
 *.d
 *.pyc
 *.pyo
+*.swp
 /arch/x86/*.lds
 /cscope.*
 /dist/
-- 
2.1.4


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

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

* [XTF PATCH v2 2/4] xtf-runner: sync all test results
  2016-07-22  9:43 [XTF PATCH v2 0/4] Runner exit code clean up Wei Liu
  2016-07-22  9:43 ` [XTF PATCH v2 1/4] gitignore: ignore vim swp file Wei Liu
@ 2016-07-22  9:43 ` Wei Liu
  2016-07-22  9:43 ` [XTF PATCH v2 3/4] xtf-runner: provide a set of exit codes for different results Wei Liu
  2016-07-22  9:43 ` [XTF PATCH v2 4/4] xtf-runner: regularise runner exit code Wei Liu
  3 siblings, 0 replies; 9+ messages in thread
From: Wei Liu @ 2016-07-22  9:43 UTC (permalink / raw)
  To: Xen-devel; +Cc: Wei Liu, Ian Jackson, andrew.cooper3

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
---
 xtf-runner | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/xtf-runner b/xtf-runner
index 50a5e96..c938f28 100755
--- a/xtf-runner
+++ b/xtf-runner
@@ -17,6 +17,9 @@ try:
 except ImportError:
     import simplejson as json
 
+# All results of a test, keep in sync with C code report.h.
+# Note that warning is not a result on its own.
+all_results = ('SUCCESS', 'SKIP', 'ERROR', 'FAILURE')
 
 # All test categories and configurations
 all_categories   = ("special", "functional", "xsa", "utility")
@@ -161,7 +164,7 @@ def run_test(test):
     if not "Test result:" in test_result:
         return "ERROR"
 
-    for res in ("SUCCESS", "SKIP", "FAILURE"):
+    for res in all_results:
 
         if res in test_result:
             return res
-- 
2.1.4


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

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

* [XTF PATCH v2 3/4] xtf-runner: provide a set of exit codes for different results
  2016-07-22  9:43 [XTF PATCH v2 0/4] Runner exit code clean up Wei Liu
  2016-07-22  9:43 ` [XTF PATCH v2 1/4] gitignore: ignore vim swp file Wei Liu
  2016-07-22  9:43 ` [XTF PATCH v2 2/4] xtf-runner: sync all test results Wei Liu
@ 2016-07-22  9:43 ` Wei Liu
  2016-07-22  9:43 ` [XTF PATCH v2 4/4] xtf-runner: regularise runner exit code Wei Liu
  3 siblings, 0 replies; 9+ messages in thread
From: Wei Liu @ 2016-07-22  9:43 UTC (permalink / raw)
  To: Xen-devel; +Cc: Wei Liu, Ian Jackson, andrew.cooper3

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
---
 xtf-runner | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/xtf-runner b/xtf-runner
index c938f28..1c96750 100755
--- a/xtf-runner
+++ b/xtf-runner
@@ -21,6 +21,16 @@ except ImportError:
 # Note that warning is not a result on its own.
 all_results = ('SUCCESS', 'SKIP', 'ERROR', 'FAILURE')
 
+# Return the exit code for different states.  Avoid using 1 and 2 because
+# python interpreter uses them -- see document for sys.exit.
+def exit_code(state):
+    """ Convert a test result to an xtf-runner exit code. """
+    return { "SUCCESS": 0,
+             "SKIP":    3,
+             "ERROR":   4,
+             "FAILURE": 5,
+    }.get(state, 4)
+
 # All test categories and configurations
 all_categories   = ("special", "functional", "xsa", "utility")
 pv_environments  = ("pv64", "pv32pae")
-- 
2.1.4


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

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

* [XTF PATCH v2 4/4] xtf-runner: regularise runner exit code
  2016-07-22  9:43 [XTF PATCH v2 0/4] Runner exit code clean up Wei Liu
                   ` (2 preceding siblings ...)
  2016-07-22  9:43 ` [XTF PATCH v2 3/4] xtf-runner: provide a set of exit codes for different results Wei Liu
@ 2016-07-22  9:43 ` Wei Liu
  2016-07-22  9:49   ` Andrew Cooper
  3 siblings, 1 reply; 9+ messages in thread
From: Wei Liu @ 2016-07-22  9:43 UTC (permalink / raw)
  To: Xen-devel; +Cc: Wei Liu, Ian Jackson, andrew.cooper3

The script now returns the most severe result. Document the exit code in
help string.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
---
 xtf-runner | 22 ++++++++++++++++++----
 1 file changed, 18 insertions(+), 4 deletions(-)

diff --git a/xtf-runner b/xtf-runner
index 1c96750..15b98c6 100755
--- a/xtf-runner
+++ b/xtf-runner
@@ -251,23 +251,30 @@ def run_tests(args):
     if not len(tests):
         raise RunnerError("No tests to run")
 
-    rc = 0
+    rc = all_results.index('SUCCESS')
     results = []
 
     for test in tests:
 
         res = run_test(test)
-        if res != "SUCCESS":
-            rc = 1
+        res_idx = all_results.index(res);
+        if res_idx > rc:
+            rc = res_idx
 
         results.append(res)
 
+    if rc == exit_code('SUCCESS'):
+        for res in results:
+            if res == 'SKIP':
+                rc = exit_code('SKIP')
+                break
+
     print "\nCombined test results:"
 
     for test, res in zip(tests, results):
         print "%-40s %s" % (test, res)
 
-    return rc
+    return exit_code(all_results[rc])
 
 
 def main():
@@ -308,6 +315,13 @@ def main():
                   "       List all 'functional' or 'special' tests\n"
                   "    ./xtf-runner --list hvm64\n"
                   "       List all 'hvm64' tests\n"
+                  "\n"
+                  "  Exit code for this script:\n"
+                  "    0:    everythin is ok\n"
+                  "    1,2:  reserved for python interpreter\n"
+                  "    3:    test(s) are skipped\n"
+                  "    4:    test(s) report error\n"
+                  "    5:    test(s) report failure\n"
                   ),
     )
 
-- 
2.1.4


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

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

* Re: [XTF PATCH v2 4/4] xtf-runner: regularise runner exit code
  2016-07-22  9:43 ` [XTF PATCH v2 4/4] xtf-runner: regularise runner exit code Wei Liu
@ 2016-07-22  9:49   ` Andrew Cooper
  2016-07-22  9:51     ` Wei Liu
  0 siblings, 1 reply; 9+ messages in thread
From: Andrew Cooper @ 2016-07-22  9:49 UTC (permalink / raw)
  To: Wei Liu, Xen-devel; +Cc: Ian Jackson

On 22/07/16 10:43, Wei Liu wrote:

> The script now returns the most severe result. Document the exit code in
> help string.
>
> Signed-off-by: Wei Liu <wei.liu2@citrix.com>
> ---
>   xtf-runner | 22 ++++++++++++++++++----
>   1 file changed, 18 insertions(+), 4 deletions(-)
>
> diff --git a/xtf-runner b/xtf-runner
> index 1c96750..15b98c6 100755
> --- a/xtf-runner
> +++ b/xtf-runner
> @@ -251,23 +251,30 @@ def run_tests(args):
>       if not len(tests):
>           raise RunnerError("No tests to run")
>   
> -    rc = 0
> +    rc = all_results.index('SUCCESS')
>       results = []
>   
>       for test in tests:
>   
>           res = run_test(test)
> -        if res != "SUCCESS":
> -            rc = 1
> +        res_idx = all_results.index(res);
> +        if res_idx > rc:
> +            rc = res_idx
>   
>           results.append(res)
>   
> +    if rc == exit_code('SUCCESS'):
> +        for res in results:
> +            if res == 'SKIP':
> +                rc = exit_code('SKIP')
> +                break

Why is this conditional needed? SKIP has index 1 so will automatically 
displace SUCCESS in the change above.

> +
>       print "\nCombined test results:"
>   
>       for test, res in zip(tests, results):
>           print "%-40s %s" % (test, res)
>   
> -    return rc
> +    return exit_code(all_results[rc])
>   
>   
>   def main():
> @@ -308,6 +315,13 @@ def main():
>                     "       List all 'functional' or 'special' tests\n"
>                     "    ./xtf-runner --list hvm64\n"
>                     "       List all 'hvm64' tests\n"
> +                  "\n"
> +                  "  Exit code for this script:\n"
> +                  "    0:    everythin is ok\n"

everything

~Andrew

> +                  "    1,2:  reserved for python interpreter\n"
> +                  "    3:    test(s) are skipped\n"
> +                  "    4:    test(s) report error\n"
> +                  "    5:    test(s) report failure\n"
>                     ),
>       )
>   


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

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

* Re: [XTF PATCH v2 4/4] xtf-runner: regularise runner exit code
  2016-07-22  9:49   ` Andrew Cooper
@ 2016-07-22  9:51     ` Wei Liu
  2016-07-22  9:58       ` Wei Liu
  0 siblings, 1 reply; 9+ messages in thread
From: Wei Liu @ 2016-07-22  9:51 UTC (permalink / raw)
  To: Andrew Cooper; +Cc: Xen-devel, Wei Liu, Ian Jackson

On Fri, Jul 22, 2016 at 10:49:18AM +0100, Andrew Cooper wrote:
> On 22/07/16 10:43, Wei Liu wrote:
> 
> >The script now returns the most severe result. Document the exit code in
> >help string.
> >
> >Signed-off-by: Wei Liu <wei.liu2@citrix.com>
> >---
> >  xtf-runner | 22 ++++++++++++++++++----
> >  1 file changed, 18 insertions(+), 4 deletions(-)
> >
> >diff --git a/xtf-runner b/xtf-runner
> >index 1c96750..15b98c6 100755
> >--- a/xtf-runner
> >+++ b/xtf-runner
> >@@ -251,23 +251,30 @@ def run_tests(args):
> >      if not len(tests):
> >          raise RunnerError("No tests to run")
> >-    rc = 0
> >+    rc = all_results.index('SUCCESS')
> >      results = []
> >      for test in tests:
> >          res = run_test(test)
> >-        if res != "SUCCESS":
> >-            rc = 1
> >+        res_idx = all_results.index(res);
> >+        if res_idx > rc:
> >+            rc = res_idx
> >          results.append(res)
> >+    if rc == exit_code('SUCCESS'):
> >+        for res in results:
> >+            if res == 'SKIP':
> >+                rc = exit_code('SKIP')
> >+                break
> 
> Why is this conditional needed? SKIP has index 1 so will automatically
> displace SUCCESS in the change above.
> 

Forgot to delete that hunk. I will resend.

> >+
> >      print "\nCombined test results:"
> >      for test, res in zip(tests, results):
> >          print "%-40s %s" % (test, res)
> >-    return rc
> >+    return exit_code(all_results[rc])
> >  def main():
> >@@ -308,6 +315,13 @@ def main():
> >                    "       List all 'functional' or 'special' tests\n"
> >                    "    ./xtf-runner --list hvm64\n"
> >                    "       List all 'hvm64' tests\n"
> >+                  "\n"
> >+                  "  Exit code for this script:\n"
> >+                  "    0:    everythin is ok\n"
> 
> everything

Fixed.

Wei.

> 
> ~Andrew
> 
> >+                  "    1,2:  reserved for python interpreter\n"
> >+                  "    3:    test(s) are skipped\n"
> >+                  "    4:    test(s) report error\n"
> >+                  "    5:    test(s) report failure\n"
> >                    ),
> >      )
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

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

* Re: [XTF PATCH v2 4/4] xtf-runner: regularise runner exit code
  2016-07-22  9:51     ` Wei Liu
@ 2016-07-22  9:58       ` Wei Liu
  2016-07-22 10:14         ` Andrew Cooper
  0 siblings, 1 reply; 9+ messages in thread
From: Wei Liu @ 2016-07-22  9:58 UTC (permalink / raw)
  To: Andrew Cooper; +Cc: Xen-devel, Wei Liu, Ian Jackson

Updated this patch

---8<---
From ef1f9ddfa797bb4095d48b90efc3c92a0a8fd1b6 Mon Sep 17 00:00:00 2001
From: Wei Liu <wei.liu2@citrix.com>
Date: Mon, 13 Jun 2016 15:06:48 +0100
Subject: [XTF PATCH] xtf-runner: regularise runner exit code
Cc: andrew.cooper3@citrix.com

The script now returns the most severe result. Document the exit code in
help string.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
---
 xtf-runner | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/xtf-runner b/xtf-runner
index 1c96750..7743316 100755
--- a/xtf-runner
+++ b/xtf-runner
@@ -251,14 +251,15 @@ def run_tests(args):
     if not len(tests):
         raise RunnerError("No tests to run")
 
-    rc = 0
+    rc = all_results.index('SUCCESS')
     results = []
 
     for test in tests:
 
         res = run_test(test)
-        if res != "SUCCESS":
-            rc = 1
+        res_idx = all_results.index(res);
+        if res_idx > rc:
+            rc = res_idx
 
         results.append(res)
 
@@ -267,7 +268,7 @@ def run_tests(args):
     for test, res in zip(tests, results):
         print "%-40s %s" % (test, res)
 
-    return rc
+    return exit_code(all_results[rc])
 
 
 def main():
@@ -308,6 +309,13 @@ def main():
                   "       List all 'functional' or 'special' tests\n"
                   "    ./xtf-runner --list hvm64\n"
                   "       List all 'hvm64' tests\n"
+                  "\n"
+                  "  Exit code for this script:\n"
+                  "    0:    everything is ok\n"
+                  "    1,2:  reserved for python interpreter\n"
+                  "    3:    test(s) are skipped\n"
+                  "    4:    test(s) report error\n"
+                  "    5:    test(s) report failure\n"
                   ),
     )
 
-- 
2.1.4


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

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

* Re: [XTF PATCH v2 4/4] xtf-runner: regularise runner exit code
  2016-07-22  9:58       ` Wei Liu
@ 2016-07-22 10:14         ` Andrew Cooper
  0 siblings, 0 replies; 9+ messages in thread
From: Andrew Cooper @ 2016-07-22 10:14 UTC (permalink / raw)
  To: Wei Liu; +Cc: Xen-devel, Ian Jackson

On 22/07/16 10:58, Wei Liu wrote:

> Updated this patch

Thanks.

Pylint warned of an unnecessary semicolon from "res_idx = 
all_results.index(res);" which I dropped.

Whole series Reviewed and committed.

~Andrew

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

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

end of thread, other threads:[~2016-07-22 10:14 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-07-22  9:43 [XTF PATCH v2 0/4] Runner exit code clean up Wei Liu
2016-07-22  9:43 ` [XTF PATCH v2 1/4] gitignore: ignore vim swp file Wei Liu
2016-07-22  9:43 ` [XTF PATCH v2 2/4] xtf-runner: sync all test results Wei Liu
2016-07-22  9:43 ` [XTF PATCH v2 3/4] xtf-runner: provide a set of exit codes for different results Wei Liu
2016-07-22  9:43 ` [XTF PATCH v2 4/4] xtf-runner: regularise runner exit code Wei Liu
2016-07-22  9:49   ` Andrew Cooper
2016-07-22  9:51     ` Wei Liu
2016-07-22  9:58       ` Wei Liu
2016-07-22 10:14         ` Andrew Cooper

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).