Run isort on the whole repo, to nicely sort Python imports.
Add a mention in CONTRIBUTING.adoc, that all Python imports must be
sorted using the version of isort specified in dev-requirements.txt.
Add `isort ~= 5.12` to dev-requirements.txt. 5.12 is the latest stable
version available on PyPi as of writing.
Tell isort to use its `black` profile, in pyproject.toml, so that
black remains happy. The details of that profile are here:
https://pycqa.github.io/isort/docs/configuration/profiles.html
Tell isort to ignore `tests/utils/python/tap`, since it's code copied
from elsewhere.
Use the `length_sort` option, because Philippe prefers it like that.
See:
https://pycqa.github.io/isort/docs/configuration/custom_sections_and_ordering.html
Change-Id: I8778f908342d0feeb97d4442506113d9252559e7
Signed-off-by: Simon Marchi <simon.marchi@efficios.com>
Reviewed-on: https://review.lttng.org/c/babeltrace/+/10871
Tested-by: jenkins <jenkins@lttng.org>
Reviewed-by: Philippe Proulx <eeppeliteloop@gmail.com>
All Python code must be formatted using the version of
https://github.com/psf/black[Black] specified in `dev-requirements.txt`.
+
+All Python imports must be sorted using the version of
+https://pycqa.github.io/isort/[isort] indicated in `dev-requirements.txt`.
flake8 >= 3.8
# Required for black 22.0, it's broken with click >= 8.1
click < 8.1
+isort ~= 5.12
#
# :bt2link:`libbabeltrace2 <https://babeltrace.org/docs/v@ver@/libbabeltrace2/>`
-import docutils
-import docutils.utils
-import docutils.nodes
import re
import functools
+import docutils
+import docutils.nodes
+import docutils.utils
+
def _bt2man_role(
bt2_version, name, rawtext, text, lineno, inliner, options=None, content=None
#
# Copyright (c) 2020 Philippe Proulx <pproulx@efficios.com>
-import bt2
import re
+import bt2
+
# project
project = "Babeltrace 2 Python bindings"
copyright = "2020, EfficiOS, Inc"
)
'''
+
+[tool.isort]
+profile = "black"
+extend_skip_glob = ["tests/utils/python/tap"]
+length_sort = true
import sys
+from bt2.mip import get_maximal_mip_version, get_greatest_operative_mip_version
+from bt2.error import (
+ ComponentClassType,
+ _Error,
+ _ErrorCause,
+ _MemoryError,
+ _ComponentErrorCause,
+ _ComponentClassErrorCause,
+ _MessageIteratorErrorCause,
+)
+from bt2.field import (
+ _BoolField,
+ _RealField,
+ _ArrayField,
+ _OptionField,
+ _StringField,
+ _IntegerField,
+ _VariantField,
+ _BitArrayField,
+ _BoolFieldConst,
+ _RealFieldConst,
+ _StructureField,
+ _ArrayFieldConst,
+ _EnumerationField,
+ _OptionFieldConst,
+ _StaticArrayField,
+ _StringFieldConst,
+ _DynamicArrayField,
+ _IntegerFieldConst,
+ _VariantFieldConst,
+ _BitArrayFieldConst,
+ _SignedIntegerField,
+ _StructureFieldConst,
+ _UnsignedIntegerField,
+ _EnumerationFieldConst,
+ _StaticArrayFieldConst,
+ _DynamicArrayFieldConst,
+ _SignedEnumerationField,
+ _SignedIntegerFieldConst,
+ _DoublePrecisionRealField,
+ _SinglePrecisionRealField,
+ _UnsignedEnumerationField,
+ _UnsignedIntegerFieldConst,
+ _SignedEnumerationFieldConst,
+ _DoublePrecisionRealFieldConst,
+ _SinglePrecisionRealFieldConst,
+ _UnsignedEnumerationFieldConst,
+)
+from bt2.graph import Graph
+from bt2.utils import Stop, TryAgain, UnknownObject, _OverflowError
+from bt2.value import (
+ MapValue,
+ BoolValue,
+ RealValue,
+ ArrayValue,
+ StringValue,
+ SignedIntegerValue,
+ UnsignedIntegerValue,
+ create_value,
+ _IntegerValue,
+ _MapValueConst,
+ _BoolValueConst,
+ _RealValueConst,
+ _ArrayValueConst,
+ _StringValueConst,
+ _IntegerValueConst,
+ _SignedIntegerValueConst,
+ _UnsignedIntegerValueConst,
+)
+from bt2.plugin import find_plugin, find_plugins, find_plugins_in_path
+from bt2.logging import (
+ LoggingLevel,
+ get_global_logging_level,
+ set_global_logging_level,
+ get_minimal_logging_level,
+)
+from bt2.message import (
+ _EventMessage,
+ _PacketEndMessage,
+ _StreamEndMessage,
+ _EventMessageConst,
+ _PacketEndMessageConst,
+ _StreamEndMessageConst,
+ _DiscardedEventsMessage,
+ _PacketBeginningMessage,
+ _StreamBeginningMessage,
+ _DiscardedPacketsMessage,
+ _DiscardedEventsMessageConst,
+ _PacketBeginningMessageConst,
+ _StreamBeginningMessageConst,
+ _DiscardedPacketsMessageConst,
+ _MessageIteratorInactivityMessage,
+ _MessageIteratorInactivityMessageConst,
+)
+from bt2.version import __version__
+from bt2.component import (
+ _UserSinkComponent,
+ _SinkComponentConst,
+ _IncompleteUserClass,
+ _UserFilterComponent,
+ _UserSourceComponent,
+ _FilterComponentConst,
+ _SourceComponentConst,
+ _SinkComponentClassConst,
+ _FilterComponentClassConst,
+ _SourceComponentClassConst,
+)
+from bt2.py_plugin import register_plugin, plugin_component_class
+from bt2.field_path import (
+ FieldPathScope,
+ _IndexFieldPathItem,
+ _CurrentArrayElementFieldPathItem,
+ _CurrentOptionContentFieldPathItem,
+)
+
# import all public names
from bt2.clock_class import ClockClassOffset
-from bt2.clock_snapshot import _ClockSnapshotConst
-from bt2.clock_snapshot import _UnknownClockSnapshot
-from bt2.component import _IncompleteUserClass
-from bt2.component import _SourceComponentClassConst
-from bt2.component import _FilterComponentClassConst
-from bt2.component import _SinkComponentClassConst
-from bt2.component import _SourceComponentConst
-from bt2.component import _FilterComponentConst
-from bt2.component import _SinkComponentConst
-from bt2.component import _UserSourceComponent
-from bt2.component import _UserFilterComponent
-from bt2.component import _UserSinkComponent
-from bt2.component_descriptor import ComponentDescriptor
-from bt2.error import ComponentClassType
-from bt2.error import _ErrorCause
-from bt2.error import _ComponentErrorCause
-from bt2.error import _ComponentClassErrorCause
-from bt2.error import _MessageIteratorErrorCause
-from bt2.error import _Error
-from bt2.error import _MemoryError
from bt2.event_class import EventClassLogLevel
-from bt2.field import _BoolField
-from bt2.field import _BitArrayField
-from bt2.field import _IntegerField
-from bt2.field import _UnsignedIntegerField
-from bt2.field import _SignedIntegerField
-from bt2.field import _RealField
-from bt2.field import _SinglePrecisionRealField
-from bt2.field import _DoublePrecisionRealField
-from bt2.field import _EnumerationField
-from bt2.field import _UnsignedEnumerationField
-from bt2.field import _SignedEnumerationField
-from bt2.field import _StringField
-from bt2.field import _StructureField
-from bt2.field import _OptionField
-from bt2.field import _VariantField
-from bt2.field import _ArrayField
-from bt2.field import _StaticArrayField
-from bt2.field import _DynamicArrayField
-from bt2.field import _BoolFieldConst
-from bt2.field import _BitArrayFieldConst
-from bt2.field import _IntegerFieldConst
-from bt2.field import _UnsignedIntegerFieldConst
-from bt2.field import _SignedIntegerFieldConst
-from bt2.field import _RealFieldConst
-from bt2.field import _SinglePrecisionRealFieldConst
-from bt2.field import _DoublePrecisionRealFieldConst
-from bt2.field import _EnumerationFieldConst
-from bt2.field import _UnsignedEnumerationFieldConst
-from bt2.field import _SignedEnumerationFieldConst
-from bt2.field import _StringFieldConst
-from bt2.field import _StructureFieldConst
-from bt2.field import _OptionFieldConst
-from bt2.field import _VariantFieldConst
-from bt2.field import _ArrayFieldConst
-from bt2.field import _StaticArrayFieldConst
-from bt2.field import _DynamicArrayFieldConst
-from bt2.field_class import IntegerDisplayBase
-from bt2.field_class import _BoolFieldClass
-from bt2.field_class import _BitArrayFieldClass
-from bt2.field_class import _IntegerFieldClass
-from bt2.field_class import _UnsignedIntegerFieldClass
-from bt2.field_class import _SignedIntegerFieldClass
-from bt2.field_class import _RealFieldClass
-from bt2.field_class import _EnumerationFieldClass
-from bt2.field_class import _UnsignedEnumerationFieldClass
-from bt2.field_class import _SignedEnumerationFieldClass
-from bt2.field_class import _StringFieldClass
-from bt2.field_class import _StructureFieldClass
-from bt2.field_class import _OptionFieldClass
-from bt2.field_class import _OptionWithSelectorFieldClass
-from bt2.field_class import _OptionWithBoolSelectorFieldClass
-from bt2.field_class import _OptionWithIntegerSelectorFieldClass
-from bt2.field_class import _OptionWithUnsignedIntegerSelectorFieldClass
-from bt2.field_class import _OptionWithSignedIntegerSelectorFieldClass
-from bt2.field_class import _VariantFieldClass
-from bt2.field_class import _VariantFieldClassWithoutSelector
-from bt2.field_class import _VariantFieldClassWithIntegerSelector
-from bt2.field_class import _VariantFieldClassWithUnsignedIntegerSelector
-from bt2.field_class import _VariantFieldClassWithSignedIntegerSelector
-from bt2.field_class import _ArrayFieldClass
-from bt2.field_class import _StaticArrayFieldClass
-from bt2.field_class import _DynamicArrayFieldClass
-from bt2.field_class import _DynamicArrayWithLengthFieldFieldClass
-from bt2.field_class import _BoolFieldClassConst
-from bt2.field_class import _BitArrayFieldClassConst
-from bt2.field_class import _IntegerFieldClassConst
-from bt2.field_class import _UnsignedIntegerFieldClassConst
-from bt2.field_class import _SignedIntegerFieldClassConst
-from bt2.field_class import _RealFieldClassConst
-from bt2.field_class import _EnumerationFieldClassConst
-from bt2.field_class import _UnsignedEnumerationFieldClassConst
-from bt2.field_class import _SignedEnumerationFieldClassConst
-from bt2.field_class import _StringFieldClassConst
-from bt2.field_class import _StructureFieldClassConst
-from bt2.field_class import _OptionFieldClassConst
-from bt2.field_class import _OptionWithSelectorFieldClassConst
-from bt2.field_class import _OptionWithBoolSelectorFieldClassConst
-from bt2.field_class import _OptionWithIntegerSelectorFieldClassConst
-from bt2.field_class import _OptionWithUnsignedIntegerSelectorFieldClassConst
-from bt2.field_class import _OptionWithSignedIntegerSelectorFieldClassConst
-from bt2.field_class import _VariantFieldClassConst
-from bt2.field_class import _VariantFieldClassWithoutSelectorConst
-from bt2.field_class import _VariantFieldClassWithIntegerSelectorConst
-from bt2.field_class import _VariantFieldClassWithUnsignedIntegerSelectorConst
-from bt2.field_class import _VariantFieldClassWithSignedIntegerSelectorConst
-from bt2.field_class import _ArrayFieldClassConst
-from bt2.field_class import _StaticArrayFieldClassConst
-from bt2.field_class import _DynamicArrayFieldClassConst
-from bt2.field_class import _DynamicArrayWithLengthFieldFieldClassConst
-from bt2.field_path import FieldPathScope
-from bt2.field_path import _IndexFieldPathItem
-from bt2.field_path import _CurrentArrayElementFieldPathItem
-from bt2.field_path import _CurrentOptionContentFieldPathItem
-from bt2.graph import Graph
-from bt2.integer_range_set import SignedIntegerRange
-from bt2.integer_range_set import UnsignedIntegerRange
-from bt2.integer_range_set import SignedIntegerRangeSet
-from bt2.integer_range_set import UnsignedIntegerRangeSet
-from bt2.integer_range_set import _SignedIntegerRangeConst
-from bt2.integer_range_set import _UnsignedIntegerRangeConst
-from bt2.integer_range_set import _SignedIntegerRangeSetConst
-from bt2.integer_range_set import _UnsignedIntegerRangeSetConst
+from bt2.field_class import (
+ IntegerDisplayBase,
+ _BoolFieldClass,
+ _RealFieldClass,
+ _ArrayFieldClass,
+ _OptionFieldClass,
+ _StringFieldClass,
+ _IntegerFieldClass,
+ _VariantFieldClass,
+ _BitArrayFieldClass,
+ _BoolFieldClassConst,
+ _RealFieldClassConst,
+ _StructureFieldClass,
+ _ArrayFieldClassConst,
+ _EnumerationFieldClass,
+ _OptionFieldClassConst,
+ _StaticArrayFieldClass,
+ _StringFieldClassConst,
+ _DynamicArrayFieldClass,
+ _IntegerFieldClassConst,
+ _VariantFieldClassConst,
+ _BitArrayFieldClassConst,
+ _SignedIntegerFieldClass,
+ _StructureFieldClassConst,
+ _UnsignedIntegerFieldClass,
+ _EnumerationFieldClassConst,
+ _StaticArrayFieldClassConst,
+ _DynamicArrayFieldClassConst,
+ _SignedEnumerationFieldClass,
+ _OptionWithSelectorFieldClass,
+ _SignedIntegerFieldClassConst,
+ _UnsignedEnumerationFieldClass,
+ _UnsignedIntegerFieldClassConst,
+ _OptionWithBoolSelectorFieldClass,
+ _SignedEnumerationFieldClassConst,
+ _VariantFieldClassWithoutSelector,
+ _OptionWithSelectorFieldClassConst,
+ _UnsignedEnumerationFieldClassConst,
+ _OptionWithIntegerSelectorFieldClass,
+ _VariantFieldClassWithIntegerSelector,
+ _DynamicArrayWithLengthFieldFieldClass,
+ _OptionWithBoolSelectorFieldClassConst,
+ _VariantFieldClassWithoutSelectorConst,
+ _OptionWithIntegerSelectorFieldClassConst,
+ _OptionWithSignedIntegerSelectorFieldClass,
+ _VariantFieldClassWithIntegerSelectorConst,
+ _DynamicArrayWithLengthFieldFieldClassConst,
+ _VariantFieldClassWithSignedIntegerSelector,
+ _OptionWithUnsignedIntegerSelectorFieldClass,
+ _VariantFieldClassWithUnsignedIntegerSelector,
+ _OptionWithSignedIntegerSelectorFieldClassConst,
+ _VariantFieldClassWithSignedIntegerSelectorConst,
+ _OptionWithUnsignedIntegerSelectorFieldClassConst,
+ _VariantFieldClassWithUnsignedIntegerSelectorConst,
+)
from bt2.interrupter import Interrupter
-from bt2.logging import LoggingLevel
-from bt2.logging import get_minimal_logging_level
-from bt2.logging import get_global_logging_level
-from bt2.logging import set_global_logging_level
-from bt2.message import _EventMessage
-from bt2.message import _PacketBeginningMessage
-from bt2.message import _PacketEndMessage
-from bt2.message import _StreamBeginningMessage
-from bt2.message import _StreamEndMessage
-from bt2.message import _MessageIteratorInactivityMessage
-from bt2.message import _DiscardedEventsMessage
-from bt2.message import _DiscardedPacketsMessage
-from bt2.message import _EventMessageConst
-from bt2.message import _PacketBeginningMessageConst
-from bt2.message import _PacketEndMessageConst
-from bt2.message import _StreamBeginningMessageConst
-from bt2.message import _StreamEndMessageConst
-from bt2.message import _MessageIteratorInactivityMessageConst
-from bt2.message import _DiscardedEventsMessageConst
-from bt2.message import _DiscardedPacketsMessageConst
-from bt2.message_iterator import _UserMessageIterator
-from bt2.mip import get_greatest_operative_mip_version
-from bt2.mip import get_maximal_mip_version
-from bt2.plugin import find_plugins_in_path
-from bt2.plugin import find_plugins
-from bt2.plugin import find_plugin
-from bt2.py_plugin import plugin_component_class
-from bt2.py_plugin import register_plugin
+from bt2.clock_snapshot import _ClockSnapshotConst, _UnknownClockSnapshot
from bt2.query_executor import QueryExecutor
-from bt2.trace_collection_message_iterator import AutoSourceComponentSpec
-from bt2.trace_collection_message_iterator import ComponentSpec
-from bt2.trace_collection_message_iterator import TraceCollectionMessageIterator
-from bt2.utils import UnknownObject
-from bt2.utils import _OverflowError
-from bt2.utils import TryAgain
-from bt2.utils import Stop
-from bt2.value import create_value
-from bt2.value import BoolValue
-from bt2.value import _IntegerValue
-from bt2.value import UnsignedIntegerValue
-from bt2.value import SignedIntegerValue
-from bt2.value import RealValue
-from bt2.value import StringValue
-from bt2.value import ArrayValue
-from bt2.value import MapValue
-from bt2.value import _BoolValueConst
-from bt2.value import _IntegerValueConst
-from bt2.value import _UnsignedIntegerValueConst
-from bt2.value import _SignedIntegerValueConst
-from bt2.value import _RealValueConst
-from bt2.value import _StringValueConst
-from bt2.value import _ArrayValueConst
-from bt2.value import _MapValueConst
-from bt2.version import __version__
+from bt2.message_iterator import _UserMessageIterator
+from bt2.integer_range_set import (
+ SignedIntegerRange,
+ UnsignedIntegerRange,
+ SignedIntegerRangeSet,
+ UnsignedIntegerRangeSet,
+ _SignedIntegerRangeConst,
+ _UnsignedIntegerRangeConst,
+ _SignedIntegerRangeSetConst,
+ _UnsignedIntegerRangeSetConst,
+)
+from bt2.component_descriptor import ComponentDescriptor
+from bt2.trace_collection_message_iterator import (
+ ComponentSpec,
+ AutoSourceComponentSpec,
+ TraceCollectionMessageIterator,
+)
if (sys.version_info.major, sys.version_info.minor) != (3, 4):
def _init_and_register_exit():
- from bt2 import native_bt
import atexit
+ from bt2 import native_bt
+
atexit.register(native_bt.bt2_exit_handler)
native_bt.bt2_init_from_bt2()
#
# Copyright (c) 2017 Philippe Proulx <pproulx@efficios.com>
-from bt2 import native_bt
-from bt2 import object as bt2_object
+import uuid as uuidp
+
from bt2 import utils as bt2_utils
from bt2 import value as bt2_value
-import uuid as uuidp
+from bt2 import object as bt2_object
+from bt2 import native_bt
class ClockClassOffset:
#
# Copyright (c) 2017 Philippe Proulx <pproulx@efficios.com>
-from bt2 import native_bt
-from bt2 import object as bt2_object
-from bt2 import utils as bt2_utils
import numbers
-from bt2 import clock_class as bt2_clock_class
import functools
+from bt2 import utils as bt2_utils
+from bt2 import object as bt2_object
+from bt2 import native_bt
+from bt2 import clock_class as bt2_clock_class
+
@functools.total_ordering
class _ClockSnapshotConst(bt2_object._UniqueObject):
#
# Copyright (c) 2017 Philippe Proulx <pproulx@efficios.com>
-from bt2 import native_bt
-from bt2 import object as bt2_object
-from bt2 import utils as bt2_utils
-from bt2 import message_iterator as bt2_message_iterator
+import sys
import collections.abc
+
+from bt2 import port as bt2_port
+from bt2 import error as bt2_error
+from bt2 import utils as bt2_utils
from bt2 import value as bt2_value
-from bt2 import trace_class as bt2_trace_class
+from bt2 import object as bt2_object
+from bt2 import native_bt
from bt2 import clock_class as bt2_clock_class
+from bt2 import trace_class as bt2_trace_class
from bt2 import query_executor as bt2_query_executor
-from bt2 import port as bt2_port
-from bt2 import error as bt2_error
+from bt2 import message_iterator as bt2_message_iterator
from bt2 import integer_range_set as bt2_integer_range_set
-import sys
class _IncompleteUserClass(Exception):
#
# Copyright (c) 2017 Philippe Proulx <pproulx@efficios.com>
-from bt2 import native_bt
-from bt2 import component as bt2_component
from bt2 import value as bt2_value
+from bt2 import component as bt2_component
+from bt2 import native_bt
def _is_source_comp_cls(comp_cls):
#
# Copyright (c) 2017 Philippe Proulx <pproulx@efficios.com>
-from bt2 import native_bt
from bt2 import port as bt2_port
from bt2 import object as bt2_object
+from bt2 import native_bt
class _ConnectionConst(bt2_object._SharedObject):
#
# Copyright (c) 2019 Simon Marchi <simon.marchi@efficios.com>
-from bt2 import native_bt
from collections import abc
+from bt2 import native_bt
+
class ComponentClassType:
SOURCE = native_bt.COMPONENT_CLASS_TYPE_SOURCE
#
# Copyright (c) 2016-2017 Philippe Proulx <pproulx@efficios.com>
-from bt2 import native_bt
-from bt2 import object as bt2_object
+import collections.abc
+
+from bt2 import field as bt2_field
from bt2 import utils as bt2_utils
-from bt2 import event_class as bt2_event_class
+from bt2 import object as bt2_object
from bt2 import packet as bt2_packet
from bt2 import stream as bt2_stream
-from bt2 import field as bt2_field
-import collections.abc
+from bt2 import native_bt
+from bt2 import event_class as bt2_event_class
class _EventConst(bt2_object._UniqueObject, collections.abc.Mapping):
#
# Copyright (c) 2017 Philippe Proulx <pproulx@efficios.com>
-from bt2 import native_bt
-from bt2 import object as bt2_object
from bt2 import utils as bt2_utils
-from bt2 import field_class as bt2_field_class
from bt2 import value as bt2_value
+from bt2 import object as bt2_object
+from bt2 import native_bt
+from bt2 import field_class as bt2_field_class
def _bt2_stream_class():
#
# Copyright (c) 2017 Philippe Proulx <pproulx@efficios.com>
-from bt2 import native_bt
-from bt2 import object as bt2_object
+import math
+import numbers
+import functools
+import collections.abc
+
from bt2 import utils as bt2_utils
+from bt2 import object as bt2_object
+from bt2 import native_bt
from bt2 import field_class as bt2_field_class
-import collections.abc
-import functools
-import numbers
-import math
def _create_field_from_ptr_template(
#
# Copyright (c) 2017 Philippe Proulx <pproulx@efficios.com>
-from bt2 import native_bt
-from bt2 import object as bt2_object
-from bt2 import utils as bt2_utils
import collections.abc
-from bt2 import field_path as bt2_field_path
-from bt2 import integer_range_set as bt2_integer_range_set
+
from bt2 import error as bt2_error
+from bt2 import utils as bt2_utils
from bt2 import value as bt2_value
+from bt2 import object as bt2_object
+from bt2 import native_bt
+from bt2 import field_path as bt2_field_path
+from bt2 import integer_range_set as bt2_integer_range_set
def _obj_type_from_field_class_ptr_template(type_map, ptr):
# Copyright (c) 2018 Francis Deslauriers <francis.deslauriers@efficios.com>
import collections
-from bt2 import native_bt
+
from bt2 import object as bt2_object
+from bt2 import native_bt
class FieldPathScope:
#
# Copyright (c) 2017 Philippe Proulx <pproulx@efficios.com>
-from bt2 import native_bt
-from bt2 import object as bt2_object
-from bt2 import utils as bt2_utils
-from bt2 import interrupter as bt2_interrupter
-from bt2 import connection as bt2_connection
-from bt2 import component as bt2_component
import functools
-from bt2 import port as bt2_port
-from bt2 import logging as bt2_logging
+
from bt2 import mip as bt2_mip
+from bt2 import port as bt2_port
from bt2 import error as bt2_error
+from bt2 import utils as bt2_utils
from bt2 import value as bt2_value
+from bt2 import object as bt2_object
+from bt2 import logging as bt2_logging
+from bt2 import component as bt2_component
+from bt2 import native_bt
+from bt2 import connection as bt2_connection
+from bt2 import interrupter as bt2_interrupter
def _graph_port_added_listener_from_native(
#
# Copyright (c) 2017 Philippe Proulx <pproulx@efficios.com>
-from bt2 import native_bt
-from bt2 import object as bt2_object
-from bt2 import utils as bt2_utils
-from bt2 import error as bt2_error
import collections.abc
+from bt2 import error as bt2_error
+from bt2 import utils as bt2_utils
+from bt2 import object as bt2_object
+from bt2 import native_bt
+
class _IntegerRangeConst:
def __init__(self, lower, upper=None):
#
# Copyright (c) 2019 Philippe Proulx <pproulx@efficios.com>
-from bt2 import native_bt
-from bt2 import object as bt2_object
from bt2 import error as bt2_error
+from bt2 import object as bt2_object
+from bt2 import native_bt
class Interrupter(bt2_object._SharedObject):
#
# Copyright (c) 2017 Philippe Proulx <pproulx@efficios.com>
-from bt2 import native_bt
-from bt2 import object as bt2_object
+from bt2 import event as bt2_event
from bt2 import utils as bt2_utils
-from bt2 import clock_snapshot as bt2_clock_snapshot
+from bt2 import object as bt2_object
from bt2 import packet as bt2_packet
from bt2 import stream as bt2_stream
-from bt2 import event as bt2_event
+from bt2 import native_bt
+from bt2 import clock_snapshot as bt2_clock_snapshot
def _create_from_ptr(ptr):
#
# Copyright (c) 2017 Philippe Proulx <pproulx@efficios.com>
-from bt2 import native_bt
-from bt2 import object as bt2_object
-from bt2 import utils as bt2_utils
-from bt2 import message as bt2_message
import collections.abc
-from bt2 import stream as bt2_stream
-from bt2 import event_class as bt2_event_class
-from bt2 import packet as bt2_packet
+
from bt2 import port as bt2_port
-from bt2 import clock_class as bt2_clock_class
from bt2 import error as bt2_error
+from bt2 import utils as bt2_utils
+from bt2 import object as bt2_object
+from bt2 import packet as bt2_packet
+from bt2 import stream as bt2_stream
+from bt2 import message as bt2_message
+from bt2 import native_bt
+from bt2 import clock_class as bt2_clock_class
+from bt2 import event_class as bt2_event_class
class _MessageIterator(collections.abc.Iterator):
#
# Copyright (c) 2017 Philippe Proulx <pproulx@efficios.com>
-from bt2 import native_bt
-from bt2 import utils as bt2_utils
from bt2 import error as bt2_error
+from bt2 import utils as bt2_utils
from bt2 import logging as bt2_logging
+from bt2 import native_bt
from bt2 import component_descriptor as bt2_component_descriptor
#
# Copyright (c) 2016-2017 Philippe Proulx <pproulx@efficios.com>
-from bt2 import native_bt
-from bt2 import object as bt2_object
from bt2 import field as bt2_field
+from bt2 import object as bt2_object
+from bt2 import native_bt
def _bt2_stream():
#
# Copyright (c) 2017 Philippe Proulx <pproulx@efficios.com>
-from bt2 import native_bt
-from bt2 import object as bt2_object
-from bt2 import utils as bt2_utils
+import os.path
import collections.abc
+
+from bt2 import utils as bt2_utils
+from bt2 import object as bt2_object
from bt2 import component as bt2_component
-import os.path
+from bt2 import native_bt
def find_plugins_in_path(path, recurse=True, fail_on_load_error=False):
#
# Copyright (c) 2017 Philippe Proulx <pproulx@efficios.com>
-from bt2 import native_bt
from bt2 import object as bt2_object
+from bt2 import native_bt
def _bt2_connection():
#
# Copyright (c) 2017 Philippe Proulx <pproulx@efficios.com>
-from bt2 import utils as bt2_utils
-from bt2 import component as bt2_component
import sys
+from bt2 import utils as bt2_utils
+from bt2 import component as bt2_component
# Python plugin path to `_PluginInfo` (cache)
_plugin_infos = {}
# do not load module and create plugin info twice for this path
return _plugin_infos[path]
- import importlib.machinery
- import inspect
import hashlib
+ import inspect
+ import importlib.machinery
if path is None:
raise TypeError("missing path")
#
# Copyright (c) 2017 Philippe Proulx <pproulx@efficios.com>
-from bt2 import native_bt
-from bt2 import object as bt2_object
+from bt2 import error as bt2_error
from bt2 import utils as bt2_utils
-from bt2 import interrupter as bt2_interrupter
from bt2 import value as bt2_value
-from bt2 import error as bt2_error
+from bt2 import object as bt2_object
+from bt2 import native_bt
+from bt2 import interrupter as bt2_interrupter
def _bt2_component():
#
# Copyright (c) 2016-2017 Philippe Proulx <pproulx@efficios.com>
-from bt2 import native_bt
+from bt2 import error as bt2_error
from bt2 import utils as bt2_utils
+from bt2 import value as bt2_value
from bt2 import object as bt2_object
from bt2 import packet as bt2_packet
+from bt2 import native_bt
from bt2 import stream_class as bt2_stream_class
-from bt2 import value as bt2_value
-from bt2 import error as bt2_error
def _bt2_trace():
#
# Copyright (c) 2017 Philippe Proulx <pproulx@efficios.com>
-from bt2 import native_bt
-from bt2 import object as bt2_object
+import collections.abc
+
from bt2 import utils as bt2_utils
-from bt2 import field_class as bt2_field_class
-from bt2 import event_class as bt2_event_class
-from bt2 import clock_class as bt2_clock_class
from bt2 import value as bt2_value
-import collections.abc
+from bt2 import object as bt2_object
+from bt2 import native_bt
+from bt2 import clock_class as bt2_clock_class
+from bt2 import event_class as bt2_event_class
+from bt2 import field_class as bt2_field_class
def _bt2_trace_class():
#
# Copyright (c) 2017 Philippe Proulx <pproulx@efficios.com>
-from bt2 import native_bt
-from bt2 import object as bt2_object
-from bt2 import utils as bt2_utils
+import uuid as uuidp
+import functools
import collections.abc
+
+from bt2 import error as bt2_error
+from bt2 import utils as bt2_utils
from bt2 import value as bt2_value
+from bt2 import object as bt2_object
from bt2 import stream as bt2_stream
+from bt2 import native_bt
from bt2 import stream_class as bt2_stream_class
-from bt2 import error as bt2_error
-
-import functools
-import uuid as uuidp
def _bt2_trace_class():
# Copyright (c) 2018 Francis Deslauriers <francis.deslauriers@efficios.com>
# Copyright (c) 2019 Simon Marchi <simon.marchi@efficios.com>
-from bt2 import native_bt
+import functools
+import collections.abc
+
+from bt2 import error as bt2_error
+from bt2 import trace as bt2_trace
from bt2 import utils as bt2_utils
+from bt2 import value as bt2_value
from bt2 import object as bt2_object
-from bt2 import stream_class as bt2_stream_class
+from bt2 import native_bt
from bt2 import field_class as bt2_field_class
+from bt2 import stream_class as bt2_stream_class
from bt2 import integer_range_set as bt2_integer_range_set
-from bt2 import trace as bt2_trace
-from bt2 import error as bt2_error
-from bt2 import value as bt2_value
-import collections.abc
-import functools
def _trace_class_destruction_listener_from_native(
#
# Copyright (c) 2017 Philippe Proulx <pproulx@efficios.com>
-from bt2 import native_bt
-from bt2 import utils as bt2_utils
-from bt2 import logging as bt2_logging
+import numbers
+import datetime
import itertools
-from bt2 import message_iterator as bt2_message_iterator
+from collections import namedtuple
+
+from bt2 import mip as bt2_mip
from bt2 import port as bt2_port
-from bt2 import component as bt2_component
+from bt2 import error as bt2_error
+from bt2 import graph as bt2_graph
+from bt2 import utils as bt2_utils
from bt2 import value as bt2_value
from bt2 import plugin as bt2_plugin
-from bt2 import error as bt2_error
+from bt2 import logging as bt2_logging
+from bt2 import component as bt2_component
+from bt2 import native_bt
from bt2 import query_executor as bt2_query_executor
+from bt2 import message_iterator as bt2_message_iterator
from bt2 import component_descriptor as bt2_component_descriptor
-from bt2 import mip as bt2_mip
-from bt2 import graph as bt2_graph
-import datetime
-from collections import namedtuple
-import numbers
-
# a pair of component and ComponentSpec
_ComponentAndSpec = namedtuple("_ComponentAndSpec", ["comp", "spec"])
# Copyright (c) 2017 Philippe Proulx <pproulx@efficios.com>
+from bt2 import error as bt2_error
from bt2 import logging as bt2_logging
from bt2 import native_bt
-from bt2 import error as bt2_error
class UnknownObject(Exception):
#
# Copyright (c) 2017 Philippe Proulx <pproulx@efficios.com>
-from bt2 import native_bt
-from bt2 import object as bt2_object
-from bt2 import utils as bt2_utils
-from bt2 import error as bt2_error
-import collections.abc
-import functools
-import numbers
-import math
import abc
+import math
+import numbers
+import functools
+import collections.abc
+
+from bt2 import error as bt2_error
+from bt2 import utils as bt2_utils
+from bt2 import object as bt2_object
+from bt2 import native_bt
def _create_from_ptr_template(ptr, object_map):
# Copyright (C) 2019 EfficiOS Inc.
#
-import unittest
import uuid
+import unittest
+
import bt2
import utils
-from utils import run_in_component_init, TestOutputPortMessageIterator
from bt2 import value as bt2_value
from bt2 import clock_class as bt2_clock_class
+from utils import TestOutputPortMessageIterator, run_in_component_init
class ClockClassOffsetTestCase(unittest.TestCase):
#
import unittest
+
import bt2
from bt2 import component as bt2_component
#
import unittest
+
import bt2
#
import unittest
+
import bt2
#
import unittest
+
import bt2
-from bt2 import connection as bt2_connection
from bt2 import port as bt2_port
+from bt2 import connection as bt2_connection
class ConnectionTestCase(unittest.TestCase):
# Copyright (C) 2019 EfficiOS Inc.
#
-from bt2 import native_bt
-import bt2
import unittest
+import bt2
+from bt2 import native_bt
+
class FailingIter(bt2._UserMessageIterator):
def __next__(self):
#
import unittest
+
import bt2
import utils
-from utils import TestOutputPortMessageIterator
-
from bt2 import field as bt2_field
from bt2 import stream as bt2_stream
from bt2 import event_class as bt2_event_class
from bt2 import clock_snapshot as bt2_clock_snapshot
+from utils import TestOutputPortMessageIterator
class EventTestCase(unittest.TestCase):
#
import unittest
+
import bt2
-from utils import get_default_trace_class
-from bt2 import stream_class as bt2_stream_class
+from bt2 import value as bt2_value
from bt2 import event_class as bt2_event_class
from bt2 import field_class as bt2_field_class
-from bt2 import value as bt2_value
-from utils import TestOutputPortMessageIterator
+from bt2 import stream_class as bt2_stream_class
+from utils import TestOutputPortMessageIterator, get_default_trace_class
def _create_const_event_class(tc, stream_class):
# Copyright (C) 2019 EfficiOS Inc.
#
-from functools import partial, partialmethod
+import copy
+import math
import operator
import unittest
-import math
-import copy
import itertools
import collections
-import bt2
-from utils import get_default_trace_class, create_const_field
+from functools import partial, partialmethod
+import bt2
+from utils import create_const_field, get_default_trace_class
_COMP_BINOPS = (operator.eq, operator.ne)
#
import unittest
+
import bt2
-from utils import get_default_trace_class, TestOutputPortMessageIterator
from bt2 import value as bt2_value
from bt2 import field_class as bt2_field_class
+from utils import TestOutputPortMessageIterator, get_default_trace_class
def _create_stream(tc, ctx_field_classes):
#
import unittest
+
import bt2
# Copyright (C) 2019 EfficiOS Inc.
#
-import bt2
import unittest
-from utils import get_default_trace_class, create_const_field
+import bt2
+from utils import create_const_field, get_default_trace_class
def get_const_signed_integer_range(int_ranges):
# Copyright (C) 2019 EfficiOS Inc.
#
-import bt2
import unittest
+import bt2
+
class InterrupterTestCase(unittest.TestCase):
def setUp(self):
#
import unittest
+
import bt2
import utils
-from utils import TestOutputPortMessageIterator
-from bt2 import clock_snapshot as bt2_clock_snapshot
from bt2 import event as bt2_event
-from bt2 import event_class as bt2_event_class
from bt2 import field as bt2_field
+from bt2 import trace as bt2_trace
from bt2 import packet as bt2_packet
from bt2 import stream as bt2_stream
-from bt2 import stream_class as bt2_stream_class
-from bt2 import trace as bt2_trace
+from bt2 import event_class as bt2_event_class
from bt2 import trace_class as bt2_trace_class
+from bt2 import stream_class as bt2_stream_class
+from bt2 import clock_snapshot as bt2_clock_snapshot
+from utils import TestOutputPortMessageIterator
class AllMessagesTestCase(unittest.TestCase):
# Copyright (C) 2019 EfficiOS Inc.
#
+import sys
import unittest
+
import bt2
-import sys
-from utils import TestOutputPortMessageIterator
from bt2 import port as bt2_port
from bt2 import message_iterator as bt2_message_iterator
+from utils import TestOutputPortMessageIterator
class SimpleSink(bt2._UserSinkComponent):
#
import unittest
+
import bt2
# Copyright (C) 2019 EfficiOS Inc.
#
-import bt2
import unittest
+import bt2
+
class PackageTestCase(unittest.TestCase):
def _assert_in_bt2(self, name):
#
import unittest
+
import utils
-from utils import run_in_component_init
-from bt2 import stream as bt2_stream
from bt2 import field as bt2_field
+from bt2 import stream as bt2_stream
+from utils import run_in_component_init
class PacketTestCase(unittest.TestCase):
# Copyright (C) 2019 EfficiOS Inc.
#
-import unittest
-import bt2
import os
+import unittest
+import bt2
_TEST_PLUGIN_PLUGINS_PATH = os.environ["BT_PLUGINS_PATH"]
_TEST_PLUGIN_PLUGIN_EXTENSION_BY_OS = {"cygwin": "dll", "mingw": "dll"}
#
import unittest
+
import bt2
from bt2 import port as bt2_port
# Copyright (C) 2019 EfficiOS Inc.
#
+import re
import unittest
+
import bt2
-import re
class QueryExecutorTestCase(unittest.TestCase):
#
import unittest
+
import utils
-from utils import run_in_component_init
from bt2 import trace as bt2_trace
-from bt2 import stream as bt2_stream
from bt2 import value as bt2_value
+from bt2 import stream as bt2_stream
from bt2 import stream_class as bt2_stream_class
+from utils import run_in_component_init
class StreamTestCase(unittest.TestCase):
#
import unittest
-from utils import run_in_component_init
-from bt2 import stream_class as bt2_stream_class
-from bt2 import trace_class as bt2_trace_class
+
from bt2 import clock_class as bt2_clock_class
from bt2 import event_class as bt2_event_class
from bt2 import field_class as bt2_field_class
+from bt2 import trace_class as bt2_trace_class
+from bt2 import stream_class as bt2_stream_class
+from utils import run_in_component_init
class StreamClassTestCase(unittest.TestCase):
import uuid
import unittest
+
import utils
-from utils import get_default_trace_class
-from bt2 import trace_class as bt2_trace_class
-from bt2 import value as bt2_value
from bt2 import trace as bt2_trace
-from bt2 import stream as bt2_stream
from bt2 import utils as bt2_utils
+from bt2 import value as bt2_value
+from bt2 import stream as bt2_stream
+from bt2 import trace_class as bt2_trace_class
+from utils import get_default_trace_class
class TraceTestCase(unittest.TestCase):
#
import unittest
+
+from bt2 import utils as bt2_utils
+from bt2 import trace_class as bt2_trace_class
+from bt2 import stream_class as bt2_stream_class
from utils import (
run_in_component_init,
get_default_trace_class,
get_const_stream_beginning_message,
)
-from bt2 import stream_class as bt2_stream_class
-from bt2 import trace_class as bt2_trace_class
-from bt2 import utils as bt2_utils
class TraceClassTestCase(unittest.TestCase):
# Copyright (C) 2019 EfficiOS Inc.
#
-import unittest
-import datetime
-import bt2
import os
import os.path
+import datetime
+import unittest
+import bt2
_BT_TESTS_DATADIR = os.environ["BT_TESTS_DATADIR"]
_BT_CTF_TRACES_PATH = os.environ["BT_CTF_TRACES_PATH"]
# Copyright (C) 2019 EfficiOS Inc.
#
-from functools import partial, partialmethod
+import copy
+import math
import operator
-import collections
import unittest
-import math
-import copy
+import collections
+from functools import partial, partialmethod
+
import bt2
# Copyright (C) 2019 EfficiOS Inc.
#
-import bt2
import collections.abc
+import bt2
+
# Run callable `func` in the context of a component's __init__ method. The
# callable is passed the Component being instantiated.
# Copyright (C) 2019 EfficiOS Inc.
#
-import bt2
import os
+import bt2
+
# Source component classes in this file recognize and group inputs in
# various ways. One stream is created by each component, with a name
# derived from the component class and the inputs. This is then checked
# Copyright (C) 2019 EfficiOS Inc.
#
-import bt2
import os
+import bt2
+
# This file defines source component classes to help verify the parameters an
# log levels passed to components. Each component creates one stream, with a
# name derived from either:
# Copyright (C) 2019 EfficiOS Inc.
#
-import bt2
-import signal
import os
import time
+import signal
+
+import bt2
bt2.register_plugin(__name__, "test_exit_status")
# Copyright (C) 2019 EfficiOS Inc.
#
-import bt2
import math
+import bt2
+
bt2.register_plugin(__name__, "test_debug_info")
# Copyright (C) 2019 Philippe Proulx <pproulx@efficios.com>
#
-import argparse
-import collections.abc
-import logging
import os
-import os.path
import re
+import sys
+import json
import socket
import struct
-import sys
+import logging
+import os.path
+import argparse
import tempfile
-import json
+import collections.abc
from collections import namedtuple
#
# Copyright (c) 2020 Philippe Proulx <pproulx@efficios.com>
-import unittest
-import subprocess
-import functools
-import signal
import os
-import os.path
import re
import json
-
+import signal
+import os.path
+import unittest
+import functools
+import subprocess
# the `conds-triggers` program's full path
_CONDS_TRIGGERS_PATH = os.environ["BT_TESTS_LIB_CONDS_TRIGGER_BIN"]
# Copyright (C) 2020 EfficiOS, Inc.
import unittest
+
import bt2
# Copyright (C) 2019 Simon Marchi <simon.marchi@efficios.com>
#
-import unittest
-import bt2
import os
+import unittest
+import bt2
session_rotation_trace_path = os.path.join(
os.environ["BT_CTF_TRACES_PATH"], "succeed", "session-rotation"
# Copyright (C) 2019 Simon Marchi <simon.marchi@efficios.com>
#
-import unittest
-import bt2
import os
import re
+import unittest
+import bt2
test_ctf_traces_path = os.environ["BT_CTF_TRACES_PATH"]
# Copyright (C) 2019 EfficiOS Inc.
#
+import os
import unittest
+
import bt2
-import os
class PythonPluginProviderTestCase(unittest.TestCase):
#
# Copyright (C) 2020 Francis Deslauriers <francis.deslauriers@efficios.com>
-import sys
import re
+import sys
def main():
# Copyright (c) 2016 Philippe Proulx <pproulx@efficios.com>
#
-from tap import TAPTestRunner
-import unittest
import sys
import argparse
+import unittest
+from tap import TAPTestRunner
if __name__ == "__main__":
argparser = argparse.ArgumentParser()