test/py: print summary in test order
authorStephen Warren <swarren@nvidia.com>
Wed, 10 Feb 2016 20:47:37 +0000 (13:47 -0700)
committerTom Rini <trini@konsulko.com>
Mon, 15 Feb 2016 20:58:28 +0000 (20:58 +0000)
Use lists rather than sets to record the status of tests. This causes
the test summary in the HTML file to be generated in the same order as
the tests are (or would have been) run. This makes it easier to locate
the first failed test. The log for this test might have interesting
first clues re: interaction with the environment (e.g. hardware flashing,
serial console, ...) and may help tracking down external issues.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Simon Glass <sjg@chromium.org>
test/py/conftest.py

index 1ec096e24182193298515c33c53c25d6d9c25a7a..449f98bee39cb1ecc2d7758af18e72e98d7283a0 100644 (file)
@@ -312,12 +312,12 @@ def u_boot_console(request):
     return console
 
 anchors = {}
-tests_not_run = set()
-tests_failed = set()
-tests_xpassed = set()
-tests_xfailed = set()
-tests_skipped = set()
-tests_passed = set()
+tests_not_run = []
+tests_failed = []
+tests_xpassed = []
+tests_xfailed = []
+tests_skipped = []
+tests_passed = []
 
 def pytest_itemcollected(item):
     """pytest hook: Called once for each test found during collection.
@@ -332,7 +332,7 @@ def pytest_itemcollected(item):
         Nothing.
     """
 
-    tests_not_run.add(item.name)
+    tests_not_run.append(item.name)
 
 def cleanup():
     """Clean up all global state.
@@ -493,7 +493,7 @@ def pytest_runtest_protocol(item, nextitem):
     if failure_cleanup:
         console.drain_console()
 
-    test_list.add(item.name)
+    test_list.append(item.name)
     tests_not_run.remove(item.name)
 
     try: