Files
@ 35af0bd45bf3
Branch filter:
Location: kallithea/scripts/validate-minimum-dependency-versions - annotation
35af0bd45bf3
1.6 KiB
text/plain
diff: drop per file ignore-whitespace and context - it didn't work and had conceptual issue (Issue #344)
Diffs are currently generated at the low level as one big diff between two vcs
resisions, provided global values for diff context size and flag for ignoring
whitespace. All files use the same flags. There is no way to actually compute
the full diff using these use per file flags, and no simple and efficient way
to add it.
The best option is thus to drop the failed attempt at making it per file, and
just rely on the simple global flags in the URL.
The links for changing whitespace and context is sometimes shown for the whole
"page", and sometimes next to the diff for one file. For now, keep showing the
link in these places, but make sure it navigates back to the FID of the section
where the link was clicked.
The implementation is completely rewritten and moved to a more appropriate
location in helpers.
With a more clean implementation, we also consistently use the simple getters
to extract values from the URL.
Diffs are currently generated at the low level as one big diff between two vcs
resisions, provided global values for diff context size and flag for ignoring
whitespace. All files use the same flags. There is no way to actually compute
the full diff using these use per file flags, and no simple and efficient way
to add it.
The best option is thus to drop the failed attempt at making it per file, and
just rely on the simple global flags in the URL.
The links for changing whitespace and context is sometimes shown for the whole
"page", and sometimes next to the diff for one file. For now, keep showing the
link in these places, but make sure it navigates back to the FID of the section
where the link was clicked.
The implementation is completely rewritten and moved to a more appropriate
location in helpers.
With a more clean implementation, we also consistently use the simple getters
to extract values from the URL.
ac6cc1b8a07e ac6cc1b8a07e ac6cc1b8a07e ac6cc1b8a07e ac6cc1b8a07e ac6cc1b8a07e ac6cc1b8a07e ac6cc1b8a07e ac6cc1b8a07e ac6cc1b8a07e ac6cc1b8a07e ac6cc1b8a07e ac6cc1b8a07e ac6cc1b8a07e ac6cc1b8a07e ac6cc1b8a07e ac6cc1b8a07e ac6cc1b8a07e ac6cc1b8a07e ac6cc1b8a07e ac6cc1b8a07e ac6cc1b8a07e ac6cc1b8a07e ac6cc1b8a07e ac6cc1b8a07e ac6cc1b8a07e ac6cc1b8a07e ac6cc1b8a07e ac6cc1b8a07e ac6cc1b8a07e 89e9aef9b983 ac6cc1b8a07e ac6cc1b8a07e ac6cc1b8a07e ac6cc1b8a07e ac6cc1b8a07e ac6cc1b8a07e ac6cc1b8a07e ac6cc1b8a07e ac6cc1b8a07e ac6cc1b8a07e ac6cc1b8a07e ac6cc1b8a07e ac6cc1b8a07e ac6cc1b8a07e ac6cc1b8a07e ac6cc1b8a07e ac6cc1b8a07e ac6cc1b8a07e ac6cc1b8a07e ac6cc1b8a07e ac6cc1b8a07e | #!/bin/bash
# Test that installation of all dependencies works fine if versions are set to
# the minimum ones.
set -e
if [ -n "$VIRTUAL_ENV" ]; then
echo "This script will create its own virtualenv - please don't run it inside an existing one." >&2
exit 1
fi
cd "$(hg root)"
venv=build/minimum-dependency-versions-venv
log=build/minimum-dependency-versions.log
min_requirements=build/minimum-dependency-versions-requirements.txt
echo "virtualenv: $venv"
echo "log: $log"
echo "minimum requirements file: $min_requirements"
# clean up previous runs
rm -rf "$venv" "$log"
mkdir -p "$venv"
# Make a light weight parsing of setup.py and dev_requirements.txt,
# finding all >= requirements and dumping into a custom requirements.txt
# while fixating the requirement at the lower bound.
sed -n 's/.*"\(.*\)>=\(.*\)".*/\1==\2/p' setup.py > "$min_requirements"
sed 's/>=/==/p' dev_requirements.txt >> "$min_requirements"
python3 -m venv "$venv"
source "$venv/bin/activate"
pip install --upgrade pip setuptools
pip install -e . -r "$min_requirements" python-ldap python-pam 2> >(tee "$log" >&2)
# Treat any message on stderr as a problem, for the caller to interpret.
if [ -s "$log" ]; then
echo
echo "Error: pip detected following problems:"
cat "$log"
echo
exit 1
fi
freeze_txt=build/minimum-dependency-versions.txt
pip freeze > $freeze_txt
echo "Installation of minimum packages was successful, providing a set of packages as in $freeze_txt . Now running test suite..."
pytest
echo "Test suite execution was successful."
echo "You can now do additional validation using virtual env '$venv'."
|