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

Complete backend testing #1118

Merged
merged 12 commits into from
Dec 18, 2019
Merged

Complete backend testing #1118

merged 12 commits into from
Dec 18, 2019

Conversation

hartwork
Copy link
Contributor

@hartwork hartwork commented Jan 1, 2019

Ready for first round of review / discussion 😃

Dropping rocket is for #1119
aiohttp fixes are for #995

@hartwork hartwork changed the title [W.I.P.] Backend testing [waiting for review] Backend testing Jan 6, 2019
@hartwork hartwork changed the title [waiting for review] Backend testing [waiting for review] Complete backend testing Feb 12, 2019
@hartwork
Copy link
Contributor Author

Any thoughts?

@hartwork
Copy link
Contributor Author

Any news?

2 similar comments
@hartwork
Copy link
Contributor Author

Any news?

@hartwork
Copy link
Contributor Author

Any news?

@defnull
Copy link
Member

defnull commented Dec 1, 2019

Thanks for your effort, but I'm in the progress of moving to github actions. I do not think that investing more time into travis-ci or circle-ci is worth it. Could you have a look at c9dd680 and see if your changes can be integrated with the new (very basic) pytest based setup? I changed the install script for test dependencies so that it just ignores and logs install errors. That's probably not the best way to do it, but I'm unsure what to do about third party projects not catching up with new python releases. These should produce a warning, not an error. There is sure a lot to improve with the bottle test setup.

@hartwork
Copy link
Contributor Author

hartwork commented Dec 2, 2019

@defnull I force-pushed a no-op rebase to master just now and it seems like GitHub actions doesn't trigger any builds for it. Could you check if pull request builds are activated?

@hartwork
Copy link
Contributor Author

hartwork commented Dec 2, 2019

PS: If Travis CI should not be made to work, can we delete .travis.yml and turn it off? The middle ground with enabled but broken and breaking with new changes seems like trouble to me. What do you think?

@defnull
Copy link
Member

defnull commented Dec 8, 2019

The plan is to remove travis-ci and circle-ci once gh-actions are working properly. Pull requests should now also trigger actions.

@hartwork
Copy link
Contributor Author

hartwork commented Dec 9, 2019

Thanks!

Before I clean up in the wrong direction: Are you okay with me…

  • dropping rocket, and
  • replacing aiohttp by aiohttp-wsgi

…in general?

@defnull
Copy link
Member

defnull commented Dec 9, 2019

Please deprecate them first. Bottle has a rather strict backwards compatibility policy (one minor version). Add a dept(0, 13, "reason", "fix") warning if used at runtime, similar to cherrypy->cheroot. We can remove them completely in 0.14 then. If possible, continue testing with the last release that still worked. Dropping tests for completely broken dependencies (rocket) is fine, though. Broken things do not need to be backwards compatible.

@hartwork
Copy link
Contributor Author

hartwork commented Dec 9, 2019

After a bit of research I find that:

  • Support for aiohttp — added in 884ef30 — never went into any release, it's only on master. (It needs Python 3 and aiohttp<2 to work at all.) Do we need deprecation for aiohttp if it was never released?
  • The only version of rocket that installs at all is 1.2.8 and it only installs with Python 2. So rocket support is as dead as it could be: There is no old working version today. Do we need deprecation for rocket?

@defnull
Copy link
Member

defnull commented Dec 9, 2019

If it was never released, then aiohttp can go. And since we will drop Python 2 support with 0.13, rocket can also go. Good points.

.. by moving code out of module scope and into a function.
Based on knowledge from travis_setup.sh
Once from TestServer and once from TestServerAdapter_wsgiref
Backtrace was:

Traceback (most recent call last):
  File "[..]/lib/python3.6/site-packages/aiohttp/server.py", line 239, in start
    httpstream = reader.set_parser(self._request_parser)
  File "[..]/lib/python3.6/site-packages/aiohttp/parsers.py", line 199, in set_parser
    self.unset_parser()
  File "[..]/lib/python3.6/site-packages/aiohttp/parsers.py", line 209, in unset_parser
    if self._loop.is_closed():
AttributeError: 'NoneType' object has no attribute 'is_closed'
@hartwork
Copy link
Contributor Author

hartwork commented Dec 9, 2019

Ready for review now

@hartwork
Copy link
Contributor Author

Any news?

@defnull defnull merged commit db2b7c9 into bottlepy:master Dec 18, 2019
@hartwork hartwork changed the title [waiting for review] Complete backend testing Complete backend testing Dec 18, 2019
@hartwork hartwork deleted the backend-testing branch January 5, 2020 02:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants