ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] [APT PATCH] test/integration/framework/test-apt-method-http*: use nginx as a forking daemon
@ 2020-02-18  3:39 Ivan Zakharyaschev
  2020-02-18  8:03 ` Aleksei Nikiforov
  2020-02-18 13:41 ` Dmitry V. Levin
  0 siblings, 2 replies; 9+ messages in thread
From: Ivan Zakharyaschev @ 2020-02-18  3:39 UTC (permalink / raw)
  To: devel; +Cc: darktemplar, ldv

[-- Attachment #1: Type: text/plain, Size: 4898 bytes --]

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

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2020-02-18 14:58 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-18  3:39 [devel] [APT PATCH] test/integration/framework/test-apt-method-http*: use nginx as a forking daemon Ivan Zakharyaschev
2020-02-18  8:03 ` Aleksei Nikiforov
2020-02-18 12:44   ` Ivan Zakharyaschev
2020-02-18 13:17     ` Aleksei Nikiforov
2020-02-18 13:41 ` Dmitry V. Levin
2020-02-18 14:12   ` Ivan Zakharyaschev
2020-02-18 14:28     ` Dmitry V. Levin
2020-02-18 14:47       ` Aleksei Nikiforov
2020-02-18 14:58         ` Dmitry V. Levin

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git