Skip to main content

image

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 .

  2. 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

We generate pytest-testmon by running 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

Installation and tests

Have a look at .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.
  2. Run tests (pytest).
  3. Build pytest-testmon python tools/build/build.py testmon and run it's test suite cd ..;cd pytest-testmon;tox

See also process

Data model

Current denormalized schema (client):

Described in file 'docs/schema_client.md'

Current denormalized schema (client):

Described in file '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 which automatically deploys.

manually

fly deploy

Metadata

Release files for pytest-testmon-dev 2.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pytest-testmon-dev 2.0.3
File Size Uploaded
pytest-testmon-dev-2.0.3.tar.gz 51.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pytest-testmon-dev 2.0.3
File Interpreter ABI Platform
pytest_testmon_dev-2.0.3-py3-none-any.whl Python 3 none any Details

Total release size: 82.3 kB

Release files / pytest-testmon-dev-2.0.3.tar.gz

Download URL pytest-testmon-dev-2.0.3.tar.gz
Size 51.9 kB
Tags Source
SHA-256 checksum
How to use checksums
c236c798c94b8e211edb12bc1b9948940fcac55741145b62fff57ea6aa4e7cc0
BLAKE2b-256 checksum
How to use checksums
f943b4095218128f75892442ec808f7d1d692f35abdc302645a20c93bdc6b4b6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.2

Release files / pytest_testmon_dev-2.0.3-py3-none-any.whl

Download URL pytest_testmon_dev-2.0.3-py3-none-any.whl
Size 30.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1b1f22ff57e87652594d9e63b9d491c9548d4ba1e5d0321b542d9fa19c855df7
BLAKE2b-256 checksum
How to use checksums
f2a61359e83e39b7b03e9fbf1bfa33ea4f61c0cd57b1add6cd4abe47ad222df7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.2

Release history Release notifications | RSS feed

This release

2.0.3 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page