Github actions: add CI for ASP based solver

This commit is contained in:
Massimiliano Culpo 2020-10-23 22:17:02 +02:00 committed by Todd Gamblin
parent 7753d58e7e
commit 0a56b7cfd6
4 changed files with 37 additions and 0 deletions

View File

@ -117,3 +117,24 @@ jobs:
git fetch origin ${{ github.ref }}:test-branch
git checkout test-branch
share/spack/qa/run-unit-tests
clingo:
# Test for the clingo based solver
runs-on: ubuntu-latest
container: spack/github-actions:clingo
steps:
- name: Run unit tests
run: |
whoami && echo PWD=$PWD && echo HOME=$HOME && echo SPACK_TEST_SOLVER=$SPACK_TEST_SOLVER
which clingo && clingo --version
git clone https://github.com/spack/spack.git && cd spack
git fetch origin ${{ github.ref }}:test-branch
git checkout test-branch
. share/spack/setup-env.sh
spack compiler find
spack solve mpileaks%gcc
coverage run $(which spack) test -v
coverage combine
coverage xml
- uses: codecov/codecov-action@v1
with:
flags: unittests,linux,clingo

View File

@ -125,6 +125,10 @@ def test_buildcache_create_fails_on_noargs(tmpdir):
buildcache('create', '-d', str(tmpdir), '--unsigned')
@pytest.mark.skipif(
os.environ.get('SPACK_TEST_SOLVER') == 'clingo',
reason='Test for Clingo are run in a container with root permissions'
)
def test_buildcache_create_fail_on_perm_denied(
install_mockery, mock_fetch, monkeypatch, tmpdir):
"""Ensure that buildcache create fails on permission denied error."""

View File

@ -648,6 +648,10 @@ def test_090_non_root_ref_counts(mutable_database):
assert mpich_rec.ref_count == 0
@pytest.mark.skipif(
os.environ.get('SPACK_TEST_SOLVER') == 'clingo',
reason='Test for Clingo are run in a container with root permissions'
)
def test_100_no_write_with_exception_on_remove(database):
def fail_while_writing():
with database.write_transaction():
@ -665,6 +669,10 @@ def fail_while_writing():
assert len(database.query('mpileaks ^zmpi', installed=any)) == 1
@pytest.mark.skipif(
os.environ.get('SPACK_TEST_SOLVER') == 'clingo',
reason='Test for Clingo are run in a container with root permissions'
)
def test_110_no_write_with_exception_on_install(database):
def fail_while_writing():
with database.write_transaction():

View File

@ -661,6 +661,10 @@ def test_upgrade_read_to_write(private_lock_path):
assert lock._file is None
@pytest.mark.skipif(
os.environ.get('SPACK_TEST_SOLVER') == 'clingo',
reason='Test for Clingo are run in a container with root permissions'
)
def test_upgrade_read_to_write_fails_with_readonly_file(private_lock_path):
"""Test that read-only file can be read-locked but not write-locked."""
# ensure lock file exists the first time