lntest: set --lnddir instead of --datadir

If we only set the --datadir flag then lnd will create empty directories
(for letsencrypt and watchtower client) in the default user's home .lnd
directory and will also pick up a config file from there if one exists.
To instruct lnd to only act within the temp itest directory, we need to
use the --lnddir flag instead.
Using the --lnddir flag also overwrites the TLS cert/key path and the
log dir, so we don't need to explicitly set those anymore.
But we need to make sure the node's variables point to the correct
default files/directories.
This commit is contained in:
Oliver Gugger 2022-01-26 11:24:30 +01:00
parent 8c66e59eaa
commit bc3319a7d2
No known key found for this signature in database
GPG key ID: 8E4256593F177720

View file

@ -222,10 +222,7 @@ func (cfg *BaseNodeConfig) GenArgs() []string {
fmt.Sprintf("--restcors=https://%v", cfg.RESTAddr()), fmt.Sprintf("--restcors=https://%v", cfg.RESTAddr()),
fmt.Sprintf("--listen=%v", cfg.P2PAddr()), fmt.Sprintf("--listen=%v", cfg.P2PAddr()),
fmt.Sprintf("--externalip=%v", cfg.P2PAddr()), fmt.Sprintf("--externalip=%v", cfg.P2PAddr()),
fmt.Sprintf("--logdir=%v", cfg.LogDir), fmt.Sprintf("--lnddir=%v", cfg.BaseDir),
fmt.Sprintf("--datadir=%v", cfg.DataDir),
fmt.Sprintf("--tlscertpath=%v", cfg.TLSCertPath),
fmt.Sprintf("--tlskeypath=%v", cfg.TLSKeyPath),
fmt.Sprintf("--adminmacaroonpath=%v", cfg.AdminMacPath), fmt.Sprintf("--adminmacaroonpath=%v", cfg.AdminMacPath),
fmt.Sprintf("--readonlymacaroonpath=%v", cfg.ReadMacPath), fmt.Sprintf("--readonlymacaroonpath=%v", cfg.ReadMacPath),
fmt.Sprintf("--invoicemacaroonpath=%v", cfg.InvoiceMacPath), fmt.Sprintf("--invoicemacaroonpath=%v", cfg.InvoiceMacPath),
@ -408,9 +405,9 @@ func newNode(cfg *BaseNodeConfig) (*HarnessNode, error) {
} }
} }
cfg.DataDir = filepath.Join(cfg.BaseDir, "data") cfg.DataDir = filepath.Join(cfg.BaseDir, "data")
cfg.LogDir = filepath.Join(cfg.BaseDir, "log") cfg.LogDir = filepath.Join(cfg.BaseDir, "logs")
cfg.TLSCertPath = filepath.Join(cfg.DataDir, "tls.cert") cfg.TLSCertPath = filepath.Join(cfg.BaseDir, "tls.cert")
cfg.TLSKeyPath = filepath.Join(cfg.DataDir, "tls.key") cfg.TLSKeyPath = filepath.Join(cfg.BaseDir, "tls.key")
networkDir := filepath.Join( networkDir := filepath.Join(
cfg.DataDir, "chain", "bitcoin", cfg.NetParams.Name, cfg.DataDir, "chain", "bitcoin", cfg.NetParams.Name,