#!/bin/bash
#
# Wrapper script to run Kugl test suite against different sets of requirements.

set -euo pipefail

case ${1:-none} in
    # Run against low end of version range
    --lo) reqs=reqs_lo.txt ;;
    # Run against high end of version range
    --hi) reqs=reqs_hi.txt ;;
    # Run against pinned versions used during development
    --pin) reqs=requirements.txt ;;
    # Run against last set of versions specified
    none) reqs=none
esac

if [[ $reqs != none ]]; then
    cd venv
    . bin/activate 
    pip install -r ../$reqs
    cd ..
fi

. venv/bin/activate 
echo "Testing with versions:"
pip list installed | egrep -i 'arrow|jmespath|pydantic|pyyaml|sqlparse|tabulate'
PYTHONPATH=. pytest \
    --cov --cov-report=html:coverage \
    -vv -s --tb=native \
    ${KUGL_TEST_ARGS:+"-k $KUGL_TEST_ARGS"} \
    tests

