Tests: python: enum.auto() introduced in python 3.6
authorMichael Jeanson <mjeanson@efficios.com>
Mon, 27 Mar 2023 19:37:24 +0000 (15:37 -0400)
committerMichael Jeanson <mjeanson@efficios.com>
Tue, 28 Mar 2023 18:58:04 +0000 (14:58 -0400)
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 <mjeanson@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
tests/utils/lttngtest/lttng.py
tests/utils/lttngtest/lttngctl.py

index 6829fa7076cad455569fa07b8b4eb3c2a002cf8d..2679fd1a663b3f18a44df0c8d5d1845caf39f315 100644 (file)
@@ -144,13 +144,17 @@ class _Channel(lttngctl.Channel):
         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:
index 632c1308354c3947b278bd65e724c44a6e013ae2..0301b6e093afd1748e28f49d9547a7dd6116a7fb 100644 (file)
@@ -68,14 +68,18 @@ class JavaApplicationContextType(ContextType):
         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):
@@ -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
This page took 0.027206 seconds and 4 git commands to generate.