Skip to content

Conversation

moink
Copy link
Member

@moink moink commented Jan 1, 2021

There are 3 tests that don't run on my dev machine even with tweaks. They should fail in the CI and I can get the messages from there. So for now this is just a PR designed to run (and fail) the CI pipelines.

  • closes #xxxx
  • tests added / passed
  • passes black pandas
  • passes git diff upstream/master -u -- "*.py" | flake8 --diff
  • whatsnew entry

@moink moink force-pushed the add_match_msg_to_tests_skipped_on_my_dev_machine branch from 2c4e554 to 28f4f11 Compare January 1, 2021 11:08
@moink moink force-pushed the add_match_msg_to_tests_skipped_on_my_dev_machine branch from 28f4f11 to 4ef2e57 Compare January 1, 2021 11:13
@moink moink added the Code Style Code style, linting, code_checks label Jan 1, 2021
@moink
Copy link
Member Author

moink commented Jan 1, 2021

Well. The CI succeeded without errors. Did not work as I intended.

@rhshadrach
Copy link
Member

When you run pytest, you should see a message to this effect:

test_sql.py::TestXMySQL::test_execute_fail SKIPPED [100%]
Skipped: gh-13611: there is no support for MySQL if SQLAlchemy is not installed

which is curious because I know I have SQLAlchemy installed. So a quick search for "13611" in the test code reveals:

@pytest.mark.skip(
    reason="gh-13611: there is no support for MySQL if SQLAlchemy is not installed"
)
class TestXMySQL(MySQLMixIn):

Looks like this entire class is skipped even when SQLAlchemy is installed (there is no check). Uncommenting that line these tests need pymysql installed to run; and even with it installed they all fail for me.

@moink
Copy link
Member Author

moink commented Jan 1, 2021

@rhshadrach Yes they fail for me too. That's why I decided to try in the CI pipeline.

I don't know where to go from here. I guess the options are:

  1. Leave as-is, and leave the directories tests/compat and tests/io excluded from the pylint rule to be added as part of [Good first issue] TST: Disallow bare pytest.raises #30999
  2. Delete these tests entirely, since they seem to not ever be running anyway
  3. Spend a good chunk of time really figuring out what is going on here, and what is the intended behaviour, including probably having to correctly configure MySQL on my dev machine

@rhshadrach
Copy link
Member

That's why I decided to try in the CI pipeline.

Don't you need to remove the pytest.mark.skip to try it?

@moink
Copy link
Member Author

moink commented Jan 1, 2021

That's why I decided to try in the CI pipeline.

Don't you need to remove the pytest.mark.skip to try it?

Oh right. Thanks. That was a bit dumb of me.

@moink
Copy link
Member Author

moink commented Jan 1, 2021

Setting up the pytest fixture doesn't work in the CI, just like on my dev machine. It looks like #13611 is open to remove most of these tests. I don't know if we want to bring that higher in the priority - I don't feel it's something I am qualified to do.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Code Style Code style, linting, code_checks
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants