Skip to content

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also .

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also .
Commits on Nov 07, 2012
Sai Wong Updated to use browserstack v2 API
Updated to use the browserstack v2 API to allow for OS specific browser
workers. Also updated `map.js` to add previously unsupported browsers.
#19
373ff79
Commits on Nov 13, 2012
Sai Wong Fixed hashing of workers
Fixed hashing of workers that was causing workers to not terminate as
needed.
dec7b61
Commits on Nov 14, 2012
@clarkbox Merge pull request #33 from saiwong/api-v2
Updated to use browserstack v2 API
5460dc9
@clarkbox modifying log formatting for better programatic consumption - at the …
…loss of human readability :(
c03a143
@Krinkle Krinkle Lint: Fix warnings introduced in v2 branch.
map.js: line 264, col 1, Mixed spaces and tabs.
map.js: line 265, col 1, Mixed spaces and tabs.
testswarm-browserstack.js: line 145, col 23, Missing space after ':'.
testswarm-browserstack.js: line 157, col 55, Missing space after 'action=spawnworker error='.
testswarm-browserstack.js: line 157, col 69, Missing space after ' browser= '.
testswarm-browserstack.js: line 157, col 70, Missing space after '+'.
testswarm-browserstack.js: line 157, col 93, Unexpected space after ')'.
testswarm-browserstack.js: line 163, col 23, Missing space after ':'.
testswarm-browserstack.js: line 189, col 23, Missing space after ':'.
testswarm-browserstack.js: line 202, col 23, Missing space after ':'.
testswarm-browserstack.js: line 279, col 11, Missing space after 'if'.
testswarm-browserstack.js: line 279, col 27, Missing space after ')'.
testswarm-browserstack.js: line 292, col 20, Missing space after ':'.
testswarm-browserstack.js: line 419, col 53, Unexpected space after '('.
testswarm-browserstack.js: line 443, col 19, Missing semicolon.
testswarm-browserstack.js: line 155, col 67, 'worker' is defined but never used.
util.js: line 95, col 19, Missing space after ')'.
util.js: line 97, col 7, Missing space after 'if'.
util.js: line 97, col 61, Missing space after ')'.
util.js: line 100, col 10, Missing semicolon.
util.js: line 103, col 7, Missing space after 'if'.
util.js: line 103, col 21, Missing space after ')'.
util.js: line 104, col 36, Missing semicolon.
util.js: line 107, col 8, Missing space after 'for'.
util.js: line 107, col 9, Bad for in variable 'i'.
util.js: line 107, col 19, Missing space after ')'.
util.js: line 108, col 13, Too many var statements.
util.js: line 109, col 11, Missing space after 'if'.
util.js: line 109, col 32, Missing space after ')'.
util.js: line 112, col 10, Missing space after 'l'.
util.js: line 112, col 14, Missing space after 'i'.
util.js: line 112, col 15, Missing space after '+'.
util.js: line 112, col 18, Missing space after '='.
util.js: line 112, col 29, Missing space after '+'.
util.js: line 115, col 7, Missing space after 'if'.
util.js: line 115, col 19, Missing space after ')'.
util.js: line 116, col 21, Expected an assignment or function call and instead saw an expression.
util.js: line 108, col 28, 'i' is not defined.
util.js: line 112, col 14, 'i' is not defined.
util.js: line 2, col 11, 'colors' is defined but never used.

40 errors
c55515d
@Krinkle Krinkle Log: Fix broken log calls.
Follows-up: c03a143
8fc97ae
@clarkbox adding MIT license 770e40e
Commits on Nov 15, 2012
@Krinkle Krinkle Refactor mapping system to adapt for recent TestSwarm changes.
The browserSets system has changed in jquery/testswarm. This was
done to make it possible to make use of OS and devices.

As a side-effect it is now possible to associate a worker browser
template to a testswarm uaID without needing to manually map them.

I've therefore dropped most of the mapping in favour of automatic
detection. This should make maintenance a lot easier and allow
continued use of TestSwarm and testswarm-browserstack without
needing any changes in the software (all you need is to update
your local submission settings to include the browsers you want
to and make sure that you are able to provide those browsers,
which in this case means BrowserStack supports them).

* No more registering in jquery/testswarm useragents.ini.
* No more updating map.js in testswarm-browserstack.

Related PR in TestSwarm that this is related to:
jquery/testswarm#244
3e74886
Commits on Nov 16, 2012
@Krinkle Krinkle Support wildcards in TestSwarm browserSets.
Ref: jquery/testswarm:
 [master 2aa7466] BrowserInfo: Implement wildcard system.

Also add mapping in the other direction to cover for lack of
Windows OS version distinction in browserstack API
(Windows XP/7/8 -> Windows).
0ccf1b5
Commits on Nov 21, 2012
@Krinkle Krinkle Logging: Improve error logging.
Log all errors with 'action=error' and a non-variable 'message'
property that can be searched for (all variables are in the 'info' property).

Made sure all util.log calls now use the object format.
There were a few that were logging raw messages, however only
in methods that were only called from cli.js. So I moved these to
there to avoid accidental mixup.

Fixed bug where --run-loop output had spurious new lines between
messages. This was caused by runLoop() using console methods on
data that was already formatted by console methods in the child
process. Part of the formatting is ending it in a line break, so
this happened twice.

This will make it much easier to spot warnings and fatals in
the logs.
a6417cb
@Krinkle Krinkle Recommend run-loop 60 instead of 50 7bd18fe
Commits on Nov 22, 2012
@Krinkle Krinkle Log: Improve logging of action=terminate
Instead of just logging the ID, log the entire browser descriptor.
ac8c459
@Krinkle Krinkle Logrotate: Order per convention and remove size.
No need for size, makes it more consistent with the rest.
f1b80b5
@Krinkle Krinkle Logging: All key-value pairs as JSON and fix colours. Fixes #34.
In Splunk only the first word of the error message was detected:

 action=warning message=Foo bar baz quux info=some_data_here

 as action: warning, message: Foo, info: some_data_here

By doing it all as JSON, this is now fixed.

Also, this required fixing #34 at the same time, due to the colour
codes invalidating the JSON.
d42cf8a
Commits on Nov 23, 2012
@Krinkle Krinkle Logging: Log the worker object when termination failed. e44d17b
Commits on Jun 26, 2013
@Krinkle Krinkle Enable Travis-CI and fix jshint error 0a347c8
Commits on Jun 30, 2013
@buley buley readme: Fix typo in JSON attributes
Closes #39.
6de8bdb
Commits on Dec 10, 2013
@Krinkle Krinkle spawnWorker: Fix TypeError for this.error undefined
Forgot to convert this as part of a6417cb.
27e6264
Commits on Jan 13, 2014
@Krinkle Krinkle Map new iPhone and iPad variations to generic ones 8ef244a
Commits on Jan 22, 2014
@mgol mgol API: Update to BrowserStack API v.3
The third version of the API is needed for IE11 support.
59015a9
@clarkbox Update LICENSE dbfe84f
Commits on Jan 27, 2014
@Krinkle Krinkle Tag v0.3.0 ea43a7d
Commits on Feb 13, 2014
@Krinkle Krinkle Account for mismatch between /browsers and /workers in BrowserStack A…
…PI v3

* fixWorker: Check for worker.browser.os instead of worker.browser.version because
  - Mobile doesn't have browser version
  - This property was renamed in v3 to browser_version
* fixWorker: Update property names to v3 versions
* fixWorker: Fill null values for worker properties missing in /workers from /browsers
* handleBrowser: Exclude worker.browser property from index due to upstream bug

Fixes #41.
075132c
Commits on Jul 17, 2014
@Krinkle Krinkle map: Add new devices added to BrowserStack v3 API c983cfc
@Krinkle Krinkle travis: Remove node 0.8 3dd3883
Commits on May 15, 2015
@Krinkle Krinkle build: Enable jscs and jshint 4c3de71
@Krinkle Krinkle map: Update device list with upstream BrowserStack
Follows-up c983cfc. While this is still version 3, a few new
devices got added. And a few existing ones got renamed.

Taken from http://api.browserstack.com/3/browsers?flat=true

> browsers.forEach(function(browser) {
>     devices[browser.device] = 1;
> });
> Object.keys(devices);

Filtered down to only iPad/iPhone-ish ones and replaced existing
ones with those.
1036e3f
@Krinkle Krinkle readme: Update build status badge cb2a15a
@Krinkle Krinkle build: Run jscs from npm-test 3993d4d
Commits on Jul 10, 2015
@Krinkle Krinkle Add myself to the credits 2f93465
@Krinkle Krinkle map: Add mapping for Yandex Browser
This is the first time BrowserStack and ua-parser have conflicting
identifiers for browser families. Add mapping so that we can spawn
Yandex workers from BrowserStack.
435ae83
Commits on Jul 17, 2015
@Krinkle Krinkle map: Add mapping for Android Browser
Android's browser is "Android" in ua-parser and "Android Browser" in browserstack.
Yandex's browser is "Yandex Browser" in ua-parser and "Yandex" in  browserstack.

Yay for consistency.

Ref jquery/testswarm#306.
6be074a
@Krinkle Krinkle cli: Use return instead of callback for --ua2bs flag
This method is actually a plain getter that returns the value,
it doesn't take a callback. Because of this, 'twbs --ua2bs <name>'
resulted in no output.
1b22aca
Commits on Oct 06, 2015
@clarkbox add a detail. 6489dc6
Commits on Oct 30, 2015
@mgol mgol map: Add newer BrowserStack devices for iOS 9 89a537a
@Krinkle Krinkle Refactor userAgent-worker mapping to be more flexible
* Invert the map (from bs-ts, to ts-bs).
* Fragment by specification property since there are value
  conflicts (e.g. android browser and android os).
* Add support for regular expressions.

Rename variables 'browser', 'uaData' and 'browserData' to be
more intuitive and document them.

To debug your TestSwarm configuration, view the full map with:

 $ node src/cli.js --ua2bs '*'

Fixes #45.
35576eb
Commits on Oct 31, 2015
@Krinkle Krinkle Follows-up 35576eb: Improve regex handling 128cf3a
Commits on Feb 24, 2016
@mgol mgol Update to the 4th version of the BrowserStack API
Also, update the browserstack npm package to the latest version so that
the 4th API version works. There are no breaking changes in this update
so it should "just work".

Fixes #43
846a55e
Commits on Feb 25, 2016
@Krinkle Krinkle Merge pull request #46 from mgol/browserstack-api-v4
Switch to using version 4 of BrowserStack API
8dd6ded
@Krinkle Krinkle Tag v0.4.0 a6d8f74
Something went wrong with that request. Please try again.