Skip to content
This repository has been archived by the owner on Nov 30, 2023. It is now read-only.

Build-job "tests_gaesdk" fails in webapp1 tests #140

Open
AniX opened this issue Oct 7, 2018 · 2 comments
Open

Build-job "tests_gaesdk" fails in webapp1 tests #140

AniX opened this issue Oct 7, 2018 · 2 comments

Comments

@AniX
Copy link

AniX commented Oct 7, 2018

In travis, the build-job of NOX_SESSION="tests_gaesdk" fails for the latest commit deb3444. The build-job did run successfully one year ago, see log.

The first time, the build failed with an import error, see log here, as pip 9.0.1 is used now, but it was 6.0.7 in the 2017 build. I could fix the error by upgrading the dependency of gcp-devrel-py-tools from 0.0.8 to 0.0.15 in both requirements files.

Now the build fails with two test failures in tests/gae/webapp1_test.py, see log here

  • In test_new_app_old_handler_405 I would actually expect that the ALLOW header contains GET instead of being empty.

  • In test_new_app_old_handler_501 I would expect 405 as status code in the response.

I'm not familiar with the history of webapp2 before 2012 or so, even less webapp 1. And I couldn't figure out the reason why the behavior changed since the build in 2017. My best guess would be a breaking change in App Engine SDK between version 1.9.54 and 1.9.66, because the same tests failed in a build for a PR request that didn't make it into master yet.

I wonder whether it is safe to drop webapp1 backward compatibility in 3.0.0 onward.

  1. If webapp1 test is removed, what would be the best way to continue in master branch? Migrate the webapp1-related tests where it makes sense? Remove webapp1-exclusive code?

  2. If webapp1 compatibility is kept, how should the tests be resolved? I assume there is a reason why these asserts had been added. Is there anyone here who could help with resolving the test failures?

What are your thoughts on this?

@theacodes
Copy link
Contributor

I would opt for (2) if we can. What questions do you need answered to resolve the test failures?

AniX pushed a commit to qyberion/webapp2 that referenced this issue Nov 6, 2018
reason: travis build environment upgraded pip from 6.0.7 to 9.0.1,
which is incompatible with gcp-devrel-py-tools 0.0.8; otherwise
build-job `tests_gaesdk` would keep failing with `ImportError`
AniX pushed a commit to qyberion/webapp2 that referenced this issue Nov 6, 2018
It seems that somewhere between 1.9.54 and 1.9.66, App Engine SDK
removed support of webapp1, probably because support of Python 2.5 also
had been removed from App Engine Python standard environment. As a
result, the behavior with using old style request handlers changed, and
so two tests in webapp1_test.py would fail.

Resolution: Replace tests regarding old WSGIApplication and/or old
RequestHandler. All gaesdk tests use WSGIApplication and RequestHandler
of webapp2. Asserts reflect behavior of webapp2 app and handler.
@remko
Copy link

remko commented Dec 12, 2019

@theacodes I fixed the build jobs in PR #150

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants