summaryrefslogtreecommitdiff
path: root/appveyor/test_task.bat
diff options
context:
space:
mode:
authorAnatol Belski <ab@php.net>2016-12-16 11:48:08 +0100
committerAnatol Belski <ab@php.net>2016-12-17 00:12:49 +0100
commitaeebae641e3e8e392be01077f41394575d210224 (patch)
tree1c923b15b83b46741c9cbbd8986e57987674a132 /appveyor/test_task.bat
parent5004ae2b628254be334c6faae2b7751051cdc031 (diff)
downloadphp-git-aeebae641e3e8e392be01077f41394575d210224.tar.gz
add scripts for AppVeyor integration
(cherry picked from commit c737d6fb495ee986f7819472db861aa9e1bf42b1)
Diffstat (limited to 'appveyor/test_task.bat')
-rw-r--r--appveyor/test_task.bat68
1 files changed, 68 insertions, 0 deletions
diff --git a/appveyor/test_task.bat b/appveyor/test_task.bat
new file mode 100644
index 0000000000..34bc16169d
--- /dev/null
+++ b/appveyor/test_task.bat
@@ -0,0 +1,68 @@
+@echo off
+
+set NO_INTERACTION=1
+set REPORT_EXIT_STATUS=1
+set SKIP_IO_CAPTURE_TESTS=1
+
+set DEPS_DIR=%PHP_BUILD_CACHE_BASE_DIR%\deps-%PHP_SDK_VC%-%PHP_SDK_ARCH%-%APPVEYOR_REPO_BRANCH%
+
+rem setup MySQL related exts
+set MYSQL_PWD=Password12!
+set MYSQL_TEST_PASSWD=%MYSQL_PWD%
+set MYSQL_TEST_USER=root
+set MYSQL_TEST_HOST=127.0.0.1
+set MYSQL_TEST_PORT=3306
+set PDO_MYSQL_TEST_USER=%MYSQL_TEST_USER%
+set PDO_MYSQL_TEST_PASS=%MYSQL_PWD%
+set PDO_MYSQL_TEST_HOST=%MYSQL_TEST_HOST%
+set PDO_MYSQL_TEST_PORT=%MYSQL_TEST_PORT%
+set PDO_MYSQL_TEST_DSN=mysql:host=%PDO_MYSQL_TEST_HOST% port=%PDO_MYSQL_TEST_PORT% dbname=test user=%PDO_MYSQL_TEST_USER% password=%MYSQL_PW%
+"C:\Program Files\MySql\MySQL Server 5.7\bin\mysql.exe" --user=%MYSQL_TEST_USER% -e "CREATE DATABASE IF NOT EXISTS test"
+
+rem setup PostgreSQL related exts
+set PGUSER=postgres
+set PGPASSWORD=Password12!
+rem set PGSQL_TEST_CONNSTR=host=127.0.0.1 dbname=test port=5432 user=postgres password=Password12!
+echo ^<?php $conn_str = "host=127.0.0.1 dbname=test port=5432 user=%PGUSER% password=%PGPASSWORD%"; ?^> >> "./ext/pgsql/tests/config.inc"
+set PDO_PGSQL_TEST_DSN=pgsql:host=127.0.0.1 port=5432 dbname=test user=%PGUSER% password=%PGPASSWORD%
+"C:\Program Files\PostgreSQL\9.5\bin\createdb.exe" test
+
+rem prepare for ext/openssl
+if "%APPVEYOR%" equ "True" rmdir /s /q C:\OpenSSL-Win32 >NUL 2>NUL
+if "%APPVEYOR%" equ "True" rmdir /s /q C:\OpenSSL-Win64 >NUL 2>NUL
+mkdir c:\usr\local\ssl
+copy %DEPS_DIR%\template\ssl\openssl.cnf c:\usr\local\ssl
+set OPENSSL_CONF=c:\usr\local\ssl\openssl.cnf
+rem set OPENSSL_CONF=
+rem set SSLEAY_CONF=
+
+rem prepare for Opcache
+if "%OPCACHE%" equ "1" set OPCACHE_OPTS=-d opcache.enabled=1 -d opcache.enable_cli=1
+
+rem prepare for enchant
+mkdir c:\enchant_plugins
+copy %DEPS_DIR%\bin\libenchant_ispell.dll c:\enchant_plugins
+copy %DEPS_DIR%\bin\libenchant_myspell.dll c:\enchant_plugins
+reg add HKEY_CURRENT_USER\SOFTWARE\Enchant\Config /v Module_Dir /t REG_SZ /d c:\enchant_plugins
+set PHP_BUILD_CACHE_ENCHANT_DICT_DIR=%PHP_BUILD_CACHE_BASE_DIR%\enchant_dict
+if not exist "%PHP_BUILD_CACHE_ENCHANT_DICT_DIR%" (
+ echo Creating %PHP_BUILD_CACHE_ENCHANT_DICT_DIR%
+ mkdir "%PHP_BUILD_CACHE_ENCHANT_DICT_DIR%"
+)
+if not exist "%PHP_BUILD_CACHE_ENCHANT_DICT_DIR%\en_US.aff" (
+ echo Fetching enchant dicts
+ pushd %PHP_BUILD_CACHE_ENCHANT_DICT_DIR%
+ del /q *
+ powershell -Command wget http://windows.php.net/downloads/qa/appveyor/ext/enchant/dict.zip -OutFile dict.zip
+ unzip dict.zip
+ del /q dict.zip
+ popd
+)
+mkdir %USERPROFILE%\enchant\myspell
+copy %PHP_BUILD_CACHE_ENCHANT_DICT_DIR%\* %USERPROFILE%\enchant\myspell
+
+mkdir c:\tests_tmp
+
+cd "%APPVEYOR_BUILD_FOLDER%"
+nmake test TESTS="%OPCACHE_OPTS% -q --offline --show-diff --set-timeout 120 -g FAIL,XFAIL,BORK,WARN,LEAK,SKIP --temp-source c:\tests_tmp --temp-target c:\tests_tmp"
+