new_contents: """Tests for gdb interacting with the DWARF numba generates"""
  from numba.tests.support import TestCase, linux_only
  from numba.tests.gdb_support import needs_gdb, skip_unless_pexpect
  
  
  @linux_only
  @needs_gdb
  @skip_unless_pexpect
  class TestGDBDwarf(TestCase):
      # This runs the tests in numba.tests.gdb, each submodule must contain one
      # test class called "Test" and it must contain one test called "test".
      # Variation is provided by the module name. The reason this convention exits
      # is because gdb tests tend to be line number sensitive (breakpoints etc
      # care about this) and doing this prevents constant churn and permits the
      # reuse of the existing subprocess_test_runner harness.
      _NUMBA_OPT_0_ENV = {'NUMBA_OPT': '0'}
  
      def _subprocess_test_runner(self, test_mod):
          themod = f'numba.tests.gdb.{test_mod}'
          self.subprocess_test_runner(test_module=themod,
                                      test_class='Test',
                                      test_name='test',
                                      envvars=self._NUMBA_OPT_0_ENV)
  
      def test_basic(self):
          self._subprocess_test_runner('test_basic')
  
      def test_array(self):
          self._subprocess_test_runner('test_array_arg')
  
      def test_conditional_breakpoint(self):
          self._subprocess_test_runner('test_conditional_breakpoint')
  
subject: Add test driver for gdb