Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions compose.yml.dist
Original file line number Diff line number Diff line change
Expand Up @@ -61,9 +61,9 @@ services:
environment:
- SERVICES=s3
- DEBUG=1
- DATA_DIR=/tmp/localstack/data
- DATA_DIR=/var/localstack/data
volumes:
- "./var/localstack:/tmp/localstack"
- "./var/localstack:/var/localstack"
otel-collector:
image: otel/opentelemetry-collector-contrib:0.115.1
container_name: flow-php-otel-collector
Expand Down
136 changes: 9 additions & 127 deletions infection.json
Original file line number Diff line number Diff line change
@@ -1,145 +1,22 @@
{
"source": {
"directories": [
"src/core/etl/src",
"src/lib/array-dot/src",
"src/lib/doctrine-dbal-bulk/src",
"src/lib/filesystem/src",
"src/lib/parquet/src",
"src/lib/telemetry/src",
"src/bridge/monolog/telemetry/src",
"src/bridge/psr7/telemetry/src",
"src/bridge/psr18/telemetry/src",
"src/bridge/symfony/http-foundation-telemetry/src",
"src/bridge/symfony/telemetry-bundle/src",
"src/bridge/telemetry/otlp/src"
"src/core/etl/src"
],
"excludes": [
"{.*/DSL.*}",
"Flow/ETL/Attribute",
"Flow/Calculator/Exception",
"Flow/Serializer/Exception",
"Flow/ETL/Exception",
"Flow/Types/Exception",
"Flow/Doctrine/Bulk/Exception",
"Flow/Filesystem/Exception",
"Flow/Parquet/Exception",
"Flow/Parquet/ThriftModel",
"Flow/ArrayDot/Exception",
"Flow/Telemetry/Exception",
"Flow/Telemetry/Provider/Void",
"Flow/Telemetry/Provider/Console",
"Flow/Bridge/Telemetry/OTLP/Exception",
"Flow/Bridge/Monolog/Telemetry/Exception",
"Flow/Bridge/Psr7/Telemetry/Exception",
"Flow/Bridge/Psr18/Telemetry/Exception",
"Flow/Bridge/Symfony/HttpFoundationTelemetry/Exception",
"Flow/Bridge/Symfony/TelemetryBundle/Exception"
"{.*/DSL.*}"
]
},
"logs": {
"text": "./var/infection/infection.log",
"html": "./var/infection/infection.html",
"summary": "./var/infection/infection_summary.log",
"debug": "./var/infection/infection_summary.log",
"stryker": {
"badge": "1.x"
}
},
"mutators": {
"@default": true,
"ArrayItem": {
"ignore": [
"*::__serialize"
]
},
"ArrayItemRemoval": {
"ignore": [
"*::__serialize",
"Flow\\ETL\\Adapter\\Logger\\Logger\\DumpLogger::log"
]
},
"Throw_": {
"ignore": [
"Flow\\Doctrine\\Bulk\\QueryFactory\\DbalQueryFactory"
]
},
"DecrementInteger": {
"ignore": [
"Flow\\ETL\\Extractor\\MemoryExtractor::extract",
"Flow\\Doctrine\\Bulk\\Exception\\RuntimeException::__construct",
"Flow\\Doctrine\\Bulk\\BulkData::toSqlParameters"
]
},
"IncrementInteger": {
"ignore": [
"Flow\\ETL\\Extractor\\MemoryExtractor::extract",
"Flow\\Doctrine\\Bulk\\BulkData::toSqlParameters"
]
},
"Identical": {
"ignore": [
"Flow\\Doctrine\\Bulk\\DbalPlatform"
]
},
"UnwrapArrayFilter": {
"ignore": [
"Flow\\Doctrine\\Bulk\\BulkData"
]
},
"UnwrapRtrim": {
"ignore": [
"Flow\\Calculator\\Calculator::*"
]
},
"LogicalAnd": {
"ignore": [
"Flow\\ArrayComparison\\ArrayComparison::equals"
]
},
"LogicalOr": {
"ignore": [
"Flow\\ArrayComparison\\ArrayComparison::equals"
]
},
"AssignCoalesce": {
"ignore": [
"Flow\\ETL\\Config\\ConfigBuilder::build"
]
},
"Coalesce": {
"ignore": [
"Flow\\ETL\\Cache\\Implementation\\FilesystemCache::__construct",
"Flow\\ETL\\Config\\Cache\\CacheConfigBuilder::build"
]
},
"CloneRemoval": {
"ignore": [
"Flow\\ETL\\DataFrame::count",
"Flow\\ETL\\DataFrame::fetch",
"Flow\\ETL\\DataFrame::run",
"Flow\\ETL\\DataFrame::get*"
]
},
"MethodCallRemoval": {
"ignore": [
"Flow\\ETL\\DataFrame::autoCast",
"Flow\\ETL\\DataFrame::aggregate",
"Flow\\ETL\\DataFrame::match"
]
},
"BitwiseAnd": {
"ignore": [
"Flow\\Parquet\\Data\\*"
]
},
"Assignment": {
"ignore": [
"Flow\\Parquet\\Writer\\*::addRow",
"Flow\\Parquet\\Writer\\*::addBytes",
"Flow\\Parquet\\Data\\*::*"
]
}
"@default": true
},
"bootstrap": "vendor/autoload.php",
"phpUnit": {
Expand All @@ -148,5 +25,10 @@
},
"tmpDir": "var/infection/cache",
"minMsi": 30,
"minCoveredMsi": 70
"minCoveredMsi": 70,
"staticAnalysisTool" : "phpstan",
"phpStan": {
"configDir": "tools/infection",
"customPath": "tools/phpstan/vendor/bin/phpstan"
}
}
1 change: 1 addition & 0 deletions phpstan.neon
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,7 @@ parameters:
- src/bridge/symfony/telemetry-bundle/tests/Flow/Bridge/Symfony/TelemetryBundle/Tests/Fixtures/Cache/*
- src/bridge/symfony/telemetry-bundle/src/Flow/Bridge/Symfony/TelemetryBundle/Instrumentation/Doctrine/DBAL/V3/*
- src/bridge/symfony/telemetry-bundle/src/Flow/Bridge/Symfony/TelemetryBundle/Instrumentation/Doctrine/DBAL/V4/*
- src/bridge/symfony/telemetry-bundle/tests/Flow/Bridge/Symfony/TelemetryBundle/Tests/Unit/Instrumentation/Doctrine/DBAL/*

tmpDir: var/phpstan/cache

Expand Down
17 changes: 8 additions & 9 deletions phpunit.xml.dist
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,7 @@
<env name="OTEL_COLLECTOR_HTTP_ENDPOINT" value="http://localhost:4318"/>
<env name="OTEL_COLLECTOR_OUTPUT_DIR" value="./var/otel"/>
<env name="FLOW_LOCAL_FILESYSTEM_CACHE_DIR" value="./var/cache"/>
<env name="FLOW_PARQUET_TESTS_DEBUG"
value="0"/> <!-- change to 1 in order to display logs in parquet integration tests -->
<env name="FLOW_PARQUET_TESTS_DEBUG" value="0"/> <!-- change to 1 in order to display logs in parquet integration tests -->
</php>
<testsuites>
<testsuite name="etl-unit">
Expand Down Expand Up @@ -229,15 +228,15 @@
</testsuites>
<source>
<include>
<directory suffix=".php">src/adapter/**/src</directory>
<directory suffix=".php">src/bridge/**/**/src</directory>
<directory suffix=".php">src/core/**/src</directory>
<directory suffix=".php">src/cli/src</directory>
<directory suffix=".php">src/lib/**/src</directory>
<directory>src/adapter/**/src</directory>
<directory>src/bridge/**/**/src</directory>
<directory>src/core/**/src</directory>
<directory>src/cli/src</directory>
<directory>src/lib/**/src</directory>
</include>
<exclude>
<directory suffix=".php">src/lib/parquet/src/Flow/Parquet/Thrift</directory>
<directory suffix=".php">src/lib/postgresql/src/Flow/PostgreSql/Protobuf</directory>
<directory>src/lib/parquet/src/Flow/Parquet/Thrift</directory>
<directory>src/lib/postgresql/src/Flow/PostgreSql/Protobuf</directory>
<file>src/core/etl/src/Flow/ETL/DSL/functions.php</file>
<file>src/lib/postgresql/src/Flow/PostgreSql/DSL/functions.php</file>
<file>src/functions.php</file>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,13 +70,13 @@ public function addTestExtensionConfig(string $extension, array $config) : void
#[\Override]
public function getCacheDir() : string
{
return __DIR__ . '/../../../../../../../var/flow_telemetry_bundle_test/' . $this->environment . '/cache';
return __DIR__ . '/../../../../../../../var/flow_telemetry_bundle_test/' . $this->environment . '/' . $this->testId . '/cache';
}

#[\Override]
public function getLogDir() : string
{
return __DIR__ . '/../../../../../../../var/flow_telemetry_bundle_test/' . $this->environment . '/log';
return __DIR__ . '/../../../../../../../var/flow_telemetry_bundle_test/' . $this->environment . '/' . $this->testId . '/log';
}

#[\Override]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
namespace Flow\Bridge\Symfony\TelemetryBundle\Tests\Unit\Instrumentation\Doctrine\DBAL;

use Doctrine\DBAL\Driver\{Connection as ConnectionInterface, Result, Statement as DriverStatement};
use Doctrine\DBAL\ParameterType;
use Doctrine\DBAL\{ParameterType, VersionAwarePlatformDriver};
use Flow\Bridge\Symfony\TelemetryBundle\Instrumentation\Doctrine\DBAL\V4\TracingConnection;
use Flow\Telemetry\Context\MemoryContextStorage;
use Flow\Telemetry\Logger\LoggerProvider;
Expand All @@ -21,6 +21,13 @@
#[CoversClass(TracingConnection::class)]
final class TracingConnectionTest extends TestCase
{
protected function setUp() : void
{
if (\interface_exists(VersionAwarePlatformDriver::class)) {
self::markTestSkipped('Test requires Doctrine DBAL 4.x');
}
}

public function test_prepare_uses_truncation() : void
{
$spanProcessor = new MemorySpanProcessor(new MemorySpanExporter());
Expand Down Expand Up @@ -328,8 +335,7 @@ public function rowCount() : int
};
}

/** @phpstan-ignore missingType.parameter, missingType.parameter */
public function quote($value, $type = ParameterType::STRING) : string
public function quote(string $value) : string
{
return "'{$value}'";
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

use Doctrine\DBAL\Driver\API\ExceptionConverter;
use Doctrine\DBAL\Driver\{Connection, Result, Statement};
use Doctrine\DBAL\{Driver, ServerVersionProvider};
use Doctrine\DBAL\{Driver, ServerVersionProvider, VersionAwarePlatformDriver};
use Doctrine\DBAL\Platforms\{AbstractPlatform, DB2Platform, MariaDBPlatform, MySQL80Platform, OraclePlatform, PostgreSQLPlatform, SQLServerPlatform, SQLitePlatform};
use Flow\Bridge\Symfony\TelemetryBundle\Instrumentation\Doctrine\DBAL\V4\TracingDriver;
use Flow\Telemetry\Context\MemoryContextStorage;
Expand All @@ -23,6 +23,13 @@
#[CoversClass(TracingDriver::class)]
final class TracingDriverTest extends TestCase
{
protected function setUp() : void
{
if (\interface_exists(VersionAwarePlatformDriver::class)) {
self::markTestSkipped('Test requires Doctrine DBAL 4.x');
}
}

public function test_get_semantic_db_system_defaults_to_other_sql() : void
{
$spanProcessor = new MemorySpanProcessor(new MemorySpanExporter());
Expand Down
Loading
Loading