Fix base/ tests

This commit is contained in:
cytopia
2022-03-23 11:51:19 +01:00
parent 7041e6ef0a
commit a0e7ae7131
4 changed files with 102 additions and 80 deletions

View File

@@ -23,58 +23,64 @@ FLAVOUR="${4}"
###
### uid: 1005 (new uid)
###
did="$( docker_run "${IMAGE}:${VERSION}-${FLAVOUR}" "${ARCH}" "-e DEBUG_ENTRYPOINT=2 -e NEW_UID=1005" )"
if ! run "docker logs ${did} 2>&1 | grep -q '1005'"; then
docker_logs "${did}" || true
docker_stop "${did}" || true
print_h2 "DEBUG_ENTRYPOINT=2 NEW_UID=1005"
if ! name="$( docker_run "${IMAGE}:${VERSION}-${FLAVOUR}" "${ARCH}" "-e DEBUG_ENTRYPOINT=2 -e NEW_UID=1005" )"; then
exit 1
fi
if ! run "docker logs ${name} 2>&1 | grep -q '1005'"; then
docker_logs "${name}" || true
docker_stop "${name}" || true
echo "Failed"
exit 1
fi
if ! docker_exec "${did}" "id | grep 'uid=1005'" "--user=devilbox"; then
docker_logs "${did}" || true
docker_stop "${did}" || true
if ! docker_exec "${name}" "id | grep 'uid=1005'" "--user=devilbox"; then
docker_logs "${name}" || true
docker_stop "${name}" || true
echo "Failed"
exit 1
fi
docker_stop "${did}"
docker_stop "${name}"
###
### uid: 1000 (same uid)
###
did="$( docker_run "${IMAGE}:${VERSION}-${FLAVOUR}" "${ARCH}" "-e DEBUG_ENTRYPOINT=2 -e NEW_UID=1000" )"
if ! run "docker logs ${did} 2>&1 | grep -q '1000'"; then
docker_logs "${did}" || true
docker_stop "${did}" || true
print_h2 "DEBUG_ENTRYPOINT=2 NEW_UID=1000"
if ! name="$( docker_run "${IMAGE}:${VERSION}-${FLAVOUR}" "${ARCH}" "-e DEBUG_ENTRYPOINT=2 -e NEW_UID=1000" )"; then
exit 1
fi
if ! run "docker logs ${name} 2>&1 | grep -q '1000'"; then
docker_logs "${name}" || true
docker_stop "${name}" || true
echo "Failed"
exit 1
fi
if ! docker_exec "${did}" "id | grep 'uid=1000'" "--user=devilbox"; then
docker_logs "${did}" || true
docker_stop "${did}" || true
if ! docker_exec "${name}" "id | grep 'uid=1000'" "--user=devilbox"; then
docker_logs "${name}" || true
docker_stop "${name}" || true
echo "Failed"
exit 1
fi
docker_stop "${did}"
docker_stop "${name}"
###
### uid: 33 (existing uid)
###
did="$( docker_run "${IMAGE}:${VERSION}-${FLAVOUR}" "${ARCH}" "-e DEBUG_ENTRYPOINT=2 -e NEW_UID=33" )"
if ! run "docker logs ${did} 2>&1 | grep -q '33'"; then
docker_logs "${did}" || true
docker_stop "${did}" || true
print_h2 "DEBUG_ENTRYPOINT=2 NEW_UID=33"
if ! name="$( docker_run "${IMAGE}:${VERSION}-${FLAVOUR}" "${ARCH}" "-e DEBUG_ENTRYPOINT=2 -e NEW_UID=33" )"; then
exit 1
fi
if ! run "docker logs ${name} 2>&1 | grep -q '33'"; then
docker_logs "${name}" || true
docker_stop "${name}" || true
echo "Failed"
exit 1
fi
if ! docker_exec "${did}" "id | grep 'uid=33'" "--user=devilbox"; then
docker_logs "${did}" || true
docker_stop "${did}" || true
if ! docker_exec "${name}" "id | grep 'uid=33'" "--user=devilbox"; then
docker_logs "${name}" || true
docker_stop "${name}" || true
echo "Failed"
exit 1
fi
docker_stop "${did}"
docker_stop "${name}"

View File

@@ -23,58 +23,64 @@ FLAVOUR="${4}"
###
### gid: 1005 (new gid)
###
did="$( docker_run "${IMAGE}:${VERSION}-${FLAVOUR}" "${ARCH}" "-e DEBUG_ENTRYPOINT=2 -e NEW_GID=1005" )"
if ! run "docker logs ${did} 2>&1 | grep -q '1005'"; then
docker_logs "${did}" || true
docker_stop "${did}" || true
print_h2 "DEBUG_ENTRYPOINT=2 NEW_GID=1005"
if ! name="$( docker_run "${IMAGE}:${VERSION}-${FLAVOUR}" "${ARCH}" "-e DEBUG_ENTRYPOINT=2 -e NEW_GID=1005" )"; then
exit 1
fi
if ! run "docker logs ${name} 2>&1 | grep -q '1005'"; then
docker_logs "${name}" || true
docker_stop "${name}" || true
echo "Failed"
exit 1
fi
if ! docker_exec "${did}" "id | grep 'gid=1005'" "--user=devilbox"; then
docker_logs "${did}" || true
docker_stop "${did}" || true
if ! docker_exec "${name}" "id | grep 'gid=1005'" "--user=devilbox"; then
docker_logs "${name}" || true
docker_stop "${name}" || true
echo "Failed"
exit 1
fi
docker_stop "${did}"
docker_stop "${name}"
###
### gid: 1000 (same gid)
###
did="$( docker_run "${IMAGE}:${VERSION}-${FLAVOUR}" "${ARCH}" "-e DEBUG_ENTRYPOINT=2 -e NEW_GID=1000" )"
if ! run "docker logs ${did} 2>&1 | grep -q '1000'"; then
docker_logs "${did}" || true
docker_stop "${did}" || true
print_h2 "DEBUG_ENTRYPOINT=2 NEW_GID=1000"
if ! name="$( docker_run "${IMAGE}:${VERSION}-${FLAVOUR}" "${ARCH}" "-e DEBUG_ENTRYPOINT=2 -e NEW_GID=1000" )"; then
exit 1
fi
if ! run "docker logs ${name} 2>&1 | grep -q '1000'"; then
docker_logs "${name}" || true
docker_stop "${name}" || true
echo "Failed"
exit 1
fi
if ! docker_exec "${did}" "id | grep 'gid=1000'" "--user=devilbox"; then
docker_logs "${did}" || true
docker_stop "${did}" || true
if ! docker_exec "${name}" "id | grep 'gid=1000'" "--user=devilbox"; then
docker_logs "${name}" || true
docker_stop "${name}" || true
echo "Failed"
exit 1
fi
docker_stop "${did}"
docker_stop "${name}"
###
### gid: 33 (existing gid)
###
did="$( docker_run "${IMAGE}:${VERSION}-${FLAVOUR}" "${ARCH}" "-e DEBUG_ENTRYPOINT=2 -e NEW_GID=33" )"
if ! run "docker logs ${did} 2>&1 | grep -q '33'"; then
docker_logs "${did}" || true
docker_stop "${did}" || true
print_h2 "DEBUG_ENTRYPOINT=2 NEW_GID=33"
if ! name="$( docker_run "${IMAGE}:${VERSION}-${FLAVOUR}" "${ARCH}" "-e DEBUG_ENTRYPOINT=2 -e NEW_GID=33" )"; then
exit 1
fi
if ! run "docker logs ${name} 2>&1 | grep -q '33'"; then
docker_logs "${name}" || true
docker_stop "${name}" || true
echo "Failed"
exit 1
fi
if ! docker_exec "${did}" "id | grep 'gid=33'" "--user=devilbox"; then
docker_logs "${did}" || true
docker_stop "${did}" || true
if ! docker_exec "${name}" "id | grep 'gid=33'" "--user=devilbox"; then
docker_logs "${name}" || true
docker_stop "${name}" || true
echo "Failed"
exit 1
fi
docker_stop "${did}"
docker_stop "${name}"

View File

@@ -38,12 +38,15 @@ chmod 0777 "${CONFIG_HOST}"
chmod 0777 "${DOC_ROOT_HOST}"
chmod 0644 "${DOC_ROOT_HOST}/index.php"
print_h2 "Start PHP-FPM and Nginx"
# Pull Image
run "until docker pull --platform ${ARCH} ${CONTAINER}; do sleep 1; done"
# Start PHP-FPM
did="$( docker_run "${IMAGE}:${VERSION}-${FLAVOUR}" "${ARCH}" "-e DEBUG_ENTRYPOINT=2 -e NEW_UID=$(id -u) -e NEW_GID=$(id -g) -v ${DOC_ROOT_HOST}:${DOC_ROOT_CONT}" )"
name="$( docker_name "${did}" )"
if ! name="$( docker_run "${IMAGE}:${VERSION}-${FLAVOUR}" "${ARCH}" "-e DEBUG_ENTRYPOINT=2 -e NEW_UID=$(id -u) -e NEW_GID=$(id -g) -v ${DOC_ROOT_HOST}:${DOC_ROOT_CONT}" )"; then
exit 1
fi
# Nginx.conf
{
@@ -63,8 +66,10 @@ name="$( docker_name "${did}" )"
} > "${CONFIG_HOST}/php.conf"
# Start Nginx
ndid="$( docker_run "${CONTAINER}" "${ARCH}" "-v ${DOC_ROOT_HOST}:${DOC_ROOT_CONT} -v ${CONFIG_HOST}:${CONFIG_CONT} -p ${WWW_PORT}:80 --link ${name}" )"
if ! nginx_name="$( docker_run "${CONTAINER}" "${ARCH}" "-v ${DOC_ROOT_HOST}:${DOC_ROOT_CONT} -v ${CONFIG_HOST}:${CONFIG_CONT} -p ${WWW_PORT}:80 --link ${name}" )"; then
docker_stop "${name}" || true
exit 1
fi
# Wait for both containers to be up and running
run "sleep 10"
@@ -72,18 +77,18 @@ run "sleep 10"
###
### Check correct PHP-FPM user
###
print_h2 "Check 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"
if ! docker_exec "${name}" "ps auxw | grep -E '(php-fpm: pool|php-cgi)' | grep -v grep | awk '{ print \$1 }' | tail -1 | grep devilbox"; then
docker_exec "${name}" "ps auxw"
# Shutdown
docker_stop "${ndid}" || true
docker_stop "${did}" || true
docker_stop "${nginx_name}" || true
docker_stop "${name}" || true
rm -rf "${DOC_ROOT_HOST}"
rm -rf "${CONFIG_HOST}"
echo "Failed"
@@ -95,6 +100,7 @@ fi
###
### Test Nginx with PHP-FPM
###
print_h2 "Test Nginx with PHP-FPM"
if ! run "curl -q -4 http://127.0.0.1:${WWW_PORT}/index.php 2>&1 | grep '${FINDME}'"; then
# Info
@@ -102,25 +108,25 @@ if ! run "curl -q -4 http://127.0.0.1:${WWW_PORT}/index.php 2>&1 | grep '${FINDM
run "curl -4 http://127.0.0.1:${WWW_PORT}/index.php" || true
run "curl -6 http://127.0.0.1:${WWW_PORT}/index.php" || true
run "docker ps --no-trunc"
docker_exec "${ndid}" "nginx -t"
docker_exec "${nginx_name}" "nginx -t"
# Show logs
docker_logs "${ndid}" || true
docker_logs "${did}" || true
docker_logs "${nginx_name}" || true
docker_logs "${name}" || true
# Ensure file is available
docker_exec "${ndid}" "ls -la ${DOC_ROOT_CONT}/"
docker_exec "${did}" "ls -la ${DOC_ROOT_CONT}/"
docker_exec "${nginx_name}" "ls -la ${DOC_ROOT_CONT}/"
docker_exec "${name}" "ls -la ${DOC_ROOT_CONT}/"
docker_exec "${ndid}" "cat ${DOC_ROOT_CONT}/index.php"
docker_exec "${did}" "cat ${DOC_ROOT_CONT}/index.php"
docker_exec "${nginx_name}" "cat ${DOC_ROOT_CONT}/index.php"
docker_exec "${name}" "cat ${DOC_ROOT_CONT}/index.php"
# Nginx configuration
docker_exec "${ndid}" "cat ${CONFIG_CONT}/php.conf"
docker_exec "${nginx_name}" "cat ${CONFIG_CONT}/php.conf"
# Shutdown
docker_stop "${ndid}" || true
docker_stop "${did}" || true
docker_stop "${nginx_name}" || true
docker_stop "${name}" || true
rm -rf "${DOC_ROOT_HOST}"
rm -rf "${CONFIG_HOST}"
echo "Failed"
@@ -131,7 +137,8 @@ fi
###
### Clean-up
###
docker_stop "${did}"
docker_stop "${ndid}"
print_h2 "Cleanup"
docker_stop "${nginx_name}"
docker_stop "${name}"
rm -rf "${DOC_ROOT_HOST}"
rm -rf "${CONFIG_HOST}"

View File

@@ -23,12 +23,15 @@ FLAVOUR="${4}"
###
### Ensuring 'apt update' works without any issues
###
did="$( docker_run "${IMAGE}:${VERSION}-${FLAVOUR}" "${ARCH}" "-e DEBUG_ENTRYPOINT=2" )"
print_h2 "Ensure 'apt update' works"
if ! name="$( docker_run "${IMAGE}:${VERSION}-${FLAVOUR}" "${ARCH}" "-e DEBUG_ENTRYPOINT=2" )"; then
exit 1
fi
if ! docker_exec "${did}" "apt update"; then
docker_logs "${did}" || true
docker_stop "${did}" || true
if ! docker_exec "${name}" "apt update"; then
docker_logs "${name}" || true
docker_stop "${name}" || true
echo "Failed"
exit 1
fi
docker_stop "${did}"
docker_stop "${name}"