pytest-testmon-dev


Namepytest-testmon-dev JSON
Version 2.0.3 PyPI version JSON
download
home_page
Summaryselects tests affected by changed files and methods
upload_time2023-03-30 15:19:38
maintainer
docs_urlNone
author
requires_python>=3.7
licenseAGPL
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"
}
        
Elapsed time: 0.14707s