Update to Unicode 15.1.0 [BZ #30854]
[glibc.git] / scripts / test_printers_exceptions.py
blobcfd749d739dbf6ceebe32945845cb37e3d8be2f1
1 # Exception classes used when testing the Python pretty printers.
3 # Copyright (C) 2016-2023 Free Software Foundation, Inc.
4 # This file is part of the GNU C Library.
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.
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.
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/>.
20 class NoLineError(Exception):
21 """Custom exception to indicate that a test file doesn't contain
22 the requested string.
23 """
25 def __init__(self, file_name, string):
26 """Constructor.
28 Args:
29 file_name (string): The name of the test file.
30 string (string): The string that was requested.
31 """
33 super(NoLineError, self).__init__()
34 self.file_name = file_name
35 self.string = string
37 def __str__(self):
38 """Shows a readable representation of the exception."""
40 return ('File {0} has no line containing the following string: {1}'
41 .format(self.file_name, self.string))
43 class DebugError(Exception):
44 """Custom exception to indicate that a required debugging symbol is missing.
45 """
47 def __init__(self, symbol):
48 """Constructor.
50 Args:
51 symbol (string): The name of the entity whose debug info is missing.
52 """
54 super(DebugError, self).__init__()
55 self.symbol = symbol
57 def __str__(self):
58 """Shows a readable representation of the exception."""
60 return ('The required debugging information for {0} is missing.'
61 .format(self.symbol))