diff --git a/phpstan.neon.dist b/phpstan.neon.dist index 80724755..1b67b321 100644 --- a/phpstan.neon.dist +++ b/phpstan.neon.dist @@ -50,4 +50,8 @@ parameters: - message: "#.*return with type T is not subtype.*#" paths: - - src/SDK/Common/InstrumentationScope \ No newline at end of file + - src/SDK/Common/InstrumentationScope + - + message: "#.*expects Google\\\\Protobuf\\\\RepeatedField.*#" + paths: + - src/Contrib/Otlp \ No newline at end of file diff --git a/psalm.xml.dist b/psalm.xml.dist index 0ac60dbe..c14e435b 100644 --- a/psalm.xml.dist +++ b/psalm.xml.dist @@ -32,6 +32,12 @@ + + + + + + diff --git a/tests/Unit/Contrib/Otlp/MetricConverterTest.php b/tests/Unit/Contrib/Otlp/MetricConverterTest.php index 52c56dc0..18c17a37 100644 --- a/tests/Unit/Contrib/Otlp/MetricConverterTest.php +++ b/tests/Unit/Contrib/Otlp/MetricConverterTest.php @@ -178,13 +178,15 @@ final class MetricConverterTest extends TestCase ); } + /** + * @psalm-suppress InvalidArgument + */ public function test_multiple_resources_result_in_multiple_resource_metrics(): void { $resourceA = ResourceInfo::create(Attributes::create(['foo' => 'bar'])); $resourceB = ResourceInfo::create(Attributes::create(['foo' => 'baz'])); $this->assertCount( 2, - /** @phpstan-ignore-next-line */ (new MetricConverter())->convert([ new Metric( $this->createMock(InstrumentationScopeInterface::class), diff --git a/tests/Unit/Contrib/Otlp/SpanConverterTest.php b/tests/Unit/Contrib/Otlp/SpanConverterTest.php index d12afa54..3ee0c248 100644 --- a/tests/Unit/Contrib/Otlp/SpanConverterTest.php +++ b/tests/Unit/Contrib/Otlp/SpanConverterTest.php @@ -32,6 +32,9 @@ use PHPUnit\Framework\TestCase; #[CoversClass(SpanConverter::class)] class SpanConverterTest extends TestCase { + /** + * @psalm-suppress InvalidArgument + */ public function test_convert_span_to_payload(): void { $context = SpanContext::getInvalid(); @@ -62,7 +65,6 @@ class SpanConverterTest extends TestCase $this->assertSame($context->getTraceId(), bin2hex($link->getTraceId())); $this->assertSame($context->getSpanId(), bin2hex($link->getSpanId())); $this->assertSame(V1\SpanFlags::SPAN_FLAGS_CONTEXT_HAS_IS_REMOTE_MASK, $link->getFlags()); - /** @phpstan-ignore-next-line */ $this->assertCount(1, $link->getAttributes()); } @@ -310,6 +312,9 @@ class SpanConverterTest extends TestCase $this->assertCount(2, $result[0]->getResource()->getAttributes()); } + /** + * @psalm-suppress InvalidArgument + */ public function test_multiple_resources_result_in_multiple_resource_spans(): void { $resourceA = ResourceInfo::create(Attributes::create(['foo' => 'bar'])); @@ -319,13 +324,14 @@ class SpanConverterTest extends TestCase (new SpanData())->setResource($resourceA), (new SpanData())->setResource($resourceB), ])->getResourceSpans(); - /** @phpstan-ignore-next-line */ $this->assertCount(2, $result); } + /** + * @psalm-suppress InvalidArgument + */ public function test_otlp_no_spans(): void { - /** @phpstan-ignore-next-line */ $this->assertCount(0, (new SpanConverter())->convert([])->getResourceSpans()); }