So I’m at the stage where I’ve glanced over tests and run most of them. Sometimes I get left with a hanging prompt, other times I used mock-routing and the tests passed. Are there logical steps to follow outlined somewhere in order to run the system end to end with real tests rather than mock? I haven’t found steps to reproduce an end-to-end test anywhere but maybe its my lack of using the search skills.
The 31st August Dev Update is the nearest so far, but it’s local network only, and maybe not what you mean by end-to-end (not sure what you mean though).
We’re not far from a public network version of the above, maybe with some extras, but still not sure it is what you’re asking for.
Basically a way of running the tests where instead of hanging they interconnect to the other components on the local network. Doesn’t matter so much to me whether its a public network or not since I’m just interested in working out how the code works. The example you posted is exactly what I was looking for, thank you.
You should read what David Irvine wrote here - Ideas for a new SAFE application
The the 31st update should do what you need - you can run multiple vaults in separate terminals and see them find each other etc.
So I got the dns example running on NixOS but ran into a few issues so thought I would detail how to solve them here.
Basically I cloned the safe_vault / safe_examples and built with --features “use-mock-routing” for a purely ‘mock’ test to begin with. For compiling the safe_vault you also must specify that you want the launcher_cli to be built with --example launcher_cli added to the cargo build command.
For the dns app because it uses electron to package up the app on NixOS it is necessary to patchelf the executable as follows:
patchelf --set-interpreter /nix/store/hd6km3hscbgl2yw8nx7lr5z9s8h89p04-glibc-2.21/lib64/ld-linux-x86-64.so.2 safe_dns_example
patchelf --set-rpath /home/fader/safe_examples/dns_example/app_dist/safe_dns_example-linux-x64/:/nix/store/7kc28v2m2snmqjal9s6xh2pvn2h8m72d-system-path/lib/:/nix/store/sgdckhpnfwqsi53zm79msghx18zilzlm-env-atom/lib/ safe_dns_example
Where ‘safe_dns_example’ is assumed to point to the exe generated by npm build-linux. The GUIDs will be different for your machines of course and you may use a .nix file to create an env where this is already setup to be used with nix-shell for example, but for brevity those are the necessary patch commands. Hope this helps anyone on NixOS in the future.