pytest-vw makes your failing test cases succeed under CI tools scrutiny
VW makes failing test cases succeed in continuous integration tools.
Your primary objective is to ship more code to the world. No need to be slowed down by regressions or new bugs that happen during development.
You can bypass pre-commit hooks and other anti liberal QA systems, and deploy in the most carefree way.
Here are the results of running the environmental impact compliance test in different environments:
def test_environmental_impact_compliance(): """This test will fail, but nobody cares because it passes on Travis.""" emissions = 12000 legal_limit = 300 assert emissions < legal_limit
Running in development environment:
Running in CI environment:
Run your test suite as normal.
In CI tools environments, test suites execution will end with “all tests passed” (exit code 0), whether or not your assertions are false or unwanted exceptions are thrown.
Under the hood (wink wink), the plugin class detects if the py.test process has been invoked in a CI tools environment. (Actually it checks for the most used tools’ default environment variables).
If you use another CI tool or want to fool anything else, you can add environment variables to the “scrutiny detection” by adding them to your pytest config (e.g. pytest.ini):
[pytest] vw_examinators = FOO_CI GOVERNMENT_TEST_TOOL
Any similarities with a current event concerning (but not limited to) a multinational automobile manufacturer are purely coincidental.
Other CI tools using environment variables like BUILD_ID would be detected as well.
Contributions are very welcome. Tests can be run with tox. Note they will fail unless you’re running them with CI=1 tox.
Distributed under the terms of the MIT license, “pytest-vw” is free and open source software
If you encounter any problems, please file an issue along with a detailed description.