@@ -5,7 +5,7 @@ mod e2e {
5
5
6
6
use nix:: sys:: signal:: { kill, Signal } ;
7
7
use nix:: unistd:: Pid ;
8
- use payjoin_test_utils:: init_bitcoind_sender_receiver;
8
+ use payjoin_test_utils:: { init_bitcoind_sender_receiver, BoxError } ;
9
9
use tokio:: fs;
10
10
use tokio:: io:: { AsyncBufReadExt , AsyncWriteExt , BufReader } ;
11
11
use tokio:: process:: Command ;
@@ -17,21 +17,21 @@ mod e2e {
17
17
18
18
const RECEIVE_SATS : & str = "54321" ;
19
19
20
- #[ cfg( not( feature = "v2" ) ) ]
20
+ // #[cfg(not(feature = "v2"))]
21
21
#[ tokio:: test( flavor = "multi_thread" , worker_threads = 4 ) ]
22
- async fn send_receive_payjoin ( ) {
23
- let ( bitcoind, _sender, _receiver) = init_bitcoind_sender_receiver ( None , None ) . unwrap ( ) ;
22
+ async fn send_receive_payjoin ( ) -> Result < ( ) , BoxError > {
23
+ let ( bitcoind, _sender, _receiver) = init_bitcoind_sender_receiver ( None , None ) ? ;
24
24
let temp_dir = env:: temp_dir ( ) ;
25
25
let receiver_db_path = temp_dir. join ( "receiver_db" ) ;
26
26
let sender_db_path = temp_dir. join ( "sender_db" ) ;
27
27
let receiver_db_path_clone = receiver_db_path. clone ( ) ;
28
28
let sender_db_path_clone = sender_db_path. clone ( ) ;
29
+ let port = find_free_port ( ) ?;
29
30
30
31
let payjoin_sent = tokio:: spawn ( async move {
31
32
let receiver_rpchost = format ! ( "http://{}/wallet/receiver" , bitcoind. params. rpc_socket) ;
32
33
let sender_rpchost = format ! ( "http://{}/wallet/sender" , bitcoind. params. rpc_socket) ;
33
34
let cookie_file = & bitcoind. params . cookie_file ;
34
- let port = find_free_port ( ) ;
35
35
let pj_endpoint = format ! ( "https://localhost:{}" , port) ;
36
36
let payjoin_cli = env ! ( "CARGO_BIN_EXE_payjoin-cli" ) ;
37
37
@@ -118,29 +118,28 @@ mod e2e {
118
118
119
119
sigint ( & cli_receiver) . expect ( "Failed to kill payjoin-cli" ) ;
120
120
sigint ( & cli_sender) . expect ( "Failed to kill payjoin-cli" ) ;
121
- payjoin_sent
121
+ payjoin_sent. unwrap_or ( Some ( false ) ) . expect ( "rx channel closed prematurely" )
122
122
} )
123
- . await ;
123
+ . await ? ;
124
124
125
125
cleanup_temp_file ( & receiver_db_path) . await ;
126
126
cleanup_temp_file ( & sender_db_path) . await ;
127
- assert ! (
128
- payjoin_sent. unwrap( ) . unwrap_or( Some ( false ) ) . unwrap( ) ,
129
- "Payjoin send was not detected"
130
- ) ;
131
-
132
- fn find_free_port ( ) -> u16 {
133
- let listener = std:: net:: TcpListener :: bind ( "127.0.0.1:0" ) . unwrap ( ) ;
134
- listener. local_addr ( ) . unwrap ( ) . port ( )
127
+ assert ! ( payjoin_sent, "Payjoin send was not detected" ) ;
128
+
129
+ fn find_free_port ( ) -> Result < u16 , BoxError > {
130
+ let listener = std:: net:: TcpListener :: bind ( "127.0.0.1:0" ) ?;
131
+ Ok ( listener. local_addr ( ) ?. port ( ) )
135
132
}
133
+
134
+ Ok ( ( ) )
136
135
}
137
136
138
137
#[ cfg( feature = "v2" ) ]
139
138
#[ tokio:: test( flavor = "multi_thread" , worker_threads = 4 ) ]
140
- async fn send_receive_payjoin ( ) -> Result < ( ) , Box < dyn std:: error:: Error + Send + Sync > > {
139
+ async fn send_receive_paydjoin ( ) -> Result < ( ) , Box < dyn std:: error:: Error + Send + Sync > > {
141
140
use std:: path:: PathBuf ;
142
141
143
- use payjoin_test_utils:: { init_tracing, BoxError , TestServices } ;
142
+ use payjoin_test_utils:: { init_tracing, TestServices } ;
144
143
use tokio:: process:: Child ;
145
144
146
145
type Result < T > = std:: result:: Result < T , BoxError > ;
0 commit comments