Skip to content

Commit

Permalink
Hopefully fix code coverage tracking
Browse files Browse the repository at this point in the history
  • Loading branch information
TimoWilken authored and ktf committed Mar 7, 2023
1 parent 8f992b8 commit 3e49370
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 24 deletions.
4 changes: 0 additions & 4 deletions tests/test_sync.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,10 +46,6 @@ def tarball_name(spec):
TAR_NAMES = tarball_name(GOOD_SPEC), tarball_name(BAD_SPEC), tarball_name(MISSING_SPEC)


def dist_dir(spec):
return "/sw/dist/{package}/{package}-{version}-{revision}".format(**spec)


class MockRequest:
def __init__(self, j, simulate_err=False):
self.j = j
Expand Down
53 changes: 33 additions & 20 deletions tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -61,43 +61,56 @@ changedir = {envtmpdir}
commands =
# The first coverage command shouldn't have an -a, so we completely replace
# the coverage info from the last run.
coverage run {envbindir}/aliBuild analytics off
coverage run --source={toxinidir} {toxinidir}/aliBuild analytics off
test -e .config/alibuild/disable-analytics
test ! -e .config/alibuild/analytics-uuid
coverage run -a {envbindir}/aliBuild analytics on
coverage run --source={toxinidir} -a {toxinidir}/aliBuild analytics on
test ! -e .config/alibuild/disable-analytics
test -e .config/alibuild/analytics-uuid
coverage run -a {envbindir}/aliBuild analytics off
coverage run --source={toxinidir} -a {toxinidir}/aliBuild analytics off
test -e .config/alibuild/disable-analytics
test -e .config/alibuild/analytics-uuid

coverage run -a {envbindir}/aliBuild version
coverage run --source={toxinidir} -a {toxinidir}/aliBuild version

coverage run -a -m unittest discover {toxinidir}/tests
coverage run --source={toxinidir} -a -m unittest discover {toxinidir}/tests

git clone -b O2-v1.3.0 --depth 1 https://github.com/alisw/alidist

coverage run -a {envbindir}/aliBuild -a slc7_x86-64 -z test-init init zlib
coverage run --source={toxinidir} -a {toxinidir}/aliBuild -a slc7_x86-64 -z test-init init zlib
# This command is expected to fail, but run it for the coverage anyway.
# A leading "-" means tox ignores the exit code.
- coverage run -a {envbindir}/aliBuild build non-existing -a slc7_x86-64 --no-system --disable GCC-Toolchain
- coverage run --source={toxinidir} -a {toxinidir}/aliBuild build non-existing -a slc7_x86-64 --no-system --disable GCC-Toolchain

# TODO: do we need these? This seems to be at least partially covered by
# unit tests in tests/tests_parseRecipe.py.
sh -c 'coverage run -a {envbindir}/aliBuild -c {toxinidir}/tests/testdist build broken1 --force-unknown-architecture --no-system --disable GCC-Toolchain 2>&1 | tee /dev/stderr | grep "Header missing"'
sh -c 'coverage run -a {envbindir}/aliBuild -c {toxinidir}/tests/testdist build broken2 --force-unknown-architecture --no-system --disable GCC-Toolchain 2>&1 | tee /dev/stderr | grep "Empty recipe"'
sh -c 'coverage run -a {envbindir}/aliBuild -c {toxinidir}/tests/testdist build broken3 --force-unknown-architecture --no-system --disable GCC-Toolchain 2>&1 | tee /dev/stderr | grep "Unable to parse"'
sh -c 'coverage run -a {envbindir}/aliBuild -c {toxinidir}/tests/testdist build broken4 --force-unknown-architecture --no-system --disable GCC-Toolchain 2>&1 | tee /dev/stderr | grep "Malformed header"'
sh -c 'coverage run -a {envbindir}/aliBuild -c {toxinidir}/tests/testdist build broken5 --force-unknown-architecture --no-system --disable GCC-Toolchain 2>&1 | tee /dev/stderr | grep "Missing package"'
sh -c 'coverage run -a {envbindir}/aliBuild -c {toxinidir}/tests/testdist build broken6 --force-unknown-architecture --no-system --disable GCC-Toolchain 2>&1 | tee /dev/stderr | grep "while scanning a quoted scalar"'
sh -c 'coverage run -a {envbindir}/aliBuild -c {toxinidir}/tests/testdist build broken7 --force-unknown-architecture --no-system --disable GCC-Toolchain 2>&1 | tee /dev/stderr | grep "Malformed entry prefer_system"'
sh -c 'coverage run --source={toxinidir} -a {toxinidir}/aliBuild -c {toxinidir}/tests/testdist build broken1 --force-unknown-architecture --no-system --disable GCC-Toolchain 2>&1 | tee /dev/stderr | grep "Header missing"'
sh -c 'coverage run --source={toxinidir} -a {toxinidir}/aliBuild -c {toxinidir}/tests/testdist build broken2 --force-unknown-architecture --no-system --disable GCC-Toolchain 2>&1 | tee /dev/stderr | grep "Empty recipe"'
sh -c 'coverage run --source={toxinidir} -a {toxinidir}/aliBuild -c {toxinidir}/tests/testdist build broken3 --force-unknown-architecture --no-system --disable GCC-Toolchain 2>&1 | tee /dev/stderr | grep "Unable to parse"'
sh -c 'coverage run --source={toxinidir} -a {toxinidir}/aliBuild -c {toxinidir}/tests/testdist build broken4 --force-unknown-architecture --no-system --disable GCC-Toolchain 2>&1 | tee /dev/stderr | grep "Malformed header"'
sh -c 'coverage run --source={toxinidir} -a {toxinidir}/aliBuild -c {toxinidir}/tests/testdist build broken5 --force-unknown-architecture --no-system --disable GCC-Toolchain 2>&1 | tee /dev/stderr | grep "Missing package"'
sh -c 'coverage run --source={toxinidir} -a {toxinidir}/aliBuild -c {toxinidir}/tests/testdist build broken6 --force-unknown-architecture --no-system --disable GCC-Toolchain 2>&1 | tee /dev/stderr | grep "while scanning a quoted scalar"'
sh -c 'coverage run --source={toxinidir} -a {toxinidir}/aliBuild -c {toxinidir}/tests/testdist build broken7 --force-unknown-architecture --no-system --disable GCC-Toolchain 2>&1 | tee /dev/stderr | grep "Malformed entry prefer_system"'

coverage run -a {envbindir}/aliBuild build zlib -a slc7_x86-64 --no-system --disable GCC-Toolchain
coverage run --source={toxinidir} -a {toxinidir}/aliBuild build zlib -a slc7_x86-64 --no-system --disable GCC-Toolchain
alienv -a slc7_x86-64 q
alienv -a slc7_x86-64 setenv zlib/latest -c bash -c '[[ $LD_LIBRARY_PATH == */zlib/* ]]'
coverage run -a {envbindir}/aliBuild -a slc7_x86-64 doctor AliPhysics
coverage run -a {envbindir}/aliBuild -a slc7_x86-64 build zlib --dry-run
coverage run -a {envbindir}/aliBuild --aggressive-cleanup --docker -a slc7_x86-64 --always-prefer-system -d build zlib
coverage run --source={toxinidir} -a {toxinidir}/aliBuild -a slc7_x86-64 doctor AliPhysics
coverage run --source={toxinidir} -a {toxinidir}/aliBuild -a slc7_x86-64 build zlib --dry-run
coverage run --source={toxinidir} -a {toxinidir}/aliBuild --aggressive-cleanup --docker -a slc7_x86-64 --always-prefer-system -d build zlib
# Test for devel packages
coverage run -a {envbindir}/aliBuild init zlib
coverage run -a {envbindir}/aliBuild --aggressive-cleanup --docker -a slc7_x86-64 --always-prefer-system -d build zlib
coverage run --source={toxinidir} -a {toxinidir}/aliBuild init zlib
coverage run --source={toxinidir} -a {toxinidir}/aliBuild --aggressive-cleanup --docker -a slc7_x86-64 --always-prefer-system -d build zlib

[coverage:run]
branch = True
omit =
*/.tox/*/lib/*

[coverage:report]
exclude_lines =
# Don't complain if tests don't hit defensive assertion code:
raise AssertionError
raise NotImplementedError
# Don't complain if non-runnable code isn't run:
if __name__ == .__main__.:

0 comments on commit 3e49370

Please sign in to comment.