42-archive/42sh/42ShellTester/lib/verbs/create_file.sh
2017-03-24 17:43:33 +01:00

47 lines
1.1 KiB
Bash

#!/bin/bash
# /*
# Test file creation
# EXPECTED_TO_ARGS[0]* -> expected file path
# EXPECTED_TO_ARGS[1] -> file test (with_regexp, without_regexp, with_nb_of_lines)
# EXPECTED_TO_ARGS[2] -> argument of file test
# */
run_verb_create_file()
{
if [ -f "${EXPECTED_TO_ARGS[0]}" ]
then
if [ "${EXPECTED_TO_ARGS[1]}" == "" ]
then
return 0
else
case "${EXPECTED_TO_ARGS[1]}" in
matching_regex)
if [ "$(awk -v regexp="${EXPECTED_TO_ARGS[2]}" '$0 ~ regexp {print}' "${EXPECTED_TO_ARGS[0]}")" == "" ]
then
return 1
else
return 0
fi ;;
not_matching_regex)
if [ "$(awk -v regexp="${EXPECTED_TO_ARGS[2]}" '$0 ~ regexp {print}' "${EXPECTED_TO_ARGS[0]}")" == "" ]
then
return 0
else
return 1
fi ;;
with_nb_of_lines)
if [ "$(awk 'END {print NR}' "${EXPECTED_TO_ARGS[0]}")" == "${EXPECTED_TO_ARGS[2]}" ]
then
return 0
else
return 1
fi ;;
*)
return 255 ;;
esac
fi
else
return 1
fi
}