(root)/
glibc-2.38/
scripts/
test_printers_exceptions.py
       1  # Exception classes used when testing the Python pretty printers.
       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  class ESC[4;38;5;81mNoLineError(ESC[4;38;5;149mException):
      21      """Custom exception to indicate that a test file doesn't contain
      22      the requested string.
      23      """
      24  
      25      def __init__(self, file_name, string):
      26          """Constructor.
      27  
      28          Args:
      29              file_name (string): The name of the test file.
      30              string (string): The string that was requested.
      31          """
      32  
      33          super(NoLineError, self).__init__()
      34          self.file_name = file_name
      35          self.string = string
      36  
      37      def __str__(self):
      38          """Shows a readable representation of the exception."""
      39  
      40          return ('File {0} has no line containing the following string: {1}'
      41                  .format(self.file_name, self.string))
      42  
      43  class ESC[4;38;5;81mDebugError(ESC[4;38;5;149mException):
      44      """Custom exception to indicate that a required debugging symbol is missing.
      45      """
      46  
      47      def __init__(self, symbol):
      48          """Constructor.
      49  
      50          Args:
      51              symbol (string): The name of the entity whose debug info is missing.
      52          """
      53  
      54          super(DebugError, self).__init__()
      55          self.symbol = symbol
      56  
      57      def __str__(self):
      58          """Shows a readable representation of the exception."""
      59  
      60          return ('The required debugging information for {0} is missing.'
      61                  .format(self.symbol))