<?xml version="1.0" encoding="UTF-8"?>
<project name="wallabag" default="build">
- <target name="build" depends="prepare"/>
+ <target name="build" depends="clean,prepare,phpunit"/>
+ <target name="prepare-mysql" depends="clean,prepare_mysql"/>
+ <target name="prepare-sqlite" depends="clean,prepare_sqlite"/>
+ <target name="prepare-pgsql" depends="clean,prepare_pgsql"/>
<target name="clean" description="Cleanup build artifacts">
- <delete dir="${basedir}/app/cache"/>
+ <delete dir="${basedir}/var/cache"/>
</target>
- <target name="prepare" depends="clean" description="Prepare for build">
- <exec executable="composer">
- <arg value="install"/>
+ <target name="prepare" description="Prepare for build">
+ <exec executable="php">
+ <arg value="${basedir}/bin/console"/>
+ <arg value="doctrine:database:drop"/>
+ <arg value="--force"/>
+ <arg value="--env=test"/>
+ </exec>
+ <exec executable="php">
+ <arg value="${basedir}/bin/console"/>
+ <arg value="doctrine:database:create"/>
+ <arg value="--env=test"/>
+ </exec>
+ <exec executable="php">
+ <arg value="${basedir}/bin/console"/>
+ <arg value="doctrine:schema:create"/>
+ <arg value="--env=test"/>
+ </exec>
+ <exec executable="php">
+ <arg value="${basedir}/bin/console"/>
+ <arg value="doctrine:fixtures:load"/>
+ <arg value="--no-interaction"/>
+ <arg value="--env=test"/>
+ </exec>
+ </target>
+
+ <target name="prepare_mysql" description="Run test for MySQL">
+ <delete dir="${basedir}/app/config/parameters.yml"/>
+ <exec executable="cp">
+ <arg value="${basedir}/app/config/tests/parameters_test.mysql.yml"/>
+ <arg value="${basedir}/app/config/parameters_test.yml"/>
+ </exec>
+ <exec executable="php">
+ <arg value="${basedir}/bin/console"/>
+ <arg value="cache:clear"/>
+ <arg value="--env=test"/>
+ </exec>
+ <exec executable="php">
+ <arg value="${basedir}/bin/console"/>
+ <arg value="doctrine:database:drop"/>
+ <arg value="--force"/>
+ <arg value="--env=test"/>
+ </exec>
+ <exec executable="php">
+ <arg value="${basedir}/bin/console"/>
+ <arg value="doctrine:database:create"/>
+ <arg value="--env=test"/>
+ </exec>
+ <exec executable="php">
+ <arg value="${basedir}/bin/console"/>
+ <arg value="doctrine:database:import"/>
+ <arg value="data/sql/mysql_base.sql"/>
+ <arg value="--env=test"/>
+ </exec>
+ <exec executable="php">
+ <arg value="${basedir}/bin/console"/>
+ <arg value="doctrine:migrations:migrate"/>
+ <arg value="--no-interaction"/>
+ <arg value="--env=test"/>
+ </exec>
+ <exec executable="php">
+ <arg value="${basedir}/bin/console"/>
+ <arg value="doctrine:fixtures:load"/>
<arg value="--no-interaction"/>
- <arg value="--no-progress"/>
+ <arg value="--env=test"/>
+ </exec>
+ </target>
+
+ <target name="prepare_sqlite" description="Run test for SQLite">
+ <delete dir="${basedir}/app/config/parameters.yml"/>
+ <exec executable="cp">
+ <arg value="${basedir}/app/config/tests/parameters_test.sqlite.yml"/>
+ <arg value="${basedir}/app/config/parameters_test.yml"/>
+ </exec>
+ <exec executable="php">
+ <arg value="${basedir}/bin/console"/>
+ <arg value="cache:clear"/>
+ <arg value="--env=test"/>
</exec>
<exec executable="php">
- <arg value="${basedir}/app/console"/>
+ <arg value="${basedir}/bin/console"/>
<arg value="doctrine:database:drop"/>
<arg value="--force"/>
<arg value="--env=test"/>
</exec>
<exec executable="php">
- <arg value="${basedir}/app/console"/>
+ <arg value="${basedir}/bin/console"/>
<arg value="doctrine:database:create"/>
<arg value="--env=test"/>
</exec>
<exec executable="php">
- <arg value="${basedir}/app/console"/>
+ <arg value="${basedir}/bin/console"/>
<arg value="doctrine:schema:create"/>
<arg value="--env=test"/>
</exec>
<exec executable="php">
- <arg value="${basedir}/app/console"/>
+ <arg value="${basedir}/bin/console"/>
+ <arg value="doctrine:migrations:migrate"/>
+ <arg value="--no-interaction"/>
+ <arg value="--env=test"/>
+ </exec>
+ <exec executable="php">
+ <arg value="${basedir}/bin/console"/>
+ <arg value="doctrine:fixtures:load"/>
+ <arg value="--no-interaction"/>
+ <arg value="--env=test"/>
+ </exec>
+ </target>
+
+ <target name="prepare_pgsql" description="Run test for PostgreSQL">
+ <delete dir="${basedir}/app/config/parameters.yml"/>
+ <exec executable="cp">
+ <arg value="${basedir}/app/config/tests/parameters_test.pgsql.yml"/>
+ <arg value="${basedir}/app/config/parameters_test.yml"/>
+ </exec>
+ <exec executable="php">
+ <arg value="${basedir}/bin/console"/>
<arg value="cache:clear"/>
<arg value="--env=test"/>
</exec>
<exec executable="php">
- <arg value="${basedir}/app/console"/>
+ <arg value="${basedir}/bin/console"/>
+ <arg value="doctrine:database:drop"/>
+ <arg value="--force"/>
+ <arg value="--env=test"/>
+ </exec>
+ <exec executable="php">
+ <arg value="${basedir}/bin/console"/>
+ <arg value="doctrine:database:create"/>
+ <arg value="--env=test"/>
+ </exec>
+ <exec executable="psql">
+ <arg value="-h"/>
+ <arg value="localhost"/>
+ <arg value="-d"/>
+ <arg value="wallabag_test"/>
+ <arg value="-U"/>
+ <arg value="travis"/>
+ <arg value="-f"/>
+ <arg value="data/sql/pgsql_base.sql"/>
+ </exec>
+ <exec executable="php">
+ <arg value="${basedir}/bin/console"/>
+ <arg value="doctrine:migrations:migrate"/>
+ <arg value="--no-interaction"/>
+ <arg value="--env=test"/>
+ </exec>
+ <exec executable="php">
+ <arg value="${basedir}/bin/console"/>
<arg value="doctrine:fixtures:load"/>
<arg value="--no-interaction"/>
<arg value="--env=test"/>
</exec>
</target>
+
+ <target name="phpunit" description="Run unit tests with PHPUnit + HTML Coverage">
+ <exec executable="phpunit" failonerror="true">
+ <arg value="--coverage-html"/>
+ <arg value="build/coverage"/>
+ </exec>
+ </target>
</project>