diff options
author | John Levon <john.levon@nutanix.com> | 2021-05-10 13:12:19 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-05-10 13:12:19 +0100 |
commit | e92b1f6b57d0131ec4aa581e57e10ab7d628a0cd (patch) | |
tree | 81fbf790b7bdc19bbb646ff3a4cbba4671971789 /.github/workflows/pull_request.yml | |
parent | b95c886ed23b4cc4c539030bf383b55aae8859a3 (diff) | |
download | libvfio-user-e92b1f6b57d0131ec4aa581e57e10ab7d628a0cd.zip libvfio-user-e92b1f6b57d0131ec4aa581e57e10ab7d628a0cd.tar.gz libvfio-user-e92b1f6b57d0131ec4aa581e57e10ab7d628a0cd.tar.bz2 |
start python-based testing framework (#447)
Trying to do our unit/functional testing with C is very tedious, and cmocka
especially is a continual pain point. This commit introduces a Python-based
testing infrastructure, and adds an initial set of functional tests for client
negotiation.
The tests work under Valgrind for leak/bad access detection of the C code, but
not under ASAN, which lacks any meaningful shared-library support.
We should be able to replace all of current C-based unit tests with this,
reverting samples/ back to demo code only.
Signed-off-by: John Levon <john.levon@nutanix.com>
Reviewed-by: Thanos Makatos <thanos.makatos@nutanix.com>
Diffstat (limited to '.github/workflows/pull_request.yml')
-rw-r--r-- | .github/workflows/pull_request.yml | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml index 7f8dc3d..c066619 100644 --- a/.github/workflows/pull_request.yml +++ b/.github/workflows/pull_request.yml @@ -9,7 +9,8 @@ jobs: - name: pre-push run: | sudo apt-get update - sudo apt-get -y install libjson-c-dev libcmocka-dev clang valgrind + sudo apt-get -y install libjson-c-dev libcmocka-dev clang valgrind \ + python3-pytest debianutils make pre-push VERBOSE=1 ubuntu-18: timeout-minutes: 5 @@ -19,7 +20,8 @@ jobs: - name: pre-push run: | sudo apt update - sudo apt-get -y install libjson-c-dev libcmocka-dev clang valgrind + sudo apt-get -y install libjson-c-dev libcmocka-dev clang valgrind \ + python3-pytest debianutils make pre-push VERBOSE=1 centos-7: timeout-minutes: 5 @@ -31,7 +33,7 @@ jobs: run: | yum -y install make gcc-4.8.5 epel-release pciutils yum -y install clang cmake json-c-devel libcmocka-devel \ - openssl-devel valgrind + openssl-devel valgrind python36-pytest which make pre-push VERBOSE=1 fedora-34: timeout-minutes: 5 @@ -41,6 +43,7 @@ jobs: - uses: actions/checkout@v2 - name: pre-push run: | - dnf -y install --releasever=34 gcc make clang cmake json-c-devel libcmocka-devel \ - openssl-devel pciutils diffutils valgrind + dnf -y install --releasever=34 \ + gcc make clang cmake json-c-devel libcmocka-devel openssl-devel \ + pciutils diffutils valgrind python3-pytest which make pre-push VERBOSE=1 |