@@ -235,9 +235,8 @@ def test_local_dir_install(node_factory):
235
235
"""Test search and install from local directory source."""
236
236
n = get_reckless_node (node_factory )
237
237
n .start ()
238
- r = reckless ([f"--network={ NETWORK } " , "-v" , "source" , "add" ,
239
- os .path .join (n .lightning_dir , '..' , 'lightningd' , 'testplugpass' )],
240
- dir = n .lightning_dir )
238
+ source_dir = str (Path (n .lightning_dir / '..' / 'lightningd' / 'testplugpass' ).resolve ())
239
+ r = reckless ([f"--network={ NETWORK } " , "-v" , "source" , "add" , source_dir ], dir = n .lightning_dir )
241
240
assert r .returncode == 0
242
241
r = reckless ([f"--network={ NETWORK } " , "-v" , "install" , "testplugpass" ], dir = n .lightning_dir )
243
242
assert r .returncode == 0
@@ -246,6 +245,15 @@ def test_local_dir_install(node_factory):
246
245
print (plugin_path )
247
246
assert os .path .exists (plugin_path )
248
247
248
+ # Retry with a direct install passing the full path to the local source
249
+ r = reckless (['uninstall' , 'testplugpass' , '-v' ], dir = n .lightning_dir )
250
+ assert not os .path .exists (plugin_path )
251
+ r = reckless (['source' , 'remove' , source_dir ], dir = n .lightning_dir )
252
+ assert 'plugin source removed' in r .stdout
253
+ r = reckless (['install' , '-v' , source_dir ], dir = n .lightning_dir )
254
+ assert 'testplugpass enabled' in r .stdout
255
+ assert os .path .exists (plugin_path )
256
+
249
257
250
258
@unittest .skipIf (VALGRIND , "virtual environment triggers memleak detection" )
251
259
def test_disable_enable (node_factory ):
0 commit comments