Skip to content

Commit

Permalink
Test match using regular expressions
Browse files Browse the repository at this point in the history
  • Loading branch information
ilmanzo committed May 30, 2024
1 parent 4997258 commit 93ad530
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 24 deletions.
1 change: 1 addition & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -40,3 +40,4 @@ features = [
assert_cmd = "2.0.14"
tempfile = "3.10.1"
mockall = "0.12.1"
regex = "1.10.4"
44 changes: 20 additions & 24 deletions tests/integration_test.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ use utils::start_listener_process;
use assert_cmd::Command;
use tempfile::tempdir;

use regex::bytes::Regex;

#[test]
fn test_basic_kill_no_process() {
let mut cmd = Command::cargo_bin("killport").unwrap();
Expand All @@ -21,12 +23,12 @@ fn test_basic_kill_process() {
let mut child = start_listener_process(tempdir_path, 8080);

let mut cmd = Command::cargo_bin("killport").unwrap();
cmd.args(&["8080"])
.assert()
.success()
.stdout("Successfully killed process 'mock_process' listening on port 8080\n");

// Clean up
let command = cmd.args(&["8080"]).assert().success();
let re = Regex::new(
r"Successfully killed process '(\/tmp\/\.tmp\w+\/)?mock_process' listening on port 8080\n",
)
.unwrap();
assert!(re.is_match(&command.get_output().stdout));
let _ = child.kill();
let _ = child.wait();
}
Expand All @@ -40,13 +42,9 @@ fn test_signal_handling() {
for signal in ["sighup", "sigint", "sigkill"].iter() {
let mut child = start_listener_process(tempdir_path, 8081);
let mut cmd = Command::cargo_bin("killport").unwrap();
cmd.args(&["8081", "-s", signal])
.assert()
.success()
.stdout(format!(
"Successfully killed process 'mock_process' listening on port 8081\n"
));

let command = cmd.args(&["8081", "-s", signal]).assert().success();
let re=Regex::new(r"Successfully killed process '(\/tmp\/\.tmp\w+\/)?mock_process' listening on port 8081\n").unwrap();
assert!(re.is_match(&command.get_output().stdout));
// Clean up
let _ = child.kill();
let _ = child.wait();
Expand All @@ -62,12 +60,9 @@ fn test_mode_option() {
for mode in ["auto", "process"].iter() {
let mut child = start_listener_process(tempdir_path, 8082);
let mut cmd = Command::cargo_bin("killport").unwrap();
cmd.args(&["8082", "--mode", mode])
.assert()
.success()
.stdout(format!(
"Successfully killed process 'mock_process' listening on port 8082\n"
));
let command = cmd.args(&["8082", "--mode", mode]).assert().success();
let re=Regex::new(r"Successfully killed process '(\/tmp\/\.tmp\w+\/)?mock_process' listening on port 8082\n").unwrap();
assert!(re.is_match(&command.get_output().stdout));
// Clean up
let _ = child.kill();
let _ = child.wait();
Expand Down Expand Up @@ -100,11 +95,12 @@ fn test_dry_run_option() {
let mut child = start_listener_process(tempdir_path, 8083);

let mut cmd = Command::cargo_bin("killport").unwrap();
cmd.args(&["8083", "--dry-run"])
.assert()
.success()
.stdout("Would kill process 'mock_process' listening on port 8083\n");

let command = cmd.args(&["8083", "--dry-run"]).assert().success();
let re = Regex::new(
r"Would kill process '(\/tmp\/\.tmp\w+\/)?mock_process' listening on port 8083\n",
)
.unwrap();
assert!(re.is_match(&command.get_output().stdout));
// Clean up
let _ = child.kill();
let _ = child.wait();
Expand Down

0 comments on commit 93ad530

Please sign in to comment.