diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/rt_generic.sh | 135 | 
1 files changed, 27 insertions, 108 deletions
| diff --git a/tests/rt_generic.sh b/tests/rt_generic.sh index 6e4454c..d19a46b 100644 --- a/tests/rt_generic.sh +++ b/tests/rt_generic.sh @@ -1,110 +1,29 @@ -#!/usr/bin/env bash -set -x -unset STASIS_SYSCONFDIR -if [ -n "$GITHUB_TOKEN" ] && [ -z "$STASIS_GH_TOKEN"]; then -    export STASIS_GH_TOKEN="$GITHUB_TOKEN" -else -    export STASIS_GH_TOKEN="anonymous" -fi -python_versions=( -    3.10 -    3.11 -    3.12 -) - -topdir=$(pwd) - -ws="rt_workspace" -rm -rf "$ws" -mkdir -p "$ws" -ws="$(realpath $ws)" - -prefix="$ws"/local -mkdir -p "$prefix" - -bdir="$ws"/build -mkdir -p "$bdir" - -pushd "$bdir" -cmake -DCMAKE_INSTALL_PREFIX="$prefix" -DCMAKE_BUILD_TYPE=Debug "${topdir}"/../.. -make install -export PATH="$prefix/bin:$PATH" -popd - -pushd "$ws" -    type -P stasis -    type -P stasis_indexer -    retcode=0 - -    for py_version in "${python_versions[@]}"; do -        stasis --python "$py_version" --no-docker --no-artifactory --unbuffered -v "$topdir"/generic.ini -        retcode+=$? -    done - -    set +x +set -e -    echo "#### Files ####" -    find stasis/*/output | sort -    echo +here="$(dirname ${BASH_SOURCE[0]})" +source $here/setup.sh -    echo "#### Contents ####" -    files=$(find stasis/*/output -type f \( -name '*.yml' -o -name '*.md' -o -name '*.stasis' -o -name '*.ini' \) | sort) -    for x in $files; do -        echo -        echo "FILENAME: $x" -        echo -        cat "$x" -        echo "[EOF]" -        echo - -        fail_on_main=( -            "(null)" -        ) -        for cond in "${fail_on_main[@]}"; do -            if grep --color -H -n "$cond" "$x" >&2; then -                echo "ERROR DETECTED IN $x!" >&2 -                retcode+=1 -            fi -        done -    done - -    # Something above failed, so drop out. Don't bother indexing. -    # Don't clean up either. -    (( retcode )) && exit $retcode - -    fail_on_indexer=( -        "(null)" -    ) -    logfile="stasis_indexer.log" -    set -x -    stasis_indexer --web --unbuffered -v stasis/* 2>&1 | tee "$logfile" -    retcode=$? - -    set +x -    echo "#### Files ####" -    find output - -    for cond in "${fail_on_indexer[@]}"; do -        if grep --color -H -n "$cond" "$logfile" >&2; then -            echo "ERROR DETECTED IN INDEX OPERATION!" >&2 -            exit 1 -        fi -    done - -    echo "#### Contents ####" -    files=$(find output -type f \( -name '*.html' \) | sort) -    for x in $files; do -        echo -        echo "FILENAME: $x" -        echo -        cat "$x" -        echo "[EOF]" -        echo -    done -popd - -if [ -z "$RT_KEEP_WORKSPACE" ]; then -    rm -rf "$ws" -fi - -exit $retcode
\ No newline at end of file +TEST_NAME=generic +PYTHON_VERSIONS=( +    3.11 +) +setup_workspace "$TEST_NAME" +install_stasis +for py_version in "${PYTHON_VERSIONS[@]}"; do +    run_stasis --python "$py_version" \ +        --no-docker \ +        --no-artifactory \ +        "$TOPDIR"/"$TEST_NAME".ini +done + +check_output_add "(null)" +check_output_stasis_dir stasis/*/output +check_output_reset + +# NOTE: indexer default output directory is "output" +check_output_add "(null)" +run_stasis_indexer stasis +check_output_indexed_dir output +check_output_reset + +teardown_workspace "$TEST_NAME" | 
