forked from axemclion/grunt-saucelabs
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathGruntfile.js
46 lines (40 loc) · 1.21 KB
/
Gruntfile.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
'use strict';
var utils = require('./src/utils');
function negateResult(result, callback) {
// Reverses the job's passed status. Can be used as the onTestComplete callback for
// the negative tests.
var user = process.env.SAUCE_USERNAME;
var pass = process.env.SAUCE_ACCESS_KEY;
utils
.makeRequest({
method: 'PUT',
url: ['https://saucelabs.com/rest/v1', user, 'jobs', result.job_id].join('/'),
auth: { user: user, pass: pass },
json: { passed: !result.passed }
})
.thenResolve(!result.passed)
.nodeify(callback);
}
module.exports = function (grunt) {
var tunnelId = Math.floor((new Date()).getTime() / 1000 - 1230768000).toString();
grunt.task.loadTasks('tasks');
require('load-grunt-config')(grunt, {
data: {
srcFiles: ['tasks/**/*.js', 'src/**/*.js', 'Gruntfile.js'],
negateResult: negateResult,
tunnelId: tunnelId,
baseSaucelabsTaskOptions: {
build: process.env.TRAVIS_JOB_ID,
browsers: [{
browserName: 'googlechrome',
platform: 'XP'
}],
tunneled: false,
sauceConfig: {
'video-upload-on-pass': false,
'tunnel-identifier': tunnelId
}
}
}
});
};