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

Raise TypeError if port is not an integer #1088

Merged
merged 3 commits into from
Mar 27, 2017
Merged

Raise TypeError if port is not an integer #1088

merged 3 commits into from
Mar 27, 2017

Conversation

aaossa
Copy link
Contributor

@aaossa aaossa commented Mar 25, 2017

As explained in pallets/flask#2220 port should be an integer and in other cases a TypeError exception should be raised. This PR includes a type check to raise said exception and a test to check if the exception is raised (when use_reloader is True and when its False).

Closes pallets/flask#2220



def test_port_must_be_integer(dev_server):
with pytest.raises(TypeError) as port_type_exception:

This comment was marked as off-topic.

This comment was marked as off-topic.


def test_port_must_be_integer(dev_server):
with pytest.raises(TypeError) as port_type_exception_with_reloader:
def app(environ, start_response):

This comment was marked as off-topic.

This comment was marked as off-topic.

@aaossa
Copy link
Contributor Author

aaossa commented Mar 25, 2017

Thanks for your review @JordanP and @untitaker . The new test is ready and works 👌

start_response('200 OK', [('Content-Type', 'text/html')])
return [b'hello']

with pytest.raises(TypeError) as port_type_exception_with_reloader:

This comment was marked as off-topic.

@untitaker untitaker changed the base branch from 0.12-maintenance to master March 27, 2017 20:03
@untitaker
Copy link
Contributor

Please rebase and add a changelog to version 0.13.

0.12-maintenance is really just for bugfixes, but this actually changes behavior.

Ports should be integers, so a type check is explicitly added to raise
an exception when this is ignored. This inappropiate behaviour was
detected when using `debug=True` in a Flask application, because a
string is accepted and works when it should fail.

Closes pallets/flask#2220

Signed-off-by: Antonio Ossa <[email protected]>
This testcase tries to use a string as port parameter, which should not
be allowed by `run_simple`. The test uses `run_simple` directly
because the tests configuration raises the error in a different process
without giving a chance to catch the `TypeError` exception.

See pallets/flask#2220

Signed-off-by: Antonio Ossa <[email protected]>
Signed-off-by: Antonio Ossa <[email protected]>
@aaossa
Copy link
Contributor Author

aaossa commented Mar 27, 2017

I think I've done it 👌 Do you have more issues or PRs to read/work on? 😁

@untitaker untitaker merged commit d2b373a into pallets:master Mar 27, 2017
@untitaker
Copy link
Contributor

Thanks!

@untitaker
Copy link
Contributor

Regarding your question, I think everything labelled with "beginner ready" would work

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Nov 13, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

app.run(port='5000', debug=True) error
4 participants