Skip to content

Commit 2bc9508

Browse files
committed
tests: make a ScopedKeyring for handling cleanup automatically
Some tests handle it manually to test behavior once the keyring is deallocated, so leave the old functionality there.
1 parent e4b562c commit 2bc9508

15 files changed

+42
-258
lines changed

src/tests/add.rs

+2-28
Original file line numberDiff line numberDiff line change
@@ -37,44 +37,36 @@ fn empty_key_type() {
3737
let mut keyring = utils::new_test_keyring();
3838
let err = keyring.add_key::<EmptyKey, _, _>("", ()).unwrap_err();
3939
assert_eq!(err, errno::Errno(libc::EINVAL));
40-
41-
keyring.invalidate().unwrap()
4240
}
4341

4442
#[test]
4543
fn unsupported_key_type() {
4644
let mut keyring = utils::new_test_keyring();
4745
let err = keyring.add_key::<UnsupportedKey, _, _>("", ()).unwrap_err();
4846
assert_eq!(err, errno::Errno(libc::ENODEV));
49-
50-
keyring.invalidate().unwrap()
5147
}
5248

5349
#[test]
5450
fn invalid_key_type() {
5551
let mut keyring = utils::new_test_keyring();
5652
let err = keyring.add_key::<InvalidKey, _, _>("", ()).unwrap_err();
5753
assert_eq!(err, errno::Errno(libc::EPERM));
58-
59-
keyring.invalidate().unwrap()
6054
}
6155

6256
#[test]
57+
#[serial(quota)]
6358
fn maxlen_key_type() {
6459
let mut keyring = utils::new_test_keyring();
6560
let err = keyring.add_key::<MaxLenKey, _, _>("", ()).unwrap_err();
6661
assert_eq!(err, errno::Errno(libc::ENODEV));
67-
68-
keyring.invalidate().unwrap()
6962
}
7063

7164
#[test]
65+
#[serial(quota)]
7266
fn overlong_key_type() {
7367
let mut keyring = utils::new_test_keyring();
7468
let err = keyring.add_key::<OverlongKey, _, _>("", ()).unwrap_err();
7569
assert_eq!(err, errno::Errno(libc::EINVAL));
76-
77-
keyring.invalidate().unwrap()
7870
}
7971

8072
#[test]
@@ -84,8 +76,6 @@ fn keyring_with_payload() {
8476
.add_key::<KeyringShadow, _, _>("", "payload")
8577
.unwrap_err();
8678
assert_eq!(err, errno::Errno(libc::EINVAL));
87-
88-
keyring.invalidate().unwrap()
8979
}
9080

9181
#[test]
@@ -102,8 +92,6 @@ fn max_user_description() {
10292
assert_eq!(key.description().unwrap().description, maxdesc);
10393
key.invalidate().unwrap();
10494
}
105-
106-
keyring.invalidate().unwrap()
10795
}
10896

10997
#[test]
@@ -116,8 +104,6 @@ fn overlong_user_description() {
116104
.add_key::<User, _, _>(toolarge.as_ref(), "payload".as_bytes())
117105
.unwrap_err();
118106
assert_eq!(err, errno::Errno(libc::EINVAL));
119-
120-
keyring.invalidate().unwrap()
121107
}
122108

123109
#[test]
@@ -142,8 +128,6 @@ fn add_key_to_non_keyring() {
142128
.add_key::<User, _, _>("add_key_to_non_keyring", expected)
143129
.unwrap_err();
144130
assert_eq!(err, errno::Errno(libc::ENOTDIR));
145-
146-
keyring.invalidate().unwrap()
147131
}
148132

149133
#[test]
@@ -159,8 +143,6 @@ fn add_keyring_to_non_keyring() {
159143
.add_keyring("add_keyring_to_non_keyring")
160144
.unwrap_err();
161145
assert_eq!(err, errno::Errno(libc::ENOTDIR));
162-
163-
keyring.invalidate().unwrap()
164146
}
165147

166148
#[test]
@@ -170,8 +152,6 @@ fn add_key() {
170152
let payload = "payload".as_bytes();
171153
let key = keyring.add_key::<User, _, _>("add_key", payload).unwrap();
172154
assert_eq!(key.read().unwrap(), payload);
173-
174-
keyring.invalidate().unwrap()
175155
}
176156

177157
#[test]
@@ -182,8 +162,6 @@ fn add_keyring() {
182162
let (keys, keyrings) = new_keyring.read().unwrap();
183163
assert!(keys.is_empty());
184164
assert!(keyrings.is_empty());
185-
186-
keyring.invalidate().unwrap()
187165
}
188166

189167
#[test]
@@ -201,8 +179,6 @@ fn add_key_replace() {
201179
assert_eq!(key, key_updated);
202180
assert_eq!(key.read().unwrap(), payload);
203181
assert_eq!(key_updated.read().unwrap(), payload);
204-
205-
keyring.invalidate().unwrap()
206182
}
207183

208184
#[test]
@@ -222,6 +198,4 @@ fn add_keyring_replace() {
222198
let (keys, keyrings) = updated_keyring.read().unwrap();
223199
assert!(keys.is_empty());
224200
assert!(keyrings.is_empty());
225-
226-
keyring.invalidate().unwrap()
227201
}

src/tests/clear.rs

-15
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,6 @@ fn clear_non_keyring() {
4949
assert_eq!(err, errno::Errno(libc::ENOTDIR));
5050

5151
keyring.unlink_key(&key).unwrap();
52-
keyring.invalidate().unwrap()
5352
}
5453

5554
#[test]
@@ -68,8 +67,6 @@ fn clear_deleted_keyring() {
6867
assert_eq!(err, errno::Errno(libc::ENOKEY));
6968
break;
7069
}
71-
72-
keyring.invalidate().unwrap()
7370
}
7471

7572
#[test]
@@ -86,9 +83,6 @@ fn clear_empty_keyring() {
8683
let (keys, keyrings) = keyring.read().unwrap();
8784
assert_eq!(keys.len(), 0);
8885
assert_eq!(keyrings.len(), 0);
89-
90-
// Clean up.
91-
keyring.invalidate().unwrap()
9286
}
9387

9488
#[test]
@@ -117,9 +111,6 @@ fn clear_keyring_one_key() {
117111
let (keys, keyrings) = keyring.read().unwrap();
118112
assert_eq!(keys.len(), 0);
119113
assert_eq!(keyrings.len(), 0);
120-
121-
// Clean up.
122-
keyring.invalidate().unwrap()
123114
}
124115

125116
#[test]
@@ -160,9 +151,6 @@ fn clear_keyring_many_keys() {
160151
let (keys, keyrings) = keyring.read().unwrap();
161152
assert_eq!(keys.len(), 0);
162153
assert_eq!(keyrings.len(), 0);
163-
164-
// Clean up.
165-
keyring.invalidate().unwrap()
166154
}
167155

168156
#[test]
@@ -190,7 +178,4 @@ fn clear_keyring_keyring() {
190178
let (keys, keyrings) = keyring.read().unwrap();
191179
assert_eq!(keys.len(), 0);
192180
assert_eq!(keyrings.len(), 0);
193-
194-
// Clean up.
195-
keyring.invalidate().unwrap()
196181
}

src/tests/describe.rs

-6
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,6 @@ fn non_existent_key() {
5353

5454
keyring.unlink_key(&key).unwrap();
5555
utils::wait_for_key_gc(&key);
56-
57-
keyring.invalidate().unwrap()
5856
}
5957

6058
#[test]
@@ -112,8 +110,6 @@ fn describe_key_no_perm() {
112110

113111
let err = key.description().unwrap_err();
114112
assert_eq!(err, errno::Errno(libc::EACCES));
115-
116-
keyring.invalidate().unwrap()
117113
}
118114

119115
#[test]
@@ -128,6 +124,4 @@ fn describe_revoked_key() {
128124

129125
let err = key_mirror.description().unwrap_err();
130126
assert_eq!(err, errno::Errno(libc::EKEYREVOKED));
131-
132-
keyring.invalidate().unwrap()
133127
}

src/tests/instantiate.rs

-12
Original file line numberDiff line numberDiff line change
@@ -126,8 +126,6 @@ fn instantiate_already_instantiated() {
126126

127127
let err = manager.instantiate(None, payload).unwrap_err();
128128
assert_eq!(err, errno::Errno(libc::EPERM));
129-
130-
keyring.invalidate().unwrap()
131129
}
132130

133131
#[test]
@@ -143,8 +141,6 @@ fn reject_already_instantiated() {
143141
let errno = errno::Errno(libc::EKEYREJECTED);
144142
let err = manager.reject(None, duration, errno).unwrap_err();
145143
assert_eq!(err, errno::Errno(libc::EPERM));
146-
147-
keyring.invalidate().unwrap()
148144
}
149145

150146
#[test]
@@ -159,8 +155,6 @@ fn negate_already_instantiated() {
159155
let duration = Duration::from_secs(1);
160156
let err = manager.negate(None, duration).unwrap_err();
161157
assert_eq!(err, errno::Errno(libc::EPERM));
162-
163-
keyring.invalidate().unwrap()
164158
}
165159

166160
#[test]
@@ -178,8 +172,6 @@ fn instantiate_unlinked_key() {
178172

179173
let err = manager.instantiate(None, payload).unwrap_err();
180174
assert_eq!(err, errno::Errno(libc::EPERM));
181-
182-
keyring.invalidate().unwrap()
183175
}
184176

185177
#[test]
@@ -199,8 +191,6 @@ fn reject_unlinked_key() {
199191
let errno = errno::Errno(libc::EKEYREJECTED);
200192
let err = manager.reject(None, duration, errno).unwrap_err();
201193
assert_eq!(err, errno::Errno(libc::EPERM));
202-
203-
keyring.invalidate().unwrap()
204194
}
205195

206196
#[test]
@@ -219,6 +209,4 @@ fn negate_unlinked_key() {
219209
let duration = Duration::from_secs(1);
220210
let err = manager.negate(None, duration).unwrap_err();
221211
assert_eq!(err, errno::Errno(libc::EPERM));
222-
223-
keyring.invalidate().unwrap()
224212
}

src/tests/invalidate.rs

+1-5
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,6 @@ fn unlinked_key() {
6767

6868
let err = key.invalidate().unwrap_err();
6969
assert_eq!(err, errno::Errno(libc::ENOKEY));
70-
71-
keyring.invalidate().unwrap()
7270
}
7371

7472
#[test]
@@ -95,13 +93,11 @@ fn invalidate_key() {
9593
assert!(keys.is_empty());
9694
assert!(keyrings.is_empty());
9795
}
98-
99-
keyring.invalidate().unwrap()
10096
}
10197

10298
#[test]
10399
fn invalidate_keyring() {
104-
let mut keyring = utils::new_test_keyring();
100+
let mut keyring = utils::new_test_keyring_manual();
105101

106102
{
107103
let (keys, keyrings) = keyring.read().unwrap();

src/tests/link.rs

-24
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,6 @@ fn invalid_target() {
3636

3737
let err = invalid_keyring.link_keyring(&keyring).unwrap_err();
3838
assert_eq!(err, errno::Errno(libc::EINVAL));
39-
40-
keyring.invalidate().unwrap()
4139
}
4240

4341
#[test]
@@ -47,8 +45,6 @@ fn invalid_source() {
4745

4846
let err = keyring.link_keyring(&invalid_keyring).unwrap_err();
4947
assert_eq!(err, errno::Errno(libc::EINVAL));
50-
51-
keyring.invalidate().unwrap()
5248
}
5349

5450
#[test]
@@ -65,8 +61,6 @@ fn link_to_non_keyring() {
6561

6662
let err = not_a_keyring.link_key(&linked_key).unwrap_err();
6763
assert_eq!(err, errno::Errno(libc::ENOTDIR));
68-
69-
keyring.invalidate().unwrap()
7064
}
7165

7266
#[test]
@@ -83,8 +77,6 @@ fn link_unlinked_key() {
8377

8478
let err = target_keyring.link_key(&key).unwrap_err();
8579
assert_eq!(err, errno::Errno(libc::ENOKEY));
86-
87-
keyring.invalidate().unwrap()
8880
}
8981

9082
#[test]
@@ -103,8 +95,6 @@ fn link_into_unlinked_keyring() {
10395

10496
let err = target_keyring.link_key(&key).unwrap_err();
10597
assert_eq!(err, errno::Errno(libc::ENOKEY));
106-
107-
keyring.invalidate().unwrap()
10898
}
10999

110100
#[test]
@@ -114,8 +104,6 @@ fn link_self() {
114104

115105
let err = keyring.link_keyring(&keyring_observer).unwrap_err();
116106
assert_eq!(err, errno::Errno(libc::EDEADLK));
117-
118-
keyring.invalidate().unwrap()
119107
}
120108

121109
#[test]
@@ -125,8 +113,6 @@ fn link_self_via_child() {
125113

126114
let err = target_keyring.link_keyring(&keyring).unwrap_err();
127115
assert_eq!(err, errno::Errno(libc::EDEADLK));
128-
129-
keyring.invalidate().unwrap()
130116
}
131117

132118
#[test]
@@ -161,8 +147,6 @@ fn link_self_via_child_chains() {
161147

162148
let err = target_keyring.link_keyring(&keyring).unwrap_err();
163149
assert_eq!(err, errno::Errno(libc::ELOOP));
164-
165-
keyring.invalidate().unwrap()
166150
}
167151

168152
#[test]
@@ -198,8 +182,6 @@ fn link_self_via_keyring_stacks() {
198182

199183
let err = keyring_b.link_keyring(&keyring_a_root).unwrap_err();
200184
assert_eq!(err, errno::Errno(libc::EDEADLK));
201-
202-
keyring.invalidate().unwrap()
203185
}
204186

205187
#[test]
@@ -235,8 +217,6 @@ fn link_self_via_keyring_deep_stacks() {
235217

236218
let err = keyring_b.link_keyring(&keyring_a_root).unwrap_err();
237219
assert_eq!(err, errno::Errno(libc::ELOOP));
238-
239-
keyring.invalidate().unwrap()
240220
}
241221

242222
#[test]
@@ -277,8 +257,6 @@ fn multiply_link_key_into_keyring() {
277257
assert_eq!(keys[0], key);
278258
assert_eq!(keyrings.len(), 1);
279259
assert_eq!(keyrings[0], new_keyring);
280-
281-
keyring.invalidate().unwrap()
282260
}
283261

284262
#[test]
@@ -318,6 +296,4 @@ fn multiply_link_keyring_into_keyring() {
318296
assert_eq!(keyrings.len(), 2);
319297
assert_eq!(keyrings[0], new_keyring);
320298
assert_eq!(keyrings[1], inner_keyring);
321-
322-
keyring.invalidate().unwrap()
323299
}

0 commit comments

Comments
 (0)