diff --git a/lntest/node/config.go b/lntest/node/config.go index bd003eb01..31da998d7 100644 --- a/lntest/node/config.go +++ b/lntest/node/config.go @@ -223,6 +223,23 @@ func (cfg *BaseNodeConfig) BaseConfig() *BaseNodeConfig { return cfg } +// GenBaseDir creates a base dir that's used for the test. +func (cfg *BaseNodeConfig) GenBaseDir() error { + if cfg.BaseDir == "" { + var err error + + // Create a temporary directory for the node's data and logs. + // Use dash suffix as a separator between base name and random + // suffix. + dirBaseName := fmt.Sprintf("lndtest-node-%s-", cfg.Name) + cfg.BaseDir, err = os.MkdirTemp("", dirBaseName) + + return err + } + + return nil +} + // GenArgs generates a slice of command line arguments from the lightning node // config struct. func (cfg *BaseNodeConfig) GenArgs() []string { diff --git a/lntest/node/harness_node.go b/lntest/node/harness_node.go index 4cfd9a501..40662d474 100644 --- a/lntest/node/harness_node.go +++ b/lntest/node/harness_node.go @@ -93,18 +93,10 @@ type HarnessNode struct { // NewHarnessNode creates a new test lightning node instance from the passed // config. func NewHarnessNode(t *testing.T, cfg *BaseNodeConfig) (*HarnessNode, error) { - if cfg.BaseDir == "" { - var err error - - // Create a temporary directory for the node's data and logs. - // Use dash suffix as a separator between base name and random - // suffix. - dirBaseName := fmt.Sprintf("lndtest-node-%s-", cfg.Name) - cfg.BaseDir, err = os.MkdirTemp("", dirBaseName) - if err != nil { - return nil, err - } + if err := cfg.GenBaseDir(); err != nil { + return nil, err } + cfg.DataDir = filepath.Join(cfg.BaseDir, "data") cfg.LogDir = filepath.Join(cfg.BaseDir, "logs") cfg.TLSCertPath = filepath.Join(cfg.BaseDir, "tls.cert")