aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--.travis.yml4
-rw-r--r--tests/test_bytes.rs8
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);
}));
}