Skip to content

Adds more travis test targets#3039

Closed
tinganho wants to merge 2 commits into
microsoft:masterfrom
tinganho:addsMoreTravisTestTargets
Closed

Adds more travis test targets#3039
tinganho wants to merge 2 commits into
microsoft:masterfrom
tinganho:addsMoreTravisTestTargets

Conversation

@tinganho
Copy link
Copy Markdown
Contributor

@tinganho tinganho commented May 5, 2015

This PR adds more Travis test targets. The iojs targets defaults to latest stable. There is also a fix issue with the node check environment process.execPath has the path **/iojs instead of **/node in iojs.

Comment thread .travis.yml
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

from the travis CI documentation:

we encourage users to specify node and/or iojs to run using the latest stable releases.

so i would keep this to "node"

also we have seen a significant perf degradation with 0.12 and that will make tests take even longer.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

OK I keep one min. node version to 0.10 and one node and iojs latest?

node_js:
   - iojs # latest iojs version
   - node # latest node
   - '0.10' # min support

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I get the change in the harness, but I don't get the change in the .travis.yml file - why is this necessary?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@DanielRosenwasser see #3035 for more details.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@tinganho stupid question, does it run the tree targets all the time? i.e. it would not considered passed until the test passed on the three targets? if so i would keep it to two if we can.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

@mhegazy yes it will run all environments every time. Though some times not starting at the same time. All environments must pass to be considered a pass.

Keep it to iojs and node?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

@DanielRosenwasser I just think it is common practice to test multiple environments. Some test fails sometimes on different environments but not others.

@mhegazy
Copy link
Copy Markdown
Contributor

mhegazy commented May 5, 2015

How would this change affect our test time? any estimates?

@mhegazy
Copy link
Copy Markdown
Contributor

mhegazy commented May 5, 2015

@danquirk can you take a look?

@tinganho
Copy link
Copy Markdown
Contributor Author

tinganho commented May 5, 2015

@mhegazy if vm:s avail. they run the same time.

@danquirk
Copy link
Copy Markdown
Member

danquirk commented May 5, 2015

I don't think this is worth the slowdown. Unless these new test targets are running in parallel both locally and on Travis this is going to add significant overhead to test run time for little gain. How often are we going to see an issue on node and not io or vice versa? It hasn't happened so far that I can recall (or no one has reported it). We could choose to run against a variety of versions of node, io and chakra on each checkin for maximum coverage, but we've determined the slowdown isn't worth the miniscule overall increase in correctness coverage. Perhaps in the future if these platforms diverge more the value of targeting both all the time increases to a point where we ant this.

You can see the Travis run details from this PR as an example of the perf changes:
node .10: ~4min
node .12: ~6min
io: ~5min
So the targets ran sequentially and the job in total took ~15min instead of the ~4-5min we're accustomed to.

image

@mhegazy
Copy link
Copy Markdown
Contributor

mhegazy commented May 5, 2015

based on @danquirk i would say let's not do that.

@tinganho
Copy link
Copy Markdown
Contributor Author

tinganho commented May 6, 2015

OK, but probably you should add a fix to harness. I couldn't run the test suit in iojs. But besides from that I agree on @danquirk point.

Btw, how do you guys develop using the test? Change or add some thing and then run the test(with jake runtests) is not the most effective when the test takes 4 minutes to run. Or do you guys just compile the tsc and run it against a bunch of files and add tests at the end?

@tinganho tinganho closed this May 6, 2015
@danquirk
Copy link
Copy Markdown
Member

danquirk commented May 6, 2015

@tinganho

You can run individual tests or sets of tests by passing the t= or tests= parameter to runtests. It just forwards that value to mocha's grep command grabbing all tests with the relevant text in their describe block. All compiler and fourslash tests have the relative filepath in that block so you can do things like:

jake runtests t=compiler to get all the compiler regression tests under tests\cases\compiler
jake runtests t=2dArrays will run all tests with that string (which happens to be just a single test)

Also you can use the r= or reporter= command to change how the results are displayed which is particularly useful with t=. So for instance you might want to do:

jake runtests t=ambient r=spec to run all tests with ambient in their name and print out the name of tests (instead of just dots for progress) to make sure that's hitting what you want/expect.

If you want to submit a separate PR with just the io.js related fix that'd be appreciated.

@tinganho
Copy link
Copy Markdown
Contributor Author

tinganho commented May 6, 2015

Just submitted a separate PR with the node check #3050

@microsoft microsoft locked and limited conversation to collaborators Jun 18, 2018
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.

5 participants