From daf668a9693a65d66d57ccbe1bb365b163610c40 Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Mon, 8 Jan 2018 21:15:24 +0100 Subject: [PATCH 1/5] [ticket/15055] Display content on unexpted server error PHPBB3-15055 --- .appveyor.yml | 18 +++++++++--------- .../phpbb_functional_test_case.php | 7 ++++++- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/.appveyor.yml b/.appveyor.yml index e536a561ff..a729b034d9 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -7,15 +7,15 @@ services: environment: matrix: - - db: mssql - db_version: sql2012sp1 - php: 7.0 - - db: mssql - db_version: sql2014 - php: 7.0 - - db: mssql - db_version: sql2016 - php: 7.0 +# - db: mssql +# db_version: sql2012sp1 +# php: 7.0 +# - db: mssql +# db_version: sql2014 +# php: 7.0 +# - db: mssql +# db_version: sql2016 +# php: 7.0 - db: mssql db_version: sql2017 php: 7.1 diff --git a/tests/test_framework/phpbb_functional_test_case.php b/tests/test_framework/phpbb_functional_test_case.php index 2be16c7198..a63d5dc5ec 100644 --- a/tests/test_framework/phpbb_functional_test_case.php +++ b/tests/test_framework/phpbb_functional_test_case.php @@ -911,10 +911,15 @@ class phpbb_functional_test_case extends phpbb_test_case * status code. This assertion tries to catch that. * * @param int $status_code Expected status code - * @return null + * @return void */ static public function assert_response_status_code($status_code = 200) { + if ($status_code != self::$client->getResponse()->getStatus() && + preg_match('/^5[0-9]{2}/', self::$client->getResponse()->getStatus())) + { + self::fail('Encountered unexpected server error:\n' . self::$client->getResponse()->getContent()); + } self::assertEquals($status_code, self::$client->getResponse()->getStatus(), 'HTTP status code does not match'); } From 3c7f45c1665d51b0aba1ab44d378f8a0ad861e09 Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Mon, 8 Jan 2018 22:19:58 +0100 Subject: [PATCH 2/5] [ticket/15055] Fix line break and disable sql server 2017 for now SQL Server 2017 currently fails for unknown reasons and just results in an overall longer build time. Therefore disabling it for now. PHPBB3-15055 --- .appveyor.yml | 26 +++++++++++-------- .../phpbb_functional_test_case.php | 2 +- 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/.appveyor.yml b/.appveyor.yml index a729b034d9..1e2bc1c184 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -7,18 +7,18 @@ services: environment: matrix: -# - db: mssql -# db_version: sql2012sp1 -# php: 7.0 -# - db: mssql -# db_version: sql2014 -# php: 7.0 -# - db: mssql -# db_version: sql2016 -# php: 7.0 - db: mssql - db_version: sql2017 - php: 7.1 + db_version: sql2012sp1 + php: 7.0 + - db: mssql + db_version: sql2014 + php: 7.0 + - db: mssql + db_version: sql2016 + php: 7.0 +# - db: mssql +# db_version: sql2017 +# php: 7.1 # - db: mariadb # php: 7.1 # - db: mysqli @@ -114,6 +114,10 @@ before_test: # Install PhantomJS cinst -y phantomjs Start-Process "phantomjs" "--webdriver=8910" | Out-Null + - ps: | + cd c:\projects\phpbb\phpBB + (Get-Content c:\projects\phpbb\phpBB\web.config).replace("", "`n`t`n`t`t`n`t") | Set-Content c:\projects\phpbb\phpBB\web.config + (Get-Content c:\projects\phpbb\phpBB\web.config).replace("`t", "`t`t`n`t") | Set-Content c:\projects\phpbb\phpBB\web.config - cd c:\projects\phpbb\phpBB - php ..\composer.phar install - choco install -y urlrewrite diff --git a/tests/test_framework/phpbb_functional_test_case.php b/tests/test_framework/phpbb_functional_test_case.php index a63d5dc5ec..e1daa4558a 100644 --- a/tests/test_framework/phpbb_functional_test_case.php +++ b/tests/test_framework/phpbb_functional_test_case.php @@ -918,7 +918,7 @@ class phpbb_functional_test_case extends phpbb_test_case if ($status_code != self::$client->getResponse()->getStatus() && preg_match('/^5[0-9]{2}/', self::$client->getResponse()->getStatus())) { - self::fail('Encountered unexpected server error:\n' . self::$client->getResponse()->getContent()); + self::fail("Encountered unexpected server error:\n" . self::$client->getResponse()->getContent()); } self::assertEquals($status_code, self::$client->getResponse()->getStatus(), 'HTTP status code does not match'); } From 62f8fed7977ea451cfc7dbc6ea93297d29edd24c Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Tue, 9 Jan 2018 21:29:40 +0100 Subject: [PATCH 3/5] [ticket/15055] Run sql2016 builds with PHP 7.1 PHPBB3-15055 --- .appveyor.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.appveyor.yml b/.appveyor.yml index 1e2bc1c184..7ec7a47daa 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -15,7 +15,7 @@ environment: php: 7.0 - db: mssql db_version: sql2016 - php: 7.0 + php: 7.1 # - db: mssql # db_version: sql2017 # php: 7.1 From 8d551e2dedbde8c6126c2cbbb58768c1e2ad275d Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Wed, 10 Jan 2018 20:47:24 +0100 Subject: [PATCH 4/5] [ticket/15055] Specifiy PHP 7.1.12 and use development ini PHP 7.1.13 seems to randomly fail. Use 7.1.12 for now. PHPBB3-15055 --- .appveyor.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.appveyor.yml b/.appveyor.yml index 7ec7a47daa..0c5874f386 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -15,7 +15,7 @@ environment: php: 7.0 - db: mssql db_version: sql2016 - php: 7.1 + php: 7.1.12 # - db: mssql # db_version: sql2017 # php: 7.1 @@ -43,7 +43,7 @@ before_test: Get-ChildItem -Path "c:\tools\php$($env:php -replace '[.]','')" -Recurse | Move-Item -destination "c:\tools\php" cd c:\tools\php - cat php.ini-production | %{$_ -replace "memory_limit = 128M","memory_limit = 1024M"} | Out-File -Encoding "Default" php.ini + cat php.ini-development | %{$_ -replace "memory_limit = 128M","memory_limit = 1024M"} | Out-File -Encoding "Default" php.ini Add-Content php.ini "`n date.timezone=UTC" Add-Content php.ini "`n display_errors=On" Add-Content php.ini "`n extension_dir=ext" From 6a75fe26fc80e1ffab0242ea6c2e9d1c1ef7d7c7 Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Wed, 10 Jan 2018 21:24:30 +0100 Subject: [PATCH 5/5] [ticket/15055] Use regex to copy php to tools php PHPBB3-15055 --- .appveyor.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.appveyor.yml b/.appveyor.yml index 0c5874f386..a4fac799b2 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -40,7 +40,7 @@ before_test: - ps: | Set-Service wuauserv -StartupType Manual cinst -y php --version ((choco search php --exact --all-versions -r | select-string -pattern $env:php | sort { [version]($_ -split '\|' | select -last 1) } -Descending | Select-Object -first 1) -replace '[php|]','') - Get-ChildItem -Path "c:\tools\php$($env:php -replace '[.]','')" -Recurse | + Get-ChildItem -Path "c:\tools\php$($env:php -replace '([0-9])[.]([0-9])[.]?([0-9]+)?','$1$2')" -Recurse | Move-Item -destination "c:\tools\php" cd c:\tools\php cat php.ini-development | %{$_ -replace "memory_limit = 128M","memory_limit = 1024M"} | Out-File -Encoding "Default" php.ini @@ -64,10 +64,10 @@ before_test: if ($env:db -eq "mssql") { cd c:\tools\php\ext $DLLVersion = "4.1.6.1" - appveyor DownloadFile http://windows.php.net/downloads/pecl/releases/sqlsrv/$($:DLLVersion)/php_sqlsrv-$($DLLVersion)-$($env:php)-nts-vc14-x64.zip - 7z x -y php_sqlsrv-$($DLLVersion)-$($env:php)-nts-vc14-x64.zip > $null - appveyor-retry appveyor DownloadFile http://windows.php.net/downloads/pecl/releases/pdo_sqlsrv/$($DLLVersion)/php_pdo_sqlsrv-$($DLLVersion)-$($env:php)-nts-vc14-x64.zip - 7z x -y php_pdo_sqlsrv-$($DLLVersion)-$($env:php)-nts-vc14-x64.zip > $null + appveyor DownloadFile http://windows.php.net/downloads/pecl/releases/sqlsrv/$($:DLLVersion)/php_sqlsrv-$($DLLVersion)-$($env:php -replace '([0-9])[.]([0-9])[.]?([0-9]+)?','$1.$2')-nts-vc14-x64.zip + 7z x -y php_sqlsrv-$($DLLVersion)-$($env:php -replace '([0-9])[.]([0-9])[.]?([0-9]+)?','$1.$2')-nts-vc14-x64.zip > $null + appveyor-retry appveyor DownloadFile http://windows.php.net/downloads/pecl/releases/pdo_sqlsrv/$($DLLVersion)/php_pdo_sqlsrv-$($DLLVersion)-$($env:php -replace '([0-9])[.]([0-9])[.]?([0-9]+)?','$1.$2')-nts-vc14-x64.zip + 7z x -y php_pdo_sqlsrv-$($DLLVersion)-$($env:php -replace '([0-9])[.]([0-9])[.]?([0-9]+)?','$1.$2')-nts-vc14-x64.zip > $null Remove-Item c:\tools\php\* -include .zip cd c:\tools\php Add-Content php.ini "`nextension=php_sqlsrv.dll"