pw_unit_test: Fix first expected RPC response

This updates the RPC unit testing Python code to expect a test_run_start
message as the first RPC response, and trigger event handlers when it is
received.

Change-Id: I510335b672ef24ef0bf77411f6072bb1735c2204
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/32124
Reviewed-by: Wyatt Hepler <hepler@google.com>
Commit-Queue: Alexei Frolov <frolv@google.com>
diff --git a/pw_unit_test/py/pw_unit_test/rpc.py b/pw_unit_test/py/pw_unit_test/rpc.py
index 5644d15..d1294d5 100644
--- a/pw_unit_test/py/pw_unit_test/rpc.py
+++ b/pw_unit_test/py/pw_unit_test/rpc.py
@@ -128,22 +128,26 @@
             report_passed_expectations=report_passed_expectations,
             pw_rpc_timeout_s=timeout_s))
 
-    # Read the first response, which must be a test_case_start message.
+    # Read the first response, which must be a test_run_start message.
     first_response = next(test_responses)
-    if not first_response.HasField('test_case_start'):
+    if not first_response.HasField('test_run_start'):
         raise ValueError(
-            'Expected a "test_case_start" response from pw.unit_test.Run, '
+            'Expected a "test_run_start" response from pw.unit_test.Run, '
             'but received a different message type. A response may have been '
             'dropped.')
 
-    raw_test_case = first_response.test_case_start
-    current_test_case = TestCase(raw_test_case.suite_name,
-                                 raw_test_case.test_name,
-                                 raw_test_case.file_name)
+    for event_handler in event_handlers:
+        event_handler.run_all_tests_start()
 
     all_tests_passed = False
 
     for response in test_responses:
+        if response.HasField('test_case_start'):
+            raw_test_case = response.test_case_start
+            current_test_case = TestCase(raw_test_case.suite_name,
+                                         raw_test_case.test_name,
+                                         raw_test_case.file_name)
+
         for event_handler in event_handlers:
             if response.HasField('test_run_start'):
                 event_handler.run_all_tests_start()