]> sigrok.org Git - sigrok-test.git/blobdiff - decoder/pdtest
Fix issue in -s output.
[sigrok-test.git] / decoder / pdtest
index 591ad1d5106a6b86544042816dfa99c9791749ed..1cc071f65c438682b39d00407afb165af597a3fd 100755 (executable)
@@ -62,7 +62,7 @@ def usage(msg=None):
   -l  List test(s)
   -s  Show test(s)
   -r  Run test(s)
-  -f  Fix failed test(s)
+  -f  Fix failed test(s) / create initial output for new test(s)
   -c  Report decoder code coverage
   -R <directory>  Save test reports to <directory>
   <test>  Protocol decoder name ("i2c") and optionally test name ("i2c/rtc")""")
@@ -485,7 +485,7 @@ def show_tests(tests):
                     for label, channel in pd['channels']:
                         print("    Channel %s=%d" % (label, channel))
                     for option, value in pd['options']:
-                        print("    Option %s=%d" % (option, value))
+                        print("    Option %s=%s" % (option, value))
                 if 'stack' in tc:
                     print("  Stack: %s" % ' '.join(tc['stack']))
                 print("  Input: %s" % tc['input'])
@@ -561,7 +561,7 @@ ret = 0
 try:
     if args:
         testlist = get_tests(args)
-    elif opt_all:
+    elif opt_all or opt_list:
         testlist = get_tests(os.listdir(tests_dir))
     else:
         usage("Specify either -a or tests.")
@@ -571,8 +571,12 @@ try:
             ERR("Could not find sigrok-dumps repository at %s" % dumps_dir)
             sys.exit(1)
         results, errors = run_tests(testlist, fix=opt_fix)
+        ret = 0
         errs, diffs = get_run_tests_error_diff_counts(results)
-        ret = errs or diffs or 0
+        if errs:
+            ret = 1
+        elif diffs:
+            ret = 2
     elif opt_show:
         show_tests(testlist)
     elif opt_list:
@@ -587,4 +591,3 @@ except Exception as e:
         raise
 
 sys.exit(ret)
-