Skip to content

Commit e5b6d97

Browse files
committed
Improve reliability of some tests
1 parent 319200a commit e5b6d97

File tree

1 file changed

+23
-4
lines changed

1 file changed

+23
-4
lines changed

openssl/src/ssl/test/mod.rs

+23-4
Original file line numberDiff line numberDiff line change
@@ -84,17 +84,21 @@ fn verify_trusted_with_set_cert() {
8484

8585
#[test]
8686
fn verify_untrusted_callback_override_ok() {
87+
static CALLED_BACK: AtomicBool = AtomicBool::new(false);
88+
8789
let server = Server::builder().build();
8890

8991
let mut client = server.client();
9092
client
9193
.ctx()
9294
.set_verify_callback(SslVerifyMode::PEER, |_, x509| {
95+
CALLED_BACK.store(true, Ordering::SeqCst);
9396
assert!(x509.current_cert().is_some());
9497
true
9598
});
9699

97100
client.connect();
101+
assert!(CALLED_BACK.load(Ordering::SeqCst));
98102
}
99103

100104
#[test]
@@ -113,18 +117,22 @@ fn verify_untrusted_callback_override_bad() {
113117

114118
#[test]
115119
fn verify_trusted_callback_override_ok() {
120+
static CALLED_BACK: AtomicBool = AtomicBool::new(false);
121+
116122
let server = Server::builder().build();
117123

118124
let mut client = server.client();
119125
client.ctx().set_ca_file("test/root-ca.pem").unwrap();
120126
client
121127
.ctx()
122128
.set_verify_callback(SslVerifyMode::PEER, |_, x509| {
129+
CALLED_BACK.store(true, Ordering::SeqCst);
123130
assert!(x509.current_cert().is_some());
124131
true
125132
});
126133

127134
client.connect();
135+
assert!(CALLED_BACK.load(Ordering::SeqCst));
128136
}
129137

130138
#[test]
@@ -144,33 +152,41 @@ fn verify_trusted_callback_override_bad() {
144152

145153
#[test]
146154
fn verify_callback_load_certs() {
155+
static CALLED_BACK: AtomicBool = AtomicBool::new(false);
156+
147157
let server = Server::builder().build();
148158

149159
let mut client = server.client();
150160
client
151161
.ctx()
152162
.set_verify_callback(SslVerifyMode::PEER, |_, x509| {
163+
CALLED_BACK.store(true, Ordering::SeqCst);
153164
assert!(x509.current_cert().is_some());
154165
true
155166
});
156167

157168
client.connect();
169+
assert!(CALLED_BACK.load(Ordering::SeqCst));
158170
}
159171

160172
#[test]
161173
fn verify_trusted_get_error_ok() {
174+
static CALLED_BACK: AtomicBool = AtomicBool::new(false);
175+
162176
let server = Server::builder().build();
163177

164178
let mut client = server.client();
165179
client.ctx().set_ca_file("test/root-ca.pem").unwrap();
166180
client
167181
.ctx()
168182
.set_verify_callback(SslVerifyMode::PEER, |_, x509| {
183+
CALLED_BACK.store(true, Ordering::SeqCst);
169184
assert_eq!(x509.error(), X509VerifyResult::OK);
170185
true
171186
});
172187

173188
client.connect();
189+
assert!(CALLED_BACK.load(Ordering::SeqCst));
174190
}
175191

176192
#[test]
@@ -469,8 +485,11 @@ fn test_alpn_server_select_none_fatal() {
469485
#[test]
470486
#[cfg(any(ossl102, libressl261))]
471487
fn test_alpn_server_select_none() {
488+
static CALLED_BACK: AtomicBool = AtomicBool::new(false);
489+
472490
let mut server = Server::builder();
473491
server.ctx().set_alpn_select_callback(|_, client| {
492+
CALLED_BACK.store(true, Ordering::SeqCst);
474493
ssl::select_next_proto(b"\x08http/1.1\x08spdy/3.1", client).ok_or(ssl::AlpnError::NOACK)
475494
});
476495
let server = server.build();
@@ -479,6 +498,7 @@ fn test_alpn_server_select_none() {
479498
client.ctx().set_alpn_protos(b"\x06http/2").unwrap();
480499
let s = client.connect();
481500
assert_eq!(None, s.ssl().selected_alpn_protocol());
501+
assert!(CALLED_BACK.load(Ordering::SeqCst));
482502
}
483503

484504
#[test]
@@ -595,7 +615,7 @@ fn refcount_ssl_context() {
595615

596616
{
597617
let new_ctx_a = SslContext::builder(SslMethod::tls()).unwrap().build();
598-
let _new_ctx_b = ssl.set_ssl_context(&new_ctx_a);
618+
ssl.set_ssl_context(&new_ctx_a).unwrap();
599619
}
600620
}
601621

@@ -731,7 +751,7 @@ fn connector_no_hostname_still_verifies() {
731751
}
732752

733753
#[test]
734-
fn connector_no_hostname_can_disable_verify() {
754+
fn connector_can_disable_verify() {
735755
let server = Server::builder().build();
736756

737757
let mut connector = SslConnector::builder(SslMethod::tls()).unwrap();
@@ -742,8 +762,7 @@ fn connector_no_hostname_can_disable_verify() {
742762
let mut s = connector
743763
.configure()
744764
.unwrap()
745-
.verify_hostname(false)
746-
.connect("foobar.com", s)
765+
.connect("fizzbuzz.com", s)
747766
.unwrap();
748767
s.read_exact(&mut [0]).unwrap();
749768
}

0 commit comments

Comments
 (0)