Skip to content

Commit

Permalink
Tests: python: enum.auto() introduced in python 3.6
Browse files Browse the repository at this point in the history
Assign descriptive string values to the enumeration members instead of
using auto() and provide a repr() method that hides the value as
recommended upstream [1].

[1] https://docs.python.org/3.6/library/enum.html#omitting-values

Change-Id: I0bc8fcc19d68342ade1aeb587f07a9b483f81b3e
Signed-off-by: Michael Jeanson <[email protected]>
Signed-off-by: Jérémie Galarneau <[email protected]>
  • Loading branch information
mjeanson committed Mar 28, 2023
1 parent 2d2198c commit 544d842
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 21 deletions.
16 changes: 10 additions & 6 deletions tests/utils/lttngtest/lttng.py
Original file line number Diff line number Diff line change
Expand Up @@ -144,13 +144,17 @@ def domain(self) -> lttngctl.TracingDomain:
return self._domain


@enum.unique
class _ProcessAttribute(enum.Enum):
PID = (enum.auto(),)
VPID = (enum.auto(),)
UID = (enum.auto(),)
VUID = (enum.auto(),)
GID = (enum.auto(),)
VGID = (enum.auto(),)
PID = "Process ID"
VPID = "Virtual Process ID"
UID = "User ID"
VUID = "Virtual User ID"
GID = "Group ID"
VGID = "Virtual Group ID"

def __repr__(self):
return "<%s.%s>" % (self.__class__.__name__, self.name)


def _get_process_attribute_option_name(attribute: _ProcessAttribute) -> str:
Expand Down
32 changes: 17 additions & 15 deletions tests/utils/lttngtest/lttngctl.py
Original file line number Diff line number Diff line change
Expand Up @@ -68,14 +68,18 @@ def field_name(self) -> str:
return self._field_name


@enum.unique
class TracingDomain(enum.Enum):
"""Tracing domain."""

User = enum.auto(), "User space tracing domain"
Kernel = enum.auto(), "Linux kernel tracing domain."
Log4j = enum.auto(), "Log4j tracing back-end."
JUL = enum.auto(), "Java Util Logging tracing back-end."
Python = enum.auto(), "Python logging module tracing back-end."
User = "User space tracing domain"
Kernel = "Linux kernel tracing domain."
Log4j = "Log4j tracing back-end."
JUL = "Java Util Logging tracing back-end."
Python = "Python logging module tracing back-end."

def __repr__(self):
return "<%s.%s>" % (self.__class__.__name__, self.name)


class EventRule(abc.ABC):
Expand Down Expand Up @@ -210,19 +214,17 @@ class ProcessAttributeTracker(abc.ABC):
policy back to "all" once it has transitioned to "include set".
"""

@enum.unique
class TrackingPolicy(enum.Enum):
INCLUDE_ALL = (
enum.auto(),
"""
INCLUDE_ALL = """
Track all possible process attribute value of a given type (i.e. no filtering).
This is the default state of a process attribute tracker.
""",
)
EXCLUDE_ALL = (
enum.auto(),
"Exclude all possible process attribute values of a given type.",
)
INCLUDE_SET = enum.auto(), "Track a set of specific process attribute values."
"""
EXCLUDE_ALL = "Exclude all possible process attribute values of a given type."
INCLUDE_SET = "Track a set of specific process attribute values."

def __repr__(self):
return "<%s.%s>" % (self.__class__.__name__, self.name)

def __init__(self, policy: TrackingPolicy):
self._policy = policy
Expand Down

0 comments on commit 544d842

Please sign in to comment.