Skip to content

Commit 0bdbced

Browse files
fix: make secure smoke test hermetic
1 parent a48c295 commit 0bdbced

1 file changed

Lines changed: 25 additions & 10 deletions

File tree

prototype/test_secure_run.py

Lines changed: 25 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,31 @@
1-
import pickle
21
import numpy as np
2+
import pytest
3+
4+
import prototype.controller_secure as controller_secure
5+
from prototype.integration_helpers import InProcessWorkerTransport, make_worker_client, reset_worker_state
36
from prototype.model_tools import ToyModel
47
from prototype.session_manager import SessionManager
58

6-
workers = ["http://127.0.0.1:8003"]
7-
sm = SessionManager(workers)
8-
model = ToyModel([8,16,16,8], seed=42)
99

10-
x = np.random.default_rng(1).standard_normal((8,1)).astype('float32')
11-
baseline = model.forward(x)
10+
@pytest.fixture()
11+
def inprocess_worker(monkeypatch):
12+
client = make_worker_client()
13+
transport = InProcessWorkerTransport(client)
14+
monkeypatch.setattr(controller_secure.requests, 'post', transport.post)
15+
yield client
16+
reset_worker_state()
17+
18+
19+
def test_secure_run_roundtrip_inprocess(inprocess_worker):
20+
workers = ['http://worker-inproc']
21+
sm = SessionManager(workers)
22+
model = ToyModel([8, 16, 16, 8], seed=42)
23+
24+
x = np.random.default_rng(1).standard_normal((8, 1)).astype('float32')
25+
baseline = model.forward(x)
26+
27+
sid = sm.start_session(model, num_slices=2, encrypt=True)
28+
out = sm.infer(sid, x)
29+
sm.end_session(sid)
1230

13-
sid = sm.start_session(model, num_slices=2, encrypt=True)
14-
out = sm.infer(sid, x)
15-
print('Max diff:', float(np.max(np.abs(baseline - out))))
16-
sm.end_session(sid)
31+
assert np.allclose(out, baseline)

0 commit comments

Comments
 (0)