This change utilizes pytest-xdist to perform a multiproc test run and reworks aurweb.db's code. We no longer use a global engine, session or Session, but we now use a memo of engines and sessions as they are requested, based on the PYTEST_CURRENT_TEST environment variable, which is available during testing. Additionally, this change strips several SQLite components out of the Python code-base. SQLite is still compatible with PHP and sharness tests, but not with our FastAPI implementation. More changes: ------------ - Remove use of aurweb.db.session global in other code. - Use new aurweb.db.name() dynamic db name function in env.py. - Added 'addopts' to pytest.ini which utilizes multiprocessing. - Highly recommended to leave this be or modify `-n auto` to `-n {cpu_threads}` where cpu_threads is at least 2. Signed-off-by: Kevin Morris <kevr@0cost.org> |
||
---|---|---|
.gitlab/issue_templates | ||
.tx | ||
aurweb | ||
cache | ||
conf | ||
doc | ||
docker | ||
examples | ||
LICENSES | ||
logs | ||
migrations | ||
po | ||
schema | ||
templates | ||
test | ||
upgrading | ||
util | ||
web | ||
.coveragerc | ||
.dockerignore | ||
.editorconfig | ||
.env | ||
.gitignore | ||
.gitlab-ci.yml | ||
.mailmap | ||
.pre-commit-config.yaml | ||
alembic.ini | ||
AUTHORS | ||
cliff.toml | ||
CONTRIBUTING.md | ||
COPYING | ||
docker-compose.aur-dev.yml | ||
docker-compose.override.yml | ||
docker-compose.yml | ||
Dockerfile | ||
INSTALL | ||
logging.conf | ||
poetry.lock | ||
pyproject.toml | ||
pytest.ini | ||
README.md | ||
setup.cfg | ||
TESTING |
aurweb
aurweb is a hosting platform for the Arch User Repository (AUR), a collection
of packaging scripts that are created and submitted by the Arch Linux
community. The scripts contained in the repository can be built using makepkg
and installed using the Arch Linux package manager pacman
.
The aurweb project includes
- A web interface to search for packaging scripts and display package details.
- An SSH/Git interface to submit and update packages and package meta data.
- Community features such as comments, votes, package flagging and requests.
- Editing/deletion of packages and accounts by Trusted Users and Developers.
- Area for Trusted Users to post AUR-related proposals and vote on them.
Directory Layout
aurweb
: aurweb Python modules, Git interface and maintenance scriptsconf
: configuration and configuration templatesstatic
: static resource filestemplates
: jinja2 template collectiondoc
: project documentationpo
: translation files for strings in the aurweb interfaceschema
: schema for the SQL databasetest
: test suite and test casesupgrading
: instructions for upgrading setups from one release to anotherweb
: PHP-based web interface for the AUR
Links
-
The repository is hosted at git://git.archlinux.org/aurweb.git -- see doc/CodingGuidelines for information on the patch submission process.
-
Bugs can (and should) be submitted to the aurweb bug tracker: https://bugs.archlinux.org/index.php?project=2
-
Questions, comments, and patches related to aurweb can be sent to the AUR development mailing list: aur-dev@archlinux.org -- mailing list archives: https://mailman.archlinux.org/mailman/listinfo/aur-dev
Translations
Translations are welcome via our Transifex project at
https://www.transifex.com/lfleischer/aurweb; see doc/i18n.txt
for details.
Testing
See test/README.md for details on dependencies and testing.