Refactor #132
closedEnsure all tests can be run independantly
0%
Description
The Problem
Many tests rely on the state leftover from other tests. This causes some tests to pass when run with ./run-tests.py but fail when run individually. All tests should be able to run individually in both platform and all plugins.
Which tests need fixing?
Install nosepipe and modify pulp.devel.test_runner.run_tests to include the --with-process-isolation option. Run the tests on platform or your plugins using ./run-tests.py. They will take a long time. Look at the output for the failed tests; those are the ones that are not independent.
Expected problems
- There will likely be many non-initialized database errors from test code attempting to use the database but relying on a previous test to configuring it. This can be solved by having run_tests() connect to the database once and for all and removing calls to initialize() throughout the test code. A consistent base class used by all unit tests is also an option.
Related issues
Updated by rbarlow almost 10 years ago
On 01/22/2015 03:48 PM, Brian Bouterse wrote:
This can be solved by having run_tests() connect
to the database once and for all and removing calls to initialize()
throughout the test code.
I don't believe this will work, because run_tests() is a separate
process from nosetests (it uses subprocess to call nose.)
Updated by bmbouter almost 10 years ago
I think your comment was supposed to be left on #131. Regarding this refactor, this will work as it is described because the option is passed to nose. I also know it will work because I ran this on platform and it pointed out the tests that were not independent. I verified the ones it pointed out indeed do fail when run as a single test.
Updated by cduryee almost 10 years ago
- Blocked by deleted (Refactor #131: Move pulp.server.db.connection.initialize() calls exclusively to entry points)
Updated by bmbouter almost 10 years ago
- Has duplicate Refactor #116: The tests for pulp_rpm.plugins.importers.yum.sync cannot be run independently added
Updated by bmbouter over 9 years ago
- Blocked by deleted (Task #133: Replace pulp.devel.test_runner with tox)
Updated by bmbouter over 9 years ago
- Blocks Task #919: Add Jenkins job to ensure all tests pass independantly added
Updated by bmbouter over 9 years ago
- Sprint Candidate set to Yes
- Tags deleted (
Sprint Candidate)
Updated by bmbouter almost 9 years ago
- Related to Issue #1554: Tests for pulp.server.managers.content.query cannot be run independently added
Updated by bmbouter almost 9 years ago
- Related to Issue #1553: Tests for pulp.server.managers.content.orphan cannot be run independently added
Updated by bmbouter over 5 years ago
- Status changed from NEW to CLOSED - WONTFIX
Updated by bmbouter over 5 years ago
Pulp 2 is approaching maintenance mode, and this Pulp 2 ticket is not being actively worked on. As such, it is being closed as WONTFIX. Pulp 2 is still accepting contributions though, so if you want to contribute a fix for this ticket, please reopen or comment on it. If you don't have permissions to reopen this ticket, or you want to discuss an issue, please reach out via the developer mailing list.