mirror of
https://github.com/denoland/deno.git
synced 2024-12-22 15:24:46 -05:00
fix: normalize Deno.execPath (#2598)
This commit is contained in:
parent
1068b4848c
commit
9d18f97327
2 changed files with 10 additions and 2 deletions
|
@ -57,6 +57,7 @@ use tokio::net::TcpListener;
|
|||
use tokio::net::TcpStream;
|
||||
use tokio_process::CommandExt;
|
||||
use tokio_threadpool;
|
||||
use url::Url;
|
||||
use utime;
|
||||
|
||||
#[cfg(unix)]
|
||||
|
@ -345,8 +346,12 @@ fn op_start(
|
|||
let cwd_off =
|
||||
builder.create_string(deno_fs::normalize_path(cwd_path.as_ref()).as_ref());
|
||||
|
||||
let current_exe = std::env::current_exe().unwrap();
|
||||
// Now apply URL parser to current exe to get fully resolved path, otherwise we might get
|
||||
// `./` and `../` bits in `exec_path`
|
||||
let exe_url = Url::from_file_path(current_exe).unwrap();
|
||||
let exec_path =
|
||||
builder.create_string(std::env::current_exe().unwrap().to_str().unwrap());
|
||||
builder.create_string(exe_url.to_file_path().unwrap().to_str().unwrap());
|
||||
|
||||
let v8_version = version::v8();
|
||||
let v8_version_off = builder.create_string(v8_version);
|
||||
|
|
|
@ -55,8 +55,11 @@ class TestTarget(DenoTestCase):
|
|||
assert result.out.strip() == "noColor false"
|
||||
|
||||
def test_exec_path(self):
|
||||
cmd = [self.deno_exe, "run", "tests/exec_path.ts"]
|
||||
cmd = [self.deno_exe, "run", "--allow-run", "tests/exec_path.ts"]
|
||||
result = run_output(cmd, quiet=True)
|
||||
print "exec_path", result.code
|
||||
print result.out
|
||||
print result.err
|
||||
assert self.deno_exe in result.out.strip()
|
||||
self.assertEqual(result.code, 0)
|
||||
|
||||
|
|
Loading…
Reference in a new issue