]> git.ipfire.org Git - thirdparty/glibc.git/blame - scripts/test_printers_exceptions.py
elf: Refuse to dlopen PIE objects [BZ #24323]
[thirdparty/glibc.git] / scripts / test_printers_exceptions.py
CommitLineData
23b5cae1
MG
1# Exception classes used when testing the Python pretty printers.
2#
04277e02 3# Copyright (C) 2016-2019 Free Software Foundation, Inc.
23b5cae1
MG
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# <http://www.gnu.org/licenses/>.
19
20class 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
43class 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))