lib_bin/data_test.sh
2021-09-01 20:44:18 +01:00

55 lines
2.0 KiB
Bash
Executable File

#!/bin/bash
USAGE="test_data.sh root-path data-path data-format total-entries out-format"
[ "$1" == "-h" ] && echo "$USAGE" && exit
[ -n "$1" ] && DATA_PATH=$1
if [ -z "$DATA_PATH" ] && [ -r "." ] ; then
DATA_PATH="."
DATA_TARGET="data.yaml"
DATA_FORMAT="yaml"
fi
[ ! -d "$DATA_PATH" ] && echo "Root path: $DATA_PATH not found" && DATA_PATH=""
[ -z "$DATA_PATH" ] && echo -n "Root path for data: " && read -r DATA_PATH && echo ""
[ -n "$2" ] && DATA_TARGET=$2
[ ! -r "$DATA_PATH/$DATA_TARGET" ] && echo "Target path: $DATA_TARGET not found in $DATA_PATH" && DATA_TARGET=""
[ -z "$DATA_TARGET" ] && echo -n "Path for target data: " && read -r DATA_TARGET && echo ""
[ -n "$3" ] && [ -z "$DATA_FORMAT" ] && DATA_FORMAT=$3
DATA_TARGET=$(echo "$DATA_TARGET" | cut -f1 -d".")
format=$(basename "$DATA_TARGET" | cut -f2 -d".")
if [ -z "$DATA_FORMAT" ] ;then
echo -ne "Path: $DATA_PATH\nformat (yaml,toml,json): $format [ENTER or change] "
read -r DATA_FORMAT && echo ""
fi
case "$DATA_FORMAT" in
yaml|YAML) DATA_FORMAT="yaml" ;;
toml|TOML) DATA_FORMAT="toml" ;;
json|JSON) DATA_FORMAT="json" ;;
*) DATA_FORMAT=$format
# echo "Format \"$DATA_FORMAT\" not defined" && exit 1
esac
[ -n "$4" ] && DATA_TOTAL=$4
if [ -z "$DATA_TOTAL" ] ; then
echo -ne "Expected NUMBER or items to be loaded from\npath: $DATA_PATH\nwith format $DATA_FORMAT [number]: "
read -r DATA_TOTAL
[[ ! $DATA_TOTAL =~ ^[[:digit:]]+$ ]] && echo "DATA_TOTAL not a number" && exit 1
fi
[ -n "$5" ] && DATA_OUT_FORMAT=$5
out_format=""
if [ -z "$DATA_OUT_FORMAT" ] ;then
echo -ne "Path: $DATA_LANG_PATH\nOUTPUT format (yaml,toml,json): $out_format [ENTER or change] "
read -r DATA_OUT_FORMAT && echo ""
fi
case "$DATA_OUT_FORMAT" in
yaml|YAML) DATA_OUT_FORMAT="yaml" ;;
toml|TOML) DATA_OUT_FORMAT="toml" ;;
json|JSON) DATA_OUT_FORMAT="json" ;;
-) DATA_OUT_FORMAT="" ;;
*) echo "Format \"$DATA_LANG_FORMAT\" "
#DATA_OUT_FORMAT=$out_format
esac
export DATA_PATH
export DATA_TARGET
export DATA_FORMAT
export DATA_TOTAL
export DATA_OUT_FORMAT
cargo test load_data -- --nocapture