forked from mirrors/nixpkgs
commit
26a73f1457
|
@ -45,21 +45,19 @@ in import ./make-test-python.nix ({ pkgs, lib, ... }: {
|
|||
"{}"
|
||||
).format(" ".join(args))
|
||||
|
||||
def parallel(*fns):
|
||||
from threading import Thread
|
||||
threads = [ Thread(target=fn) for fn in fns ]
|
||||
for t in threads: t.start()
|
||||
for t in threads: t.join()
|
||||
|
||||
start_all()
|
||||
server.wait_for_unit("nats.service")
|
||||
|
||||
client1.fail("test -f ${file}")
|
||||
|
||||
# Subscribe on topic on client1 and echo messages to file.
|
||||
client1.execute("({} | tee ${file} &)".format(nats_cmd("sub", "--raw", "${topic}")))
|
||||
|
||||
# Give client1 some time to subscribe.
|
||||
client1.execute("sleep 2")
|
||||
|
||||
# Publish message on client2.
|
||||
client2.execute(nats_cmd("pub", "${topic}", "hello"))
|
||||
|
||||
# Check if message has been received.
|
||||
client1.succeed("grep -q hello ${file}")
|
||||
with subtest("pub sub"):
|
||||
parallel(
|
||||
lambda: client1.succeed(nats_cmd("sub", "--count", "1", "${topic}")),
|
||||
lambda: client2.succeed("sleep 2 && {}".format(nats_cmd("pub", "${topic}", "hello"))),
|
||||
)
|
||||
'';
|
||||
})
|
||||
|
|
Loading…
Reference in a new issue