summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDario Vladović <d.vladimyr@gmail.com>2020-07-19 23:01:53 +0200
committerGitHub <noreply@github.com>2020-07-19 17:01:53 -0400
commit6763a7b006e9f0108da72d56360f289476d6b2ba (patch)
treeb1134c7dcef1b20f6b9e9b250ce9504d6dfbc53f
parentc4fa87a213650ce4b2645dfb868b28f143a66024 (diff)
test: fix mocked commands (#1491)
Ensure that output of mocked commands faithfully replicates output of actual commands including any trailing whitespace.
-rw-r--r--src/modules/crystal.rs8
-rw-r--r--src/modules/erlang.rs4
-rw-r--r--src/modules/php.rs2
-rw-r--r--src/utils.rs54
4 files changed, 34 insertions, 34 deletions
diff --git a/src/modules/crystal.rs b/src/modules/crystal.rs
index 0aad994ac..af5f5f8b2 100644
--- a/src/modules/crystal.rs
+++ b/src/modules/crystal.rs
@@ -55,9 +55,9 @@ pub fn module<'a>(context: &'a Context) -> Option<Module<'a>> {
fn format_crystal_version(crystal_version: &str) -> Option<String> {
let version = crystal_version
- // split into ["Crystal", "0.32.1", ...]
+ // split into ["Crystal", "0.35.1", ...]
.split_whitespace()
- // return "0.32.1"
+ // return "0.35.1"
.nth(1)?;
let mut formatted_version = String::with_capacity(version.len() + 1);
@@ -89,7 +89,7 @@ mod tests {
File::create(dir.path().join("shard.yml"))?.sync_all()?;
let actual = render_module("crystal", dir.path(), None);
- let expected = Some(format!("via {} ", Color::Red.bold().paint("🔮 v0.32.1")));
+ let expected = Some(format!("via {} ", Color::Red.bold().paint("🔮 v0.35.1")));
assert_eq!(expected, actual);
dir.close()
@@ -101,7 +101,7 @@ mod tests {
File::create(dir.path().join("main.cr"))?.sync_all()?;
let actual = render_module("crystal", dir.path(), None);
- let expected = Some(format!("via {} ", Color::Red.bold().paint("🔮 v0.32.1")));
+ let expected = Some(format!("via {} ", Color::Red.bold().paint("🔮 v0.35.1")));
assert_eq!(expected, actual);
dir.close()
diff --git a/src/modules/erlang.rs b/src/modules/erlang.rs
index 3670870c0..60617c337 100644
--- a/src/modules/erlang.rs
+++ b/src/modules/erlang.rs
@@ -57,10 +57,10 @@ fn get_erlang_version() -> Option<String> {
&[
"-noshell",
"-eval",
- "Fn=filename:join([code:root_dir(),\"releases\",erlang:system_info(otp_release),\"OTP_VERSION\"]),\
+ "'Fn=filename:join([code:root_dir(),\"releases\",erlang:system_info(otp_release),\"OTP_VERSION\"]),\
{ok,Content}=file:read_file(Fn),\
io:format(\"~s\",[Content]),\
- halt(0)."
+ halt(0).'"
]
)?.stdout.trim().to_string())
}
diff --git a/src/modules/php.rs b/src/modules/php.rs
index 62202afe0..f827494cd 100644
--- a/src/modules/php.rs
+++ b/src/modules/php.rs
@@ -24,7 +24,7 @@ pub fn module<'a>(context: &'a Context) -> Option<Module<'a>> {
"php",
&[
"-nr",
- "echo PHP_MAJOR_VERSION.'.'.PHP_MINOR_VERSION.'.'.PHP_RELEASE_VERSION;",
+ "'echo PHP_MAJOR_VERSION.\".\".PHP_MINOR_VERSION.\".\".PHP_RELEASE_VERSION;'",
],
) {
Some(php_cmd_output) => {
diff --git a/src/utils.rs b/src/utils.rs
index 58595ddcb..edca46093 100644
--- a/src/utils.rs
+++ b/src/utils.rs
@@ -40,36 +40,42 @@ pub fn exec_cmd(cmd: &str, args: &[&str]) -> Option<CommandOutput> {
};
match command.as_str() {
"crystal --version" => Some(CommandOutput {
- stdout: String::from("Crystal 0.32.1 (2019-12-18)"),
+ stdout: String::from(
+ "\
+Crystal 0.35.1 (2020-06-19)
+
+LLVM: 10.0.0
+Default target: x86_64-apple-macosx\n",
+ ),
stderr: String::default(),
}),
"dummy_command" => Some(CommandOutput {
- stdout: String::from("stdout ok!"),
- stderr: String::from("stderr ok!"),
+ stdout: String::from("stdout ok!\n"),
+ stderr: String::from("stderr ok!\n"),
}),
"elixir --version" => Some(CommandOutput {
stdout: String::from(
"\
Erlang/OTP 22 [erts-10.6.4] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] [hipe]
-Elixir 1.10 (compiled with Erlang/OTP 22)",
+Elixir 1.10 (compiled with Erlang/OTP 22)\n",
),
stderr: String::default(),
}),
"elm --version" => Some(CommandOutput {
- stdout: String::from("0.19.1"),
+ stdout: String::from("0.19.1\n"),
stderr: String::default(),
}),
"go version" => Some(CommandOutput {
- stdout: String::from("go version go1.12.1 linux/amd64"),
+ stdout: String::from("go version go1.12.1 linux/amd64\n"),
stderr: String::default(),
}),
"helm version --short --client" => Some(CommandOutput {
- stdout: String::from("v3.1.1+gafe7058"),
+ stdout: String::from("v3.1.1+gafe7058\n"),
stderr: String::default(),
}),
"julia --version" => Some(CommandOutput {
- stdout: String::from("julia version 1.4.0"),
+ stdout: String::from("julia version 1.4.0\n"),
stderr: String::default(),
}),
"nim --version" => Some(CommandOutput {
@@ -84,7 +90,7 @@ active boot switches: -d:release\n",
stderr: String::default(),
}),
"node --version" => Some(CommandOutput {
- stdout: String::from("v12.0.0"),
+ stdout: String::from("v12.0.0\n"),
stderr: String::default(),
}),
"ocaml -vnum" => Some(CommandOutput {
@@ -95,36 +101,30 @@ active boot switches: -d:release\n",
stdout: String::from("4.08.1\n"),
stderr: String::default(),
}),
- "php -nr echo PHP_MAJOR_VERSION.'.'.PHP_MINOR_VERSION.'.'.PHP_RELEASE_VERSION;" => {
+ "php -nr 'echo PHP_MAJOR_VERSION.\".\".PHP_MINOR_VERSION.\".\".PHP_RELEASE_VERSION;'" => {
Some(CommandOutput {
stdout: String::from("7.3.8"),
stderr: String::default(),
})
}
"purs --version" => Some(CommandOutput {
- stdout: String::from("0.13.5"),
+ stdout: String::from("0.13.5\n"),
stderr: String::default(),
}),
"python --version" => Some(CommandOutput {
- stdout: String::from("Python 2.7.17"),
- stderr: String::default(),
+ stdout: String::default(),
+ stderr: String::from("Python 2.7.17\n"),
}),
"python3 --version" => Some(CommandOutput {
- stdout: String::from("Python 3.8.0"),
+ stdout: String::from("Python 3.8.0\n"),
stderr: String::default(),
}),
"ruby -v" => Some(CommandOutput {
- stdout: String::from("ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux-gnu]"),
+ stdout: String::from("ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux-gnu]\n"),
stderr: String::default(),
}),
- "stack --no-install-ghc --lock-file read-only ghc -- --numeric-version" => {
- Some(CommandOutput {
- stdout: String::from("8.6.5"),
- stderr: String::default(),
- })
- }
"zig version" => Some(CommandOutput {
- stdout: String::from("0.6.0"),
+ stdout: String::from("0.6.0\n"),
stderr: String::default(),
}),
"cmake --version" => Some(CommandOutput {
@@ -137,11 +137,11 @@ CMake suite maintained and supported by Kitware (kitware.com/cmake).\n",
stderr: String::default(),
}),
"terraform version" => Some(CommandOutput {
- stdout: String::from("Terraform v0.12.14"),
+ stdout: String::from("Terraform v0.12.14\n"),
stderr: String::default(),
}),
- s if s.starts_with("erl") => Some(CommandOutput {
- stdout: String::from("22.1.3"),
+ s if s.starts_with("erl -noshell -eval") => Some(CommandOutput {
+ stdout: String::from("22.1.3\n"),
stderr: String::default(),
}),
// If we don't have a mocked command fall back to executing the command
@@ -234,8 +234,8 @@ mod tests {
fn exec_mocked_command() {
let result = exec_cmd("dummy_command", &[]);
let expected = Some(CommandOutput {
- stdout: String::from("stdout ok!"),
- stderr: String::from("stderr ok!"),
+ stdout: String::from("stdout ok!\n"),
+ stderr: String::from("stderr ok!\n"),
});
assert_eq!(result, expected)