diff options
author | Ryan Geary <rtgnj42@gmail.com> | 2020-03-17 13:26:35 -0400 |
---|---|---|
committer | Ryan Geary <rtgnj42@gmail.com> | 2020-03-17 13:26:35 -0400 |
commit | dfe4c2cad0e35996136f320b675265ce223bb326 (patch) | |
tree | 55ab8fb2b0e98d58dbe831ad4ac7551c163af1d6 | |
parent | 5b5fa0ed7ab6a8383dec0d7713e99bab0a175b0f (diff) |
Reassign exit codes and clean up e2e_test
0 - Success
1 - Argument parsing error
2 - Regex compilation error
-rw-r--r-- | src/config.rs | 8 | ||||
-rwxr-xr-x | test/e2e_test.sh | 33 |
2 files changed, 23 insertions, 18 deletions
diff --git a/src/config.rs b/src/config.rs index 78771cf..c12fc11 100644 --- a/src/config.rs +++ b/src/config.rs @@ -32,19 +32,19 @@ impl Config { }) { Ok(r) => r, Err(e) => { - // Exit code of 1 means failed to compile field_separator regex + // Exit code of 2 means failed to compile field_separator regex match e { regex::Error::Syntax(e) => { eprintln!("Syntax error compiling regular expression: {}", e); - process::exit(1); + process::exit(2); } regex::Error::CompiledTooBig(e) => { eprintln!("Compiled regular expression too big: compiled size cannot exceed {} bytes", e); - process::exit(1); + process::exit(2); } _ => { eprintln!("Error compiling regular expression: {}", e); - process::exit(1); + process::exit(2); } } } diff --git a/test/e2e_test.sh b/test/e2e_test.sh index 95207f8..e98fa49 100755 --- a/test/e2e_test.sh +++ b/test/e2e_test.sh @@ -4,30 +4,35 @@ set -e test_dir="test" orig_dir="$(pwd)" cd "$(git rev-parse --show-toplevel)" -cargo build # basic functionality -diff -w <(cargo run -- 0:1 -i ${test_dir}/lorem.txt) <(cat "${test_dir}/choose_0:1.txt") -diff -w <(cargo run -- 0 3 -i ${test_dir}/lorem.txt) <(cat "${test_dir}/choose_0_3.txt") -diff -w <(cargo run -- :1 -i ${test_dir}/lorem.txt) <(cat "${test_dir}/choose_:1.txt") -diff -w <(cargo run -- 9 3 -i ${test_dir}/lorem.txt) <(cat "${test_dir}/choose_9_3.txt") -diff -w <(cargo run -- 9 -i ${test_dir}/lorem.txt) <(cat "${test_dir}/choose_9.txt") -diff -w <(cargo run -- 12 -i ${test_dir}/lorem.txt) <(cat "${test_dir}/choose_12.txt") -diff -w <(cargo run -- 4:2 -i ${test_dir}/lorem.txt) <(cat "${test_dir}/choose_4:2.txt") +diff -w <(cargo run -- 0:1 -i ${test_dir}/lorem.txt 2>/dev/null) <(cat "${test_dir}/choose_0:1.txt") +diff -w <(cargo run -- 0 3 -i ${test_dir}/lorem.txt 2>/dev/null) <(cat "${test_dir}/choose_0_3.txt") +diff -w <(cargo run -- :1 -i ${test_dir}/lorem.txt 2>/dev/null) <(cat "${test_dir}/choose_:1.txt") +diff -w <(cargo run -- 9 3 -i ${test_dir}/lorem.txt 2>/dev/null) <(cat "${test_dir}/choose_9_3.txt") +diff -w <(cargo run -- 9 -i ${test_dir}/lorem.txt 2>/dev/null) <(cat "${test_dir}/choose_9.txt") +diff -w <(cargo run -- 12 -i ${test_dir}/lorem.txt 2>/dev/null) <(cat "${test_dir}/choose_12.txt") +diff -w <(cargo run -- 4:2 -i ${test_dir}/lorem.txt 2>/dev/null) <(cat "${test_dir}/choose_4:2.txt") # add tests for different delimiters # add tests using piping set +e # test failure to parse arguments -cargo run -- d:i -i ${test_dir}/lorem.txt >/dev/null +cargo run -- d:i -i ${test_dir}/lorem.txt >&/dev/null r=$? -if [ $r -ne 2 ]; then - echo "Failed to return error code 2 on failure to parse arguments" -else - echo "Success" +if [ $r -ne 1 ]; then + echo "Failed to return 1 on failure to parse arguments" + exit 1 fi -cargo test +cargo run -- 3 -f "[[]" -i ${test_dir}/lorem.txt >&/dev/null +r=$? +if [ $r -ne 2 ]; then + echo "Failed to return 2 on regex compile error" + exit 1 +fi cd $orig_dir + +printf "\033[1;32mAll tests passed\033[0m\n" |