This is needed not to send requests to nginx before it is ready to listen: when the main process forks and exits, nginx is considered to be ready. Without this change, I observed a failure in the http test, but not the https one, probably, because the delay in the https test was larger due to an extra package being built: Run Testcase (22/29) test-apt-method-http Building package: simple-package Test for successful execution of apt-get update … Err http://localhost x86_64 release Could not connect to localhost:8080 (127.0.0.1). - connect (111 Connection refused) However: Run Testcase (23/29) test-apt-method-https Building package: simple-package Building package: conflicting-package-one Test for successful execution of apt-get update … PASS Test that package(s) are not installed with rpm -q simple-package … PASS Test for successful execution of apt-get install simple-package … PASS Test that package(s) are installed with rpm -q simple-package … PASS Pinning invalid key in apt Test for failure in execution of apt-get update … PASS Test that package(s) are not installed with rpm -q conflicting-package-one … PASS Test for failure in execution of apt-get install conflicting-package-one … PASS Test that package(s) are not installed with rpm -q conflicting-package-one … PASS --- test/integration/framework | 2 -- test/integration/test-apt-method-http | 5 +++-- test/integration/test-apt-method-https | 5 +++-- test/integration/test-apt-method-https-invalid-cert-hostname | 5 +++-- 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/test/integration/framework b/test/integration/framework index 5f0f58eda..eccfb174e 100644 --- a/test/integration/framework +++ b/test/integration/framework @@ -560,7 +560,6 @@ nginxsetuphttp() { cat >> $TMPWORKINGDIRECTORY/nginx/nginx.conf << ENDCONFIG worker_processes 1; error_log $TMPWORKINGDIRECTORY/nginx/error.log; -daemon off; pid $TMPWORKINGDIRECTORY/nginx/nginx.pid; events { @@ -606,7 +605,6 @@ nginxsetuphttps() { cat >> $TMPWORKINGDIRECTORY/nginx/nginx.conf << ENDCONFIG worker_processes 1; error_log $TMPWORKINGDIRECTORY/nginx/error.log; -daemon off; pid $TMPWORKINGDIRECTORY/nginx/nginx.pid; events { diff --git a/test/integration/test-apt-method-http b/test/integration/test-apt-method-http index 0872c99d4..d463a0d14 100755 --- a/test/integration/test-apt-method-http +++ b/test/integration/test-apt-method-http @@ -17,8 +17,9 @@ rpm http://localhost:8080/ $(getarchitecture) apt-tests rpm http://localhost:8080/ noarch apt-tests END -/usr/sbin/nginx -c $TMPWORKINGDIRECTORY/nginx/nginx.conf -p $TMPWORKINGDIRECTORY &>> $TMPWORKINGDIRECTORY/nginx/process-stderr.log & -NGINXPID=$! +/usr/sbin/nginx -c $TMPWORKINGDIRECTORY/nginx/nginx.conf -p $TMPWORKINGDIRECTORY &>> $TMPWORKINGDIRECTORY/nginx/process-stderr.log +NGINXPID="$(cat $TMPWORKINGDIRECTORY/nginx/nginx.pid)" +[ -n "$NGINXPID" ] addtrap 'prefix' "kill -SIGTERM $NGINXPID; [ \"$EXIT_CODE\" = '0' ] || cat $TMPWORKINGDIRECTORY/nginx/process-stderr.log;" diff --git a/test/integration/test-apt-method-https b/test/integration/test-apt-method-https index 29e4d2d2b..4b2463a4c 100755 --- a/test/integration/test-apt-method-https +++ b/test/integration/test-apt-method-https @@ -30,8 +30,9 @@ rpm https://localhost:8080/ $(getarchitecture) apt-tests rpm https://localhost:8080/ noarch apt-tests END -/usr/sbin/nginx -c $TMPWORKINGDIRECTORY/nginx/nginx.conf -p $TMPWORKINGDIRECTORY &>> $TMPWORKINGDIRECTORY/nginx/process-stderr.log & -NGINXPID=$! +/usr/sbin/nginx -c $TMPWORKINGDIRECTORY/nginx/nginx.conf -p $TMPWORKINGDIRECTORY &>> $TMPWORKINGDIRECTORY/nginx/process-stderr.log +NGINXPID="$(cat $TMPWORKINGDIRECTORY/nginx/nginx.pid)" +[ -n "$NGINXPID" ] addtrap 'prefix' "kill -SIGTERM $NGINXPID; [ \"$EXIT_CODE\" = '0' ] || cat $TMPWORKINGDIRECTORY/nginx/process-stderr.log;" diff --git a/test/integration/test-apt-method-https-invalid-cert-hostname b/test/integration/test-apt-method-https-invalid-cert-hostname index 33e80b613..b7b036bbd 100755 --- a/test/integration/test-apt-method-https-invalid-cert-hostname +++ b/test/integration/test-apt-method-https-invalid-cert-hostname @@ -29,8 +29,9 @@ rpm https://localhost:8080/ $(getarchitecture) apt-tests rpm https://localhost:8080/ noarch apt-tests END -/usr/sbin/nginx -c $TMPWORKINGDIRECTORY/nginx/nginx.conf -p $TMPWORKINGDIRECTORY &>> $TMPWORKINGDIRECTORY/nginx/process-stderr.log & -NGINXPID=$! +/usr/sbin/nginx -c $TMPWORKINGDIRECTORY/nginx/nginx.conf -p $TMPWORKINGDIRECTORY &>> $TMPWORKINGDIRECTORY/nginx/process-stderr.log +NGINXPID="$(cat $TMPWORKINGDIRECTORY/nginx/nginx.pid)" +[ -n "$NGINXPID" ] addtrap 'prefix' "kill -SIGTERM $NGINXPID; [ \"$EXIT_CODE\" = '0' ] || cat $TMPWORKINGDIRECTORY/nginx/process-stderr.log;" -- 2.24.1 -- Best regards, Ivan