From dc9c8e304e60b6038e0df4bfd7abfdc145251310 Mon Sep 17 00:00:00 2001 From: Carl Lerche Date: Mon, 20 Mar 2017 10:12:23 -0700 Subject: [PATCH] Misc CI fixes (#89) Limit the number of threads when using qemu to 1. Also, don't bother running the stress test as this will trigger qemu bugs. Finally, also make the stress test actually stress test. --- .travis.yml | 4 ++-- tests/test_bytes.rs | 8 ++++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index be9d034..9d190d4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -30,8 +30,8 @@ matrix: # Run tests on some extra platforms - env: TARGET=i686-unknown-linux-gnu - env: TARGET=armv7-unknown-linux-gnueabihf - - env: TARGET=powerpc-unknown-linux-gnu - - env: TARGET=powerpc64-unknown-linux-gnu + - env: RUST_TEST_THREADS=1 TARGET=powerpc-unknown-linux-gnu + - env: RUST_TEST_THREADS=1 TARGET=powerpc64-unknown-linux-gnu before_install: set -e diff --git a/tests/test_bytes.rs b/tests/test_bytes.rs index cfb5070..2e163df 100644 --- a/tests/test_bytes.rs +++ b/tests/test_bytes.rs @@ -298,6 +298,9 @@ fn extend() { } #[test] +// Only run these tests on little endian systems. CI uses qemu for testing +// little endian... and qemu doesn't really support threading all that well. +#[cfg(target_endian = "little")] fn stress() { // Tests promoting a buffer from a vec -> shared in a concurrent situation use std::sync::{Arc, Barrier}; @@ -308,7 +311,7 @@ fn stress() { for i in 0..ITERS { let data = [i as u8; 256]; - let buf = Arc::new(BytesMut::from(&data[..])); + let buf = Arc::new(Bytes::from(&data[..])); let barrier = Arc::new(Barrier::new(THREADS)); let mut joins = Vec::with_capacity(THREADS); @@ -319,7 +322,8 @@ fn stress() { joins.push(thread::spawn(move || { c.wait(); - let _buf = buf.clone(); + let buf: Bytes = (*buf).clone(); + drop(buf); })); }