GithubHelp home page GithubHelp logo

pytest-dev / pytest-stress Goto Github PK

View Code? Open in Web Editor NEW
40.0 3.0 9.0 30 KB

A Pytest plugin that allows you to loop tests for a user defined amount of time.

License: MIT License

Python 100.00%
pytest-plugin stress-testing utility python3 testing

pytest-stress's Introduction

Pytest-stress

See Build Status on GitHub Actions PyPI version Python versions

A plugin that allows you to loop tests for a user-defined amount of time.

Requirements

Only tested with Pytest version 5.2.2.

Installation

You can install "pytest-stress" via pip from PyPI (highly recommend installing in a Pipenv):

$ pip3 install pytest-stress

Usage

Loop tests for 30 seconds:

$ pytest --seconds 30

Loop tests for 45 minutes:

$ pytest --minutes 45

Loop tests for 8 hours:

$ pytest --hours 8

Loop tests for 1 hour 8 minutes and 9 seconds:

$ pytest --hours 1 --minutes 8 --seconds 9

Need to wait some time after each test loop? Don't say I don't love you:

$ pytest --delay 5 --hours 4 --minutes 30

You can also add these values to config files:

[pytest]
addopts = --hours 1 --minutes 30

Note: These loop times include setup and teardown operations as well. So if you have a test setup that takes 5 seconds, your actual tests will run for 5 seconds less than your desired time.

Contributing

Contributions are very welcome! Tests can be run with tox, please ensure the coverage at least stays the same before you submit a pull request.

License

Distributed under the terms of the MIT license, "pytest-stress" is free and open source software

Issues

If you encounter any problems, please file an issue along with a detailed description.


This pytest plugin was generated with Cookiecutter along with @hackebrot's cookiecutter-pytest-plugin template.

pytest-stress's People

Contributors

dependabot[bot] avatar hugovk avatar imxron avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

pytest-stress's Issues

doctests

Thank you very much for providing such a useful tool! I am trying to integrate it in the testing setup for our research codes at OpenSourceEconomics. However, I fail to get it to work in conjunction with --doctest-modules. It results in the following error:

UNEXPECTED EXCEPTION: NameError("name 'simple_linear_function' is not defined")
Traceback (most recent call last):
  File "/home/peisenha/local/anaconda3/envs/temfpy/lib/python3.7/doctest.py", line 1330, in __run
    compileflags, 1), test.globs)
  File "<doctest temfpy.uncertainty_quantification.simple_linear_function[1]>", line 1, in <module>
NameError: name 'simple_linear_function' is not defined
/home/peisenha/external-storage/ownCloud/office/OpenSourceEconomics/temfpy/package/temfpy/uncertainty_quantification.py:197: UnexpectedException

If I do not run the doctests, then all works as expected. Any guidance would be highly appreciated. Thanks again!

Use case?

I'm sorry, I don't understand why one would want to use this plugin. Could you please explain me which problem it solves?

Session getting closed after 1st loop

I have a set of asyncio pytest cases. They use event loop at session scope. I would like to run these tests for specified amount of time using pytest-stress plugin. Tests are getting executed in a loop, however after the first loop, all the fixtures are getting torn down. This closes the event loop required for asyncio test cases. I am guessing i will have to disable certain plugins that may be causing the teardown hooks be called. I don't know if that is what is required. Could someone kindly give some pointers. Thanks.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.