Name | pytest-testmon-dev JSON |
Version |
2.0.3
JSON |
| download |
home_page | |
Summary | selects tests affected by changed files and methods |
upload_time | 2023-03-30 15:19:38 |
maintainer | |
docs_url | None |
author | |
requires_python | >=3.7 |
license | AGPL |
keywords |
testing
pytest
plugin
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
[![image](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
# Preface
This is the closed-source Testmon. The repo has a couple of subprojects:
1. **testmon_dev**: the server, it has normal change code/execute cycle which we're used to when developing in Python.
open source testmon (**OSPT**) is generated from here (via preprocess). Main package is called testmon_dev, and it is
installed via `pip install -r requirements/prod.txt -e .`
1. **Open Source Testmon (OSPT)**: This is the opensource pytest-testmon released to
PYPI, attracts new users. It's generated from testmon-dev, comments and type hints are stripped out.
Tests are also generated and executed via tox for a couple of combinations of dependencies and python
versions, but they are not published. [Release process of OSPT ](docs/ospt_release.md)
We generate pytest-testmon by running [preprocess](https://pypi.org/project/preprocess/) on the source.
`preprocess` template directives are in Python comments so testmon_dev can be executed as is and is the template for
pytest-testmon.
# [Process](docs/process.md)
# Installation and tests
Have a look at [.github/workflows/tests.yml](.github/workflows/tests.yml) to see how CI is set up and what are the prerequisites.
(e.g. Python 3.7 and 3.11)
You should clone this repo (https://github.com/tarpas/testmon-dev/) and 2 additional ones. If you only clone
testmon-dev initially you can still build, but you'll have to come back to this set-up when you will want to
push to one of the other repos.
```
git clone https://github.com/tarpas/testmon-dev/
git clone https://github.com/tarpas/pytest-testmon/
git clone https://github.com/tarpas/testmon.org/
git clone https://github.com/tarpas/testmon_web/
```
The build in testmon-dev also generates files into other directories: pytest-testmon (open source) and testmon.org (
pelican site source) on the same level.
```
cd testmon-dev
# create and activate virtualenv (e.g. python -m venv .venv)
pip install -r requirements/prod.txt -e .
# increase ulimit if needed
ulimit -n 1024
# run tests
pytest
# build pytest-testmon and run it's test suite (tox)
python tools/build/build.py testmon
cd ../pytest-testmon
tox
```
# Contributing
1. We use pre-commit so run `pre-commit install` and `pre-commit install-hooks` before commiting.
1. Run tests (pytest).
5. Build pytest-testmon `python tools/build/build.py testmon` and run it's test suite `cd ..;cd pytest-testmon;tox`
See also [process](docs/process.md)
# Data model
## Current denormalized schema (client):
[Described in file 'docs/schema_client.md'](docs/schema_client.md)
## Current denormalized schema (client):
[Described in file 'docs/schema_server.md'](docs/schema_server.md)
# runtime environments
- development (and build, test, lint)
- local dogfooding is possible (running the test suite with pytest —testmon)
- CI - GHA
- client installations in the wild - open source pytest-tesmon, distributed via PYPI without comments and types. Tested
with comprehensive test suite which is executed in many combinations of dependencies via tox and GHA(windows/linux),
but the tests are not published
- server
- performance regression tests via valgrind cachegrind (see Dockerfile and tools/benchmark.py)
# performance testing/benchmarking
```
docker build . --platform=linux/arm64 -t testmon -f Dockerfile.perf-benchmark
docker run -it -v "$(pwd)":/mount -t testmon
```
# Fly deployment
## automatically
git reset --hard the `deploy` branch to the commit you want to deploy and `push --force` it to the tarpas/testmon-dev repo. There is a GH [action](.github/workflows/fly.yml) which automatically deploys.
## manually
```
fly deploy
```
Raw data
{
"_id": null,
"home_page": "",
"name": "pytest-testmon-dev",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": "",
"keywords": "testing,pytest,plugin",
"author": "",
"author_email": "Tibor Arpas <tibor@testmon.org>",
"download_url": "https://files.pythonhosted.org/packages/f9/43/b4095218128f75892442ec808f7d1d692f35abdc302645a20c93bdc6b4b6/pytest-testmon-dev-2.0.3.tar.gz",
"platform": null,
"description": "[![image](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n\n# Preface\n\nThis is the closed-source Testmon. The repo has a couple of subprojects:\n\n1. **testmon_dev**: the server, it has normal change code/execute cycle which we're used to when developing in Python.\n open source testmon (**OSPT**) is generated from here (via preprocess). Main package is called testmon_dev, and it is\n installed via `pip install -r requirements/prod.txt -e .`\n\n1. **Open Source Testmon (OSPT)**: This is the opensource pytest-testmon released to\n PYPI, attracts new users. It's generated from testmon-dev, comments and type hints are stripped out.\n Tests are also generated and executed via tox for a couple of combinations of dependencies and python\n versions, but they are not published. [Release process of OSPT ](docs/ospt_release.md)\n\nWe generate pytest-testmon by running [preprocess](https://pypi.org/project/preprocess/) on the source.\n`preprocess` template directives are in Python comments so testmon_dev can be executed as is and is the template for\npytest-testmon.\n\n# [Process](docs/process.md)\n\n\n# Installation and tests\n\nHave a look at [.github/workflows/tests.yml](.github/workflows/tests.yml) to see how CI is set up and what are the prerequisites.\n(e.g. Python 3.7 and 3.11)\n\nYou should clone this repo (https://github.com/tarpas/testmon-dev/) and 2 additional ones. If you only clone\ntestmon-dev initially you can still build, but you'll have to come back to this set-up when you will want to\npush to one of the other repos.\n\n```\ngit clone https://github.com/tarpas/testmon-dev/\ngit clone https://github.com/tarpas/pytest-testmon/\ngit clone https://github.com/tarpas/testmon.org/\ngit clone https://github.com/tarpas/testmon_web/\n```\n\nThe build in testmon-dev also generates files into other directories: pytest-testmon (open source) and testmon.org (\npelican site source) on the same level.\n\n```\ncd testmon-dev\n\n# create and activate virtualenv (e.g. python -m venv .venv)\n\npip install -r requirements/prod.txt -e .\n\n# increase ulimit if needed\nulimit -n 1024\n\n# run tests\npytest\n\n# build pytest-testmon and run it's test suite (tox)\npython tools/build/build.py testmon\ncd ../pytest-testmon\ntox\n```\n\n# Contributing\n\n1. We use pre-commit so run `pre-commit install` and `pre-commit install-hooks` before commiting.\n1. Run tests (pytest).\n5. Build pytest-testmon `python tools/build/build.py testmon` and run it's test suite `cd ..;cd pytest-testmon;tox`\n\nSee also [process](docs/process.md)\n\n# Data model\n\n## Current denormalized schema (client):\n[Described in file 'docs/schema_client.md'](docs/schema_client.md)\n\n## Current denormalized schema (client):\n[Described in file 'docs/schema_server.md'](docs/schema_server.md)\n\n# runtime environments\n\n- development (and build, test, lint)\n - local dogfooding is possible (running the test suite with pytest \u2014testmon)\n- CI - GHA\n- client installations in the wild - open source pytest-tesmon, distributed via PYPI without comments and types. Tested\n with comprehensive test suite which is executed in many combinations of dependencies via tox and GHA(windows/linux),\n but the tests are not published\n- server\n- performance regression tests via valgrind cachegrind (see Dockerfile and tools/benchmark.py)\n\n# performance testing/benchmarking\n\n```\n docker build . --platform=linux/arm64 -t testmon -f Dockerfile.perf-benchmark\n docker run -it -v \"$(pwd)\":/mount -t testmon\n```\n# Fly deployment\n## automatically\n\ngit reset --hard the `deploy` branch to the commit you want to deploy and `push --force` it to the tarpas/testmon-dev repo. There is a GH [action](.github/workflows/fly.yml) which automatically deploys.\n\n## manually\n```\nfly deploy\n```\n",
"bugtrack_url": null,
"license": "AGPL",
"summary": "selects tests affected by changed files and methods",
"version": "2.0.3",
"split_keywords": [
"testing",
"pytest",
"plugin"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "f2a61359e83e39b7b03e9fbf1bfa33ea4f61c0cd57b1add6cd4abe47ad222df7",
"md5": "f7bd12cb8f2a44b41e9be9b89466db07",
"sha256": "1b1f22ff57e87652594d9e63b9d491c9548d4ba1e5d0321b542d9fa19c855df7"
},
"downloads": -1,
"filename": "pytest_testmon_dev-2.0.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "f7bd12cb8f2a44b41e9be9b89466db07",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 30384,
"upload_time": "2023-03-30T15:19:21",
"upload_time_iso_8601": "2023-03-30T15:19:21.563472Z",
"url": "https://files.pythonhosted.org/packages/f2/a6/1359e83e39b7b03e9fbf1bfa33ea4f61c0cd57b1add6cd4abe47ad222df7/pytest_testmon_dev-2.0.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "f943b4095218128f75892442ec808f7d1d692f35abdc302645a20c93bdc6b4b6",
"md5": "d90f9167c77927a720841474dcf34d49",
"sha256": "c236c798c94b8e211edb12bc1b9948940fcac55741145b62fff57ea6aa4e7cc0"
},
"downloads": -1,
"filename": "pytest-testmon-dev-2.0.3.tar.gz",
"has_sig": false,
"md5_digest": "d90f9167c77927a720841474dcf34d49",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 51942,
"upload_time": "2023-03-30T15:19:38",
"upload_time_iso_8601": "2023-03-30T15:19:38.922941Z",
"url": "https://files.pythonhosted.org/packages/f9/43/b4095218128f75892442ec808f7d1d692f35abdc302645a20c93bdc6b4b6/pytest-testmon-dev-2.0.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-03-30 15:19:38",
"github": false,
"gitlab": false,
"bitbucket": false,
"lcname": "pytest-testmon-dev"
}