<?xml version="1.0" encoding="UTF-8"?>
<!-- https://phpunit.readthedocs.io/en/latest/configuration.html -->
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.3/phpunit.xsd"
         backupGlobals="false"
         colors="true"
         bootstrap="tests/bootstrap.php"
         stopOnFailure="true"
         stopOnError="true"
         cacheResult="true"
         cacheResultFile=".phpunit_cache"
         executionOrder="defects">
  <coverage processUncoveredFiles="true">
    <include>
      <directory suffix=".php">src</directory>
    </include>
    <exclude>
      <directory>src/Util/Exception</directory>
      <directory>src/PHPStan</directory>
      <directory>src/Routes</directory>
      <directory>src/DataFixtures</directory> <!-- This is where the test data is loaded, it get's tested enough, me thinks -->
      <directory>src/Security</directory> <!-- TODO: Should be tested in the future -->
      <file>src/Kernel.php</file>
      <file>src/CacheKernel.php</file>
    </exclude>
  </coverage>
  <php>
    <ini name="error_reporting" value="-1"/>
    <server name="APP_ENV" value="test" force="true"/>
    <server name="SHELL_VERBOSITY" value="-1"/>
    <server name="SYMFONY_PHPUNIT_REMOVE" value=""/>
    <server name="SYMFONY_PHPUNIT_VERSION" value="9.5"/>
    <!-- <env name="CACHE_DRIVER" value="array"/> -->
    <env name="SESSION_DRIVER" value="array"/>
    <env name="QUEUE_DRIVER" value="sync"/>
    <env name="MAIL_DRIVER" value="array"/>
  </php>
  <testsuites>
    <testsuite name="Controller">
      <directory suffix="Test.php">./tests/Controller</directory>
    </testsuite>
    <testsuite name="Core">
      <directory suffix="Test.php">./tests/Core</directory>
    </testsuite>
    <testsuite name="Entity">
      <directory suffix="Test.php">./tests/Entity</directory>
    </testsuite>
    <testsuite name="Twig">
      <directory suffix="Test.php">./tests/Twig</directory>
    </testsuite>
    <testsuite name="Util">
      <directory suffix="Test.php">./tests/Util</directory>
    </testsuite>
    <testsuite name="Plugins">
      <directory suffix="Test.php">./plugins/</directory>
    </testsuite>
    <testsuite name="Component">
      <directory suffix="Test.php">./components/</directory>
    </testsuite>
  </testsuites>
  <listeners>
    <listener class="Symfony\Bridge\PhpUnit\SymfonyTestsListener"/>
  </listeners>
</phpunit>
