diff options
author | Lubomir Rintel <lkundrak@v3.sk> | 2023-04-21 14:17:48 +0200 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2023-05-12 12:42:54 +0200 |
commit | 2e8ff9f8a095fdc8b6fd3b4f0adfe880c9eb8c3a (patch) | |
tree | 5d56de73f1a76e0e0c35afae3232057993876e62 | |
parent | 751ee63e61535bceda86886e6f1bce40059c33e5 (diff) |
Revert "client/tests: don't do dup2() dance to pass file descriptor to "tools/test-cloud-meta-mock.py""
This changed the fd passing protocol making it not compatible with
systemd-socket-activate(1).
This reverts commit 342ee618c75b350cf5cccf49f2bade85c5dfa3ea.
-rwxr-xr-x | src/tests/client/test-client.py | 6 | ||||
-rwxr-xr-x | tools/test-cloud-meta-mock.py | 6 |
2 files changed, 9 insertions, 3 deletions
diff --git a/src/tests/client/test-client.py b/src/tests/client/test-client.py index dd13c186d6..eadc2d4964 100755 --- a/src/tests/client/test-client.py +++ b/src/tests/client/test-client.py @@ -2162,14 +2162,18 @@ class TestNmCloudSetup(TestNmClient): # hallucinogenic substances. s.listen(5) + def pass_socket(): + os.dup2(s.fileno(), 3) + service_path = PathConfiguration.test_cloud_meta_mock_path() env = os.environ.copy() - env["LISTEN_FD"] = str(s.fileno()) + env["LISTEN_FDS"] = "1" p = subprocess.Popen( [sys.executable, service_path], stdin=subprocess.PIPE, env=env, pass_fds=(s.fileno(),), + preexec_fn=pass_socket, ) self.md_url = "http://%s:%d" % s.getsockname() diff --git a/tools/test-cloud-meta-mock.py b/tools/test-cloud-meta-mock.py index 392955b8ad..262dc2ffb3 100755 --- a/tools/test-cloud-meta-mock.py +++ b/tools/test-cloud-meta-mock.py @@ -68,9 +68,11 @@ class SocketHTTPServer(HTTPServer): # See sd_listen_fds(3) -fileno = os.getenv("LISTEN_FD") +fileno = os.getenv("LISTEN_FDS") if fileno is not None: - s = socket.socket(fileno=int(fileno)) + if fileno != "1": + raise Exception("Bad LISTEN_FDS") + s = socket.socket(fileno=3) else: addr = ("localhost", 0) s = socket.socket() |