From b79a9650fb92a28989e7b1986373c43c2290fad5 Mon Sep 17 00:00:00 2001 From: Diego Hurtado Date: Mon, 15 Jul 2024 06:56:44 -0600 Subject: [PATCH] Point pylint to the root directory of every package (#4048) * Point pylint to the root directory of every package Fixes #3814 * Fix lint for api * Fix sdk lint * Fix sdk lint * Fix lint for b3 * Fix tox ini and lint * Fix zipkin --- .../test_benchmark_trace_exporter.py | 2 + .../tests/attributes/test_attributes.py | 4 +- .../tests/logs/test_logger_provider.py | 14 +++-- .../tests/metrics/test_instruments.py | 2 + opentelemetry-api/tests/metrics/test_meter.py | 18 +++--- .../tests/metrics/test_meter_provider.py | 7 ++- .../metrics/test_subclass_instantiation.py | 2 + .../propagators/test_global_httptextformat.py | 6 +- .../propagators/test_w3cbaggagepropagator.py | 4 +- .../test_tracecontexthttptextformat.py | 6 +- .../tests/util/test__providers.py | 4 +- .../metrics/test_benchmark_metrics.py | 2 + ...py => test_benchmark_metrics_histogram.py} | 12 ++-- .../benchmarks/trace/test_benchmark_trace.py | 5 +- .../test_exponent_mapping.py | 5 +- ...xponential_bucket_histogram_aggregation.py | 7 ++- .../test_logarithm_mapping.py | 5 +- ...t_explicit_bucket_histogram_aggregation.py | 2 + .../tests/metrics/test_aggregation.py | 2 + .../tests/metrics/test_backward_compat.py | 4 +- .../tests/metrics/test_import.py | 2 +- .../metrics/test_in_memory_metric_reader.py | 2 + .../tests/metrics/test_instrument.py | 3 +- .../metrics/test_measurement_consumer.py | 2 + .../tests/metrics/test_metric_reader.py | 5 +- .../metrics/test_metric_reader_storage.py | 2 + .../tests/metrics/test_metrics.py | 23 ++++---- .../test_periodic_exporting_metric_reader.py | 9 ++- opentelemetry-sdk/tests/metrics/test_point.py | 6 -- opentelemetry-sdk/tests/metrics/test_view.py | 2 + .../metrics/test_view_instrument_match.py | 4 +- .../propagation/test_benchmark_b3_format.py | 4 +- tox.ini | 59 +++++++------------ 33 files changed, 135 insertions(+), 101 deletions(-) rename opentelemetry-sdk/benchmarks/metrics/{test_benchmark_metrics_histogram,.py => test_benchmark_metrics_histogram.py} (92%) diff --git a/exporter/opentelemetry-exporter-otlp-proto-grpc/benchmarks/test_benchmark_trace_exporter.py b/exporter/opentelemetry-exporter-otlp-proto-grpc/benchmarks/test_benchmark_trace_exporter.py index 2b39a8feb3..9051dbeed0 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-grpc/benchmarks/test_benchmark_trace_exporter.py +++ b/exporter/opentelemetry-exporter-otlp-proto-grpc/benchmarks/test_benchmark_trace_exporter.py @@ -12,6 +12,8 @@ # See the License for the specific language governing permissions and # limitations under the License. +# pylint: disable=invalid-name + from unittest.mock import patch from opentelemetry.exporter.otlp.proto.grpc.trace_exporter import ( diff --git a/opentelemetry-api/tests/attributes/test_attributes.py b/opentelemetry-api/tests/attributes/test_attributes.py index 61388de722..cf6aecb41f 100644 --- a/opentelemetry-api/tests/attributes/test_attributes.py +++ b/opentelemetry-api/tests/attributes/test_attributes.py @@ -21,6 +21,7 @@ class TestAttributes(unittest.TestCase): + # pylint: disable=invalid-name def assertValid(self, value, key="k"): expected = value if isinstance(value, MutableSequence): @@ -89,6 +90,7 @@ def test_sequence_attr_decode(self): class TestBoundedAttributes(unittest.TestCase): + # pylint: disable=consider-using-dict-items base = { "name": "Firulais", "age": 7, @@ -188,7 +190,7 @@ def test_locking(self): """ bdict = BoundedAttributes(immutable=False) - with bdict._lock: + with bdict._lock: # pylint: disable=protected-access for num in range(100): bdict[str(num)] = num diff --git a/opentelemetry-api/tests/logs/test_logger_provider.py b/opentelemetry-api/tests/logs/test_logger_provider.py index 84f3f13e9c..71f403c695 100644 --- a/opentelemetry-api/tests/logs/test_logger_provider.py +++ b/opentelemetry-api/tests/logs/test_logger_provider.py @@ -34,16 +34,16 @@ def tearDown(self): def test_set_logger_provider(self): lp_mock = Mock() # pylint: disable=protected-access - assert logs_internal._LOGGER_PROVIDER is None + self.assertIsNone(logs_internal._LOGGER_PROVIDER) set_logger_provider(lp_mock) - assert logs_internal._LOGGER_PROVIDER is lp_mock - assert get_logger_provider() is lp_mock + self.assertIs(logs_internal._LOGGER_PROVIDER, lp_mock) + self.assertIs(get_logger_provider(), lp_mock) def test_get_logger_provider(self): # pylint: disable=protected-access - assert logs_internal._LOGGER_PROVIDER is None + self.assertIsNone(logs_internal._LOGGER_PROVIDER) - assert isinstance( + self.assertIsInstance( get_logger_provider(), logs_internal.ProxyLoggerProvider ) @@ -59,4 +59,6 @@ def test_get_logger_provider(self): "opentelemetry._logs._internal.cast", Mock(**{"return_value": "test_logger_provider"}), ): - assert get_logger_provider() == "test_logger_provider" + self.assertEqual( + get_logger_provider(), "test_logger_provider" + ) diff --git a/opentelemetry-api/tests/metrics/test_instruments.py b/opentelemetry-api/tests/metrics/test_instruments.py index 12267433af..840fbf6e13 100644 --- a/opentelemetry-api/tests/metrics/test_instruments.py +++ b/opentelemetry-api/tests/metrics/test_instruments.py @@ -36,6 +36,7 @@ class ChildInstrument(Instrument): + # pylint: disable=useless-parent-delegation def __init__(self, name, *args, unit="", description="", **kwargs): super().__init__( name, *args, unit=unit, description=description, **kwargs @@ -500,6 +501,7 @@ def test_up_down_counter_add_method(self): class TestObservableUpDownCounter(TestCase): + # pylint: disable=protected-access def test_create_observable_up_down_counter(self): """ Test that the ObservableUpDownCounter can be created with create_observable_up_down_counter. diff --git a/opentelemetry-api/tests/metrics/test_meter.py b/opentelemetry-api/tests/metrics/test_meter.py index 2226965521..984690bdbb 100644 --- a/opentelemetry-api/tests/metrics/test_meter.py +++ b/opentelemetry-api/tests/metrics/test_meter.py @@ -23,6 +23,7 @@ class ChildMeter(Meter): + # pylint: disable=signature-differs def create_counter(self, name, unit="", description=""): super().create_counter(name, unit=unit, description=description) @@ -32,10 +33,10 @@ def create_up_down_counter(self, name, unit="", description=""): ) def create_observable_counter( - self, name, callback, unit="", description="" + self, name, callbacks, unit="", description="" ): super().create_observable_counter( - name, callback, unit=unit, description=description + name, callbacks, unit=unit, description=description ) def create_histogram(self, name, unit="", description=""): @@ -44,20 +45,23 @@ def create_histogram(self, name, unit="", description=""): def create_gauge(self, name, unit="", description=""): super().create_gauge(name, unit=unit, description=description) - def create_observable_gauge(self, name, callback, unit="", description=""): + def create_observable_gauge( + self, name, callbacks, unit="", description="" + ): super().create_observable_gauge( - name, callback, unit=unit, description=description + name, callbacks, unit=unit, description=description ) def create_observable_up_down_counter( - self, name, callback, unit="", description="" + self, name, callbacks, unit="", description="" ): super().create_observable_up_down_counter( - name, callback, unit=unit, description=description + name, callbacks, unit=unit, description=description ) class TestMeter(TestCase): + # pylint: disable=no-member def test_repeated_instrument_names(self): try: @@ -72,7 +76,7 @@ def test_repeated_instrument_names(self): test_meter.create_observable_up_down_counter( "observable_up_down_counter", Mock() ) - except Exception as error: + except Exception as error: # pylint: disable=broad-exception-caught self.fail(f"Unexpected exception raised {error}") for instrument_name in [ diff --git a/opentelemetry-api/tests/metrics/test_meter_provider.py b/opentelemetry-api/tests/metrics/test_meter_provider.py index 559b56205e..bce530d6ca 100644 --- a/opentelemetry-api/tests/metrics/test_meter_provider.py +++ b/opentelemetry-api/tests/metrics/test_meter_provider.py @@ -13,6 +13,8 @@ # limitations under the License. # type: ignore +# pylint: disable=protected-access + from unittest import TestCase from unittest.mock import Mock, patch @@ -54,6 +56,7 @@ def reset_meter_provider(): reset_metrics_globals() +# pylint: disable=redefined-outer-name def test_set_meter_provider(reset_meter_provider): """ Test that the API provides a way to set a global default MeterProvider @@ -113,7 +116,7 @@ def test_get_meter_parameters(self): NoOpMeterProvider().get_meter( "name", version="version", schema_url="schema_url" ) - except Exception as error: + except Exception as error: # pylint: disable=broad-exception-caught self.fail(f"Unexpected exception raised: {error}") def test_invalid_name(self): @@ -176,7 +179,7 @@ def test_proxy_provider(self): self.assertIsInstance(meter2, Mock) mock_real_mp.get_meter.assert_called_with(another_name, None, None) - # pylint: disable=too-many-locals + # pylint: disable=too-many-locals,too-many-statements def test_proxy_meter(self): meter_name = "foo" proxy_meter: _ProxyMeter = _ProxyMeterProvider().get_meter(meter_name) diff --git a/opentelemetry-api/tests/metrics/test_subclass_instantiation.py b/opentelemetry-api/tests/metrics/test_subclass_instantiation.py index a5b68d1c06..67001e8206 100644 --- a/opentelemetry-api/tests/metrics/test_subclass_instantiation.py +++ b/opentelemetry-api/tests/metrics/test_subclass_instantiation.py @@ -17,6 +17,8 @@ # Any tests that fail here indicate that the public API has changed in a way that is not backwards compatible. # Either bump the major version of the API, or make the necessary changes to the API to remain semver compatible. +# pylint: disable=useless-parent-delegation,arguments-differ + from typing import Optional from opentelemetry.metrics import ( diff --git a/opentelemetry-api/tests/propagators/test_global_httptextformat.py b/opentelemetry-api/tests/propagators/test_global_httptextformat.py index 466ce6895f..c383ec6030 100644 --- a/opentelemetry-api/tests/propagators/test_global_httptextformat.py +++ b/opentelemetry-api/tests/propagators/test_global_httptextformat.py @@ -29,9 +29,9 @@ class TestDefaultGlobalPropagator(unittest.TestCase): SPAN_ID = int("1234567890123456", 16) # type:int def test_propagation(self): - traceparent_value = "00-{trace_id}-{span_id}-00".format( - trace_id=format_trace_id(self.TRACE_ID), - span_id=format_span_id(self.SPAN_ID), + traceparent_value = ( + f"00-{format_trace_id(self.TRACE_ID)}-" + f"{format_span_id(self.SPAN_ID)}-00" ) tracestate_value = "foo=1,bar=2,baz=3" headers = { diff --git a/opentelemetry-api/tests/propagators/test_w3cbaggagepropagator.py b/opentelemetry-api/tests/propagators/test_w3cbaggagepropagator.py index 99e37652ab..2200fc6f38 100644 --- a/opentelemetry-api/tests/propagators/test_w3cbaggagepropagator.py +++ b/opentelemetry-api/tests/propagators/test_w3cbaggagepropagator.py @@ -27,6 +27,8 @@ class TestW3CBaggagePropagator(TestCase): + # pylint: disable=protected-access + # pylint: disable=too-many-public-methods def setUp(self): self.propagator = W3CBaggagePropagator() @@ -38,7 +40,7 @@ def _extract(self, header_value): def _inject(self, values): """Test helper""" ctx = get_current() - for k, v in values.items(): + for k, v in values.items(): # pylint: disable=invalid-name ctx = set_baggage(k, v, context=ctx) output = {} self.propagator.inject(output, context=ctx) diff --git a/opentelemetry-api/tests/trace/propagation/test_tracecontexthttptextformat.py b/opentelemetry-api/tests/trace/propagation/test_tracecontexthttptextformat.py index 7fefd8dea6..9db07add25 100644 --- a/opentelemetry-api/tests/trace/propagation/test_tracecontexthttptextformat.py +++ b/opentelemetry-api/tests/trace/propagation/test_tracecontexthttptextformat.py @@ -47,9 +47,9 @@ def test_headers_with_tracestate(self): """When there is a traceparent and tracestate header, data from both should be added to the SpanContext. """ - traceparent_value = "00-{trace_id}-{span_id}-00".format( - trace_id=format(self.TRACE_ID, "032x"), - span_id=format(self.SPAN_ID, "016x"), + traceparent_value = ( + f"00-{format(self.TRACE_ID, '032x')}-" + f"{format(self.SPAN_ID, '016x')}-00" ) tracestate_value = "foo=1,bar=2,baz=3" span_context = trace.get_current_span( diff --git a/opentelemetry-api/tests/util/test__providers.py b/opentelemetry-api/tests/util/test__providers.py index f7b21ebacf..940303f137 100644 --- a/opentelemetry-api/tests/util/test__providers.py +++ b/opentelemetry-api/tests/util/test__providers.py @@ -20,7 +20,7 @@ from opentelemetry.util import _providers -class Test_Providers(TestCase): +class Test_Providers(TestCase): # pylint: disable=invalid-name @patch.dict( environ, { # type: ignore @@ -49,7 +49,7 @@ def test__providers(self, mock_entry_points): ) self.assertEqual( - _providers._load_provider( + _providers._load_provider( # pylint: disable=protected-access "provider_environment_variable", "provider" ), "a", diff --git a/opentelemetry-sdk/benchmarks/metrics/test_benchmark_metrics.py b/opentelemetry-sdk/benchmarks/metrics/test_benchmark_metrics.py index 81fb0b6e1d..7b062ce2c2 100644 --- a/opentelemetry-sdk/benchmarks/metrics/test_benchmark_metrics.py +++ b/opentelemetry-sdk/benchmarks/metrics/test_benchmark_metrics.py @@ -53,6 +53,7 @@ ) def test_counter_add(benchmark, num_labels, temporality): labels = {} + # pylint: disable=invalid-name for i in range(num_labels): labels = {f"Key{i}": f"Value{i}" for i in range(num_labels)} @@ -68,6 +69,7 @@ def benchmark_counter_add(): @pytest.mark.parametrize("num_labels", [0, 1, 3, 5, 10]) def test_up_down_counter_add(benchmark, num_labels): labels = {} + # pylint: disable=invalid-name for i in range(num_labels): labels = {f"Key{i}": f"Value{i}" for i in range(num_labels)} diff --git a/opentelemetry-sdk/benchmarks/metrics/test_benchmark_metrics_histogram,.py b/opentelemetry-sdk/benchmarks/metrics/test_benchmark_metrics_histogram.py similarity index 92% rename from opentelemetry-sdk/benchmarks/metrics/test_benchmark_metrics_histogram,.py rename to opentelemetry-sdk/benchmarks/metrics/test_benchmark_metrics_histogram.py index 2f9c440541..1c7cdf2cb5 100644 --- a/opentelemetry-sdk/benchmarks/metrics/test_benchmark_metrics_histogram,.py +++ b/opentelemetry-sdk/benchmarks/metrics/test_benchmark_metrics_histogram.py @@ -11,6 +11,8 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. + +# pylint: disable=invalid-name import random import pytest @@ -70,7 +72,7 @@ def _generate_bounds(bound_count): def test_histogram_record(benchmark, num_labels): labels = {} for i in range(num_labels): - labels["Key{}".format(i)] = "Value{}".format(i) + labels[f"Key{i}"] = "Value{i}" def benchmark_histogram_record(): hist.record(random.random() * MAX_BOUND_VALUE) @@ -82,7 +84,7 @@ def benchmark_histogram_record(): def test_histogram_record_10(benchmark, num_labels): labels = {} for i in range(num_labels): - labels["Key{}".format(i)] = "Value{}".format(i) + labels[f"Key{i}"] = "Value{i}" def benchmark_histogram_record_10(): hist10.record(random.random() * MAX_BOUND_VALUE) @@ -94,7 +96,7 @@ def benchmark_histogram_record_10(): def test_histogram_record_49(benchmark, num_labels): labels = {} for i in range(num_labels): - labels["Key{}".format(i)] = "Value{}".format(i) + labels[f"Key{i}"] = "Value{i}" def benchmark_histogram_record_49(): hist49.record(random.random() * MAX_BOUND_VALUE) @@ -106,7 +108,7 @@ def benchmark_histogram_record_49(): def test_histogram_record_50(benchmark, num_labels): labels = {} for i in range(num_labels): - labels["Key{}".format(i)] = "Value{}".format(i) + labels[f"Key{i}"] = "Value{i}" def benchmark_histogram_record_50(): hist50.record(random.random() * MAX_BOUND_VALUE) @@ -118,7 +120,7 @@ def benchmark_histogram_record_50(): def test_histogram_record_1000(benchmark, num_labels): labels = {} for i in range(num_labels): - labels["Key{}".format(i)] = "Value{}".format(i) + labels[f"Key{i}"] = "Value{i}" def benchmark_histogram_record_1000(): hist1000.record(random.random() * MAX_BOUND_VALUE) diff --git a/opentelemetry-sdk/benchmarks/trace/test_benchmark_trace.py b/opentelemetry-sdk/benchmarks/trace/test_benchmark_trace.py index a407a341f4..20a9b90942 100644 --- a/opentelemetry-sdk/benchmarks/trace/test_benchmark_trace.py +++ b/opentelemetry-sdk/benchmarks/trace/test_benchmark_trace.py @@ -12,11 +12,10 @@ # See the License for the specific language governing permissions and # limitations under the License. -import opentelemetry.sdk.trace as trace from opentelemetry.sdk.resources import Resource -from opentelemetry.sdk.trace import sampling +from opentelemetry.sdk.trace import TracerProvider, sampling -tracer = trace.TracerProvider( +tracer = TracerProvider( sampler=sampling.DEFAULT_ON, resource=Resource( { diff --git a/opentelemetry-sdk/tests/metrics/exponential_histogram/test_exponent_mapping.py b/opentelemetry-sdk/tests/metrics/exponential_histogram/test_exponent_mapping.py index 96ba399181..cfd33ef4a1 100644 --- a/opentelemetry-sdk/tests/metrics/exponential_histogram/test_exponent_mapping.py +++ b/opentelemetry-sdk/tests/metrics/exponential_histogram/test_exponent_mapping.py @@ -12,6 +12,8 @@ # See the License for the specific language governing permissions and # limitations under the License. +# pylint: disable=protected-access + from math import inf from sys import float_info, version_info from unittest.mock import patch @@ -60,7 +62,7 @@ def test_singleton(self): "opentelemetry.sdk.metrics._internal.exponential_histogram.mapping." "exponent_mapping.ExponentMapping._init" ) - def test_init_called_once(self, mock_init): + def test_init_called_once(self, mock_init): # pylint: disable=no-self-use ExponentMapping(-3) ExponentMapping(-3) @@ -171,6 +173,7 @@ def test_exponent_mapping_neg_one(self): self.assertEqual(exponent_mapping.map_to_index(0.06), -3) def test_exponent_mapping_neg_four(self): + # pylint: disable=too-many-statements exponent_mapping = ExponentMapping(-4) self.assertEqual(exponent_mapping.map_to_index(float(0x1)), -1) self.assertEqual(exponent_mapping.map_to_index(float(0x10)), 0) diff --git a/opentelemetry-sdk/tests/metrics/exponential_histogram/test_exponential_bucket_histogram_aggregation.py b/opentelemetry-sdk/tests/metrics/exponential_histogram/test_exponential_bucket_histogram_aggregation.py index bae0aca20b..e243e09643 100644 --- a/opentelemetry-sdk/tests/metrics/exponential_histogram/test_exponential_bucket_histogram_aggregation.py +++ b/opentelemetry-sdk/tests/metrics/exponential_histogram/test_exponential_bucket_histogram_aggregation.py @@ -12,6 +12,9 @@ # See the License for the specific language governing permissions and # limitations under the License. +# pylint: disable=protected-access,too-many-lines,invalid-name +# pylint: disable=consider-using-enumerate,no-self-use,too-many-public-methods + import random as insecure_random from itertools import permutations from logging import WARNING @@ -386,7 +389,7 @@ def mock_increment(self, bucket_index: int) -> None: """ Increments a bucket """ - + # pylint: disable=cell-var-from-loop self._counts[bucket_index] += increment exponential_histogram_aggregation = ( @@ -658,6 +661,7 @@ def test_aggregator_copy_swap(self): exponential_histogram_aggregation_1, ) + # pylint: disable=unnecessary-dunder-call exponential_histogram_aggregation_2._positive.__init__() exponential_histogram_aggregation_2._negative.__init__() exponential_histogram_aggregation_2._sum = 0 @@ -962,6 +966,7 @@ def collect_and_validate() -> None: upper_bound = 2 ** ((index + 1) / (2**scale)) matches = 0 for value in values: + # pylint: disable=chained-comparison if value > lower_bound and value <= upper_bound: matches += 1 assert ( diff --git a/opentelemetry-sdk/tests/metrics/exponential_histogram/test_logarithm_mapping.py b/opentelemetry-sdk/tests/metrics/exponential_histogram/test_logarithm_mapping.py index 1fd18845bb..43820d677b 100644 --- a/opentelemetry-sdk/tests/metrics/exponential_histogram/test_logarithm_mapping.py +++ b/opentelemetry-sdk/tests/metrics/exponential_histogram/test_logarithm_mapping.py @@ -12,6 +12,8 @@ # See the License for the specific language governing permissions and # limitations under the License. +# pylint: disable=protected-access + from math import sqrt from unittest import TestCase from unittest.mock import patch @@ -53,6 +55,7 @@ def left_boundary(scale: int, index: int) -> float: class TestLogarithmMapping(TestCase): + # pylint: disable=invalid-name def assertInEpsilon(self, first, second, epsilon): self.assertLessEqual(first, (second * (1 + epsilon))) self.assertGreaterEqual(first, (second * (1 - epsilon))) @@ -66,7 +69,7 @@ def assertInEpsilon(self, first, second, epsilon): "opentelemetry.sdk.metrics._internal.exponential_histogram.mapping." "logarithm_mapping.LogarithmMapping._init" ) - def test_init_called_once(self, mock_init): + def test_init_called_once(self, mock_init): # pylint: disable=no-self-use LogarithmMapping(3) LogarithmMapping(3) diff --git a/opentelemetry-sdk/tests/metrics/integration_test/test_explicit_bucket_histogram_aggregation.py b/opentelemetry-sdk/tests/metrics/integration_test/test_explicit_bucket_histogram_aggregation.py index b705be3356..fee13525a3 100644 --- a/opentelemetry-sdk/tests/metrics/integration_test/test_explicit_bucket_histogram_aggregation.py +++ b/opentelemetry-sdk/tests/metrics/integration_test/test_explicit_bucket_histogram_aggregation.py @@ -104,6 +104,7 @@ def test_synchronous_delta_temporality(self): previous_time_unix_nano = metric_data.time_unix_nano self.assertEqual( metric_data.bucket_counts, + # pylint: disable=consider-using-generator tuple( [ 1 if internal_index == index + 2 else 0 @@ -224,6 +225,7 @@ def test_synchronous_cumulative_temporality(self): ) self.assertEqual( metric_data.bucket_counts, + # pylint: disable=consider-using-generator tuple( [ ( diff --git a/opentelemetry-sdk/tests/metrics/test_aggregation.py b/opentelemetry-sdk/tests/metrics/test_aggregation.py index fb87d177e8..9d61da72a0 100644 --- a/opentelemetry-sdk/tests/metrics/test_aggregation.py +++ b/opentelemetry-sdk/tests/metrics/test_aggregation.py @@ -12,6 +12,8 @@ # See the License for the specific language governing permissions and # limitations under the License. +# pylint: disable=protected-access + from math import inf from time import sleep from typing import Union diff --git a/opentelemetry-sdk/tests/metrics/test_backward_compat.py b/opentelemetry-sdk/tests/metrics/test_backward_compat.py index 46008554fe..e29ca71469 100644 --- a/opentelemetry-sdk/tests/metrics/test_backward_compat.py +++ b/opentelemetry-sdk/tests/metrics/test_backward_compat.py @@ -44,7 +44,7 @@ class OrigMetricExporter(MetricExporter): def export( self, - metrics: Sequence[Metric], + metrics_data: Sequence[Metric], timeout_millis: float = 10_000, **kwargs, ) -> MetricExportResult: @@ -60,7 +60,7 @@ def force_flush(self, timeout_millis: float = 10_000) -> bool: class OrigMetricReader(MetricReader): def _receive_metrics( self, - metrics: Iterable[Metric], + metrics_data: Iterable[Metric], timeout_millis: float = 10_000, **kwargs, ) -> None: diff --git a/opentelemetry-sdk/tests/metrics/test_import.py b/opentelemetry-sdk/tests/metrics/test_import.py index 73b9e1ece9..5d656acce6 100644 --- a/opentelemetry-sdk/tests/metrics/test_import.py +++ b/opentelemetry-sdk/tests/metrics/test_import.py @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -# pylint: disable=unused-import +# pylint: disable=unused-import,import-outside-toplevel,too-many-locals from opentelemetry.test import TestCase diff --git a/opentelemetry-sdk/tests/metrics/test_in_memory_metric_reader.py b/opentelemetry-sdk/tests/metrics/test_in_memory_metric_reader.py index 68c81e8b7e..40a0f3a304 100644 --- a/opentelemetry-sdk/tests/metrics/test_in_memory_metric_reader.py +++ b/opentelemetry-sdk/tests/metrics/test_in_memory_metric_reader.py @@ -12,6 +12,8 @@ # See the License for the specific language governing permissions and # limitations under the License. +# pylint: disable=protected-access + from time import sleep from unittest import TestCase from unittest.mock import Mock diff --git a/opentelemetry-sdk/tests/metrics/test_instrument.py b/opentelemetry-sdk/tests/metrics/test_instrument.py index d103050994..d4a2ddf509 100644 --- a/opentelemetry-sdk/tests/metrics/test_instrument.py +++ b/opentelemetry-sdk/tests/metrics/test_instrument.py @@ -12,6 +12,8 @@ # See the License for the specific language governing permissions and # limitations under the License. +# pylint: disable=no-self-use + from logging import WARNING from unittest import TestCase from unittest.mock import Mock @@ -198,7 +200,6 @@ def test_generator_callback_0(self): ) def test_generator_multiple_generator_callback(self): - self.maxDiff = None observable_gauge = _ObservableGauge( "name", Mock(), diff --git a/opentelemetry-sdk/tests/metrics/test_measurement_consumer.py b/opentelemetry-sdk/tests/metrics/test_measurement_consumer.py index 9d3b9691d6..19c514c13e 100644 --- a/opentelemetry-sdk/tests/metrics/test_measurement_consumer.py +++ b/opentelemetry-sdk/tests/metrics/test_measurement_consumer.py @@ -12,6 +12,8 @@ # See the License for the specific language governing permissions and # limitations under the License. +# pylint: disable=invalid-name,no-self-use + from time import sleep from unittest import TestCase from unittest.mock import MagicMock, Mock, patch diff --git a/opentelemetry-sdk/tests/metrics/test_metric_reader.py b/opentelemetry-sdk/tests/metrics/test_metric_reader.py index fff645e36d..5a09112bd0 100644 --- a/opentelemetry-sdk/tests/metrics/test_metric_reader.py +++ b/opentelemetry-sdk/tests/metrics/test_metric_reader.py @@ -12,6 +12,8 @@ # See the License for the specific language governing permissions and # limitations under the License. +# pylint: disable=protected-access + from typing import Dict, Iterable from unittest import TestCase from unittest.mock import patch @@ -62,7 +64,7 @@ def __init__( def _receive_metrics( self, - metrics: Iterable[Metric], + metrics_data: Iterable[Metric], timeout_millis: float = 10_000, **kwargs, ) -> None: @@ -146,6 +148,7 @@ def test_configure_aggregation(self): LastValueAggregation, ) + # pylint: disable=no-self-use def test_force_flush(self): with patch.object(DummyMetricReader, "collect") as mock_collect: diff --git a/opentelemetry-sdk/tests/metrics/test_metric_reader_storage.py b/opentelemetry-sdk/tests/metrics/test_metric_reader_storage.py index 5bcf07f6b6..2aac987465 100644 --- a/opentelemetry-sdk/tests/metrics/test_metric_reader_storage.py +++ b/opentelemetry-sdk/tests/metrics/test_metric_reader_storage.py @@ -12,6 +12,8 @@ # See the License for the specific language governing permissions and # limitations under the License. +# pylint: disable=protected-access,invalid-name + from logging import WARNING from unittest.mock import MagicMock, Mock, patch diff --git a/opentelemetry-sdk/tests/metrics/test_metrics.py b/opentelemetry-sdk/tests/metrics/test_metrics.py index d55262274b..f899b30808 100644 --- a/opentelemetry-sdk/tests/metrics/test_metrics.py +++ b/opentelemetry-sdk/tests/metrics/test_metrics.py @@ -12,6 +12,8 @@ # See the License for the specific language governing permissions and # limitations under the License. +# pylint: disable=protected-access,no-self-use + from logging import WARNING from time import sleep @@ -52,7 +54,7 @@ def __init__(self): def _receive_metrics( self, - metrics: Iterable[Metric], + metrics_data: Iterable[Metric], timeout_millis: float = 10_000, **kwargs, ) -> None: @@ -316,7 +318,7 @@ def test_shutdown_race(self, mock_logger): self.assertEqual(mock_logger.warning.call_count, num_threads - 1) @patch( - "opentelemetry.sdk.metrics._internal." "SynchronousMeasurementConsumer" + "opentelemetry.sdk.metrics._internal.SynchronousMeasurementConsumer" ) def test_measurement_collect_callback( self, mock_sync_measurement_consumer @@ -339,7 +341,7 @@ def test_measurement_collect_callback( ) @patch( - "opentelemetry.sdk.metrics." "_internal.SynchronousMeasurementConsumer" + "opentelemetry.sdk.metrics._internal.SynchronousMeasurementConsumer" ) def test_creates_sync_measurement_consumer( self, mock_sync_measurement_consumer @@ -348,7 +350,7 @@ def test_creates_sync_measurement_consumer( mock_sync_measurement_consumer.assert_called() @patch( - "opentelemetry.sdk.metrics." "_internal.SynchronousMeasurementConsumer" + "opentelemetry.sdk.metrics._internal.SynchronousMeasurementConsumer" ) def test_register_asynchronous_instrument( self, mock_sync_measurement_consumer @@ -356,6 +358,7 @@ def test_register_asynchronous_instrument( meter_provider = MeterProvider() + # pylint: disable=no-member meter_provider._measurement_consumer.register_asynchronous_instrument.assert_called_with( meter_provider.get_meter("name").create_observable_counter( "name0", callbacks=[Mock()] @@ -373,7 +376,7 @@ def test_register_asynchronous_instrument( ) @patch( - "opentelemetry.sdk.metrics._internal." "SynchronousMeasurementConsumer" + "opentelemetry.sdk.metrics._internal.SynchronousMeasurementConsumer" ) def test_consume_measurement_counter(self, mock_sync_measurement_consumer): sync_consumer_instance = mock_sync_measurement_consumer() @@ -385,7 +388,7 @@ def test_consume_measurement_counter(self, mock_sync_measurement_consumer): sync_consumer_instance.consume_measurement.assert_called() @patch( - "opentelemetry.sdk.metrics." "_internal.SynchronousMeasurementConsumer" + "opentelemetry.sdk.metrics._internal.SynchronousMeasurementConsumer" ) def test_consume_measurement_up_down_counter( self, mock_sync_measurement_consumer @@ -401,7 +404,7 @@ def test_consume_measurement_up_down_counter( sync_consumer_instance.consume_measurement.assert_called() @patch( - "opentelemetry.sdk.metrics._internal." "SynchronousMeasurementConsumer" + "opentelemetry.sdk.metrics._internal.SynchronousMeasurementConsumer" ) def test_consume_measurement_histogram( self, mock_sync_measurement_consumer @@ -415,7 +418,7 @@ def test_consume_measurement_histogram( sync_consumer_instance.consume_measurement.assert_called() @patch( - "opentelemetry.sdk.metrics._internal." "SynchronousMeasurementConsumer" + "opentelemetry.sdk.metrics._internal.SynchronousMeasurementConsumer" ) def test_consume_measurement_gauge(self, mock_sync_measurement_consumer): sync_consumer_instance = mock_sync_measurement_consumer() @@ -544,11 +547,11 @@ def __init__(self): def export( self, - metrics: Sequence[Metric], + metrics_data: Sequence[Metric], timeout_millis: float = 10_000, **kwargs, ) -> MetricExportResult: - self.metrics[self._counter] = metrics + self.metrics[self._counter] = metrics_data self._counter += 1 return MetricExportResult.SUCCESS diff --git a/opentelemetry-sdk/tests/metrics/test_periodic_exporting_metric_reader.py b/opentelemetry-sdk/tests/metrics/test_periodic_exporting_metric_reader.py index 98f59526ef..962b4fdd64 100644 --- a/opentelemetry-sdk/tests/metrics/test_periodic_exporting_metric_reader.py +++ b/opentelemetry-sdk/tests/metrics/test_periodic_exporting_metric_reader.py @@ -12,6 +12,8 @@ # See the License for the specific language governing permissions and # limitations under the License. +# pylint: disable=protected-access,invalid-name,no-self-use + import math from logging import WARNING from time import sleep, time_ns @@ -53,12 +55,12 @@ def __init__( def export( self, - metrics: Sequence[Metric], + metrics_data: Sequence[Metric], timeout_millis: float = 10_000, **kwargs, ) -> MetricExportResult: sleep(self.wait) - self.metrics.extend(metrics) + self.metrics.extend(metrics_data) return True def shutdown(self, timeout_millis: float = 30_000, **kwargs) -> None: @@ -83,6 +85,7 @@ def __init__( ) self._collect_exception = exception + # pylint: disable=overridden-final-method def collect(self, timeout_millis: float = 10_000) -> None: raise self._collect_exception @@ -214,7 +217,7 @@ def test_shutdown_multiple_times(self): pmr = self._create_periodic_reader([], FakeMetricsExporter()) with self.assertLogs(level="WARNING") as w: self.run_with_many_threads(pmr.shutdown) - self.assertTrue("Can't shutdown multiple times", w.output[0]) + self.assertTrue("Can't shutdown multiple times" in w.output[0]) with self.assertLogs(level="WARNING") as w: pmr.shutdown() diff --git a/opentelemetry-sdk/tests/metrics/test_point.py b/opentelemetry-sdk/tests/metrics/test_point.py index cff07ff6ae..846f2c2fc9 100644 --- a/opentelemetry-sdk/tests/metrics/test_point.py +++ b/opentelemetry-sdk/tests/metrics/test_point.py @@ -238,8 +238,6 @@ def test_histogram_data_point(self): def test_exp_histogram_data_point(self): - self.maxDiff = None - self.assertEqual( self.exp_histogram_data_point_0.to_json(indent=None), self.exp_histogram_data_point_0_str, @@ -251,8 +249,6 @@ def test_sum(self): def test_gauge(self): - self.maxDiff = None - self.assertEqual(self.gauge_0.to_json(indent=None), self.gauge_0_str) def test_histogram(self): @@ -263,8 +259,6 @@ def test_histogram(self): def test_exp_histogram(self): - self.maxDiff = None - self.assertEqual( self.exp_histogram_0.to_json(indent=None), self.exp_histogram_0_str ) diff --git a/opentelemetry-sdk/tests/metrics/test_view.py b/opentelemetry-sdk/tests/metrics/test_view.py index 00376a0068..96d433677c 100644 --- a/opentelemetry-sdk/tests/metrics/test_view.py +++ b/opentelemetry-sdk/tests/metrics/test_view.py @@ -12,6 +12,8 @@ # See the License for the specific language governing permissions and # limitations under the License. +# pylint: disable=protected-access + from unittest import TestCase from unittest.mock import Mock diff --git a/opentelemetry-sdk/tests/metrics/test_view_instrument_match.py b/opentelemetry-sdk/tests/metrics/test_view_instrument_match.py index c22c2d7a96..f4d2d02351 100644 --- a/opentelemetry-sdk/tests/metrics/test_view_instrument_match.py +++ b/opentelemetry-sdk/tests/metrics/test_view_instrument_match.py @@ -12,6 +12,8 @@ # See the License for the specific language governing permissions and # limitations under the License. +# pylint: disable=protected-access + from unittest import TestCase from unittest.mock import MagicMock, Mock @@ -36,7 +38,7 @@ ) -class Test_ViewInstrumentMatch(TestCase): +class Test_ViewInstrumentMatch(TestCase): # pylint: disable=invalid-name @classmethod def setUpClass(cls): diff --git a/propagator/opentelemetry-propagator-b3/benchmarks/trace/propagation/test_benchmark_b3_format.py b/propagator/opentelemetry-propagator-b3/benchmarks/trace/propagation/test_benchmark_b3_format.py index 23cbf773ed..26fdb650f2 100644 --- a/propagator/opentelemetry-propagator-b3/benchmarks/trace/propagation/test_benchmark_b3_format.py +++ b/propagator/opentelemetry-propagator-b3/benchmarks/trace/propagation/test_benchmark_b3_format.py @@ -13,7 +13,7 @@ # limitations under the License. import opentelemetry.propagators.b3 as b3_format -import opentelemetry.sdk.trace as trace +from opentelemetry.sdk.trace import TracerProvider FORMAT = b3_format.B3Format() @@ -28,7 +28,7 @@ def test_extract_single_header(benchmark): def test_inject_empty_context(benchmark): - tracer = trace.TracerProvider().get_tracer("sdk_tracer_provider") + tracer = TracerProvider().get_tracer("sdk_tracer_provider") with tracer.start_as_current_span("Root Span"): with tracer.start_as_current_span("Child Span"): benchmark( diff --git a/tox.ini b/tox.ini index dfa3edd028..fe9906e15a 100644 --- a/tox.ini +++ b/tox.ini @@ -18,8 +18,8 @@ envlist = pypy3-test-opentelemetry-proto-{0,1} lint-opentelemetry-proto - py3{8,9,10,11,12}-opentelemetry-sdk - pypy3-opentelemetry-sdk + py3{8,9,10,11,12}-test-opentelemetry-sdk + pypy3-test-opentelemetry-sdk lint-opentelemetry-sdk benchmark-opentelemetry-sdk @@ -119,6 +119,7 @@ deps = proto3: protobuf~=3.19.0 proto4: protobuf~=4.0 +allowlist_externals = sh setenv = ; override CONTRIB_REPO_SHA via env variable when testing other branches/commits than main @@ -198,30 +199,26 @@ commands = lint-opentelemetry-api: black --diff --check --config {toxinidir}/pyproject.toml {toxinidir}/opentelemetry-api lint-opentelemetry-api: isort --diff --check-only --settings-path {toxinidir}/.isort.cfg {toxinidir}/opentelemetry-api lint-opentelemetry-api: flake8 --config {toxinidir}/.flake8 {toxinidir}/opentelemetry-api - lint-opentelemetry-api: pylint {toxinidir}/opentelemetry-api/src/opentelemetry - lint-opentelemetry-api: pylint {toxinidir}/opentelemetry-api/tests + lint-opentelemetry-api: pylint {toxinidir}/opentelemetry-api test-opentelemetry-sdk: pytest {toxinidir}/opentelemetry-sdk/tests {posargs} lint-opentelemetry-sdk: black --diff --check --config {toxinidir}/pyproject.toml {toxinidir}/opentelemetry-sdk lint-opentelemetry-sdk: isort --diff --check-only --settings-path {toxinidir}/.isort.cfg {toxinidir}/opentelemetry-sdk lint-opentelemetry-sdk: flake8 --config {toxinidir}/.flake8 {toxinidir}/opentelemetry-sdk - lint-opentelemetry-sdk: pylint {toxinidir}/opentelemetry-sdk/src/opentelemetry - lint-opentelemetry-sdk: pylint {toxinidir}/opentelemetry-sdk/tests + lint-opentelemetry-sdk: pylint {toxinidir}/opentelemetry-sdk benchmark-opentelemetry-sdk: pytest {toxinidir}/opentelemetry-sdk/benchmarks {posargs} --benchmark-json=sdk-benchmark.json test-opentelemetry-proto: pytest {toxinidir}/opentelemetry-proto/tests {posargs} lint-opentelemetry-proto: black --diff --check --config {toxinidir}/pyproject.toml {toxinidir}/opentelemetry-proto lint-opentelemetry-proto: isort --diff --check-only --settings-path {toxinidir}/.isort.cfg {toxinidir}/opentelemetry-proto lint-opentelemetry-proto: flake8 --config {toxinidir}/.flake8 {toxinidir}/opentelemetry-proto - lint-opentelemetry-proto: pylint {toxinidir}/opentelemetry-proto/src/opentelemetry - lint-opentelemetry-proto: pylint {toxinidir}/opentelemetry-proto/tests + lint-opentelemetry-proto: pylint {toxinidir}/opentelemetry-proto test-opentelemetry-semantic-conventions: pytest {toxinidir}/opentelemetry-semantic-conventions/tests {posargs} lint-opentelemetry-semantic-conventions: black --diff --check --config {toxinidir}/pyproject.toml {toxinidir}/opentelemetry-semantic-conventions lint-opentelemetry-semantic-conventions: isort --diff --check-only --settings-path {toxinidir}/.isort.cfg {toxinidir}/opentelemetry-semantic-conventions lint-opentelemetry-semantic-conventions: flake8 --config {toxinidir}/.flake8 {toxinidir}/opentelemetry-semantic-conventions - lint-opentelemetry-semantic-conventions: pylint {toxinidir}/opentelemetry-semantic-conventions/src/opentelemetry - lint-opentelemetry-semantic-conventions: pylint {toxinidir}/opentelemetry-semantic-conventions/tests + lint-opentelemetry-semantic-conventions: pylint {toxinidir}/opentelemetry-semantic-conventions test-opentelemetry-getting-started: pytest {toxinidir}/docs/getting_started/tests {posargs} lint-opentelemetry-getting-started: black --diff --check --config {toxinidir}/pyproject.toml {toxinidir}/docs/getting_started @@ -233,101 +230,87 @@ commands = lint-opentelemetry-opentracing-shim: black --diff --check --config {toxinidir}/pyproject.toml {toxinidir}/shim/opentelemetry-opentracing-shim lint-opentelemetry-opentracing-shim: isort --diff --check-only --settings-path {toxinidir}/.isort.cfg {toxinidir}/shim/opentelemetry-opentracing-shim lint-opentelemetry-opentracing-shim: flake8 --config {toxinidir}/.flake8 {toxinidir}/shim/opentelemetry-opentracing-shim - lint-opentelemetry-opentracing-shim: pylint {toxinidir}/shim/opentelemetry-opentracing-shim/src/opentelemetry - lint-opentelemetry-opentracing-shim: pylint {toxinidir}/shim/opentelemetry-opentracing-shim/tests + lint-opentelemetry-opentracing-shim: sh -c "cd shim && pylint --rcfile ../.pylintrc {toxinidir}/shim/opentelemetry-opentracing-shim" test-opentelemetry-opencensus-shim: pytest {toxinidir}/shim/opentelemetry-opencensus-shim/tests {posargs} lint-opentelemetry-opencensus-shim: black --diff --check --config {toxinidir}/pyproject.toml {toxinidir}/shim/opentelemetry-opencensus-shim lint-opentelemetry-opencensus-shim: isort --diff --check-only --settings-path {toxinidir}/.isort.cfg {toxinidir}/shim/opentelemetry-opencensus-shim lint-opentelemetry-opencensus-shim: flake8 --config {toxinidir}/.flake8 {toxinidir}/shim/opentelemetry-opencensus-shim - lint-opentelemetry-opencensus-shim: pylint {toxinidir}/shim/opentelemetry-opencensus-shim/src/opentelemetry - lint-opentelemetry-opencensus-shim: pylint {toxinidir}/shim/opentelemetry-opencensus-shim/tests + lint-opentelemetry-opencensus-shim: sh -c "cd shim && pylint --rcfile ../.pylintrc {toxinidir}/shim/opentelemetry-opencensus-shim" test-opentelemetry-exporter-opencensus: pytest {toxinidir}/exporter/opentelemetry-exporter-opencensus/tests {posargs} lint-opentelemetry-exporter-opencensus: black --diff --check --config {toxinidir}/pyproject.toml {toxinidir}/exporter/opentelemetry-exporter-opencensus lint-opentelemetry-exporter-opencensus: isort --diff --check-only --settings-path {toxinidir}/.isort.cfg {toxinidir}/exporter/opentelemetry-exporter-opencensus lint-opentelemetry-exporter-opencensus: flake8 --config {toxinidir}/.flake8 {toxinidir}/exporter/opentelemetry-exporter-opencensus - lint-opentelemetry-exporter-opencensus: pylint {toxinidir}/exporter/opentelemetry-exporter-opencensus/src/opentelemetry - lint-opentelemetry-exporter-opencensus: pylint {toxinidir}/exporter/opentelemetry-exporter-opencensus/tests + lint-opentelemetry-exporter-opencensus: sh -c "cd exporter && pylint --rcfile ../.pylintrc {toxinidir}/exporter/opentelemetry-exporter-opencensus" test-opentelemetry-exporter-otlp-proto-common: pytest {toxinidir}/exporter/opentelemetry-exporter-otlp-proto-common/tests {posargs} lint-opentelemetry-exporter-otlp-proto-common: black --diff --check --config {toxinidir}/pyproject.toml {toxinidir}/exporter/opentelemetry-exporter-otlp-proto-common lint-opentelemetry-exporter-otlp-proto-common: isort --diff --check-only --settings-path {toxinidir}/.isort.cfg {toxinidir}/exporter/opentelemetry-exporter-otlp-proto-common lint-opentelemetry-exporter-otlp-proto-common: flake8 --config {toxinidir}/.flake8 {toxinidir}/exporter/opentelemetry-exporter-otlp-proto-common - lint-opentelemetry-exporter-otlp-proto-common: pylint {toxinidir}/exporter/opentelemetry-exporter-otlp-proto-common/src/opentelemetry - lint-opentelemetry-exporter-otlp-proto-common: pylint {toxinidir}/exporter/opentelemetry-exporter-otlp-proto-common/tests + lint-opentelemetry-exporter-otlp-proto-common: sh -c "cd exporter && pylint --rcfile ../.pylintrc {toxinidir}/exporter/opentelemetry-exporter-otlp-proto-common" test-opentelemetry-exporter-otlp-combined: pytest {toxinidir}/exporter/opentelemetry-exporter-otlp/tests {posargs} lint-opentelemetry-exporter-otlp-combined: black --diff --check --config {toxinidir}/pyproject.toml {toxinidir}/exporter/opentelemetry-exporter-otlp lint-opentelemetry-exporter-otlp-combined: isort --diff --check-only --settings-path {toxinidir}/.isort.cfg {toxinidir}/exporter/opentelemetry-exporter-otlp lint-opentelemetry-exporter-otlp-combined: flake8 --config {toxinidir}/.flake8 {toxinidir}/exporter/opentelemetry-exporter-otlp - lint-opentelemetry-exporter-otlp-combined: pylint {toxinidir}/exporter/opentelemetry-exporter-otlp/src/opentelemetry - lint-opentelemetry-exporter-otlp-combined: pylint {toxinidir}/exporter/opentelemetry-exporter-otlp/tests + lint-opentelemetry-exporter-otlp-combined: sh -c "cd exporter && pylint --rcfile ../.pylintrc {toxinidir}/exporter/opentelemetry-exporter-otlp" test-opentelemetry-exporter-otlp-proto-grpc: pytest {toxinidir}/exporter/opentelemetry-exporter-otlp-proto-grpc/tests {posargs} lint-opentelemetry-exporter-otlp-proto-grpc: black --diff --check --config {toxinidir}/pyproject.toml {toxinidir}/exporter/opentelemetry-exporter-otlp-proto-grpc lint-opentelemetry-exporter-otlp-proto-grpc: isort --diff --check-only --settings-path {toxinidir}/.isort.cfg {toxinidir}/exporter/opentelemetry-exporter-otlp-proto-grpc lint-opentelemetry-exporter-otlp-proto-grpc: flake8 --config {toxinidir}/.flake8 {toxinidir}/exporter/opentelemetry-exporter-otlp-proto-grpc - lint-opentelemetry-exporter-otlp-proto-grpc: pylint {toxinidir}/exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry - lint-opentelemetry-exporter-otlp-proto-grpc: pylint {toxinidir}/exporter/opentelemetry-exporter-otlp-proto-grpc/tests + lint-opentelemetry-exporter-otlp-proto-grpc: sh -c "cd exporter && pylint --rcfile ../.pylintrc {toxinidir}/exporter/opentelemetry-exporter-otlp-proto-grpc" benchmark-opentelemetry-exporter-otlp-proto-grpc: pytest {toxinidir}/exporter/opentelemetry-exporter-otlp-proto-grpc/benchmarks {posargs} --benchmark-json=exporter-otlp-proto-grpc-benchmark.json test-opentelemetry-exporter-otlp-proto-http: pytest {toxinidir}/exporter/opentelemetry-exporter-otlp-proto-http/tests {posargs} lint-opentelemetry-exporter-otlp-proto-http: black --diff --check --config {toxinidir}/pyproject.toml {toxinidir}/exporter/opentelemetry-exporter-otlp-proto-http lint-opentelemetry-exporter-otlp-proto-http: isort --diff --check-only --settings-path {toxinidir}/.isort.cfg {toxinidir}/exporter/opentelemetry-exporter-otlp-proto-http lint-opentelemetry-exporter-otlp-proto-http: flake8 --config {toxinidir}/.flake8 {toxinidir}/exporter/opentelemetry-exporter-otlp-proto-http - lint-opentelemetry-exporter-otlp-proto-http: pylint {toxinidir}/exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry - lint-opentelemetry-exporter-otlp-proto-http: pylint {toxinidir}/exporter/opentelemetry-exporter-otlp-proto-http/tests + lint-opentelemetry-exporter-otlp-proto-http: sh -c "cd exporter && pylint --rcfile ../.pylintrc {toxinidir}/exporter/opentelemetry-exporter-otlp-proto-http" test-opentelemetry-exporter-prometheus: pytest {toxinidir}/exporter/opentelemetry-exporter-prometheus/tests {posargs} lint-opentelemetry-exporter-prometheus: black --diff --check --config {toxinidir}/pyproject.toml {toxinidir}/exporter/opentelemetry-exporter-prometheus lint-opentelemetry-exporter-prometheus: isort --diff --check-only --settings-path {toxinidir}/.isort.cfg {toxinidir}/exporter/opentelemetry-exporter-prometheus lint-opentelemetry-exporter-prometheus: flake8 --config {toxinidir}/.flake8 {toxinidir}/exporter/opentelemetry-exporter-prometheus - lint-opentelemetry-exporter-prometheus: pylint {toxinidir}/exporter/opentelemetry-exporter-prometheus/src/opentelemetry - lint-opentelemetry-exporter-prometheus: pylint {toxinidir}/exporter/opentelemetry-exporter-prometheus/tests + lint-opentelemetry-exporter-prometheus: sh -c "cd exporter && pylint --rcfile ../.pylintrc {toxinidir}/exporter/opentelemetry-exporter-prometheus" test-opentelemetry-exporter-zipkin-combined: pytest {toxinidir}/exporter/opentelemetry-exporter-zipkin/tests {posargs} lint-opentelemetry-exporter-zipkin-combined: black --diff --check --config {toxinidir}/pyproject.toml {toxinidir}/exporter/opentelemetry-exporter-zipkin lint-opentelemetry-exporter-zipkin-combined: isort --diff --check-only --settings-path {toxinidir}/.isort.cfg {toxinidir}/exporter/opentelemetry-exporter-zipkin lint-opentelemetry-exporter-zipkin-combined: flake8 --config {toxinidir}/.flake8 {toxinidir}/exporter/opentelemetry-exporter-zipkin - lint-opentelemetry-exporter-zipkin-combined: pylint {toxinidir}/exporter/opentelemetry-exporter-zipkin/src/opentelemetry - lint-opentelemetry-exporter-zipkin-combined: pylint {toxinidir}/exporter/opentelemetry-exporter-zipkin/tests + lint-opentelemetry-exporter-zipkin-combined: sh -c "cd exporter && pylint --rcfile ../.pylintrc {toxinidir}/exporter/opentelemetry-exporter-zipkin" test-opentelemetry-exporter-zipkin-proto-http: pytest {toxinidir}/exporter/opentelemetry-exporter-zipkin-proto-http/tests {posargs} lint-opentelemetry-exporter-zipkin-proto-http: black --diff --check --config {toxinidir}/pyproject.toml {toxinidir}/exporter/opentelemetry-exporter-zipkin-proto-http lint-opentelemetry-exporter-zipkin-proto-http: isort --diff --check-only --settings-path {toxinidir}/.isort.cfg {toxinidir}/exporter/opentelemetry-exporter-zipkin-proto-http lint-opentelemetry-exporter-zipkin-proto-http: flake8 --config {toxinidir}/.flake8 {toxinidir}/exporter/opentelemetry-exporter-zipkin-proto-http - lint-opentelemetry-exporter-zipkin-proto-http: pylint {toxinidir}/exporter/opentelemetry-exporter-zipkin-proto-http/src/opentelemetry - lint-opentelemetry-exporter-zipkin-proto-http: pylint {toxinidir}/exporter/opentelemetry-exporter-zipkin-proto-http/tests + lint-opentelemetry-exporter-zipkin-proto-http: sh -c "cd exporter && pylint --rcfile ../.pylintrc {toxinidir}/exporter/opentelemetry-exporter-zipkin-proto-http" test-opentelemetry-exporter-zipkin-json: pytest {toxinidir}/exporter/opentelemetry-exporter-zipkin-json/tests {posargs} lint-opentelemetry-exporter-zipkin-json: black --diff --check --config {toxinidir}/pyproject.toml {toxinidir}/exporter/opentelemetry-exporter-zipkin-json lint-opentelemetry-exporter-zipkin-json: isort --diff --check-only --settings-path {toxinidir}/.isort.cfg {toxinidir}/exporter/opentelemetry-exporter-zipkin-json lint-opentelemetry-exporter-zipkin-json: flake8 --config {toxinidir}/.flake8 {toxinidir}/exporter/opentelemetry-exporter-zipkin-json - lint-opentelemetry-exporter-zipkin-json: pylint {toxinidir}/exporter/opentelemetry-exporter-zipkin-json/src/opentelemetry - lint-opentelemetry-exporter-zipkin-json: pylint {toxinidir}/exporter/opentelemetry-exporter-zipkin-json/tests + lint-opentelemetry-exporter-zipkin-json: sh -c "cd exporter && pylint --rcfile ../.pylintrc {toxinidir}/exporter/opentelemetry-exporter-zipkin-json" test-opentelemetry-propagator-b3: pytest {toxinidir}/propagator/opentelemetry-propagator-b3/tests {posargs} lint-opentelemetry-propagator-b3: black --diff --check --config {toxinidir}/pyproject.toml {toxinidir}/propagator/opentelemetry-propagator-b3 lint-opentelemetry-propagator-b3: isort --diff --check-only --settings-path {toxinidir}/.isort.cfg {toxinidir}/propagator/opentelemetry-propagator-b3 lint-opentelemetry-propagator-b3: flake8 --config {toxinidir}/.flake8 {toxinidir}/propagator/opentelemetry-propagator-b3 - lint-opentelemetry-propagator-b3: pylint {toxinidir}/propagator/opentelemetry-propagator-b3/src/opentelemetry - lint-opentelemetry-propagator-b3: pylint {toxinidir}/propagator/opentelemetry-propagator-b3/tests + lint-opentelemetry-propagator-b3: sh -c "cd propagator && pylint --rcfile ../.pylintrc {toxinidir}/propagator/opentelemetry-propagator-b3" benchmark-opentelemetry-propagator-b3: pytest {toxinidir}/propagator/opentelemetry-propagator-b3/benchmarks {posargs} --benchmark-json=propagator-b3-benchmark.json test-opentelemetry-propagator-jaeger: pytest {toxinidir}/propagator/opentelemetry-propagator-jaeger/tests {posargs} lint-opentelemetry-propagator-jaeger: black --diff --check --config {toxinidir}/pyproject.toml {toxinidir}/propagator/opentelemetry-propagator-jaeger lint-opentelemetry-propagator-jaeger: isort --diff --check-only --settings-path {toxinidir}/.isort.cfg {toxinidir}/propagator/opentelemetry-propagator-jaeger lint-opentelemetry-propagator-jaeger: flake8 --config {toxinidir}/.flake8 {toxinidir}/propagator/opentelemetry-propagator-jaeger - lint-opentelemetry-propagator-jaeger: pylint {toxinidir}/propagator/opentelemetry-propagator-jaeger/src/opentelemetry - lint-opentelemetry-propagator-jaeger: pylint {toxinidir}/propagator/opentelemetry-propagator-jaeger/tests + lint-opentelemetry-propagator-jaeger: sh -c "cd propagator && pylint --rcfile ../.pylintrc {toxinidir}/propagator/opentelemetry-propagator-jaeger" test-opentelemetry-test-utils: pytest {toxinidir}/tests/opentelemetry-test-utils/tests {posargs} lint-opentelemetry-test-utils: black --diff --check --config {toxinidir}/pyproject.toml {toxinidir}/tests/opentelemetry-test-utils lint-opentelemetry-test-utils: isort --diff --check-only --settings-path {toxinidir}/.isort.cfg {toxinidir}/tests/opentelemetry-test-utils lint-opentelemetry-test-utils: flake8 --config {toxinidir}/.flake8 {toxinidir}/tests/opentelemetry-test-utils - lint-opentelemetry-test-utils: pylint {toxinidir}/tests/opentelemetry-test-utils/src/opentelemetry - lint-opentelemetry-test-utils: pylint {toxinidir}/tests/opentelemetry-test-utils/tests + lint-opentelemetry-test-utils: sh -c "cd tests && pylint --rcfile ../.pylintrc {toxinidir}/tests/opentelemetry-test-utils" coverage: {toxinidir}/scripts/coverage.sh