From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Tue, 18 Feb 2020 06:39:01 +0300 (MSK) From: Ivan Zakharyaschev To: devel@lists.altlinux.org Message-ID: User-Agent: Alpine 2.20 (LFD 67 2015-01-07) MIME-Version: 1.0 Content-Type: multipart/mixed; BOUNDARY="1807885841-633428738-1581997141=:6363" Cc: darktemplar@altlinux.org, ldv@altlinux.org Subject: [devel] [APT PATCH] test/integration/framework/test-apt-method-http*: use nginx as a forking daemon X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Feb 2020 03:39:01 -0000 Archived-At: List-Archive: List-Post: This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --1807885841-633428738-1581997141=:6363 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT 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 --1807885841-633428738-1581997141=:6363--