From 77cfceea7da0ff9a33fd54b0a1e479f9d4dfde85 Mon Sep 17 00:00:00 2001 From: Thom Wiggers Date: Mon, 8 Apr 2019 07:53:00 +0200 Subject: [PATCH 01/10] Add tests for symlinks to git submodules or directories. --- tests/testsuite/package.rs | 43 ++++++++++++++++++++++++++++++++++ tests/testsuite/support/mod.rs | 21 +++++++++++++++-- 2 files changed, 62 insertions(+), 2 deletions(-) diff --git a/tests/testsuite/package.rs b/tests/testsuite/package.rs index 92be2b2eee2..71afb01f9d6 100644 --- a/tests/testsuite/package.rs +++ b/tests/testsuite/package.rs @@ -504,6 +504,37 @@ fn package_git_submodule() { .run(); } +#[cargo_test] +fn package_symlink_to_submodule() { + let project = git::new("foo", |project| { + project + .file("src/lib.rs", "pub fn foo() {}") + .symlink("submodule", "submodule-link") + }).unwrap(); + + let library = git::new("submodule", |library| { + library.no_manifest().file("Makefile", "all:") + }).unwrap(); + + let repository = git2::Repository::open(&project.root()).unwrap(); + let url = path2url(library.root()).to_string(); + git::add_submodule(&repository, &url, Path::new("submodule")); + git::commit(&repository); + + let repository = git2::Repository::open(&project.root().join("submodule")).unwrap(); + repository + .reset( + &repository.revparse_single("HEAD").unwrap(), + git2::ResetType::Hard, + None + ).unwrap(); + + project + .cargo("package --no-verify -v") + .with_stderr_contains("[ARCHIVING] submodule/Makefile") + .run(); +} + #[cargo_test] fn no_duplicates_from_modified_tracked_files() { let root = paths::root().join("all"); @@ -699,6 +730,18 @@ Caused by: .run(); } +#[cargo_test] +fn package_symlink_to_dir() { + project() + .file("src/main.rs", r#"fn main() { println!("hello"); }"#) + .file("bla/Makefile", "all:") + .symlink_dir("bla", "foo") + .build() + .cargo("package -v") + .with_stderr_contains("[ARCHIVING] foo/Makefile") + .run(); +} + #[cargo_test] fn do_not_package_if_repository_is_dirty() { let p = project().build(); diff --git a/tests/testsuite/support/mod.rs b/tests/testsuite/support/mod.rs index 01abfdba550..f64ac8dda71 100644 --- a/tests/testsuite/support/mod.rs +++ b/tests/testsuite/support/mod.rs @@ -178,11 +178,16 @@ impl FileBuilder { struct SymlinkBuilder { dst: PathBuf, src: PathBuf, + src_is_dir: bool, } impl SymlinkBuilder { pub fn new(dst: PathBuf, src: PathBuf) -> SymlinkBuilder { - SymlinkBuilder { dst, src } + SymlinkBuilder { dst, src, src_is_dir: false } + } + + pub fn new_dir(dst: PathBuf, src: PathBuf) -> SymlinkBuilder { + SymlinkBuilder { dst, src, src_is_dir: true } } #[cfg(unix)] @@ -194,7 +199,11 @@ impl SymlinkBuilder { #[cfg(windows)] fn mk(&self) { self.dirname().mkdir_p(); - t!(os::windows::fs::symlink_file(&self.dst, &self.src)); + if self.src_is_dir { + t!(os::window::fs::symlink_dir(&self.dst, &self.src)); + } else { + t!(os::windows::fs::symlink_file(&self.dst, &self.src)); + } } fn dirname(&self) -> &Path { @@ -261,6 +270,14 @@ impl ProjectBuilder { self } + pub fn symlink_dir>(mut self, dst: T, src: T) -> Self { + self.symlinks.push(SymlinkBuilder::new_dir( + self.root.root().join(dst), + self.root.root().join(src), + )); + self + } + pub fn no_manifest(mut self) -> Self { self.no_manifest = true; self From 50a24ff29b6ab7d2b2e51e053c0d91f2f64bf3f7 Mon Sep 17 00:00:00 2001 From: Thom Wiggers Date: Wed, 3 Apr 2019 15:07:04 +0200 Subject: [PATCH 02/10] Check if symlinks are directories Fixes #2748. Uses @ehuss's suggested fix. See https://github.com/rust-lang/cargo/pull/6817#issuecomment-480538976 --- src/cargo/sources/path.rs | 14 +++++++++++--- tests/testsuite/package.rs | 8 +++++++- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/src/cargo/sources/path.rs b/src/cargo/sources/path.rs index af6d458c345..db8e7d99876 100644 --- a/src/cargo/sources/path.rs +++ b/src/cargo/sources/path.rs @@ -219,9 +219,17 @@ impl<'cfg> PathSource<'cfg> { // the untracked files are often part of a build and may become relevant // as part of a future commit. let index_files = index.iter().map(|entry| { - use libgit2_sys::GIT_FILEMODE_COMMIT; - let is_dir = entry.mode == GIT_FILEMODE_COMMIT as u32; - (join(root, &entry.path), Some(is_dir)) + use libgit2_sys::{GIT_FILEMODE_COMMIT, GIT_FILEMODE_LINK}; + // ``is_dir`` is an optimization to avoid calling + // ``fs::metadata`` on every file. + let is_dir = if entry.mode == GIT_FILEMODE_LINK as u32 { + // Let the code below figure out if this symbolic link points + // to a directory or not. + None + } else { + Some(entry.mode == GIT_FILEMODE_COMMIT as u32) + }; + (join(root, &entry.path), is_dir) }); let mut opts = git2::StatusOptions::new(); opts.include_untracked(true); diff --git a/tests/testsuite/package.rs b/tests/testsuite/package.rs index 71afb01f9d6..d895dca7812 100644 --- a/tests/testsuite/package.rs +++ b/tests/testsuite/package.rs @@ -506,10 +506,14 @@ fn package_git_submodule() { #[cargo_test] fn package_symlink_to_submodule() { + #[cfg(unix)] + use std::os::unix::fs::symlink as symlink; + #[cfg(windows)] + use std::os::unix::fs::symlink_dir as symlink; + let project = git::new("foo", |project| { project .file("src/lib.rs", "pub fn foo() {}") - .symlink("submodule", "submodule-link") }).unwrap(); let library = git::new("submodule", |library| { @@ -519,6 +523,8 @@ fn package_symlink_to_submodule() { let repository = git2::Repository::open(&project.root()).unwrap(); let url = path2url(library.root()).to_string(); git::add_submodule(&repository, &url, Path::new("submodule")); + t!(symlink(&project.root().join("submodule"), &project.root().join("submodule-link"))); + git::add(&repository); git::commit(&repository); let repository = git2::Repository::open(&project.root().join("submodule")).unwrap(); From 32130f8e58c5bb84bd5ad1570b40644225c3feb5 Mon Sep 17 00:00:00 2001 From: Thom Wiggers Date: Thu, 11 Apr 2019 13:28:45 +0200 Subject: [PATCH 03/10] enable the broken_symlink test on Windows --- tests/testsuite/package.rs | 10 ++++++---- tests/testsuite/support/mod.rs | 5 +++-- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/tests/testsuite/package.rs b/tests/testsuite/package.rs index d895dca7812..19bcbdbdee7 100644 --- a/tests/testsuite/package.rs +++ b/tests/testsuite/package.rs @@ -509,7 +509,7 @@ fn package_symlink_to_submodule() { #[cfg(unix)] use std::os::unix::fs::symlink as symlink; #[cfg(windows)] - use std::os::unix::fs::symlink_dir as symlink; + use std::os::windows::fs::symlink_dir as symlink; let project = git::new("foo", |project| { project @@ -697,9 +697,11 @@ See [..] } #[cargo_test] -#[cfg(unix)] fn broken_symlink() { - use std::os::unix::fs; + #[cfg(unix)] + use std::os::unix::fs::symlink as symlink; + #[cfg(windows)] + use std::os::windows::fs::symlink_dir as symlink; let p = project() .file( @@ -718,7 +720,7 @@ fn broken_symlink() { ) .file("src/main.rs", r#"fn main() { println!("hello"); }"#) .build(); - t!(fs::symlink("nowhere", &p.root().join("src/foo.rs"))); + t!(symlink("nowhere", &p.root().join("src/foo.rs"))); p.cargo("package -v") .with_status(101) diff --git a/tests/testsuite/support/mod.rs b/tests/testsuite/support/mod.rs index f64ac8dda71..cf1c3a0ec0e 100644 --- a/tests/testsuite/support/mod.rs +++ b/tests/testsuite/support/mod.rs @@ -200,7 +200,7 @@ impl SymlinkBuilder { fn mk(&self) { self.dirname().mkdir_p(); if self.src_is_dir { - t!(os::window::fs::symlink_dir(&self.dst, &self.src)); + t!(os::windows::fs::symlink_dir(&self.dst, &self.src)); } else { t!(os::windows::fs::symlink_file(&self.dst, &self.src)); } @@ -261,7 +261,7 @@ impl ProjectBuilder { .push(FileBuilder::new(self.root.root().join(path), body)); } - /// Adds a symlink to the project. + /// Adds a symlink to a file to the project. pub fn symlink>(mut self, dst: T, src: T) -> Self { self.symlinks.push(SymlinkBuilder::new( self.root.root().join(dst), @@ -270,6 +270,7 @@ impl ProjectBuilder { self } + /// Create a symlink to a directory pub fn symlink_dir>(mut self, dst: T, src: T) -> Self { self.symlinks.push(SymlinkBuilder::new_dir( self.root.root().join(dst), From 6195924cd720392736cc0ebe3240ccbe8e46d594 Mon Sep 17 00:00:00 2001 From: Thom Wiggers Date: Thu, 11 Apr 2019 14:06:19 +0200 Subject: [PATCH 04/10] handle symlinks correctly in support/paths.rs --- tests/testsuite/support/paths.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/testsuite/support/paths.rs b/tests/testsuite/support/paths.rs index 7dfb65c69a3..bf3c763de87 100644 --- a/tests/testsuite/support/paths.rs +++ b/tests/testsuite/support/paths.rs @@ -153,7 +153,7 @@ impl CargoPathExt for Path { where F: Fn(i64, u32) -> ((i64, u32)), { - let stat = t!(path.metadata()); + let stat = t!(path.symlink_metadata()); let mtime = FileTime::from_last_modification_time(&stat); From 673bb69cf554630401b9dca5053b5bc944830ca9 Mon Sep 17 00:00:00 2001 From: Thom Wiggers Date: Thu, 4 Jul 2019 13:21:50 +0200 Subject: [PATCH 05/10] Ignore tests that need Administrator privileges on Windows. This patch allows you to run them when wanted with ``--ignored`` on Windows. --- ci/azure-test-all.yml | 7 +++++ tests/testsuite/build.rs | 10 +++---- tests/testsuite/package.rs | 53 ++++++++++++++++++++++++++++------ tests/testsuite/support/mod.rs | 18 ++++++++---- 4 files changed, 69 insertions(+), 19 deletions(-) diff --git a/ci/azure-test-all.yml b/ci/azure-test-all.yml index 626858431e8..df700161c63 100644 --- a/ci/azure-test-all.yml +++ b/ci/azure-test-all.yml @@ -26,3 +26,10 @@ steps: # fix the link errors. - bash: cargo test --features 'deny-warnings curl/force-system-lib-on-osx' displayName: "cargo test" + +# Run any tests that have been marked ignore. +# +# `--include-ignored` is only supported on nightly so far, so we have to call +# this separately for now. +- bash: cargo test --features 'deny-warnings curl/force-system-lib-on-osx' -- --ignored + displayName: "cargo test -- --ignored" diff --git a/tests/testsuite/build.rs b/tests/testsuite/build.rs index 59ed086708d..ce888880e15 100644 --- a/tests/testsuite/build.rs +++ b/tests/testsuite/build.rs @@ -1495,12 +1495,12 @@ package `test v0.0.0 ([CWD])`", } #[cargo_test] +#[cfg_attr(windows, ignore)] +/// Make sure ignored symlinks don't break the build +/// +/// This test is marked ``ignore`` on Windows because it needs admin permissions. +/// Run it with ``--ignored``. fn ignore_broken_symlinks() { - // windows and symlinks don't currently agree that well - if cfg!(windows) { - return; - } - let p = project() .file("Cargo.toml", &basic_bin_manifest("foo")) .file("src/foo.rs", &main_file(r#""i am foo""#, &[])) diff --git a/tests/testsuite/package.rs b/tests/testsuite/package.rs index 19bcbdbdee7..fa59ccf8588 100644 --- a/tests/testsuite/package.rs +++ b/tests/testsuite/package.rs @@ -505,25 +505,39 @@ fn package_git_submodule() { } #[cargo_test] +#[cfg_attr(windows, ignore)] +/// Tests if a symlink to a git submodule is properly handled. +/// +/// This test is ignored on Windows, because it needs Administrator +/// permissions to run. If you do want to run this test, please +/// run the tests with ``--ignored``, e.g. +/// +/// ```text +/// cargo test -- --ignored +/// ``` fn package_symlink_to_submodule() { #[cfg(unix)] - use std::os::unix::fs::symlink as symlink; + use std::os::unix::fs::symlink; #[cfg(windows)] use std::os::windows::fs::symlink_dir as symlink; let project = git::new("foo", |project| { - project - .file("src/lib.rs", "pub fn foo() {}") - }).unwrap(); + project.file("src/lib.rs", "pub fn foo() {}") + }) + .unwrap(); let library = git::new("submodule", |library| { library.no_manifest().file("Makefile", "all:") - }).unwrap(); + }) + .unwrap(); let repository = git2::Repository::open(&project.root()).unwrap(); let url = path2url(library.root()).to_string(); git::add_submodule(&repository, &url, Path::new("submodule")); - t!(symlink(&project.root().join("submodule"), &project.root().join("submodule-link"))); + t!(symlink( + &project.root().join("submodule"), + &project.root().join("submodule-link") + )); git::add(&repository); git::commit(&repository); @@ -532,8 +546,9 @@ fn package_symlink_to_submodule() { .reset( &repository.revparse_single("HEAD").unwrap(), git2::ResetType::Hard, - None - ).unwrap(); + None, + ) + .unwrap(); project .cargo("package --no-verify -v") @@ -697,9 +712,19 @@ See [..] } #[cargo_test] +#[cfg_attr(windows, ignore)] +/// Tests if a broken symlink is properly handled when packaging. +/// +/// This test is ignored on Windows, because it needs Administrator +/// permissions to run. If you do want to run this test, please +/// run the tests with ``--ignored``, e.g. +/// +/// ```text +/// cargo test -- --ignored +/// ``` fn broken_symlink() { #[cfg(unix)] - use std::os::unix::fs::symlink as symlink; + use std::os::unix::fs::symlink; #[cfg(windows)] use std::os::windows::fs::symlink_dir as symlink; @@ -739,6 +764,16 @@ Caused by: } #[cargo_test] +#[cfg_attr(windows, ignore)] +/// Tests if a symlink to a directory is proberly included. +/// +/// This test is ignored on Windows, because it needs Administrator +/// permissions to run. If you do want to run this test, please +/// run the tests with ``--ignored``, e.g. +/// +/// ```text +/// cargo test -- --ignored +/// ``` fn package_symlink_to_dir() { project() .file("src/main.rs", r#"fn main() { println!("hello"); }"#) diff --git a/tests/testsuite/support/mod.rs b/tests/testsuite/support/mod.rs index cf1c3a0ec0e..f1da02e255c 100644 --- a/tests/testsuite/support/mod.rs +++ b/tests/testsuite/support/mod.rs @@ -183,11 +183,19 @@ struct SymlinkBuilder { impl SymlinkBuilder { pub fn new(dst: PathBuf, src: PathBuf) -> SymlinkBuilder { - SymlinkBuilder { dst, src, src_is_dir: false } + SymlinkBuilder { + dst, + src, + src_is_dir: false, + } } pub fn new_dir(dst: PathBuf, src: PathBuf) -> SymlinkBuilder { - SymlinkBuilder { dst, src, src_is_dir: true } + SymlinkBuilder { + dst, + src, + src_is_dir: true, + } } #[cfg(unix)] @@ -273,9 +281,9 @@ impl ProjectBuilder { /// Create a symlink to a directory pub fn symlink_dir>(mut self, dst: T, src: T) -> Self { self.symlinks.push(SymlinkBuilder::new_dir( - self.root.root().join(dst), - self.root.root().join(src), - )); + self.root.root().join(dst), + self.root.root().join(src), + )); self } From ca176eed6a1380c6b4b704fd1753f20d7603f895 Mon Sep 17 00:00:00 2001 From: Thom Wiggers Date: Thu, 18 Jul 2019 14:37:29 +0200 Subject: [PATCH 06/10] Fix doctests that used ignore to hide code that didn't compile. --- src/cargo/core/features.rs | 2 +- src/cargo/util/network.rs | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/cargo/core/features.rs b/src/cargo/core/features.rs index 9fd8161ce35..b910eb72661 100644 --- a/src/cargo/core/features.rs +++ b/src/cargo/core/features.rs @@ -21,7 +21,7 @@ //! 3. To actually perform the feature gate, you'll want to have code that looks //! like: //! -//! ```rust,ignore +//! ```rust,compile_fail //! use core::{Feature, Features}; //! //! let feature = Feature::launch_into_space(); diff --git a/src/cargo/util/network.rs b/src/cargo/util/network.rs index 2873dea253b..c0d5b2a5ae9 100644 --- a/src/cargo/util/network.rs +++ b/src/cargo/util/network.rs @@ -73,9 +73,12 @@ fn maybe_spurious(err: &Error) -> bool { /// /// # Examples /// -/// ```ignore -/// use util::network; -/// cargo_result = network::with_retry(&config, || something.download()); +/// ``` +/// # use crate::cargo::util::{CargoResult, Config}; +/// # let download_something = || return Ok(()); +/// # let config = Config::default().unwrap(); +/// use cargo::util::network; +/// let cargo_result = network::with_retry(&config, || download_something()); /// ``` pub fn with_retry(config: &Config, mut callback: F) -> CargoResult where From 0923d7ca98761087f3f6e202060c8ac0def78cb3 Mon Sep 17 00:00:00 2001 From: Thom Wiggers Date: Mon, 29 Jul 2019 08:23:30 +0200 Subject: [PATCH 07/10] Remove appveyor-aimed #[ignore] Seems like it's no longer necessary (this test ran fine when `--ignored` was specified --- tests/testsuite/small_fd_limits.rs | 3 --- 1 file changed, 3 deletions(-) diff --git a/tests/testsuite/small_fd_limits.rs b/tests/testsuite/small_fd_limits.rs index 27558a8657f..f0ca6988e32 100644 --- a/tests/testsuite/small_fd_limits.rs +++ b/tests/testsuite/small_fd_limits.rs @@ -98,9 +98,6 @@ fn use_git_gc() { } #[cargo_test] -// it looks like this test passes on some windows machines but not others, -// notably not on AppVeyor's machines. Sounds like another but for another day. -#[cfg_attr(windows, ignore)] fn avoid_using_git() { let path = env::var_os("PATH").unwrap_or_default(); let mut paths = env::split_paths(&path).collect::>(); From 55e562336805b7213f8e184c0b725dfc6aa56307 Mon Sep 17 00:00:00 2001 From: Thom Wiggers Date: Mon, 29 Jul 2019 08:36:13 +0200 Subject: [PATCH 08/10] Don't run symlink tests based on `symlink_supported` --- tests/testsuite/build.rs | 16 +++++++------ tests/testsuite/package.rs | 47 +++++++++++++++++--------------------- 2 files changed, 30 insertions(+), 33 deletions(-) diff --git a/tests/testsuite/build.rs b/tests/testsuite/build.rs index ce888880e15..7c6323425aa 100644 --- a/tests/testsuite/build.rs +++ b/tests/testsuite/build.rs @@ -4,11 +4,10 @@ use std::io::prelude::*; use crate::support::paths::{root, CargoPathExt}; use crate::support::registry::Package; -use crate::support::ProjectBuilder; use crate::support::{ - basic_bin_manifest, basic_lib_manifest, basic_manifest, rustc_host, sleep_ms, + basic_bin_manifest, basic_lib_manifest, basic_manifest, main_file, project, rustc_host, + sleep_ms, symlink_supported, Execs, ProjectBuilder, }; -use crate::support::{main_file, project, Execs}; use cargo::util::paths::dylib_path_envvar; #[cargo_test] @@ -1495,12 +1494,15 @@ package `test v0.0.0 ([CWD])`", } #[cargo_test] -#[cfg_attr(windows, ignore)] -/// Make sure ignored symlinks don't break the build +/// Make sure broken symlinks don't break the build /// -/// This test is marked ``ignore`` on Windows because it needs admin permissions. -/// Run it with ``--ignored``. +/// This test requires you to be able to make symlinks. +/// For windows, this may require you to enable developer mode. fn ignore_broken_symlinks() { + if !symlink_supported() { + return; + } + let p = project() .file("Cargo.toml", &basic_bin_manifest("foo")) .file("src/foo.rs", &main_file(r#""i am foo""#, &[])) diff --git a/tests/testsuite/package.rs b/tests/testsuite/package.rs index fa59ccf8588..c099672daa8 100644 --- a/tests/testsuite/package.rs +++ b/tests/testsuite/package.rs @@ -3,11 +3,11 @@ use std::fs::File; use std::io::prelude::*; use std::path::Path; -use crate::support::cargo_process; use crate::support::paths::CargoPathExt; use crate::support::registry::Package; use crate::support::{ - basic_manifest, git, path2url, paths, project, publish::validate_crate_contents, registry, + basic_manifest, cargo_process, git, path2url, paths, project, publish::validate_crate_contents, + registry, symlink_supported, }; use git2; @@ -505,22 +505,20 @@ fn package_git_submodule() { } #[cargo_test] -#[cfg_attr(windows, ignore)] /// Tests if a symlink to a git submodule is properly handled. /// -/// This test is ignored on Windows, because it needs Administrator -/// permissions to run. If you do want to run this test, please -/// run the tests with ``--ignored``, e.g. -/// -/// ```text -/// cargo test -- --ignored -/// ``` +/// This test requires you to be able to make symlinks. +/// For windows, this may require you to enable developer mode. fn package_symlink_to_submodule() { #[cfg(unix)] use std::os::unix::fs::symlink; #[cfg(windows)] use std::os::windows::fs::symlink_dir as symlink; + if !symlink_supported() { + return; + } + let project = git::new("foo", |project| { project.file("src/lib.rs", "pub fn foo() {}") }) @@ -712,22 +710,20 @@ See [..] } #[cargo_test] -#[cfg_attr(windows, ignore)] /// Tests if a broken symlink is properly handled when packaging. /// -/// This test is ignored on Windows, because it needs Administrator -/// permissions to run. If you do want to run this test, please -/// run the tests with ``--ignored``, e.g. -/// -/// ```text -/// cargo test -- --ignored -/// ``` +/// This test requires you to be able to make symlinks. +/// For windows, this may require you to enable developer mode. fn broken_symlink() { #[cfg(unix)] use std::os::unix::fs::symlink; #[cfg(windows)] use std::os::windows::fs::symlink_dir as symlink; + if !symlink_supported() { + return; + } + let p = project() .file( "Cargo.toml", @@ -764,17 +760,16 @@ Caused by: } #[cargo_test] -#[cfg_attr(windows, ignore)] /// Tests if a symlink to a directory is proberly included. /// -/// This test is ignored on Windows, because it needs Administrator -/// permissions to run. If you do want to run this test, please -/// run the tests with ``--ignored``, e.g. -/// -/// ```text -/// cargo test -- --ignored -/// ``` +/// This test requires you to be able to make symlinks. +/// For windows, this may require you to enable developer mode. fn package_symlink_to_dir() { + + if !symlink_supported() { + return; + } + project() .file("src/main.rs", r#"fn main() { println!("hello"); }"#) .file("bla/Makefile", "all:") From 5866d8eb2ee00abb395a593f2f79569db3001012 Mon Sep 17 00:00:00 2001 From: Thom Wiggers Date: Tue, 30 Jul 2019 09:32:00 +0200 Subject: [PATCH 09/10] Remove ``--ignored`` from CI --- ci/azure-test-all.yml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/ci/azure-test-all.yml b/ci/azure-test-all.yml index df700161c63..626858431e8 100644 --- a/ci/azure-test-all.yml +++ b/ci/azure-test-all.yml @@ -26,10 +26,3 @@ steps: # fix the link errors. - bash: cargo test --features 'deny-warnings curl/force-system-lib-on-osx' displayName: "cargo test" - -# Run any tests that have been marked ignore. -# -# `--include-ignored` is only supported on nightly so far, so we have to call -# this separately for now. -- bash: cargo test --features 'deny-warnings curl/force-system-lib-on-osx' -- --ignored - displayName: "cargo test -- --ignored" From d0f7c0ee31c81cd405dc2c163e4ca7638895610c Mon Sep 17 00:00:00 2001 From: Thom Wiggers Date: Tue, 30 Jul 2019 09:51:14 +0200 Subject: [PATCH 10/10] Cargo fmt --- tests/testsuite/package.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/testsuite/package.rs b/tests/testsuite/package.rs index c099672daa8..6a070ea0acf 100644 --- a/tests/testsuite/package.rs +++ b/tests/testsuite/package.rs @@ -765,7 +765,6 @@ Caused by: /// This test requires you to be able to make symlinks. /// For windows, this may require you to enable developer mode. fn package_symlink_to_dir() { - if !symlink_supported() { return; }