<?xml version="1.0" encoding="UTF-8" ?>
<!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
 this work for additional information regarding copyright ownership.
 The ASF licenses this file to You under the Apache License, Version 2.0
 (the "License"); you may not use this file except in compliance with
 the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 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.
-->
<phpunit bootstrap="tests/bootstrap.php"
	colors="true"
	convertErrorsToExceptions="true"
	convertNoticesToExceptions="true"
	convertWarningsToExceptions="true"
	stopOnFailure="false">

	<testsuite name="log4php">
		<directory>tests/src</directory>
	</testsuite>

	<filter>
		<whitelist>
			<directory suffix=".php">src/</directory>
		</whitelist>
	</filter>

	<logging>
		<log type="coverage-html" target="target/test/report" charset="UTF-8"
			yui="true" highlight="false" lowUpperBound="35" highLowerBound="70"/>
	</logging>

	<listeners>
		<listener class="\Mockery\Adapter\Phpunit\TestListenerxxx"></listener>
	</listeners>
</phpunit>
