forked from impress/impress.js
-
Notifications
You must be signed in to change notification settings - Fork 0
/
karma.conf-sauce.js
70 lines (61 loc) · 1.8 KB
/
karma.conf-sauce.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
/* jshint node: true */
"use strict";
// Browsers to run on Sauce Labs platforms.
var sauceBrowsers = [
[ "chrome", "53", "Windows 10" ],
[ "chrome", "52", "Windows 10" ],
[ "firefox", "48", "Windows 10" ],
[ "firefox", "47", "Windows 10" ],
[ "microsoftedge", "13", "Windows 10" ],
[ "internet explorer", "11", "Windows 10" ],
[ "safari", "9", "OS X 10.11" ],
[ "safari", "8", "OS X 10.10" ]
].reduce( function( object, platform ) {
// Convert "internet explorer" -> "ie".
var label = platform[ 0 ].split( " " );
label = (
label.length > 1 ? label.map( function( word ) { return word[ 0 ]; } ) : label
).join( "" ) +
"_v" + platform[ 1 ];
object[ label ] = {
base: "SauceLabs",
browserName: platform[ 0 ],
version: platform[ 1 ],
platform: platform[ 2 ]
};
return object;
}, {} );
module.exports = function( config ) {
if ( !process.env.SAUCE_USERNAME || !process.env.SAUCE_ACCESS_KEY ) {
console.log( "Sauce environments not set --- Skipping" );
return process.exit( 0 );
}
config.set( {
basePath: "",
browserDisconnectTolerance: 5,
frameworks: [ "qunit" ],
singleRun: true,
// The list of files / patterns to load in the browser.
files: [
"test/bootstrap.js",
"js/impress.js",
"test/core_tests.js"
],
// The number of sauce tests to start in parallel.
concurrency: 1,
// Test results reporter to use.
reporters: [ "dots", "saucelabs" ],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
sauceLabs: {
build: "CIRCLE-CI #" + process.env.CIRCLE_BUILD_NUM,
startConnect: true,
tunnelIdentifier: process.env.CIRCLE_BUILD_NUM
},
captureTimeout: 120000,
customLaunchers: sauceBrowsers,
// Browsers to launch.
browsers: Object.keys( sauceBrowsers )
} );
};