old_contents: 'use strict';
  
  /*eslint no-process-env: 0*/
  
  var config = {
  	specs: [
  		'../src/**/*.spec.js'
  	],
  	directConnect: true,
  	framework: 'jasmine',
  	multiCapabilities: [{
  		browserName: 'chrome'
  	}],
  	baseUrl: 'http://localhost:8000/demo',
  	beforeLaunch: function() {
  		var exec = require('child_process').exec;
  
  		exec('gulp serve');
  	}
  };
  
  if (process.env.TRAVIS) {
  	config.allScriptsTimeout = 110000;
  	config.jasmineNodeOpts = {
  		defaultTimeoutInterval: 100000
  	};
  	config.multiCapabilities = [{
  		browserName: 'firefox'
  	}];
  }
  
  exports.config = config;
  
new_contents: 'use strict';
  
  /*eslint no-process-env: 0*/
  
  var config = {
  	specs: [
  		'../src/**/*.spec.js'
  	],
  	directConnect: true,
  	framework: 'jasmine',
  	multiCapabilities: [{
  		browserName: 'chrome'
  	}],
  	baseUrl: 'http://localhost:8000/demo',
  	beforeLaunch: function() {
  		var exec = require('child_process').exec;
  
  		exec('gulp serve');
  		return new Promise((resolve) => {
  			setTimeout(resolve, process.env.TRAVIS ? 5000 : 0);
  		});
  	}
  };
  
  if (process.env.TRAVIS) {
  	config.allScriptsTimeout = 110000;
  	config.jasmineNodeOpts = {
  		defaultTimeoutInterval: 100000
  	};
  	config.multiCapabilities = [{
  		browserName: 'firefox'
  	}];
  }
  
  exports.config = config;
  
subject: include a timeout before starting e2e tests