python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / nixos / tests / rxe.nix
blob10753c4ed0c854e317e9506d52de2fe8e3afd27c
1 import ./make-test-python.nix ({ ... } :
3 let
4   node = { pkgs, ... } : {
5     networking = {
6       firewall = {
7         allowedUDPPorts = [ 4791 ]; # open RoCE port
8         allowedTCPPorts = [ 4800 ]; # port for test utils
9       };
10       rxe = {
11         enable = true;
12         interfaces = [ "eth1" ];
13       };
14     };
16     environment.systemPackages = with pkgs; [ rdma-core screen ];
17   };
19 in {
20   name = "rxe";
22   nodes = {
23     server = node;
24     client = node;
25   };
27   testScript = ''
28     # Test if rxe interface comes up
29     server.wait_for_unit("default.target")
30     server.succeed("systemctl status rxe.service")
31     server.succeed("ibv_devices | grep rxe_eth1")
33     client.wait_for_unit("default.target")
35     # ping pong tests
36     for proto in "rc", "uc", "ud", "srq":
37         server.succeed(
38             "screen -dmS {0}_pingpong ibv_{0}_pingpong -p 4800 -s 1024 -g0".format(proto)
39         )
40         client.succeed("sleep 2; ibv_{}_pingpong -p 4800 -s 1024 -g0 server".format(proto))
42     server.succeed("screen -dmS rping rping -s -a server -C 10")
43     client.succeed("sleep 2; rping -c -a server -C 10")
44   '';