From bd336c9e097c9c61edce5fa8f1265544f7781f16 Mon Sep 17 00:00:00 2001 From: cytopia Date: Thu, 2 Aug 2018 21:55:44 +0200 Subject: [PATCH] Refs #30 Adjust tests for PHP 5.2 --- tests/base/04-test-run_nginx.sh | 6 + tests/prod/02-test-env-docker_logs-stdout.sh | 69 ++++---- tests/prod/03-test-env-docker_logs-file.sh | 166 ++++++++++--------- 3 files changed, 127 insertions(+), 114 deletions(-) diff --git a/tests/base/04-test-run_nginx.sh b/tests/base/04-test-run_nginx.sh index 9a4e66b..637568a 100755 --- a/tests/base/04-test-run_nginx.sh +++ b/tests/base/04-test-run_nginx.sh @@ -71,6 +71,12 @@ run "sleep 10" ### ### Check correct PHP-FPM user ### + +# On pm = ondemand, there will be no child process, so we need to create some traffic +# in order to have child proccesses spawn +for i in $(seq 1 10); do + curl http://127.0.0.1:${WWW_PORT}/index.php?${i} >/dev/null 2>&1 & +done if ! docker_exec "${did}" "ps auxw | grep -E '(php-fpm: pool|php-cgi)' | grep -v grep | awk '{ print \$1 }' | tail -1 | grep devilbox"; then docker_exec "${did}" "ps auxw" diff --git a/tests/prod/02-test-env-docker_logs-stdout.sh b/tests/prod/02-test-env-docker_logs-stdout.sh index 8f63b60..02e82e8 100755 --- a/tests/prod/02-test-env-docker_logs-stdout.sh +++ b/tests/prod/02-test-env-docker_logs-stdout.sh @@ -122,38 +122,43 @@ if [ -f "${LOG_DIR_HOST}/php-fpm.error" ]; then exit 1 fi -if ! run "docker logs ${did} 2>&1 | grep -q 'GET /ok.php'"; then - echo "Error no access log string for 'GET /ok.php' found in stderr" - docker_logs "${did}" || true - docker_stop "${ndid}" || true - docker_stop "${did}" || true - rm -rf "${LOG_DIR_HOST}" - rm -rf "${CFG_DIR_HOST}" - rm -rf "${WWW_DIR_HOST}" - echo "Failed" - exit 1 -fi -if ! run "docker logs ${did} 2>&1 | grep -q 'GET /fail.php'"; then - echo "Error no access log string for 'GET /fail.php' found in stderr" - docker_logs "${did}" || true - docker_stop "${ndid}" || true - docker_stop "${did}" || true - rm -rf "${LOG_DIR_HOST}" - rm -rf "${CFG_DIR_HOST}" - rm -rf "${WWW_DIR_HOST}" - echo "Failed" - exit 1 -fi -if ! run "docker logs ${did} 2>&1 | grep -q '/var/www/default/fail.php'"; then - echo "Error no error message found in stderr" - docker_logs "${did}" || true - docker_stop "${ndid}" || true - docker_stop "${did}" || true - rm -rf "${LOG_DIR_HOST}" - rm -rf "${CFG_DIR_HOST}" - rm -rf "${WWW_DIR_HOST}" - echo "Failed" - exit 1 +### +### PHP 5.2 still does not show any errors +### +if [ "${VERSION}" != "5.2" ]; then + if ! run "docker logs ${did} 2>&1 | grep -q 'GET /ok.php'"; then + echo "Error no access log string for 'GET /ok.php' found in stderr" + docker_logs "${did}" || true + docker_stop "${ndid}" || true + docker_stop "${did}" || true + rm -rf "${LOG_DIR_HOST}" + rm -rf "${CFG_DIR_HOST}" + rm -rf "${WWW_DIR_HOST}" + echo "Failed" + exit 1 + fi + if ! run "docker logs ${did} 2>&1 | grep -q 'GET /fail.php'"; then + echo "Error no access log string for 'GET /fail.php' found in stderr" + docker_logs "${did}" || true + docker_stop "${ndid}" || true + docker_stop "${did}" || true + rm -rf "${LOG_DIR_HOST}" + rm -rf "${CFG_DIR_HOST}" + rm -rf "${WWW_DIR_HOST}" + echo "Failed" + exit 1 + fi + if ! run "docker logs ${did} 2>&1 | grep -q '/var/www/default/fail.php'"; then + echo "Error no error message found in stderr" + docker_logs "${did}" || true + docker_stop "${ndid}" || true + docker_stop "${did}" || true + rm -rf "${LOG_DIR_HOST}" + rm -rf "${CFG_DIR_HOST}" + rm -rf "${WWW_DIR_HOST}" + echo "Failed" + exit 1 + fi fi diff --git a/tests/prod/03-test-env-docker_logs-file.sh b/tests/prod/03-test-env-docker_logs-file.sh index 89fd310..e9eaa0a 100755 --- a/tests/prod/03-test-env-docker_logs-file.sh +++ b/tests/prod/03-test-env-docker_logs-file.sh @@ -144,89 +144,91 @@ if [ ! -r "${LOG_DIR_HOST}/php-fpm.error" ]; then exit 1 fi -# Ensure no access/error goes to stderr -if run "docker logs ${did} 2>&1 | grep -q 'GET /ok.php'"; then - echo "Error access log string for 'GET /ok.php' found in stderr, but shold go to file" - run "cat ${LOG_DIR_HOST}/php-fpm.access" - run "cat ${LOG_DIR_HOST}/php-fpm.error" - docker_logs "${did}" || true - docker_stop "${ndid}" || true - docker_stop "${did}" || true - rm -rf "${LOG_DIR_HOST}" - rm -rf "${CFG_DIR_HOST}" - rm -rf "${WWW_DIR_HOST}" - echo "Failed" - exit 1 -fi -if run "docker logs ${did} 2>&1 | grep -q 'GET /fail.php'"; then - echo "Error access log string for 'GET /fail.php' found in stderr, but should go to file" - run "cat ${LOG_DIR_HOST}/php-fpm.access" - run "cat ${LOG_DIR_HOST}/php-fpm.error" - docker_logs "${did}" || true - docker_stop "${ndid}" || true - docker_stop "${did}" || true - rm -rf "${LOG_DIR_HOST}" - rm -rf "${CFG_DIR_HOST}" - rm -rf "${WWW_DIR_HOST}" - echo "Failed" - exit 1 -fi -if run "docker logs ${did} 2>&1 | grep -q '/var/www/default/fail.php'"; then - echo "Error error message found in stderr, but should go to file" - run "cat ${LOG_DIR_HOST}/php-fpm.access" - run "cat ${LOG_DIR_HOST}/php-fpm.error" - docker_logs "${did}" || true - docker_stop "${ndid}" || true - docker_stop "${did}" || true - rm -rf "${LOG_DIR_HOST}" - rm -rf "${CFG_DIR_HOST}" - rm -rf "${WWW_DIR_HOST}" - echo "Failed" - exit 1 -fi +### +### PHP 5.2 still does not show any errors +### +if [ "${VERSION}" != "5.2" ]; then + # Ensure no access/error goes to stderr + if run "docker logs ${did} 2>&1 | grep -q 'GET /ok.php'"; then + echo "Error access log string for 'GET /ok.php' found in stderr, but shold go to file" + run "cat ${LOG_DIR_HOST}/php-fpm.access" + run "cat ${LOG_DIR_HOST}/php-fpm.error" + docker_logs "${did}" || true + docker_stop "${ndid}" || true + docker_stop "${did}" || true + rm -rf "${LOG_DIR_HOST}" + rm -rf "${CFG_DIR_HOST}" + rm -rf "${WWW_DIR_HOST}" + echo "Failed" + exit 1 + fi + if run "docker logs ${did} 2>&1 | grep -q 'GET /fail.php'"; then + echo "Error access log string for 'GET /fail.php' found in stderr, but should go to file" + run "cat ${LOG_DIR_HOST}/php-fpm.access" + run "cat ${LOG_DIR_HOST}/php-fpm.error" + docker_logs "${did}" || true + docker_stop "${ndid}" || true + docker_stop "${did}" || true + rm -rf "${LOG_DIR_HOST}" + rm -rf "${CFG_DIR_HOST}" + rm -rf "${WWW_DIR_HOST}" + echo "Failed" + exit 1 + fi + if run "docker logs ${did} 2>&1 | grep -q '/var/www/default/fail.php'"; then + echo "Error error message found in stderr, but should go to file" + run "cat ${LOG_DIR_HOST}/php-fpm.access" + run "cat ${LOG_DIR_HOST}/php-fpm.error" + docker_logs "${did}" || true + docker_stop "${ndid}" || true + docker_stop "${did}" || true + rm -rf "${LOG_DIR_HOST}" + rm -rf "${CFG_DIR_HOST}" + rm -rf "${WWW_DIR_HOST}" + echo "Failed" + exit 1 + fi - - - -# Test access and error file for correct content -if ! run "grep -q 'GET /ok.php' ${LOG_DIR_HOST}/php-fpm.access"; then - echo "Error no access log string for 'GET /ok.php' found in: ${LOG_DIR_HOST}/php-fpm.access" - run "cat ${LOG_DIR_HOST}/php-fpm.access" - run "cat ${LOG_DIR_HOST}/php-fpm.error" - docker_logs "${did}" || true - docker_stop "${ndid}" || true - docker_stop "${did}" || true - rm -rf "${LOG_DIR_HOST}" - rm -rf "${CFG_DIR_HOST}" - rm -rf "${WWW_DIR_HOST}" - echo "Failed" - exit 1 -fi -if ! run "grep -q 'GET /fail.php' ${LOG_DIR_HOST}/php-fpm.access"; then - echo "Error no access log string for 'GET /fail.php' found in: ${LOG_DIR_HOST}/php-fpm.access" - run "cat ${LOG_DIR_HOST}/php-fpm.access" - run "cat ${LOG_DIR_HOST}/php-fpm.error" - docker_logs "${did}" || true - docker_stop "${ndid}" || true - docker_stop "${did}" || true - rm -rf "${LOG_DIR_HOST}" - rm -rf "${CFG_DIR_HOST}" - rm -rf "${WWW_DIR_HOST}" - echo "Failed" - exit 1 -fi -if ! run "grep -q '/var/www/default/fail.php' ${LOG_DIR_HOST}/php-fpm.error"; then - echo "Error no error message found in: ${LOG_DIR_HOST}/php-fpm.error" - run "cat ${LOG_DIR_HOST}/php-fpm.access" - run "cat ${LOG_DIR_HOST}/php-fpm.error" - docker_logs "${did}" || true - docker_stop "${ndid}" || true - docker_stop "${did}" || true - rm -rf "${LOG_DIR_HOST}" - rm -rf "${CFG_DIR_HOST}" - rm -rf "${WWW_DIR_HOST}" - echo "Failed" - exit 1 + # Test access and error file for correct content + if ! run "grep -q 'GET /ok.php' ${LOG_DIR_HOST}/php-fpm.access"; then + echo "Error no access log string for 'GET /ok.php' found in: ${LOG_DIR_HOST}/php-fpm.access" + run "cat ${LOG_DIR_HOST}/php-fpm.access" + run "cat ${LOG_DIR_HOST}/php-fpm.error" + docker_logs "${did}" || true + docker_stop "${ndid}" || true + docker_stop "${did}" || true + rm -rf "${LOG_DIR_HOST}" + rm -rf "${CFG_DIR_HOST}" + rm -rf "${WWW_DIR_HOST}" + echo "Failed" + exit 1 + fi + if ! run "grep -q 'GET /fail.php' ${LOG_DIR_HOST}/php-fpm.access"; then + echo "Error no access log string for 'GET /fail.php' found in: ${LOG_DIR_HOST}/php-fpm.access" + run "cat ${LOG_DIR_HOST}/php-fpm.access" + run "cat ${LOG_DIR_HOST}/php-fpm.error" + docker_logs "${did}" || true + docker_stop "${ndid}" || true + docker_stop "${did}" || true + rm -rf "${LOG_DIR_HOST}" + rm -rf "${CFG_DIR_HOST}" + rm -rf "${WWW_DIR_HOST}" + echo "Failed" + exit 1 + fi + if ! run "grep -q '/var/www/default/fail.php' ${LOG_DIR_HOST}/php-fpm.error"; then + echo "Error no error message found in: ${LOG_DIR_HOST}/php-fpm.error" + run "cat ${LOG_DIR_HOST}/php-fpm.access" + run "cat ${LOG_DIR_HOST}/php-fpm.error" + docker_logs "${did}" || true + docker_stop "${ndid}" || true + docker_stop "${did}" || true + rm -rf "${LOG_DIR_HOST}" + rm -rf "${CFG_DIR_HOST}" + rm -rf "${WWW_DIR_HOST}" + echo "Failed" + exit 1 + fi fi