Skip to content

Commit 145c694

Browse files
committed
futures: Require all stable features in tests
1 parent c58c721 commit 145c694

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+19
-191
lines changed

.travis.yml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,16 @@ matrix:
3838
# When updating this, the reminder to update the minimum required version of `async-await` feature in README.md.
3939
- name: cargo build --features async-await (minimum required version)
4040
rust: 1.39.0
41+
install:
42+
# cargo does not support for --features/--no-default-features with workspace, so use cargo-hack instead.
43+
# Refs: cargo#3620, cargo#4106, cargo#4463, cargo#4753, cargo#5015, cargo#5364, cargo#6195
44+
- if ! cargo hack -V 2>/dev/null; then
45+
cargo install cargo-hack;
46+
fi
4147
script:
42-
- cargo run --manifest-path ci/remove-dev-dependencies/Cargo.toml */Cargo.toml
4348
# async-await feature is activated by default.
44-
- cargo build --workspace
49+
- cargo hack build --workspace --no-dev-deps
50+
- cargo build --tests --features default,thread-pool,io-compat --manifest-path futures/Cargo.toml
4551

4652
- name: cargo +stable build
4753
rust: stable

futures/tests/_require_features.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
#[cfg(not(all(
2+
feature = "std", feature = "alloc", feature = "async-await",
3+
feature = "compat", feature = "io-compat",
4+
feature = "executor", feature = "thread-pool",
5+
)))]
6+
compile_error!("`futures` tests must have all stable features activated: \
7+
use `--all-features` or `--features default,thread-pool,io-compat`"
8+
);

futures/tests/abortable.rs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
#[cfg(all(feature = "alloc", feature = "executor"))]
21
#[test]
32
fn abortable_works() {
43
use futures::channel::oneshot;
@@ -12,7 +11,6 @@ fn abortable_works() {
1211
assert_eq!(Err(Aborted), block_on(abortable_rx));
1312
}
1413

15-
#[cfg(all(feature = "alloc", feature = "executor"))]
1614
#[test]
1715
fn abortable_awakens() {
1816
use futures::channel::oneshot;
@@ -33,7 +31,6 @@ fn abortable_awakens() {
3331
assert_eq!(Poll::Ready(Err(Aborted)), abortable_rx.poll_unpin(&mut cx));
3432
}
3533

36-
#[cfg(all(feature = "alloc", feature = "executor"))]
3734
#[test]
3835
fn abortable_resolves() {
3936
use futures::channel::oneshot;

futures/tests/arc_wake.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
#[cfg(feature = "alloc")]
21
mod countingwaker {
32
use futures::task::{self, ArcWake, Waker};
43
use std::sync::{Arc, Mutex};
@@ -60,7 +59,6 @@ mod countingwaker {
6059
}
6160
}
6261

63-
#[cfg(feature = "alloc")]
6462
#[test]
6563
fn proper_refcount_on_wake_panic() {
6664
use futures::task::{self, ArcWake, Waker};

futures/tests/async_await_macros.rs

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
#![recursion_limit="128"]
2-
3-
#[cfg(all(feature = "async-await", feature = "std", feature = "executor"))]
41
#[test]
52
fn poll_and_pending() {
63
use futures::{pending, pin_mut, poll};
@@ -15,7 +12,6 @@ fn poll_and_pending() {
1512
});
1613
}
1714

18-
#[cfg(all(feature = "async-await", feature = "std", feature = "executor"))]
1915
#[test]
2016
fn join() {
2117
use futures::{pin_mut, poll, join};
@@ -41,7 +37,6 @@ fn join() {
4137
});
4238
}
4339

44-
#[cfg(all(feature = "async-await", feature = "std", feature = "executor"))]
4540
#[test]
4641
fn select() {
4742
use futures::select;
@@ -65,7 +60,6 @@ fn select() {
6560
assert!(ran);
6661
}
6762

68-
#[cfg(all(feature = "alloc", feature = "executor", feature = "async-await"))]
6963
#[test]
7064
fn select_biased() {
7165
use futures::channel::oneshot;
@@ -89,7 +83,6 @@ fn select_biased() {
8983
assert!(ran);
9084
}
9185

92-
#[cfg(all(feature = "async-await", feature = "std", feature = "executor"))]
9386
#[test]
9487
fn select_streams() {
9588
use futures::select;
@@ -139,7 +132,6 @@ fn select_streams() {
139132
assert!(ran);
140133
}
141134

142-
#[cfg(all(feature = "async-await", feature = "std", feature = "executor"))]
143135
#[test]
144136
fn select_can_move_uncompleted_futures() {
145137
use futures::select;
@@ -171,7 +163,6 @@ fn select_can_move_uncompleted_futures() {
171163
assert!(ran);
172164
}
173165

174-
#[cfg(all(feature = "async-await", feature = "std", feature = "executor"))]
175166
#[test]
176167
fn select_nested() {
177168
use futures::select;
@@ -192,7 +183,6 @@ fn select_nested() {
192183
assert_eq!(res, 3);
193184
}
194185

195-
#[cfg(all(feature = "async-await", feature = "std"))]
196186
#[test]
197187
fn select_size() {
198188
use futures::select;
@@ -217,7 +207,6 @@ fn select_size() {
217207
assert_eq!(::std::mem::size_of_val(&fut), 40);
218208
}
219209

220-
#[cfg(all(feature = "async-await", feature = "std", feature = "executor"))]
221210
#[test]
222211
fn select_on_non_unpin_expressions() {
223212
use futures::select;
@@ -240,7 +229,6 @@ fn select_on_non_unpin_expressions() {
240229
assert_eq!(res, 5);
241230
}
242231

243-
#[cfg(all(feature = "async-await", feature = "std", feature = "executor"))]
244232
#[test]
245233
fn select_on_non_unpin_expressions_with_default() {
246234
use futures::select;
@@ -264,7 +252,6 @@ fn select_on_non_unpin_expressions_with_default() {
264252
assert_eq!(res, 5);
265253
}
266254

267-
#[cfg(all(feature = "async-await", feature = "std"))]
268255
#[test]
269256
fn select_on_non_unpin_size() {
270257
use futures::select;
@@ -287,7 +274,6 @@ fn select_on_non_unpin_size() {
287274
assert_eq!(32, std::mem::size_of_val(&fut));
288275
}
289276

290-
#[cfg(all(feature = "async-await", feature = "std", feature = "executor"))]
291277
#[test]
292278
fn select_can_be_used_as_expression() {
293279
use futures::select;
@@ -303,7 +289,6 @@ fn select_can_be_used_as_expression() {
303289
});
304290
}
305291

306-
#[cfg(all(feature = "async-await", feature = "std", feature = "executor"))]
307292
#[test]
308293
fn select_with_default_can_be_used_as_expression() {
309294
use futures::select;
@@ -325,7 +310,6 @@ fn select_with_default_can_be_used_as_expression() {
325310
});
326311
}
327312

328-
#[cfg(all(feature = "async-await", feature = "std", feature = "executor"))]
329313
#[test]
330314
fn select_with_complete_can_be_used_as_expression() {
331315
use futures::select;
@@ -343,7 +327,6 @@ fn select_with_complete_can_be_used_as_expression() {
343327
});
344328
}
345329

346-
#[cfg(all(feature = "async-await", feature = "std", feature = "executor"))]
347330
#[test]
348331
fn select_on_mutable_borrowing_future_with_same_borrow_in_block() {
349332
use futures::select;
@@ -364,7 +347,6 @@ fn select_on_mutable_borrowing_future_with_same_borrow_in_block() {
364347
});
365348
}
366349

367-
#[cfg(all(feature = "async-await", feature = "std", feature = "executor"))]
368350
#[test]
369351
fn select_on_mutable_borrowing_future_with_same_borrow_in_block_and_default() {
370352
use futures::select;
@@ -388,7 +370,6 @@ fn select_on_mutable_borrowing_future_with_same_borrow_in_block_and_default() {
388370
});
389371
}
390372

391-
#[cfg(feature = "async-await")]
392373
#[test]
393374
fn join_size() {
394375
use futures::join;
@@ -408,7 +389,6 @@ fn join_size() {
408389
assert_eq!(::std::mem::size_of_val(&fut), 28);
409390
}
410391

411-
#[cfg(feature = "async-await")]
412392
#[test]
413393
fn try_join_size() {
414394
use futures::try_join;
@@ -428,7 +408,6 @@ fn try_join_size() {
428408
assert_eq!(::std::mem::size_of_val(&fut), 28);
429409
}
430410

431-
#[cfg(feature = "async-await")]
432411
#[test]
433412
fn join_doesnt_require_unpin() {
434413
use futures::join;
@@ -438,7 +417,6 @@ fn join_doesnt_require_unpin() {
438417
};
439418
}
440419

441-
#[cfg(feature = "async-await")]
442420
#[test]
443421
fn try_join_doesnt_require_unpin() {
444422
use futures::try_join;

futures/tests/atomic_waker.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
#[cfg(feature = "executor")]
21
#[test]
32
fn basic() {
43
use std::sync::atomic::AtomicUsize;

futures/tests/buffer_unordered.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
#[cfg(all(feature = "alloc", feature = "std", feature = "executor"))]
21
#[test]
32
#[ignore] // FIXME: https://github.com/rust-lang/futures-rs/issues/1790
43
fn works() {

futures/tests/compat.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
#![cfg(feature = "compat")]
2-
31
use tokio::timer::Delay;
42
use tokio::runtime::Runtime;
53
use std::time::Instant;

futures/tests/eager_drop.rs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,6 @@ mod channelled {
6363
}
6464
}
6565

66-
#[cfg(feature = "alloc")]
6766
#[test]
6867
fn then_drops_eagerly() {
6968
use futures::channel::oneshot;
@@ -88,7 +87,6 @@ mod channelled {
8887
rx2.recv().unwrap();
8988
}
9089

91-
#[cfg(feature = "alloc")]
9290
#[test]
9391
fn and_then_drops_eagerly() {
9492
use futures::channel::oneshot;
@@ -113,7 +111,6 @@ mod channelled {
113111
rx2.recv().unwrap();
114112
}
115113

116-
#[cfg(feature = "alloc")]
117114
#[test]
118115
fn or_else_drops_eagerly() {
119116
use futures::channel::oneshot;

futures/tests/eventual.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
#![cfg(all(feature = "executor", feature = "thread-pool"))]
21
use futures::channel::oneshot;
32
use futures::executor::ThreadPool;
43
use futures::future::{self, ok, Future, FutureExt, TryFutureExt};

0 commit comments

Comments
 (0)