code: def test_join_then_detach(self):
      def task():
          pass
  
      with threading_helper.wait_threads_exit():
          handle = thread.start_joinable_thread(task)
          handle.join()
          with self.assertRaisesRegex(ValueError, "not joinable"):
              handle.detach()
  
imports: import os
  import unittest
  import random
  from test import support
  from test.support import threading_helper
  import _thread
  import time
  import warnings
  import weakref
  from test import lock_tests
label_desc: Use image node_id 15 for calling the ThreadRunningTests obj's underlying member method code with example usage: obj.test_join_then_detach() without return types