123456789101112131415161718192021222324252627282930313233343536373839 |
- # SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
- import sys
- from io import BytesIO
- from typing import Optional
- import atheris
- from test_utils import is_expected_exception
- with atheris.instrument_imports():
- from dulwich.config import ConfigFile
- def TestOneInput(data) -> Optional[int]:
- try:
- ConfigFile.from_file(BytesIO(data))
- except ValueError as e:
- expected_exceptions = [
- "without section",
- "invalid variable name",
- "expected trailing ]",
- "invalid section name",
- "Invalid subsection",
- "escape character",
- "missing end quote",
- ]
- if is_expected_exception(expected_exceptions, e):
- return -1
- else:
- raise e
- def main() -> None:
- atheris.Setup(sys.argv, TestOneInput)
- atheris.Fuzz()
- if __name__ == "__main__":
- main()
|