You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by ic...@apache.org on 2021/08/25 14:31:12 UTC
svn commit: r1892598 - in /httpd/httpd/trunk/test/modules/http2: h2_env.py
test_106_shutdown.py
Author: icing
Date: Wed Aug 25 14:31:12 2021
New Revision: 1892598
URL: http://svn.apache.org/viewvc?rev=1892598&view=rev
Log:
* test/modules/http2: using stop/start instead of reload when changing apache configs
to give reliable results. The new reload behaviour keeps old children around until
very late and may answer on old configurations.
Modified:
httpd/httpd/trunk/test/modules/http2/h2_env.py
httpd/httpd/trunk/test/modules/http2/test_106_shutdown.py
Modified: httpd/httpd/trunk/test/modules/http2/h2_env.py
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/test/modules/http2/h2_env.py?rev=1892598&r1=1892597&r2=1892598&view=diff
==============================================================================
--- httpd/httpd/trunk/test/modules/http2/h2_env.py (original)
+++ httpd/httpd/trunk/test/modules/http2/h2_env.py Wed Aug 25 14:31:12 2021
@@ -404,7 +404,7 @@ class H2TestEnv:
log.debug("Server still responding after %d sec", timeout)
return False
- def apachectl(self, cmd, check_live=True):
+ def _run_apachectl(self, cmd):
args = [self._apachectl,
"-d", self.server_dir,
"-f", os.path.join(self._server_dir, 'conf/httpd.conf'),
@@ -412,25 +412,32 @@ class H2TestEnv:
log.debug("execute: %s", " ".join(args))
p = subprocess.run(args, capture_output=True, text=True)
rv = p.returncode
+ if rv != 0:
+ log.warning(f"exit {rv}, stdout: {p.stdout}, stderr: {p.stderr}")
+ return rv
+
+ def apache_reload(self):
+ rv = self._run_apachectl("graceful")
if rv == 0:
timeout = timedelta(seconds=10)
- if check_live:
- rv = 0 if self.is_live(self._http_base, timeout=timeout) else -1
- else:
- rv = 0 if self.is_dead(self._http_base, timeout=timeout) else -1
- log.debug("waited for a apache.is_dead, rv=%d", rv)
- else:
- log.warning(f"exit {rv}, stdout: {p.stdout}, stderr: {p.stderr}")
+ rv = 0 if self.is_live(self._http_base, timeout=timeout) else -1
return rv
def apache_restart(self):
- return self.apachectl("graceful")
+ rv = self.apache_stop()
+ rv = self._run_apachectl("start")
+ if rv == 0:
+ timeout = timedelta(seconds=10)
+ rv = 0 if self.is_live(self._http_base, timeout=timeout) else -1
+ return rv
- def apache_start(self):
- return self.apachectl("start")
-
def apache_stop(self):
- return self.apachectl("stop", check_live=False)
+ rv = self._run_apachectl("stop")
+ if rv == 0:
+ timeout = timedelta(seconds=10)
+ rv = 0 if self.is_dead(self._http_base, timeout=timeout) else -1
+ log.debug("waited for a apache.is_dead, rv=%d", rv)
+ return rv
def apache_error_log_clear(self):
if os.path.isfile(self._server_error_log):
Modified: httpd/httpd/trunk/test/modules/http2/test_106_shutdown.py
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/test/modules/http2/test_106_shutdown.py?rev=1892598&r1=1892597&r2=1892598&view=diff
==============================================================================
--- httpd/httpd/trunk/test/modules/http2/test_106_shutdown.py (original)
+++ httpd/httpd/trunk/test/modules/http2/test_106_shutdown.py Wed Aug 25 14:31:12 2021
@@ -37,7 +37,7 @@ class TestShutdown:
t = Thread(target=long_request)
t.start()
time.sleep(0.5)
- assert env.apache_restart() == 0
+ assert env.apache_reload() == 0
t.join()
# noinspection PyTypeChecker
r: ExecResult = self.r