[CI] Ensure that running threads started as dependencies of a test are freed, even if the process has never been started (#22715)

diff --git a/scripts/tests/chiptest/test_definition.py b/scripts/tests/chiptest/test_definition.py
index 16a0eea..3995a33 100644
--- a/scripts/tests/chiptest/test_definition.py
+++ b/scripts/tests/chiptest/test_definition.py
@@ -39,6 +39,7 @@
         self.lastLogIndex = 0
         self.kvsPathSet = {'/tmp/chip_kvs'}
         self.options = None
+        self.killed = False
 
     def start(self, options=None):
         if not self.process:
@@ -85,9 +86,13 @@
     def kill(self):
         if self.process:
             self.process.kill()
+        self.killed = True
 
     def wait(self, timeout=None):
         while True:
+            # If the App was never started, AND was killed, exit immediately
+            if self.killed:
+                return 0
             # If the App was never started, wait cannot be called on the process
             if self.process == None:
                 time.sleep(0.1)