123456789101112131415161718192021222324252627282930313233 |
- # Copyright (c) Twisted Matrix Laboratories.
- # See LICENSE for details.
-
- """
- Hypothesis strategies for values related to L{twisted.python}.
- """
-
- from hypothesis.strategies import SearchStrategy, characters, text
-
-
- def systemdDescriptorNames() -> SearchStrategy[str]:
- """
- Build strings that are legal values for the systemd
- I{FileDescriptorName} field.
- """
- # systemd.socket(5) says:
- #
- # > Names may contain any ASCII character, but must exclude control
- # > characters and ":", and must be at most 255 characters in length.
- return text(
- # The docs don't say there is a min size so I'm guessing...
- min_size=1,
- max_size=255,
- alphabet=characters(
- # These constraints restrict us to ASCII.
- min_codepoint=0,
- max_codepoint=127,
- # This one excludes control characters.
- blacklist_categories=("Cc",),
- # And this excludes the separator.
- blacklist_characters=(":",),
- ),
- )
|