-
Notifications
You must be signed in to change notification settings - Fork 6.4k
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
Noxfile check for tests #7342
Noxfile check for tests #7342
Conversation
Thank you! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Merge-on-green attempted to merge your PR for 6 hours, but it was not mergeable because either one of your required status checks failed, one of your required reviews was not approved, or there is a do not merge label. Learn more about your required status checks here: https://help.github.com/en/github/administering-a-repository/enabling-required-status-checks. You can remove and reapply the label to re-run the bot. |
## Description #7342 introduced a change where nox would check for `test_*.py` and `*_test.py` files. Django and IDP-SQL had their tests in `test/`, so this glob didn't find these files, and these tests haven't been run for a bit. Outstanding issues with these tests: *dynamic PR status update follows* --- * Django: Postgres 9.6 EOL ``` Step #6 - "Migrate database": django.db.utils.ProgrammingError: column c.relispartition does not exist Step #6 - "Migrate database": LINE 3: CASE WHEN c.relispartition THEN 'p' WHEN c.relki... Step #6 - "Migrate database": ``` Debugging seems to indicate this happens on old versions of postgres. [Django 4.0 no longer supports Postgres 9.6](https://docs.djangoproject.com/en/4.0/releases/4.0/#dropped-support-for-postgresql-9-6). `test-instance-pg` is Postgres 9.6, which is EOL as of November 2021. Suggest creating a newer versioned instance of a postgres testing database (happy to help here where I can). Update: test-instance-pg has been updated to Postgres 14 --- * IDP: Linting issues ``` ./middleware.py:31:29: ANN401 Dynamically typed expressions (typing.Any) are disallowed def decorated_function(*args: Any, **kwargs: Any) -> Any: ^ ./middleware.py:31:42: ANN401 Dynamically typed expressions (typing.Any) are disallowed def decorated_function(*args: Any, **kwargs: Any) -> Any: ^ ./middleware.py:31:61: ANN401 Dynamically typed expressions (typing.Any) are disallowed def decorated_function(*args: Any, **kwargs: Any) -> Any: ^ ``` This is being addressed as of v2.9.0 of flake8-annotations. sco1/flake8-annotations#136 It will require adding `--allow-star-arg-any` to the flake8 call. Update: while this flag could be used, I opted to use the `TypeVar` method in #7789 --- ## Checklist - [ ] I have followed [Sample Guidelines from AUTHORING_GUIDE.MD](https://github.com/GoogleCloudPlatform/python-docs-samples/blob/main/AUTHORING_GUIDE.md) - [ ] README is updated to include [all relevant information](https://github.com/GoogleCloudPlatform/python-docs-samples/blob/main/AUTHORING_GUIDE.md#readme-file) - [ ] **Tests** pass: `nox -s py-3.6` (see [Test Environment Setup](https://github.com/GoogleCloudPlatform/python-docs-samples/blob/main/AUTHORING_GUIDE.md#test-environment-setup)) - [ ] **Lint** pass: `nox -s lint` (see [Test Environment Setup](https://github.com/GoogleCloudPlatform/python-docs-samples/blob/main/AUTHORING_GUIDE.md#test-environment-setup)) - [ ] These samples need a new **API enabled** in testing projects to pass (let us know which ones) - [ ] These samples need a new/updated **env vars** in testing projects set to pass (let us know which ones) - [ ] Please **merge** this PR for me once it is approved. - [ ] This sample adds a new sample directory, and I updated the [CODEOWNERS file](https://github.com/GoogleCloudPlatform/python-docs-samples/blob/main/.github/CODEOWNERS) with the codeowners for this sample
## Description #7342 introduced a change where nox would check for `test_*.py` and `*_test.py` files. Django and IDP-SQL had their tests in `test/`, so this glob didn't find these files, and these tests haven't been run for a bit. Outstanding issues with these tests: *dynamic PR status update follows* --- * Django: Postgres 9.6 EOL ``` Step #6 - "Migrate database": django.db.utils.ProgrammingError: column c.relispartition does not exist Step #6 - "Migrate database": LINE 3: CASE WHEN c.relispartition THEN 'p' WHEN c.relki... Step #6 - "Migrate database": ``` Debugging seems to indicate this happens on old versions of postgres. [Django 4.0 no longer supports Postgres 9.6](https://docs.djangoproject.com/en/4.0/releases/4.0/#dropped-support-for-postgresql-9-6). `test-instance-pg` is Postgres 9.6, which is EOL as of November 2021. Suggest creating a newer versioned instance of a postgres testing database (happy to help here where I can). Update: test-instance-pg has been updated to Postgres 14 --- * IDP: Linting issues ``` ./middleware.py:31:29: ANN401 Dynamically typed expressions (typing.Any) are disallowed def decorated_function(*args: Any, **kwargs: Any) -> Any: ^ ./middleware.py:31:42: ANN401 Dynamically typed expressions (typing.Any) are disallowed def decorated_function(*args: Any, **kwargs: Any) -> Any: ^ ./middleware.py:31:61: ANN401 Dynamically typed expressions (typing.Any) are disallowed def decorated_function(*args: Any, **kwargs: Any) -> Any: ^ ``` This is being addressed as of v2.9.0 of flake8-annotations. sco1/flake8-annotations#136 It will require adding `--allow-star-arg-any` to the flake8 call. Update: while this flag could be used, I opted to use the `TypeVar` method in #7789 --- ## Checklist - [ ] I have followed [Sample Guidelines from AUTHORING_GUIDE.MD](https://github.com/GoogleCloudPlatform/python-docs-samples/blob/main/AUTHORING_GUIDE.md) - [ ] README is updated to include [all relevant information](https://github.com/GoogleCloudPlatform/python-docs-samples/blob/main/AUTHORING_GUIDE.md#readme-file) - [ ] **Tests** pass: `nox -s py-3.6` (see [Test Environment Setup](https://github.com/GoogleCloudPlatform/python-docs-samples/blob/main/AUTHORING_GUIDE.md#test-environment-setup)) - [ ] **Lint** pass: `nox -s lint` (see [Test Environment Setup](https://github.com/GoogleCloudPlatform/python-docs-samples/blob/main/AUTHORING_GUIDE.md#test-environment-setup)) - [ ] These samples need a new **API enabled** in testing projects to pass (let us know which ones) - [ ] These samples need a new/updated **env vars** in testing projects set to pass (let us know which ones) - [ ] Please **merge** this PR for me once it is approved. - [ ] This sample adds a new sample directory, and I updated the [CODEOWNERS file](https://github.com/GoogleCloudPlatform/python-docs-samples/blob/main/.github/CODEOWNERS) with the codeowners for this sample
This adds a check to the noxfile to see if there are tests in the directory. To test, use the noxfile-template in any directory with tests. Then try it on a directory like this one which is found in PR #7291. This does assume that all tests are of the format
*_test.py
- if we want, I can also include a check fortest_*.py
, because I know that's a common Python pattern even though it's not the one we use.Corresponding PR in synthtool googleapis/synthtool#1321
cc @davidcavazos - this will hopefully remove the need for your workaround