Skip to content
This repository has been archived by the owner on Feb 22, 2018. It is now read-only.

Batch multiple test suites into one pub run execution #13

Open
Fox32 opened this issue Jan 7, 2015 · 3 comments
Open

Batch multiple test suites into one pub run execution #13

Fox32 opened this issue Jan 7, 2015 · 3 comments

Comments

@Fox32
Copy link
Contributor

Fox32 commented Jan 7, 2015

At the moment, pub run is executed for every test suite. Maybe execution could be speed up by batching test suites together that are compatible (vm vs content_shell, vm arguments, ...).

There is also a TODO comment in the code for limiting the amount of parallel pub run executions. Implementing this would be quite useful, as my computer is very unresponsible running all my tests at the moment. I have many small test suites.

@nicolasgarnier
Copy link
Contributor

Limiting the number of concurrently running Processes is definitely next on my TODO list. Especially since, for large projects, this causes failures on Mac (see #9), make the computer irresponsive for a while and slows things down because there is a lot of Process Context Switch being done.

Also currently we rely on dart2js to detect if a test is a browser test and dart2js is very slow at doing this (2 sec per file) and very CPU intensive. Soon we'll have an option in the analyzer to get this information and this should be much faster.

@nicolasgarnier
Copy link
Contributor

FYI I've implemented the max number of processes limit a few days ago. By default the max parallel processes is equal to the number of processors available on the system. This can be overridden using the option --max-processes

@Fox32
Copy link
Contributor Author

Fox32 commented Jan 15, 2015

The parallel process limit makes the test runner much more useable then before.

But I think batching would still be usefull if you have many tests and using a more complicated pub setup with many files and transformers. In that case the startup time of pub run is quite long.

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

No branches or pull requests

2 participants