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