mirror of
https://github.com/denoland/deno.git
synced 2024-12-29 02:29:06 -05:00
a913b7a1ba
This PR removes the hack in CLI that allows to run scripts with shorthand: deno script.ts. Removing this functionality because it hacks around short-comings of clap our CLI parser. We agree that this shorthand syntax is desirable, but it needs to be rethinked and reimplemented. For 1.0 we should go with conservative approach that is correct.
50 lines
1.5 KiB
Rust
50 lines
1.5 KiB
Rust
// To run this test manually:
|
|
// cd test_plugin
|
|
// ../target/debug/deno --allow-plugin tests/test.js debug
|
|
|
|
// TODO(ry) Re-enable this test on windows. It is flaky for an unknown reason.
|
|
#![cfg(not(windows))]
|
|
|
|
use deno::test_util::*;
|
|
use std::process::Command;
|
|
|
|
fn deno_cmd() -> Command {
|
|
assert!(deno_exe_path().exists());
|
|
Command::new(deno_exe_path())
|
|
}
|
|
|
|
#[cfg(debug_assertions)]
|
|
const BUILD_VARIANT: &str = "debug";
|
|
|
|
#[cfg(not(debug_assertions))]
|
|
const BUILD_VARIANT: &str = "release";
|
|
|
|
#[test]
|
|
fn basic() {
|
|
let mut build_plugin_base = Command::new("cargo");
|
|
let mut build_plugin =
|
|
build_plugin_base.arg("build").arg("-p").arg("test_plugin");
|
|
if BUILD_VARIANT == "release" {
|
|
build_plugin = build_plugin.arg("--release");
|
|
}
|
|
let build_plugin_output = build_plugin.output().unwrap();
|
|
assert!(build_plugin_output.status.success());
|
|
let output = deno_cmd()
|
|
.arg("run")
|
|
.arg("--allow-plugin")
|
|
.arg("--unstable")
|
|
.arg("tests/test.js")
|
|
.arg(BUILD_VARIANT)
|
|
.output()
|
|
.unwrap();
|
|
let stdout = std::str::from_utf8(&output.stdout).unwrap();
|
|
let stderr = std::str::from_utf8(&output.stderr).unwrap();
|
|
if !output.status.success() {
|
|
println!("stdout {}", stdout);
|
|
println!("stderr {}", stderr);
|
|
}
|
|
assert!(output.status.success());
|
|
let expected = "Hello from plugin. data: test | zero_copy: test\nPlugin Sync Response: test\nHello from plugin. data: test | zero_copy: test\nPlugin Async Response: test\n";
|
|
assert_eq!(stdout, expected);
|
|
assert_eq!(stderr, "");
|
|
}
|