@@ -12,20 +12,21 @@ import java.net.http.HttpClient
12
12
import java.net.http.HttpRequest
13
13
import java.net.http.HttpResponse
14
14
15
- import org.lightningdevkit.ldknode.*;
16
-
17
- fun runCommandAndWait (cmd : String ): String {
18
- println (" Running command \" $cmd \" " )
19
- val p = Runtime .getRuntime().exec(cmd)
20
- p.waitFor()
21
- val stdout = p.inputStream.bufferedReader().lineSequence().joinToString(" \n " )
22
- val stderr = p.errorStream.bufferedReader().lineSequence().joinToString(" \n " )
15
+ fun runCommandAndWait (vararg cmd : String ): String {
16
+ println (" Running command \" ${cmd.joinToString(" " )} \" " )
17
+
18
+ val processBuilder = ProcessBuilder (cmd.toList())
19
+ val process = processBuilder.start()
20
+
21
+ process.waitFor()
22
+ val stdout = process.inputStream.bufferedReader().lineSequence().joinToString(" \n " )
23
+ val stderr = process.errorStream.bufferedReader().lineSequence().joinToString(" \n " )
23
24
return stdout + stderr
24
25
}
25
26
26
27
fun mine (blocks : UInt ): String {
27
- val address = runCommandAndWait(" bitcoin-cli -regtest getnewaddress" )
28
- val output = runCommandAndWait(" bitcoin-cli -regtest generatetoaddress $ blocks $ address" )
28
+ val address = runCommandAndWait(" bitcoin-cli" , " -regtest" , " getnewaddress" )
29
+ val output = runCommandAndWait(" bitcoin-cli" , " -regtest" , " generatetoaddress" , blocks.toString(), address)
29
30
println (" Mining output: $output " )
30
31
val re = Regex (" \n .+\n\\ ]$" )
31
32
val lastBlock = re.find(output)!! .value.replace(" ]" ," " ).replace(" \" " , " " ).replace(" \n " ," " ).trim()
@@ -40,13 +41,13 @@ fun mineAndWait(esploraEndpoint: String, blocks: UInt) {
40
41
41
42
fun sendToAddress (address : String , amountSats : UInt ): String {
42
43
val amountBtc = amountSats.toDouble() / 100000000.0
43
- val output = runCommandAndWait(" bitcoin-cli -regtest sendtoaddress $ address $ amountBtc" )
44
+ val output = runCommandAndWait(" bitcoin-cli" , " -regtest" , " sendtoaddress" , address, amountBtc.toString() )
44
45
return output
45
46
}
46
47
47
48
fun setup () {
48
- runCommandAndWait(" bitcoin-cli -regtest createwallet ldk_node_test" )
49
- runCommandAndWait(" bitcoin-cli -regtest loadwallet ldk_node_test true" )
49
+ runCommandAndWait(" bitcoin-cli" , " -regtest" , " createwallet" , " ldk_node_test" )
50
+ runCommandAndWait(" bitcoin-cli" , " -regtest" , " loadwallet" , " ldk_node_test" , " true" )
50
51
mine(101u )
51
52
Thread .sleep(5_000 )
52
53
}
@@ -77,7 +78,6 @@ fun waitForBlock(esploraEndpoint: String, blockHash: String) {
77
78
.build();
78
79
79
80
val response = client.send(request, HttpResponse .BodyHandlers .ofString());
80
- val body = response.body()
81
81
82
82
esploraPickedUpBlock = re.containsMatchIn(response.body());
83
83
Thread .sleep(500 )
@@ -97,8 +97,6 @@ class LibraryTest {
97
97
val listenAddress1 = " 127.0.0.1:2323"
98
98
val listenAddress2 = " 127.0.0.1:2324"
99
99
100
- val logLevel = LogLevel .TRACE ;
101
-
102
100
val config1 = Config ()
103
101
config1.storageDirPath = tmpDir1
104
102
config1.listeningAddress = listenAddress1
0 commit comments