<?xml version="1.0" encoding="utf-8"?>
<phpunit bootstrap="test/php/bootstrap.php">
    <testsuites>
        <!--
            Unit testing
        -->
        <testsuite name="unit-framework">
            <directory>test/php/application/</directory>
            <directory>test/php/library/</directory>
        </testsuite>

        <!-- Module tests are independent from core tests -->
        <testsuite name="unit-modules">
            <directory>modules/*/test/php</directory>
            <exclude>modules/*/test/php/regression</exclude>
        </testsuite>

        <!--
            Regression testing
        -->
        <testsuite name="regression-framework">
            <directory>test/php/regression/</directory>
        </testsuite>

        <!-- Module tests are independent from core tests -->
        <testsuite name="regression-modules">
            <directory>modules/*/test/php/regression</directory>
        </testsuite>
    </testsuites>
    <filter>
        <whitelist addUncoveredFilesFromWhitelist="true">
            <directory suffix=".php">application</directory>
            <directory suffix=".php">library/Icinga</directory>
            <directory suffix=".php">modules</directory>
            <exclude>
                <!-- application/clicommands -->
                <directory suffix=".php">application/clicommands</directory>
                <!-- application/controllers -->
                <directory suffix=".php">application/controllers</directory>
                <!-- application/forms -->
                <file>application/forms/Config/GeneralForm.php</file>
                <file>application/forms/Config/LoggingForm.php</file>
                <file>application/forms/Config/ConfirmRemovalForm.php</file>
                <directory suffix=".php">application/forms/Authentication</directory>
                <directory suffix=".php">application/forms/Dashboard</directory>
                <directory suffix=".php">application/forms/Preference</directory>
                <!-- application/views -->
                <file>application/views/helpers/FormNumber.php</file>
                <file>application/views/helpers/FormDateTime.php</file>
                <!-- library/Icinga/Logger -->
                <file>library/Icinga/Logger/Writer/SyslogWriter.php</file>
                <!-- library/Icinga/User -->
                <file>library/Icinga/User/Message.php</file>
                <!-- library/Icinga/Application -->
                <file>library/Icinga/Application/ApplicationBootstrap.php</file>
                <file>library/Icinga/Application/Benchmark.php</file>
                <file>library/Icinga/Application/Cli.php</file>
                <file>library/Icinga/Application/EmbeddedWeb.php</file>
                <file>library/Icinga/Application/LegacyWeb.php</file>
                <file>library/Icinga/Application/Platform.php</file>
                <file>library/Icinga/Application/Web.php</file>
                <file>library/Icinga/Application/functions.php</file>
                <file>library/Icinga/Application/webrouter.php</file>
                <!-- library/Icinga/Web -->
                <file>library/Icinga/Web/JavaScript.php</file>
                <file>library/Icinga/Web/LessCompiler.php</file>
                <file>library/Icinga/Web/Request.php</file>
                <file>library/Icinga/Web/Response.php</file>
                <file>library/Icinga/Web/Session.php</file>
                <file>library/Icinga/Web/StyleSheet.php</file>
                <file>library/Icinga/Web/View.php</file>
                <file>library/Icinga/Web/ViewStream.php</file>
                <file>library/Icinga/Web/Widget.php</file>
                <!-- library/Icinga/Web/Widget -->
                <file>library/Icinga/Web/Widget/AbstractWidget.php</file>
                <file>library/Icinga/Web/Widget/AlertMessageBox.php</file>
                <file>library/Icinga/Web/Widget/SortBox.php</file>
                <directory suffix=".php">library/Icinga/Web/Widget/Chart</directory>
                <directory suffix=".php">library/Icinga/Web/Widget/Tabextension</directory>
                <!-- library/Icinga/Web/Hook -->
                <file>library/Icinga/Web/Hook/Ticket.php</file>
                <file>library/Icinga/Web/Hook/Grapher.php</file>
                <!-- library/Icinga/Web/Controller -->
                <directory suffix=".php">library/Icinga/Web/Controller</directory>
                <!-- library/Icinga/Web/Form -->
                <directory suffix=".php">library/Icinga/Web/Form/Decorator</directory>
                <!-- library/Icinga/Web/View -->
                <directory suffix=".php">library/Icinga/Web/View/helpers</directory>
            </exclude>
        </whitelist>
    </filter>
    <listeners>
        <listener class="\Mockery\Adapter\Phpunit\TestListener"></listener>
    </listeners>
</phpunit>
