[devel] [APT PATCH] test/integration/framework/test-apt-method-http*: use nginx as a forking daemon
Ivan Zakharyaschev
imz на altlinux.org
Вт Фев 18 06:39:01 MSK 2020
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
Подробная информация о списке рассылки Devel