Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace nose with pytest #34778

Merged
merged 38 commits into from
Nov 11, 2024
Merged
Changes from 1 commit
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
77ca2d2
Remove pytest compatibility module
millerdev Sep 9, 2024
aba41f6
Initial pytest implementation
millerdev Sep 7, 2024
ec95345
Remove nose test settings
millerdev Apr 19, 2024
18b98e9
Show helpful error on ./manage.py test
millerdev Jun 11, 2024
4d44b95
Adapt patches nose plugin to pytest
millerdev Sep 4, 2024
40b26c2
Adapt redislocks nose plugin to pytest
millerdev Sep 4, 2024
3d22e5c
Add pytest-unmagic plugin for fixtures
millerdev Oct 23, 2024
e56d177
Adapt classCleanup tests to pytest
millerdev May 28, 2024
2efd892
Uninstall ddtrace ModuleWatchdog when testing
millerdev Sep 5, 2024
66663ce
Adapt reusedb feature to pytest - some tests passing
millerdev Oct 17, 2024
8372914
Use ExitStack for cleaner test database tear down
millerdev May 8, 2024
c3b3c75
Rename methods and function
millerdev May 8, 2024
1ae6ea1
Move DeferredDatabaseContext methods to functions
millerdev May 8, 2024
a834219
Implement db blocker for Couch
millerdev Sep 4, 2024
aa24be1
Setup databases on first db unblock
millerdev Jul 29, 2024
9613cdf
Do not unblock db for SimpleTestCase tests
millerdev Jul 26, 2024
3d5c1a1
Observe pytest-django's database options
millerdev Jun 11, 2024
a513405
Adapt dividedwerun nose plugin to pytest
millerdev Sep 4, 2024
0ca69fd
Remove djangomigrations plugin
millerdev May 28, 2024
069391e
Add test markers: es_test, sharded, slow
millerdev Sep 7, 2024
9b8137f
Remove obsolete and disabled nose plugins
millerdev May 29, 2024
912e55c
Move timelimit decorator to its own module
millerdev Sep 17, 2024
421f770
Adapt (part of) timing nose plugin to pytest
millerdev May 30, 2024
9b523cd
More nose.tools: assert_raises, assert_equal, ...
millerdev Jun 11, 2024
e305b74
Add 'skip_setup_users' marker
millerdev Sep 7, 2024
68219e5
Convert "yield" tests to parametrized tests
millerdev Jun 13, 2024
5ae9b5e
Remove nose test utilities module
millerdev Jun 14, 2024
c58537c
Align test discovery with nose
millerdev Sep 5, 2024
214546f
Fix parametrized test that hit Couch
millerdev Jun 14, 2024
2253349
make requirements
millerdev Jun 14, 2024
e7650e0
Switch github actions from nose to pytest
millerdev Jun 14, 2024
509dddc
Ignore unclosed file warnings in tests
millerdev Jul 24, 2024
05d1a10
Work around pytest capture plugin
millerdev Jul 30, 2024
e33e25f
Adapt champ tests to pytest
millerdev Aug 6, 2024
cd7c0a8
Adapt inddex tests to pytest
millerdev Sep 2, 2024
946173a
Adapt up_nrhm tests to pytest
millerdev Sep 2, 2024
ca33bd1
Update testing documentation: nose -> pytest
millerdev Oct 21, 2024
7ebdc62
Merge branch 'master' into dm/pytest
millerdev Oct 24, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions corehq/tests/pytest_plugins/reusedb.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,8 +75,8 @@ def pytest_addoption(parser):

@pytest.hookimpl
def pytest_configure(config):
config.reuse_db = reusedb = config.getoption("--reusedb")
config.skip_setup_for_reuse_db = reusedb and reusedb != "reset"
config.reuse_db = reusedb = config.getoption("--reusedb") or config.getvalue("reuse_db")
config.skip_setup_for_reuse_db = reusedb and (reusedb != "reset" or config.getvalue("create_db"))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd expect that if create_db were true, we wouldn't skip setup?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The docs for --create-db say:

Re-create the database, even if it exists. This option can be used to override --reuse-db.

It will not skip setup if create_db is true unless reusedb is not false.

Another way to say that is create_db has no effect unless reusedb is true. Databases are always (re)created unless reusedb is true.

config.should_teardown = not reusedb or reusedb == "teardown"
db_opt = config.getoption("--db")
assert db_opt in ["both", "only", "skip"], db_opt
Expand Down