Check out the Issue Explorer
Looking to fund some work? You can submit a new Funded Issue here.
## Problem Definition
If no `geth` binary is installed (or not on the `PATH`) on the user's system and no `RST_GETH_BINARY` env variable is defined `raiden smoketest` will fail with the following exception:
1/5] getting smoketest configuration
[2/5] starting ethereum
Traceback (most recent call last):
File "build/raiden/raiden-script.py", line 2, in
File "raiden/__main__.py", line 11, in main
File "click/core.py", line 722, in __call__
File "click/core.py", line 697, in main
File "click/core.py", line 1066, in invoke
File "click/core.py", line 895, in invoke
File "click/core.py", line 535, in invoke
File "click/decorators.py", line 17, in new_func
File "raiden/ui/cli.py", line 829, in smoketest
File "raiden/tests/utils/smoketest.py", line 315, in start_ethereum
File "string.py", line 130, in substitute
File "string.py", line 123, in convert
File "os.py", line 669, in __getitem__
The reason is that https://github.com/raiden-network/raiden/blob/86d19e6bed94043b0982e26b82264a0e55ab5c97/raiden/tests/utils/smoketest.py#L315 uses `os.environ` as the substitution dict and `DEFAULT_ETH_COMMAND` contains `$RST_GETH_BINARY` which won't be set if `distutils.spawn.find_executable()` returns `None`.
Verify that `geth` is available and if it isn't, inform the user with an actionable error message.
- [ ] Verify geth is available in smoketest
- [ ] Notify user and abort if it isn't
- [ ] Add a changelog entry.