(root)/
glibc-2.38/
nptl/
test-cond-printers.py
       1  # Common tests for the ConditionVariablePrinter class.
       2  #
       3  # Copyright (C) 2016-2023 Free Software Foundation, Inc.
       4  # This file is part of the GNU C Library.
       5  #
       6  # The GNU C Library is free software; you can redistribute it and/or
       7  # modify it under the terms of the GNU Lesser General Public
       8  # License as published by the Free Software Foundation; either
       9  # version 2.1 of the License, or (at your option) any later version.
      10  #
      11  # The GNU C Library is distributed in the hope that it will be useful,
      12  # but WITHOUT ANY WARRANTY; without even the implied warranty of
      13  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
      14  # Lesser General Public License for more details.
      15  #
      16  # You should have received a copy of the GNU Lesser General Public
      17  # License along with the GNU C Library; if not, see
      18  # <https://www.gnu.org/licenses/>.
      19  
      20  import sys
      21  
      22  from test_printers_common import *
      23  
      24  test_source = sys.argv[1]
      25  test_bin = sys.argv[2]
      26  printer_files = sys.argv[3:]
      27  printer_names = ['global glibc-pthread-locks']
      28  
      29  try:
      30      init_test(test_bin, printer_files, printer_names)
      31      go_to_main()
      32  
      33      var = 'condvar'
      34      to_string = 'pthread_cond_t'
      35  
      36      break_at(test_source, 'Test status (destroyed)')
      37      continue_cmd() # Go to test_status_destroyed
      38      test_printer(var, to_string, {'Threads known to still execute a wait function': '0'})
      39  
      40      continue_cmd() # Exit
      41  
      42  except (NoLineError, pexpect.TIMEOUT) as exception:
      43      print('Error: {0}'.format(exception))
      44      result = FAIL
      45  
      46  else:
      47      print('Test succeeded.')
      48      result = PASS
      49  
      50  exit(result)