e0eaca918e
function execution halts entirely on a invalid base, so we never actually get to our 'return 1'. I'm not sure how our expected failures ever actually worked, but it's quite plain to see that: $ a=$(( 2#3 )); echo hi Never echos "hi". Use a subshell in valid_number_of_base so that we can properly "trap" execution, and return a meaningful result.
16 lines
480 B
Bash
Executable File
16 lines
480 B
Bash
Executable File
#!/bin/bash
|
|
|
|
. "${1:-./common}"
|
|
. ./test/common
|
|
|
|
EXPECT_success valid_number_of_base 16 feedfacebeef
|
|
EXPECT_failure valid_number_of_base 16 feedsfacebeef
|
|
EXPECT_success valid_number_of_base 16 1234567890
|
|
|
|
EXPECT_success valid_number_of_base 10 1234567890
|
|
EXPECT_failure valid_number_of_base 10 1234.567890
|
|
EXPECT_failure valid_number_of_base 10 1234567890abcdef
|
|
|
|
EXPECT_success valid_number_of_base 18 1234567890abcdefgh
|
|
EXPECT_failure valid_number_of_base 18 1234567890abcdefghi
|