3 ms·
It doesn't look so simple, but definitely looks quirky. Take a look at how the tests are invoked : for t in $(grep ^le_test_ $FILE_NAME | cut -d '(' -f 1
by drinchev 9y ago
It doesn't look so simple, but definitely looks quirky.
Take a look at how the tests are invoked :
for t in $(grep ^le_test_ $FILE_NAME | cut -d '(' -f 1)
do
if [ -z "$CASE" ] ; then
__green "Progress: "
[ "$_ret" = "0" ] && __green "$_ret" || __red "$_ret"
__green "/$num/$total"
printf "\n"
num=$(_math $num + 1)
fi
...
It basically parses the very same file and checks for functions with the name `le_test`. This means that a random comment containing `le_test_` will break the whole script. You need lots of discipline in order to make things work.
Bash works perfectly with "Write programs that do one thing and do it well". Wouldn't be so surprised if this was a bunch of small test cases separated by file.
- LambdaComplex 9y agoLooks like it's only grepping for lines that start with le_test_. A comment would start with #
- moviuro 9y ago^ is beginning of line, so you'd need: le_test_xxx # <- this is not a comment anyway # le_test_xxx does something nice. # <- doesn't match ^le_test_