]> git.immae.eu Git - github/wallabag/wallabag.git/blobdiff - build.xml
fix tests
[github/wallabag/wallabag.git] / build.xml
index cd2dfa3c86c33effd25281fa67ea3e6aa0804c0f..b9fe6136282caa69fde046feb975bd63acc30dda 100644 (file)
--- a/build.xml
+++ b/build.xml
 <?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="--no-progress"/>
+            <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}/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:database:import"/>
+            <arg value="data/sql/mysql_base.sql"/>
+            <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}/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>
+    </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}/app/console"/>
+            <arg value="${basedir}/bin/console"/>
             <arg value="cache:clear"/>
             <arg value="--env=test"/>
         </exec>
         <exec executable="php">
-            <arg value="${basedir}/app/console"/>
-            <arg value="doctrine:fixtures:load"/>
-            <arg value="--no-interaction"/>
+            <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>
+    </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>