nixpkgs/nixos/tests/geth.nix
Fabian Möller af628f46a1
nixos/tests/geth: fix api check
Since https://github.com/ethereum/go-ethereum/pull/21686 the `chainId`
API returns an error when the chain is not synced. So use
`blockNumber` as a basic function test.
2022-01-22 22:07:14 +01:00

42 lines
898 B
Nix

import ./make-test-python.nix ({ pkgs, ... }: {
name = "geth";
meta = with pkgs.lib; {
maintainers = with maintainers; [bachp ];
};
machine = { ... }: {
services.geth."mainnet" = {
enable = true;
http = {
enable = true;
};
};
services.geth."testnet" = {
enable = true;
port = 30304;
network = "goerli";
http = {
enable = true;
port = 18545;
};
};
};
testScript = ''
start_all()
machine.wait_for_unit("geth-mainnet.service")
machine.wait_for_unit("geth-testnet.service")
machine.wait_for_open_port(8545)
machine.wait_for_open_port(18545)
machine.succeed(
'geth attach --exec eth.blockNumber http://localhost:8545 | grep \'^0$\' '
)
machine.succeed(
'geth attach --exec "eth.chainId()" http://localhost:18545 | grep \'"0x5"\' '
)
'';
})