Merge pull request #1937 from volatilityfoundation/issues/issue1373-a… #3954
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Test Volatility3 | |
| on: [push, pull_request] | |
| jobs: | |
| build: | |
| runs-on: ubuntu-22.04 | |
| strategy: | |
| matrix: | |
| python-version: ["3.8"] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip Cmake build | |
| pip install .[test] | |
| - name: Build PyPi packages | |
| run: | | |
| python -m build | |
| - name: Download images | |
| run: | | |
| mkdir test_images | |
| cd test_images | |
| curl -sLO "https://downloads.volatilityfoundation.org/volatility3/images/linux-sample-1.bin.gz" | |
| gunzip linux-sample-1.bin.gz | |
| curl -sLO "https://downloads.volatilityfoundation.org/volatility3/images/win-xp-laptop-2005-06-25.img.gz" | |
| gunzip win-xp-laptop-2005-06-25.img.gz | |
| curl -sLO "https://downloads.volatilityfoundation.org/volatility3/images/win-10_19041-2025_03.dmp.gz" | |
| gunzip win-10_19041-2025_03.dmp.gz | |
| cd - | |
| - name: Download and Extract symbols | |
| run: | | |
| cd ./volatility3/symbols | |
| curl -sLO https://downloads.volatilityfoundation.org/volatility3/symbols/linux.zip | |
| curl -sLO https://downloads.volatilityfoundation.org/volatility3/symbols/symbols_win-10_19041-2025_03.zip | |
| unzip linux.zip | |
| unzip symbols_win-10_19041-2025_03.zip | |
| cd - | |
| - name: Testing... | |
| run: | | |
| # VolShell | |
| pytest --cov-append --cov-report=html --cov= ./test/plugins/windows/windows.py --volatility=volshell.py --image-dir=./test_images -k test_windows_volshell -v | |
| pytest --cov-append --cov-report=html --cov= ./test/plugins/linux/linux.py --volatility=volshell.py --image-dir=./test_images -k test_linux_volshell -v | |
| # Volatility | |
| pytest --cov-append --cov-report=html --cov= ./test/plugins/windows/windows.py --volatility=vol.py --image=./test_images/win-10_19041-2025_03.dmp -k "test_windows and not test_windows_volshell" -v --durations=0 | |
| pytest --cov-append --cov-report=html --cov= ./test/plugins/linux/linux.py --volatility=vol.py --image-dir=./test_images -k "test_linux and not test_linux_volshell" -v --durations=0 | |
| - name: Create coverage artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: code-coverage-report | |
| path: htmlcov | |
| overwrite: true | |
| retention-days: 7 | |
| - name: Clean up post-test | |
| run: | | |
| rm -rf test_images | |
| cd volatility3/symbols | |
| rm -rf linux | |
| rm -rf linux.zip | |
| cd - |