aboutsummaryrefslogtreecommitdiffstats
path: root/packages/meshbay-node/tests/test_packaging_win.py
diff options
context:
space:
mode:
Diffstat (limited to 'packages/meshbay-node/tests/test_packaging_win.py')
-rw-r--r--packages/meshbay-node/tests/test_packaging_win.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/packages/meshbay-node/tests/test_packaging_win.py b/packages/meshbay-node/tests/test_packaging_win.py
index 6f6388e..69eefc8 100644
--- a/packages/meshbay-node/tests/test_packaging_win.py
+++ b/packages/meshbay-node/tests/test_packaging_win.py
@@ -369,6 +369,30 @@ def test_the_build_starts_the_frozen_daemon_not_only_its_help():
assert 'url = "http://127.0.0.1:1"' in smoke
+def test_the_build_starts_a_frozen_connection_process():
+ """Above one `connection_processes` a frozen node starts copies of itself,
+ `meshbay-node.exe webrtc-worker`. No source checkout takes that path and
+ the daemon's smoke test stops short of it: it never signs in to a hub,
+ which is when the processes start."""
+ build = (WIN / "build-node-runtime.ps1").read_text(encoding="utf-8")
+ step = build.split("smoke test: the frozen node as a connection process", 1)[1]
+ assert 'smoke-connection-process.py") $exe (Join-Path $OutDir "meshbay-nodew.exe")' in step
+ assert "if ($LASTEXITCODE -ne 0) { throw" in step
+ # The other end is the node's own modules, in the build interpreter: removed
+ # any earlier, the step has nothing to run with.
+ assert build.count("Remove-Item -Recurse -Force $BuildVenv") == 1
+ assert "Remove-Item -Recurse -Force $BuildVenv" in step
+
+ smoke = (WIN / "smoke-connection-process.py").read_text(encoding="utf-8")
+ assert 'workers._argv = lambda: [exe, "webrtc-worker"]' in smoke
+ # The words a frozen node starts itself with, and the ones it answers to.
+ node = ROOT / "packages" / "meshbay-node" / "src" / "meshbay_node"
+ assert 'return [sys.executable, "webrtc-worker"]' in (
+ node / "transport" / "webrtc" / "workers.py").read_text(encoding="utf-8")
+ assert 'if sys.argv[1:2] == ["webrtc-worker"]:' in (
+ node / "daemon.py").read_text(encoding="utf-8")
+
+
def _run_stop_node(tmp_path, dummy_name, localappdata):
"""stop-node.ps1 as setup runs it, with the process and task names swapped
for ones that belong to this test -- the real ones would stop the