diff --git a/.travis.yml b/.travis.yml index 04046aa90c..3e584c26de 100644 --- a/.travis.yml +++ b/.travis.yml @@ -22,63 +22,63 @@ matrix: # Additionally they're moved to the front of the line to get them in the Travis # OS X build queue first. - env: TARGET="aarch64-apple-ios;armv7-apple-ios;armv7s-apple-ios;i386-apple-ios;x86_64-apple-ios" DISABLE_TESTS=1 - rust: 1.20.0 + rust: 1.22.1 os: osx # Mac builds # These are also moved to be first because they wait in a long queue with Travis - env: TARGET=i686-apple-darwin - rust: 1.20.0 + rust: 1.22.1 os: osx - env: TARGET=x86_64-apple-darwin - rust: 1.20.0 + rust: 1.22.1 os: osx # Android - env: TARGET=aarch64-linux-android DISABLE_TESTS=1 - rust: 1.20.0 + rust: 1.22.1 - env: TARGET=arm-linux-androideabi DISABLE_TESTS=1 - rust: 1.20.0 + rust: 1.22.1 - env: TARGET=armv7-linux-androideabi DISABLE_TESTS=1 - rust: 1.20.0 + rust: 1.22.1 - env: TARGET=i686-linux-android DISABLE_TESTS=1 - rust: 1.20.0 + rust: 1.22.1 - env: TARGET=x86_64-linux-android DISABLE_TESTS=1 - rust: 1.20.0 + rust: 1.22.1 # Linux - env: TARGET=aarch64-unknown-linux-gnu - rust: 1.20.0 + rust: 1.22.1 - env: TARGET=arm-unknown-linux-gnueabi - rust: 1.20.0 + rust: 1.22.1 - env: TARGET=arm-unknown-linux-musleabi DISABLE_TESTS=1 - rust: 1.20.0 + rust: 1.22.1 - env: TARGET=armv7-unknown-linux-gnueabihf - rust: 1.20.0 + rust: 1.22.1 - env: TARGET=i686-unknown-linux-gnu - rust: 1.20.0 + rust: 1.22.1 - env: TARGET=i686-unknown-linux-musl - rust: 1.20.0 + rust: 1.22.1 - env: TARGET=mips-unknown-linux-gnu - rust: 1.20.0 + rust: 1.22.1 - env: TARGET=mips64-unknown-linux-gnuabi64 - rust: 1.20.0 + rust: 1.22.1 - env: TARGET=mips64el-unknown-linux-gnuabi64 - rust: 1.20.0 + rust: 1.22.1 - env: TARGET=mipsel-unknown-linux-gnu - rust: 1.20.0 + rust: 1.22.1 - env: TARGET=powerpc-unknown-linux-gnu DISABLE_TESTS=1 - rust: 1.20.0 + rust: 1.22.1 - env: TARGET=powerpc64-unknown-linux-gnu - rust: 1.20.0 + rust: 1.22.1 - env: TARGET=powerpc64le-unknown-linux-gnu - rust: 1.20.0 + rust: 1.22.1 - env: TARGET=s390x-unknown-linux-gnu DISABLE_TESTS=1 - rust: 1.20.0 + rust: 1.22.1 - env: TARGET=x86_64-unknown-linux-gnu - rust: 1.20.0 + rust: 1.22.1 - env: TARGET=x86_64-unknown-linux-musl - rust: 1.20.0 + rust: 1.22.1 # *BSD # FreeBSD i686 and x86_64 use BuildBot instead of Travis @@ -87,7 +87,7 @@ matrix: # - env: TARGET=i686-unknown-freebsd DISABLE_TESTS=1 # - env: TARGET=x86_64-unknown-freebsd DISABLE_TESTS=1 - env: TARGET=x86_64-unknown-netbsd DISABLE_TESTS=1 - rust: 1.20.0 + rust: 1.22.1 # Make sure stable is always working too - env: TARGET=x86_64-unknown-linux-gnu diff --git a/CHANGELOG.md b/CHANGELOG.md index a5bf6fff6f..9480cd5cea 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,8 @@ This project adheres to [Semantic Versioning](http://semver.org/). ([#923](https://github.com/nix-rust/nix/pull/923)) ### Changed +- Increased required Rust version to 1.22.1/ + ([#900](https://github.com/nix-rust/nix/pull/900)) ### Fixed - Made `preadv` take immutable slice of IoVec. diff --git a/Cargo.toml b/Cargo.toml index 9f580a9a49..063097ab14 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -24,8 +24,7 @@ cc = "1" bytes = "0.4.8" lazy_static = "1" rand = "0.4" -tempdir = "0.3" -tempfile = "2" +tempfile = "3" [target.'cfg(target_os = "freebsd")'.dev-dependencies] sysctl = "0.1" diff --git a/README.md b/README.md index 79c7fd2f9e..70836ea1d8 100644 --- a/README.md +++ b/README.md @@ -44,7 +44,7 @@ limitations. Support for platforms is split into three tiers: *do not* block the inclusion of new code. Testing may be run, but failures in tests don't block the inclusion of new code. -The following targets are all supported by nix on Rust 1.20.0 or newer (unless +The following targets are all supported by nix on Rust 1.22.1 or newer (unless otherwise noted): Tier 1: diff --git a/src/sys/socket/mod.rs b/src/sys/socket/mod.rs index e9537c4b0c..4ee1aceec7 100644 --- a/src/sys/socket/mod.rs +++ b/src/sys/socket/mod.rs @@ -678,7 +678,7 @@ pub fn sendmsg<'a>(fd: RawFd, iov: &[IoVec<&'a [u8]>], cmsgs: &[ControlMessage<' { let mut ofs = 0; for cmsg in cmsgs { - let mut ptr = &mut cmsg_buffer[ofs..]; + let ptr = &mut cmsg_buffer[ofs..]; unsafe { cmsg.encode_into(ptr); } diff --git a/src/unistd.rs b/src/unistd.rs index 32d0405e0e..1f357c418a 100644 --- a/src/unistd.rs +++ b/src/unistd.rs @@ -436,15 +436,15 @@ pub fn fchdir(dirfd: RawFd) -> Result<()> { /// # Example /// /// ```rust -/// extern crate tempdir; +/// extern crate tempfile; /// extern crate nix; /// /// use nix::unistd; /// use nix::sys::stat; -/// use tempdir::TempDir; +/// use tempfile::tempdir; /// /// fn main() { -/// let tmp_dir1 = TempDir::new("test_mkdir").unwrap(); +/// let tmp_dir1 = tempdir().unwrap(); /// let tmp_dir2 = tmp_dir1.path().join("new_dir"); /// /// // create new directory and give read, write and execute rights to the owner @@ -479,15 +479,15 @@ pub fn mkdir(path: &P, mode: Mode) -> Result<()> { /// # Example /// /// ```rust -/// extern crate tempdir; +/// extern crate tempfile; /// extern crate nix; /// /// use nix::unistd; /// use nix::sys::stat; -/// use tempdir::TempDir; +/// use tempfile::tempdir; /// /// fn main() { -/// let tmp_dir = TempDir::new("test_fifo").unwrap(); +/// let tmp_dir = tempdir().unwrap(); /// let fifo_path = tmp_dir.path().join("foo.pipe"); /// /// // create new fifo and give read, write and execute rights to the owner diff --git a/test/sys/test_socket.rs b/test/sys/test_socket.rs index e5a69eb0f2..3329417d08 100644 --- a/test/sys/test_socket.rs +++ b/test/sys/test_socket.rs @@ -5,6 +5,7 @@ use std::path::Path; use std::str::FromStr; use std::os::unix::io::RawFd; use libc::c_char; +use tempfile; #[test] pub fn test_inetv4_addr_to_sock_addr() { @@ -90,9 +91,8 @@ pub fn test_abstract_uds_addr() { pub fn test_getsockname() { use nix::sys::socket::{socket, AddressFamily, SockType, SockFlag}; use nix::sys::socket::{bind, SockAddr}; - use tempdir::TempDir; - let tempdir = TempDir::new("test_getsockname").unwrap(); + let tempdir = tempfile::tempdir().unwrap(); let sockname = tempdir.path().join("sock"); let sock = socket(AddressFamily::Unix, SockType::Stream, SockFlag::empty(), None) .expect("socket failed"); @@ -406,9 +406,8 @@ pub fn test_unixdomain() { use nix::sys::socket::{bind, socket, connect, listen, accept, SockAddr}; use nix::unistd::{read, write, close}; use std::thread; - use tempdir::TempDir; - let tempdir = TempDir::new("test_unixdomain").unwrap(); + let tempdir = tempfile::tempdir().unwrap(); let sockname = tempdir.path().join("sock"); let s1 = socket(AddressFamily::Unix, SockType::Stream, SockFlag::empty(), None).expect("socket failed"); diff --git a/test/sys/test_uio.rs b/test/sys/test_uio.rs index 9f56c810a1..47f3b46889 100644 --- a/test/sys/test_uio.rs +++ b/test/sys/test_uio.rs @@ -5,8 +5,7 @@ use std::{cmp, iter}; use std::fs::{OpenOptions}; use std::os::unix::io::AsRawFd; -use tempdir::TempDir; -use tempfile::tempfile; +use tempfile::{tempfile, tempdir}; #[test] fn test_writev() { @@ -114,7 +113,7 @@ fn test_pwrite() { fn test_pread() { use std::io::Write; - let tempdir = TempDir::new("nix-test_pread").unwrap(); + let tempdir = tempdir().unwrap(); let path = tempdir.path().join("pread_test_file"); let mut file = OpenOptions::new().write(true).read(true).create(true) @@ -142,7 +141,7 @@ fn test_pwritev() { IoVec::from_slice(&to_write[64..128]), ]; - let tempdir = TempDir::new("nix-test_pwritev").unwrap(); + let tempdir = tempdir().unwrap(); // pwritev them into a temporary file let path = tempdir.path().join("pwritev_test_file"); @@ -166,7 +165,7 @@ fn test_preadv() { let to_write: Vec = (0..200).collect(); let expected: Vec = (100..200).collect(); - let tempdir = TempDir::new("nix-test_preadv").unwrap(); + let tempdir = tempdir().unwrap(); let path = tempdir.path().join("preadv_test_file"); diff --git a/test/test.rs b/test/test.rs index 8083b8f9d6..da55235af2 100644 --- a/test/test.rs +++ b/test/test.rs @@ -7,7 +7,6 @@ extern crate nix; extern crate lazy_static; extern crate libc; extern crate rand; -extern crate tempdir; extern crate tempfile; mod sys; diff --git a/test/test_fcntl.rs b/test/test_fcntl.rs index 57b35837df..bcc523bfcc 100644 --- a/test/test_fcntl.rs +++ b/test/test_fcntl.rs @@ -1,8 +1,7 @@ use nix::fcntl::{openat, open, OFlag, readlink, readlinkat}; use nix::sys::stat::Mode; use nix::unistd::{close, read}; -use tempdir::TempDir; -use tempfile::NamedTempFile; +use tempfile::{self, NamedTempFile}; use std::io::prelude::*; use std::os::unix::fs; @@ -30,8 +29,7 @@ fn test_openat() { #[test] fn test_readlink() { - let tempdir = TempDir::new("nix-test_readdir") - .unwrap_or_else(|e| panic!("tempdir failed: {}", e)); + let tempdir = tempfile::tempdir().unwrap(); let src = tempdir.path().join("a"); let dst = tempdir.path().join("b"); println!("a: {:?}, b: {:?}", &src, &dst); diff --git a/test/test_mount.rs b/test/test_mount.rs index 89416a43d1..2e4f19ccf4 100644 --- a/test/test_mount.rs +++ b/test/test_mount.rs @@ -5,7 +5,7 @@ extern crate libc; extern crate nix; -extern crate tempdir; +extern crate tempfile; #[cfg(target_os = "linux")] mod test_mount { @@ -23,7 +23,7 @@ mod test_mount { use nix::sys::stat::{self, Mode}; use nix::unistd::getuid; - use tempdir::TempDir; + use tempfile; static SCRIPT_CONTENTS: &'static [u8] = b"#!/bin/sh exit 23"; @@ -32,8 +32,7 @@ exit 23"; const NONE: Option<&'static [u8]> = None; pub fn test_mount_tmpfs_without_flags_allows_rwx() { - let tempdir = TempDir::new("nix-test_mount") - .unwrap_or_else(|e| panic!("tempdir failed: {}", e)); + let tempdir = tempfile::tempdir().unwrap(); mount(NONE, tempdir.path(), @@ -89,8 +88,7 @@ exit 23"; } pub fn test_mount_rdonly_disallows_write() { - let tempdir = TempDir::new("nix-test_mount") - .unwrap_or_else(|e| panic!("tempdir failed: {}", e)); + let tempdir = tempfile::tempdir().unwrap(); mount(NONE, tempdir.path(), @@ -107,8 +105,7 @@ exit 23"; } pub fn test_mount_noexec_disallows_exec() { - let tempdir = TempDir::new("nix-test_mount") - .unwrap_or_else(|e| panic!("tempdir failed: {}", e)); + let tempdir = tempfile::tempdir().unwrap(); mount(NONE, tempdir.path(), @@ -146,13 +143,11 @@ exit 23"; } pub fn test_mount_bind() { - let tempdir = TempDir::new("nix-test_mount") - .unwrap_or_else(|e| panic!("tempdir failed: {}", e)); + let tempdir = tempfile::tempdir().unwrap(); let file_name = "test"; { - let mount_point = TempDir::new("nix-test_mount") - .unwrap_or_else(|e| panic!("tempdir failed: {}", e)); + let mount_point = tempfile::tempdir().unwrap(); mount(Some(tempdir.path()), mount_point.path(), diff --git a/test/test_stat.rs b/test/test_stat.rs index c042ce195f..4135052efe 100644 --- a/test/test_stat.rs +++ b/test/test_stat.rs @@ -9,7 +9,7 @@ use nix::sys::stat::{self, fchmod, fchmodat, fstat, lstat, stat}; use nix::sys::stat::{FileStat, Mode, FchmodatFlags}; use nix::unistd::chdir; use nix::Result; -use tempdir::TempDir; +use tempfile; #[allow(unused_comparisons)] // uid and gid are signed on Windows, but not on other platforms. This function @@ -56,7 +56,7 @@ fn assert_lstat_results(stat_result: Result) { #[test] fn test_stat_and_fstat() { - let tempdir = TempDir::new("nix-test_stat_and_fstat").unwrap(); + let tempdir = tempfile::tempdir().unwrap(); let filename = tempdir.path().join("foo.txt"); let file = File::create(&filename).unwrap(); @@ -69,7 +69,7 @@ fn test_stat_and_fstat() { #[test] fn test_fstatat() { - let tempdir = TempDir::new("nix-test_fstatat").unwrap(); + let tempdir = tempfile::tempdir().unwrap(); let filename = tempdir.path().join("foo.txt"); File::create(&filename).unwrap(); let dirfd = fcntl::open(tempdir.path(), @@ -84,7 +84,7 @@ fn test_fstatat() { #[test] fn test_stat_fstat_lstat() { - let tempdir = TempDir::new("nix-test_stat_fstat_lstat").unwrap(); + let tempdir = tempfile::tempdir().unwrap(); let filename = tempdir.path().join("bar.txt"); let linkname = tempdir.path().join("barlink"); @@ -106,7 +106,7 @@ fn test_stat_fstat_lstat() { #[test] fn test_fchmod() { - let tempdir = TempDir::new("nix-test_fchmod").unwrap(); + let tempdir = tempfile::tempdir().unwrap(); let filename = tempdir.path().join("foo.txt"); let file = File::create(&filename).unwrap(); @@ -128,7 +128,7 @@ fn test_fchmod() { #[test] fn test_fchmodat() { - let tempdir = TempDir::new("nix-test_fchmodat").unwrap(); + let tempdir = tempfile::tempdir().unwrap(); let filename = "foo.txt"; let fullpath = tempdir.path().join(filename); File::create(&fullpath).unwrap(); diff --git a/test/test_unistd.rs b/test/test_unistd.rs index fe33b1d06c..d36a3d3934 100644 --- a/test/test_unistd.rs +++ b/test/test_unistd.rs @@ -1,5 +1,3 @@ -extern crate tempdir; - use nix::fcntl::{fcntl, FcntlArg, FdFlag, OFlag}; use nix::unistd::*; use nix::unistd::ForkResult::*; @@ -11,8 +9,7 @@ use std::ffi::CString; use std::fs::File; use std::io::Write; use std::os::unix::prelude::*; -use tempfile::tempfile; -use tempdir::TempDir; +use tempfile::{self, tempfile}; use libc::{self, _exit, off_t}; #[test] @@ -84,7 +81,7 @@ fn test_mkstemp_directory() { #[test] fn test_mkfifo() { - let tempdir = TempDir::new("nix-test_mkfifo").unwrap(); + let tempdir = tempfile::tempdir().unwrap(); let mkfifo_fifo = tempdir.path().join("mkfifo_fifo"); mkfifo(&mkfifo_fifo, Mode::S_IRUSR).unwrap(); @@ -286,7 +283,7 @@ fn test_fchdir() { #[allow(unused_variables)] let m = ::CWD_MTX.lock().expect("Mutex got poisoned by another test"); - let tmpdir = TempDir::new("test_fchdir").unwrap(); + let tmpdir = tempfile::tempdir().unwrap(); let tmpdir_path = tmpdir.path().canonicalize().unwrap(); let tmpdir_fd = File::open(&tmpdir_path).unwrap().into_raw_fd(); @@ -302,7 +299,7 @@ fn test_getcwd() { #[allow(unused_variables)] let m = ::CWD_MTX.lock().expect("Mutex got poisoned by another test"); - let tmpdir = TempDir::new("test_getcwd").unwrap(); + let tmpdir = tempfile::tempdir().unwrap(); let tmpdir_path = tmpdir.path().canonicalize().unwrap(); assert!(chdir(&tmpdir_path).is_ok()); assert_eq!(getcwd().unwrap(), tmpdir_path);