diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bc8987614aa..68817b2bd20 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -42,7 +42,8 @@ jobs: - test-unstable - miri - asan - - cross + - cross-check + - cross-test - features - minrust - minimal-versions @@ -234,13 +235,12 @@ jobs: # Ignore `trybuild` errors as they are irrelevant and flaky on nightly TRYBUILD: overwrite - cross: - name: cross + cross-check: + name: cross-check runs-on: ubuntu-latest strategy: matrix: target: - - i686-unknown-linux-gnu - powerpc-unknown-linux-gnu - powerpc64-unknown-linux-gnu - mips-unknown-linux-gnu @@ -259,13 +259,34 @@ jobs: use-cross: true command: check args: --workspace --all-features --target ${{ matrix.target }} + env: + RUSTFLAGS: --cfg tokio_unstable -Dwarnings + + cross-test: + name: cross-test + runs-on: ubuntu-latest + strategy: + matrix: + target: + - i686-unknown-linux-gnu + - arm-unknown-linux-gnueabihf + - armv7-unknown-linux-gnueabihf + - aarch64-unknown-linux-gnu + steps: + - uses: actions/checkout@v3 + - name: Install Rust ${{ env.rust_stable }} + uses: actions-rs/toolchain@v1 + with: + toolchain: ${{ env.rust_stable }} + target: ${{ matrix.target }} + override: true - uses: actions-rs/cargo@v1 with: use-cross: true - command: check - args: --workspace --all-features --target ${{ matrix.target }} + command: test + args: -p tokio --all-features --target ${{ matrix.target }} --tests env: - RUSTFLAGS: --cfg tokio_unstable -Dwarnings + RUSTFLAGS: --cfg tokio_unstable -Dwarnings --cfg tokio_no_ipv6 features: name: features diff --git a/tokio/tests/rt_common.rs b/tokio/tests/rt_common.rs index 1039162ac2f..433eb2444b8 100644 --- a/tokio/tests/rt_common.rs +++ b/tokio/tests/rt_common.rs @@ -869,14 +869,13 @@ rt_test! { #[test] fn io_notify_while_shutting_down() { use tokio::net::UdpSocket; - use std::net::Ipv6Addr; use std::sync::Arc; for _ in 1..10 { let runtime = rt(); runtime.block_on(async { - let socket = UdpSocket::bind((Ipv6Addr::LOCALHOST, 0)).await.unwrap(); + let socket = UdpSocket::bind("127.0.0.1:0").await.unwrap(); let addr = socket.local_addr().unwrap(); let send_half = Arc::new(socket); let recv_half = send_half.clone(); diff --git a/tokio/tests/tcp_connect.rs b/tokio/tests/tcp_connect.rs index e1359c936ea..f2384420ed3 100644 --- a/tokio/tests/tcp_connect.rs +++ b/tokio/tests/tcp_connect.rs @@ -35,6 +35,7 @@ async fn connect_v4() { } #[tokio::test] +#[cfg(not(tokio_no_ipv6))] async fn connect_v6() { let srv = assert_ok!(TcpListener::bind("[::1]:0").await); let addr = assert_ok!(srv.local_addr()); diff --git a/tokio/tests/tcp_socket.rs b/tokio/tests/tcp_socket.rs index d67c9f4a03d..66309d30411 100644 --- a/tokio/tests/tcp_socket.rs +++ b/tokio/tests/tcp_socket.rs @@ -24,6 +24,7 @@ async fn basic_usage_v4() { } #[tokio::test] +#[cfg(not(tokio_no_ipv6))] async fn basic_usage_v6() { // Create server let addr = assert_ok!("[::1]:0".parse());