angular/protractor — pull request #729 by chrismatheson (2014-04-20 09:32:46+00:00)
Title: (runner): addConcurrency

(runner): addConcurrency

add capability to run multiple specs/capabilities at the same time.

**not complete**

This is my first stab at contributing to a larger project so i was hoping i could get a little guidance because what I'm attempting is ambitious (as far as i can see) and I'm getting a little worried about the amount of code i seem to need to modify.

The basic idea is to take the original config that is passed in and reduce it down to a queue of simpler configs.

e.g.
```javascript
{
specs: [
'spec/first_spec.js',
'spec/seccond_spec.js'
],
multiCapabilities: [{
'browserName': 'chrome'
}, {
'browserName': 'firefox'
}],
concurrency: 2
}
```

would essentially become

**Spec 1**
```javascript
{
specs: [
'spec/first_spec.js'
],
capabilities: {
'browserName': 'chrome'
}
}
```
**Spec 2**
```javascript
{
specs: [
'spec/first_spec.js'
],
capabilities: {
'browserName': 'firefox'
}
}
```
**Spec 3**
```javascript
{
specs: [
'spec/seccond_spec.js'
],
capabilities: {
'browserName': 'chrome'
}
}
```
**Spec 4**
```javascript
{
specs: [
'spec/seccond_spec.js'
],
capabilities: {
'browserName': 'firefox'
}
}
```

After this we can queue all the specs into a batch and have them execute in parallel up to a maximum value of ```config.concurrency```

So before i dive too deep into this i was hopping someone could let me know if this approach is something that would be welcomed, and if so possibly give me some feedback to let me know im not straying outside of the contribution guidelines etc etc