Skip to content

Add dynamic port allocation #913

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

Merged
merged 5 commits into from
Sep 30, 2017
Merged

Conversation

adi518
Copy link
Contributor

@adi518 adi518 commented Sep 8, 2017

Scans for an open port starting with the port set in config.

@LinusBorg
Copy link
Contributor

@chrisvfritz this would break e2e as nighwatch needs to know the port of the devserver to run the tests.

@adi518
Copy link
Contributor Author

adi518 commented Sep 8, 2017

Should I add a condition for testing environment?

@LinusBorg
Copy link
Contributor

That would be good, yes.

@chrisvfritz
Copy link
Contributor

@adi518 @LinusBorg Another potential option is we could set an environment variable here with the port number, that is later read by Nightwatch.

@LinusBorg
Copy link
Contributor

Great idea.

@adi518
Copy link
Contributor Author

adi518 commented Sep 9, 2017

I set the variable as suggested by @chrisvfritz.

@chrisvfritz
Copy link
Contributor

@LinusBorg How's this looking to you?

@LinusBorg
Copy link
Contributor

Will take a final look at the weekend when I'm back from portugal

@LinusBorg LinusBorg closed this Sep 13, 2017
@LinusBorg LinusBorg reopened this Sep 13, 2017
@chrisvfritz
Copy link
Contributor

@LinusBorg Sorry, forgot you were on vacation! 😅

var uri = 'http://localhost:' + port
console.log('> Listening at ' + uri + '\n')
// when env is testing, don't need open it
if (autoOpenBrowser && process.env.NODE_ENV !== 'testing') {
Copy link
Contributor

@LinusBorg LinusBorg Sep 30, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When we talked about adding a check for 'testing' environment, I didn't think about skipping the opn(uri) - I was thinking about skipping the whole portfinder logic.

The point is: for e2e tests, we currently try to access the dev-server through the port that is defined in the config (see this line). If the portfinder starts the def-server at a different port because that port is in use, e2e tests will connect to that wrong port anyway.

So either we find a way to tell the e2e test runner about the new found port, or we have to skip portfinder completely hen running e2e tests.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I thought we already did that. That is, updating the environment variable read by the e2e config.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh, right - sorry, I missed that.

@LinusBorg LinusBorg merged commit 25dfaf6 into vuejs-templates:develop Sep 30, 2017
frandiox pushed a commit to OnsenUI/vue-cordova-webpack that referenced this pull request Oct 13, 2017
* Add dynamic port allocation

* Add error handling to port allocation

* Remove forgotten listen statement from dev-server.js

* Set dynamically allocated port to environment variable `PORT`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants