diff --git a/electrum/tests/regtest.py b/electrum/tests/regtest.py index 7a1b83365..b42e4b331 100644 --- a/electrum/tests/regtest.py +++ b/electrum/tests/regtest.py @@ -34,6 +34,13 @@ class TestLightning(unittest.TestCase): self.run_shell(['stop', agent]) +class TestUnixSockets(TestLightning): + agents = [] + + def test_unixsockets(self): + self.run_shell(['unixsockets']) + + class TestLightningAB(TestLightning): agents = ['alice', 'bob'] diff --git a/electrum/tests/regtest/regtest.sh b/electrum/tests/regtest/regtest.sh index 4c92f2f15..b3b366f52 100755 --- a/electrum/tests/regtest/regtest.sh +++ b/electrum/tests/regtest/regtest.sh @@ -356,3 +356,19 @@ if [[ $1 == "watchtower" ]]; then echo "watchtower publishes justice transaction" wait_until_spent $ctx_id 1 # alice's to_local gets punished immediately fi + +if [[ $1 == "unixsockets" ]]; then + # This looks different because it has to run the entire daemon + # Test domain socket behavior + ./run_electrum --regtest daemon -d --rpcsock=unix # Start daemon with unix domain socket + ./run_electrum --regtest stop # Errors if it can't connect + # Test custom socket path + f=$(mktemp --dry-run) + ./run_electrum --regtest daemon -d --rpcsock=unix --rpcsockpath=$f + [ -S $f ] # filename exists and is socket + ./run_electrum --regtest stop + rm $f # clean up + # Test for regressions in the ordinary TCP functionality. + ./run_electrum --regtest daemon -d --rpcsock=tcp + ./run_electrum --regtest stop +fi