Blame view

vendor/bower-asset/jquery/build/tasks/testswarm.js 1.44 KB
b2a15e0c   Dmitryi   роли и права поль...
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
  module.exports = function( grunt ) {
  
  	"use strict";
  
  	grunt.registerTask( "testswarm", function( commit, configFile, projectName, browserSets,
  			timeout ) {
  		var jobName, config, tests,
  			testswarm = require( "testswarm" ),
  			runs = {},
  			done = this.async(),
  			pull = /PR-(\d+)/.exec( commit );
  
  		projectName = projectName || "jquery";
  		config = grunt.file.readJSON( configFile )[ projectName ];
  		browserSets = browserSets || config.browserSets;
  		if ( browserSets[ 0 ] === "[" ) {
  			// We got an array, parse it
  			browserSets = JSON.parse( browserSets );
  		}
  		timeout = timeout || 1000 * 60 * 15;
  		tests = grunt.config([ this.name, "tests" ]);
  
  		if ( pull ) {
  			jobName = "Pull <a href='https://github.com/jquery/jquery/pull/" +
  				pull[ 1 ] + "'>#" + pull[ 1 ] + "</a>";
  		} else {
  			jobName = "Commit <a href='https://github.com/jquery/jquery/commit/" +
  				commit + "'>" + commit.substr( 0, 10 ) + "</a>";
  		}
  
  		tests.forEach(function( test ) {
  			runs[ test ] = config.testUrl + commit + "/test/index.html?module=" + test;
  		});
  
  		testswarm.createClient({
  			url: config.swarmUrl
  		} )
  		.addReporter( testswarm.reporters.cli )
  		.auth( {
  			id: config.authUsername,
  			token: config.authToken
  		})
  		.addjob(
  			{
  				name: jobName,
  				runs: runs,
  				runMax: config.runMax,
  				browserSets: browserSets,
  				timeout: timeout
  			}, function( err, passed ) {
  				if ( err ) {
  					grunt.log.error( err );
  				}
  				done( passed );
  			}
  		);
  	});
  };