summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLubomir Rintel <lkundrak@v3.sk>2023-04-21 14:17:48 +0200
committerThomas Haller <thaller@redhat.com>2023-05-12 12:42:54 +0200
commit2e8ff9f8a095fdc8b6fd3b4f0adfe880c9eb8c3a (patch)
tree5d56de73f1a76e0e0c35afae3232057993876e62
parent751ee63e61535bceda86886e6f1bce40059c33e5 (diff)
downloadNetworkManager-2e8ff9f8a095fdc8b6fd3b4f0adfe880c9eb8c3a.tar.gz
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-xsrc/tests/client/test-client.py6
-rwxr-xr-xtools/test-cloud-meta-mock.py6
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()