Files @ bec4bc21f845
Branch filter:

Location: kallithea/scripts/validate-commits

Thomas De Schampheleire
setup.py: bump Pygments minimum version to 2.2.0

With pygments < 2.2.0, the markup_renderer doctest fails:

> python -m doctest kallithea/lib/markup_renderer.py
**********************************************************************
File "kallithea/lib/markup_renderer.py", line 184, in markup_renderer.MarkupRenderer.markdown
Failed example:
print MarkupRenderer.markdown('''
#!/bin/bash
echo "hello"
''')
Expected:
<table class="code-highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre>1
2</pre></div></td><td class="code"><div class="code-highlight"><pre><span></span><span class="ch">#!/bin/bash</span>
<span class="nb">echo</span> <span class="s2">&quot;hello&quot;</span>
</pre></div>
</td></tr></table>
Got:
<table class="code-highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre>1
2</pre></div></td><td class="code"><div class="code-highlight"><pre><span class="ch">#!/bin/bash</span>
<span class="nb">echo</span> <span class="s2">&quot;hello&quot;</span>
</pre></div>
</td></tr></table>
**********************************************************************


To avoid having to manage multiple outputs from multiple versions, just bump
the lower version.

pygments 2.2.0 was released on Jan 22, 2017.
#!/usr/bin/env 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

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 "$1" -T '{node}\n'); do
    hg log -r "$rev"
    hg update "$rev"

    cleanup
    virtualenv -p "$(command -v python2)" "$venv"
    source "$venv/bin/activate"
    pip install --upgrade pip setuptools
    pip install -e . -r dev_requirements.txt python-ldap python-pam

    # run-all-cleanup
    scripts/run-all-cleanup
    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
    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