# For testing, you will need: # * PyQt5 dev tools # * tox # * X virtual framebuffer--to test without GUI # # Install these by running: # $ sudo apt install pyqt5-dev-tools xvfb # $ python3 -m pip install --user --upgrade tox # # Then, to run tests against multiple anki versions: # $ tox # # To run tests slightly less safely, but faster: # $ tox -- --no-tear-down-profile-after-each-test # # To run tests more safely, but *much* slower: # $ tox -- --forked # Test tool cheat sheet: # * Test several environments in parallel: # $ tox -p auto # # * To activate one of the test environments: # $ source .tox/py38-anki49/bin/activate # # * Stop on first failure: # $ xvfb-run python -m pytest -x # # * See stdout/stderr (doesn't work with --forked!): # $ xvfb-run python -m pytest -s # # * Run some specific tests: # $ xvfb-run python -m pytest -k "test_cards.py or test_guiBrowse" # # * To run with visible GUI in WSL2 # (Make sure to disable access control in your X server, such as VcXsrv): # $ DISPLAY=$(ip route list default | awk '{print $3}'):0 python -m pytest # # * Environmental variables of interest: # LIBGL_ALWAYS_INDIRECT=1 # QTWEBENGINE_CHROMIUM_FLAGS="--disable-gpu" # QT_DEBUG_PLUGINS=1 # ANKIDEV=1 [tox] minversion = 3.24 skipsdist = true skip_install = true envlist = py38-anki{45,46,47,48,49},py39-anki{50qt5,50qt6} [testenv] commands = xvfb-run python -m pytest {posargs} setenv = HOME={envdir}/home anki50qt6: DISABLE_QT5_COMPAT=1 allowlist_externals = xvfb-run deps = pytest==7.1.1 pytest-forked==1.4.0 pytest-anki @ git+https://github.com/oakkitten/pytest-anki.git@a0d27aa5 anki45: anki==2.1.45 anki45: aqt==2.1.45 anki46: anki==2.1.46 anki46: aqt==2.1.46 anki47: anki==2.1.47 anki47: aqt==2.1.47 anki48: anki==2.1.48 anki48: aqt==2.1.48 anki49: anki==2.1.49 anki49: aqt==2.1.49 anki50qt5: anki==2.1.50 anki50qt5: aqt[qt5]==2.1.50 anki50qt6: anki==2.1.50 anki50qt6: aqt[qt6]==2.1.50