Pything testing: Add more info to error summary (#36216)

Get correct line for assert.fail too
diff --git a/src/python_testing/matter_testing_infrastructure/chip/testing/matter_testing.py b/src/python_testing/matter_testing_infrastructure/chip/testing/matter_testing.py
index 0a40b16..053fa57 100644
--- a/src/python_testing/matter_testing_infrastructure/chip/testing/matter_testing.py
+++ b/src/python_testing/matter_testing_infrastructure/chip/testing/matter_testing.py
@@ -919,6 +919,9 @@
     expectation: str = ""
     is_commissioning: bool = False
 
+    def __str__(self):
+        return f'{self.test_plan_number}: {self.description}\tExpected outcome: {self.expectation}'
+
 
 @dataclass
 class TestInfo:
@@ -1325,7 +1328,7 @@
                 if not trace:
                     return no_stack_trace
 
-                if isinstance(exception, signals.TestError):
+                if isinstance(exception, signals.TestError) or isinstance(exception, signals.TestFailure):
                     # Exception gets raised by the mobly framework, so the proximal error is one line back in the stack trace
                     assert_candidates = [idx for idx, line in enumerate(trace) if "asserts" in line and "asserts.py" not in line]
                     if not assert_candidates:
@@ -1343,6 +1346,9 @@
                 return probable_error.strip(), trace[file_candidates[-1]].strip()
 
             probable_error, probable_file = extract_error_text()
+            test_steps = self.get_defined_test_steps(self.current_test_info.name)
+            test_step = str(test_steps[self.current_step_index-1]
+                            ) if test_steps is not None else 'UNKNOWN - no test steps provided in test script'
             logging.error(textwrap.dedent(f"""
 
                                           ******************************************************************
@@ -1353,8 +1359,12 @@
                                           * {probable_file}
                                           * {probable_error}
                                           *
+                                          * Test step:
+                                          *     {test_step}
+                                          *
+                                          * Endpoint: {self.matter_test_config.endpoint}
+                                          *
                                           *******************************************************************
-
                                           """))
 
     def on_pass(self, record):