[v3,0/7] Fix some libm static issues
[platform/upstream/glibc.git] / scripts / test_printers_exceptions.py
1 # Exception classes used when testing the Python pretty printers.
2 #
3 # Copyright (C) 2016-2024 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 NoLineError(Exception):
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 DebugError(Exception):
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))