mirror of
https://github.com/Dolibarr/dolibarr.git
synced 2025-02-20 13:46:52 +01:00
Update phpunit.bat sample script and setup_conf.sh (#28307)
# Update phpunit.bat sample script and setup_conf.sh - setup_conf.sh - Added caching feature; - phpunit.bat - Example updated based on experience with php web server
This commit is contained in:
parent
7dd9a448cb
commit
b343181789
|
|
@ -1,6 +1,76 @@
|
|||
@ECHO OFF
|
||||
REM SAMPLE WINDOWS SCRIPT TO START TESTS
|
||||
REM
|
||||
REM CURRENTLY THIS SCRIPT MUST BE LOCATED AT THE ROOT OF THE PROJECT.
|
||||
REM A copy of phpunit-9.5.phar is required
|
||||
|
||||
|
||||
SET OPEN_BASEDIR=%~dp0
|
||||
c:\wamp64\bin\php\php7.4.33\php -dopen_basedir=%OPEN_BASEDIR% .\phpunit-9.5.phar -d memory_limit=-1 -c test\phpunit\phpunittest.xml test\phpunit\AllTests.php
|
||||
SET DD_TRACE_CLI_ENABLED=1
|
||||
SET DD_TRACE_CLI_LOG_FILE=%~dp0/trace.log
|
||||
SET PHP=c:\wamp64\bin\php\php7.4.33\php
|
||||
|
||||
REM c:\wamp64\bin\php\php7.4.33\php -dopen_basedir=%OPEN_BASEDIR% .\phpunit-9.5.phar -d memory_limit=-1 -c test\phpunit\phpunittest.xml test\phpunit\AllTests.php --filter FilesLibTest --migrate-configuration
|
||||
REM Example: phpunit.bat test/phpunit/FilesLibTest.php --filter FilesLibTest::testDolDirMove
|
||||
REM
|
||||
|
||||
REM The DOMAIN/Port value should be the same as in htdocs/conf/conf.php
|
||||
REM (This is only needed if did not set up another server locally
|
||||
REM for your test installation database).
|
||||
SET PHPSERVER_DOMAIN_PORT=127.0.0.1:80
|
||||
SET PHPSERVER_LOG=%~dp0/php_serv.log
|
||||
GOTO :START
|
||||
|
||||
REM The error handler
|
||||
:ERROR_HANDLER
|
||||
echo An error occurred. Stop php server
|
||||
taskkill /F /PID %php_pid%
|
||||
exit /b 1
|
||||
|
||||
:START
|
||||
|
||||
start /B php -S %PHPSERVER_DOMAIN_PORT% -t htdocs > %PHPSERVER_LOG% 2>&1
|
||||
for /F "tokens=2 delims=," %%i in ('tasklist /FI "IMAGENAME eq php.exe" /FO CSV /NH') do (
|
||||
set "php_pid=%%~i"
|
||||
goto :FOUND_PID
|
||||
)
|
||||
|
||||
:FOUND_PID
|
||||
echo "Server PID: %php_pid%"
|
||||
curl "http://%PHPSERVER_DOMAIN_PORT%"
|
||||
|
||||
|
||||
SET MEMOPT=-d memory-limit=-1
|
||||
SET CONFOPT=-c test\phpunit\phpunittest.xml
|
||||
SET TESTS=test\phpunit\AllTests.php
|
||||
|
||||
setlocal enabledelayedexpansion
|
||||
|
||||
for %%i in (%*) do (
|
||||
set "f=%%i"
|
||||
if "!f:~0,12!"=="memory-limit" (
|
||||
SET MEMOPT=""
|
||||
goto :continue
|
||||
)
|
||||
if "%%i"=="-c" (
|
||||
SET CONFOPT=""
|
||||
goto :continue
|
||||
)
|
||||
if "!f:~-4!"==".php" (
|
||||
set TESTS=""
|
||||
goto :continue
|
||||
)
|
||||
:continue
|
||||
REM NEEDED FOR CONTINUE
|
||||
|
||||
)
|
||||
|
||||
%PHP% -d display_errors=on -dopen_basedir=%OPEN_BASEDIR% .\phpunit-9.5.phar %MEMOPT% %CONFOPT% %TESTS% %*
|
||||
|
||||
REM c:\wamp64\bin\php\php7.4.33\php -dopen_basedir=%OPEN_BASEDIR% .\phpunit-9.5.phar -d memory_limit=-1 -c test\phpunit\phpunittest.xml test\phpunit\SecurityTest.php
|
||||
|
||||
REM c:\wamp64\bin\php\php7.4.33\php -dopen_basedir=%OPEN_BASEDIR% .\phpunit-9.5.phar -d memory_limit=-1 -c test\phpunit\phpunittest.xml
|
||||
REM c:\wamp64\bin\php\php7.4.33\php -dopen_basedir=%OPEN_BASEDIR% .\phpunit-9.5.phar -d memory_limit=-1 test\phpunit\AllTests.php --filter FilesLibTest
|
||||
|
||||
|
||||
taskkill /F /PID %php_pid%
|
||||
|
|
|
|||
|
|
@ -4,10 +4,12 @@
|
|||
|
||||
TRAVIS_BUILD_DIR=${TRAVIS_BUILD_DIR:=$(realpath "$(dirname "$0")/../../..")}
|
||||
MYSQL=${MYSQL:=mysql}
|
||||
MYSQLDUMP=${MYSQLDUMP:="${MYSQL}dump"}
|
||||
|
||||
DB=${DB:=mariadb}
|
||||
DB_ROOT=${DB_ROOT:=root}
|
||||
DB_PASS=${DB_PASS:=}
|
||||
DB_CACHE_FILE="${TRAVIS_BUILD_DIR}/db_init.sql"
|
||||
|
||||
TRAVIS_DOC_ROOT_PHP="${TRAVIS_DOC_ROOT_PHP:=$TRAVIS_BUILD_DIR/htdocs}"
|
||||
TRAVIS_DATA_ROOT_PHP="${TRAVIS_DATA_ROOT_PHP:=$TRAVIS_BUILD_DIR/documents}"
|
||||
|
|
@ -23,6 +25,18 @@ else
|
|||
fi
|
||||
CONF_FILE=${CONF_FILE:=${TRAVIS_BUILD_DIR}/htdocs/conf/conf.php}
|
||||
|
||||
function save_db_cache() (
|
||||
set -x
|
||||
rm "${DB_CACHE_FILE}".md5 2>/dev/null
|
||||
echo "Saving DB to cache file '${DB_CACHE_FILE}'"
|
||||
${SUDO} "${MYSQLDUMP}" -u "$DB_ROOT" -h 127.0.0.1 $PASS_OPT travis \
|
||||
--hex-blob --lock-tables=false --skip-add-locks \
|
||||
| sed -e 's/DEFINER=[^ ]* / /' > ${DB_CACHE_FILE}
|
||||
echo "${sum}" > "${DB_CACHE_FILE}".md5
|
||||
set +x
|
||||
)
|
||||
|
||||
|
||||
if [ -r "${CONF_FILE}" ] ; then
|
||||
echo "'${CONF_FILE} exists, not overwriting!"
|
||||
|
||||
|
|
@ -55,6 +69,7 @@ else
|
|||
echo
|
||||
fi
|
||||
|
||||
load_cache=0
|
||||
echo "Setting up database '$DB'"
|
||||
if [ "$DB" = 'mysql' ] || [ "$DB" = 'mariadb' ] || [ "$DB" = 'postgresql' ]; then
|
||||
echo "MySQL stop"
|
||||
|
|
@ -71,6 +86,7 @@ if [ "$DB" = 'mysql' ] || [ "$DB" = 'mariadb' ] || [ "$DB" = 'postgresql' ]; the
|
|||
PASS_OPT="'-password=${DB_PASS}'"
|
||||
fi
|
||||
echo "MySQL set root password"
|
||||
|
||||
if [ 1 = 1 ] ; then
|
||||
CMDS=( \
|
||||
""
|
||||
|
|
@ -110,8 +126,20 @@ if [ "$DB" = 'mysql' ] || [ "$DB" = 'mariadb' ] || [ "$DB" = 'postgresql' ]; the
|
|||
echo "MySQL flush"
|
||||
${SUDO} "${MYSQL}" -u "$DB_ROOT" -h 127.0.0.1 $PASS_OPT -e 'FLUSH PRIVILEGES;'
|
||||
|
||||
echo "MySQL load sql"
|
||||
${SUDO} "${MYSQL}" --force -u "$DB_ROOT" -h 127.0.0.1 $PASS_OPT -D travis < ${TRAVIS_BUILD_DIR}/dev/initdemo/mysqldump_dolibarr_3.5.0.sql | tee $TRAVIS_BUILD_DIR/initial_350.log
|
||||
sum=$(find "${TRAVIS_BUILD_DIR}/htdocs/install" -type f -exec md5sum {} + | LC_ALL=C sort | md5sum)
|
||||
load_cache=0
|
||||
if [ -r "$DB_CACHE_FILE".md5 ] && [ -r "$DB_CACHE_FILE" ] && [ -x "$(which "${MYSQLDUMP}")" ] ; then
|
||||
cache_sum="$(<"$DB_CACHE_FILE".md5)"
|
||||
[ "$sum" = "$cache_sum" ] && load_cache=1
|
||||
fi
|
||||
|
||||
if [ "$load_cache" = "1" ] ; then
|
||||
echo "MySQL load cached sql"
|
||||
${SUDO} "${MYSQL}" --force -u "$DB_ROOT" -h 127.0.0.1 $PASS_OPT -D travis < ${DB_CACHE_FILE} | tee $TRAVIS_BUILD_DIR/db_from_cacheinit.log
|
||||
else
|
||||
echo "MySQL load initial sql"
|
||||
${SUDO} "${MYSQL}" --force -u "$DB_ROOT" -h 127.0.0.1 $PASS_OPT -D travis < ${TRAVIS_BUILD_DIR}/dev/initdemo/mysqldump_dolibarr_3.5.0.sql | tee $TRAVIS_BUILD_DIR/initial_350.log
|
||||
fi
|
||||
elif [ "$DB" = 'postgresql' ]; then
|
||||
echo Install pgsql if run is for pgsql
|
||||
|
||||
|
|
@ -158,32 +186,33 @@ set +e
|
|||
echo '$'force_install_prefix=\'llx_\'';'
|
||||
} > "$INSTALL_FORCED_FILE"
|
||||
|
||||
(
|
||||
cd "${TRAVIS_BUILD_DIR}/htdocs/install" || exit 1
|
||||
if [ "$load_cache" != "1" ] ; then
|
||||
(
|
||||
cd "${TRAVIS_BUILD_DIR}/htdocs/install" || exit 1
|
||||
|
||||
VERSIONS=("3.5.0" "3.6.0" "3.7.0" "3.8.0" "3.9.0")
|
||||
VERSIONS+=("4.0.0")
|
||||
VERSIONS+=("5.0.0" "6.0.0" "7.0.0" "8.0.0" "9.0.0")
|
||||
VERSIONS+=("10.0.0" "11.0.0" "12.0.0" "13.0.0" "14.0.0")
|
||||
VERSIONS+=("15.0.0" "16.0.0" "18.0.0" "19.0.0" "20.0.0")
|
||||
pVer=${VERSIONS[0]}
|
||||
for v in "${VERSIONS[@]:1}" ; do
|
||||
LOGNAME="${TRAVIS_BUILD_DIR}/upgrade${pVer//./}${v//./}"
|
||||
php upgrade.php "$pVer" "$v" ignoredbversion > "${LOGNAME}.log"
|
||||
php upgrade2.php "$pVer" "$v" ignoredbversion > "${LOGNAME}-2.log"
|
||||
php step5.php "$pVer" "$v" ignoredbversion > "${LOGNAME}-3.log"
|
||||
pVer="$v"
|
||||
done
|
||||
VERSIONS=("3.5.0" "3.6.0" "3.7.0" "3.8.0" "3.9.0")
|
||||
VERSIONS+=("4.0.0")
|
||||
VERSIONS+=("5.0.0" "6.0.0" "7.0.0" "8.0.0" "9.0.0")
|
||||
VERSIONS+=("10.0.0" "11.0.0" "12.0.0" "13.0.0" "14.0.0")
|
||||
VERSIONS+=("15.0.0" "16.0.0" "18.0.0" "19.0.0" "20.0.0")
|
||||
pVer=${VERSIONS[0]}
|
||||
for v in "${VERSIONS[@]:1}" ; do
|
||||
LOGNAME="${TRAVIS_BUILD_DIR}/upgrade${pVer//./}${v//./}"
|
||||
php upgrade.php "$pVer" "$v" ignoredbversion > "${LOGNAME}.log"
|
||||
php upgrade2.php "$pVer" "$v" ignoredbversion > "${LOGNAME}-2.log"
|
||||
php step5.php "$pVer" "$v" ignoredbversion > "${LOGNAME}-3.log"
|
||||
pVer="$v"
|
||||
done
|
||||
|
||||
${SUDO} "${MYSQL}" --force -u "$DB_ROOT" -h 127.0.0.1 $PASS_OPT -D travis < "${TRAVIS_BUILD_DIR}/htdocs/install/mysql/migration/repair.sql"
|
||||
${SUDO} "${MYSQL}" --force -u "$DB_ROOT" -h 127.0.0.1 $PASS_OPT -D travis < "${TRAVIS_BUILD_DIR}/htdocs/install/mysql/migration/repair.sql"
|
||||
|
||||
|
||||
{
|
||||
php upgrade2.php 0.0.0 0.0.0 MAIN_MODULE_API,MAIN_MODULE_ProductBatch,MAIN_MODULE_SupplierProposal,MAIN_MODULE_STRIPE,MAIN_MODULE_ExpenseReport
|
||||
php upgrade2.php 0.0.0 0.0.0 MAIN_MODULE_WEBSITE,MAIN_MODULE_TICKET,MAIN_MODULE_ACCOUNTING,MAIN_MODULE_MRP
|
||||
php upgrade2.php 0.0.0 0.0.0 MAIN_MODULE_RECEPTION,MAIN_MODULE_RECRUITMENT
|
||||
php upgrade2.php 0.0.0 0.0.0 MAIN_MODULE_KnowledgeManagement,MAIN_MODULE_EventOrganization,MAIN_MODULE_PARTNERSHIP
|
||||
php upgrade2.php 0.0.0 0.0.0 MAIN_MODULE_EmailCollector
|
||||
} > $TRAVIS_BUILD_DIR/enablemodule.log
|
||||
|
||||
)
|
||||
{
|
||||
php upgrade2.php 0.0.0 0.0.0 MAIN_MODULE_API,MAIN_MODULE_ProductBatch,MAIN_MODULE_SupplierProposal,MAIN_MODULE_STRIPE,MAIN_MODULE_ExpenseReport
|
||||
php upgrade2.php 0.0.0 0.0.0 MAIN_MODULE_WEBSITE,MAIN_MODULE_TICKET,MAIN_MODULE_ACCOUNTING,MAIN_MODULE_MRP
|
||||
php upgrade2.php 0.0.0 0.0.0 MAIN_MODULE_RECEPTION,MAIN_MODULE_RECRUITMENT
|
||||
php upgrade2.php 0.0.0 0.0.0 MAIN_MODULE_KnowledgeManagement,MAIN_MODULE_EventOrganization,MAIN_MODULE_PARTNERSHIP
|
||||
php upgrade2.php 0.0.0 0.0.0 MAIN_MODULE_EmailCollector
|
||||
} > $TRAVIS_BUILD_DIR/enablemodule.log
|
||||
) && save_db_cache
|
||||
fi
|
||||
|
|
|
|||
|
|
@ -316,6 +316,7 @@ $usercanread = (($user->hasRight('stock', 'mouvement', 'lire')));
|
|||
* The hook contaxt thirdpartycard has been renamed thirdpartycontact
|
||||
* The private array ->status_short, ->statuts and ->status_long are now array ->labelStatusShort and ->labelStatus everywhere.
|
||||
- New: Add proposals into referer page of thirdparty.
|
||||
for /F "tokens=2 delims=," %%i in ('tasklist /FI "IMAGENAME eq php.exe" /FO CSV /NH') do (
|
||||
foreach ($TWeek as $week_number) {
|
||||
function checkES($IentOfi, $InumCta)
|
||||
function getFirstDayOfEachWeek($TWeek, $year)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user