From 814a5caf9aeeb244ffadab33d846c03ff583c0ea Mon Sep 17 00:00:00 2001 From: Darren Schroeder <343840+fdncred@users.noreply.github.com> Date: Wed, 11 Oct 2023 11:27:25 -0500 Subject: [PATCH] change canonicalize test use a more deeply rooted folder (#10685) # Description This PR changes the `canonicalize_ndots` tests (renames to canonicalize_ndots2) so that when it's checking for `canonicalize_with("...", cwd)` it guarantees it begins in a more deeply nested folder. I was having problems because my new DevDrive is on D:\nushell and it can't do `cd ...` from that folder. # User-Facing Changes # Tests + Formatting # After Submitting --- tests/path/canonicalize.rs | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/tests/path/canonicalize.rs b/tests/path/canonicalize.rs index 0f9979a455..cf40a0024c 100644 --- a/tests/path/canonicalize.rs +++ b/tests/path/canonicalize.rs @@ -1,5 +1,6 @@ use nu_path::canonicalize_with; use nu_test_support::fs::Stub::EmptyFile; +use nu_test_support::nu; use nu_test_support::playground::Playground; use pretty_assertions::assert_eq; use std::path::Path; @@ -181,16 +182,23 @@ fn canonicalize_path_with_many_double_dots_relative_to() { } #[test] -fn canonicalize_ndots() { - let cwd = std::env::current_dir().expect("Could not get current directory"); - let actual = canonicalize_with("...", &cwd).expect("Failed to canonicalize"); - let expected = cwd - .parent() - .expect("Could not get parent of current directory") - .parent() - .expect("Could not get parent of a parent of current directory"); +fn canonicalize_ndots2() { + // This test will fail if you have the nushell repo on the root partition + // So, let's start in a nested folder before trying to canonicalize_with "..." + Playground::setup("nu_path_test_1", |dirs, sandbox| { + sandbox.mkdir("aaa/bbb/ccc"); + let output = nu!( cwd: dirs.root(), "cd nu_path_test_1/aaa/bbb/ccc; $env.PWD"); + let cwd = Path::new(&output.out); - assert_eq!(actual, expected); + let actual = canonicalize_with("...", cwd).expect("Failed to canonicalize"); + let expected = cwd + .parent() + .expect("Could not get parent of current directory") + .parent() + .expect("Could not get parent of a parent of current directory"); + + assert_eq!(actual, expected); + }); } #[test]