Files @ 84b4fc9db016
Branch filter:

Location: kallithea/scripts/validate-commits

Mads Kiilerich
i18n: make sure 'en' in Accept-Language is recognized as having 100% coverage

The workaround in 7c7d6b5c07c7 no longer works after upstream addressed the
main issue and released the changes in TurboGears 2.4.3 .

Setting `i18n.native = en` in the .ini works as a workaround.

The native language for translations is an implementation detail that users
shouldn't have to configure, so we define it as a default value without making
it explicit in the generated .ini template files.

Note that even though TG will figure out that languages like `en_US` should
fall back to using the `en` `kallithea.mo`, it doesn't consider `en_US` native
if `en` is in the native list but `en_US` isn't. We thus include the most
common aliases for `en` in the list.
#!/bin/bash
# Validate the specified commits against test suite and other checks.

if [ -n "$VIRTUAL_ENV" ]; then
    echo "Please run this script from outside a virtualenv."
    exit 1
fi

if ! hg update --check -q .; then
    echo "Working dir is not clean, please commit/revert changes first."
    exit 1
fi

revset=$1
if [ -z "$revset" ]; then
    echo "Warning: no revisions specified, checking draft changes up to the current one."
    revset='draft() and ancestors(.)'
fi

venv=$(mktemp -d kallithea-validatecommits-env-XXXXXX)
resultfile=$(mktemp kallithea-validatecommits-result-XXXXXX)
echo > "$resultfile"

cleanup()
{
    rm -rf /tmp/kallithea-test*
    rm -rf "$venv"
}
finish()
{
    cleanup
    # print (possibly intermediate) results
    cat "$resultfile"
    rm "$resultfile"
}
trap finish EXIT

for rev in $(hg log -r "$revset" -T '{node}\n'); do
    hg log -r "$rev"
    hg update "$rev"

    cleanup
    python3 -m venv "$venv"
    source "$venv/bin/activate"
    pip install --upgrade pip setuptools
    pip install -e . -r dev_requirements.txt python-ldap python-pam

    # run-all-cleanup
    if ! scripts/run-all-cleanup ; then
        echo "run-all-cleanup encountered errors!"
        result="NOK"
    else
        if ! hg update --check -q .; then
            echo "run-all-cleanup did not give clean results!"
            result="NOK"
            hg diff
            hg revert -a
        else
            result=" OK"
        fi
    fi
    echo "$result: $rev (run-all-cleanup)" >> "$resultfile"

    # pytest
    if py.test; then
        result=" OK"
    else
        result="NOK"
    fi
    echo "$result: $rev (pytest)" >> "$resultfile"

    deactivate
    echo
done