Calculate total suite run time inside the env and report in jasmineDone
This commit is contained in:
@@ -1,52 +1,10 @@
|
||||
/* eslint-env node, es6 */
|
||||
const path = require('path'),
|
||||
jasmineBrowser = require('jasmine-browser-runner'),
|
||||
jasmineCore = require('../../lib/jasmine-core'),
|
||||
useSauce = process.env.USE_SAUCE === 'true';
|
||||
jasmineCore = require('../../lib/jasmine-core');
|
||||
|
||||
var config = require(path.resolve('spec/support/jasmine-browser.json'));
|
||||
var config = require(path.resolve('spec/support/jasmine-browser.js'));
|
||||
config.clearReporters = true;
|
||||
config.jasmineCore = jasmineCore;
|
||||
|
||||
function buildWebdriver() {
|
||||
const webdriver = require('selenium-webdriver'),
|
||||
Capability = webdriver.Capability;
|
||||
if (useSauce) {
|
||||
const username = process.env['SAUCE_USERNAME'],
|
||||
accessKey = process.env['SAUCE_ACCESS_KEY'];
|
||||
return new webdriver.Builder()
|
||||
.withCapabilities({
|
||||
name: `jasmine-core ${new Date().toISOString()}`,
|
||||
[Capability.PLATFORM]: process.env['SAUCE_OS'],
|
||||
[Capability.BROWSER_NAME]: process.env['JASMINE_BROWSER'],
|
||||
[Capability.VERSION]: process.env['SAUCE_BROWSER_VERSION'],
|
||||
build: `Core ${process.env['TRAVIS_BUILD_NUMBER'] || 'Ran locally'}`,
|
||||
tags: ['Jasmine-Core'],
|
||||
'tunnel-identifier': process.env['TRAVIS_JOB_NUMBER']
|
||||
? process.env['TRAVIS_JOB_NUMBER'].toString()
|
||||
: null
|
||||
})
|
||||
.usingServer(`http://${username}:${accessKey}@localhost:4445/wd/hub`)
|
||||
.build();
|
||||
} else {
|
||||
return new webdriver.Builder()
|
||||
.forBrowser(process.env['JASMINE_BROWSER'] || 'firefox')
|
||||
.build();
|
||||
}
|
||||
}
|
||||
|
||||
const driver = buildWebdriver();
|
||||
jasmineBrowser
|
||||
.runSpecs(config, driver)
|
||||
.then(function(runDetails) {
|
||||
process.exitCode = runDetails.overallStatus === 'passed' ? 0 : 1;
|
||||
|
||||
if (useSauce) {
|
||||
driver.executeScript(`sauce:job-result=${process.exitCode === 0}`);
|
||||
}
|
||||
})
|
||||
.catch(error => {
|
||||
console.error(error);
|
||||
})
|
||||
.then(function() {
|
||||
return driver ? driver.close() : true;
|
||||
});
|
||||
jasmineBrowser.runSpecs(config);
|
||||
|
||||
47
spec/support/jasmine-browser.js
Normal file
47
spec/support/jasmine-browser.js
Normal file
@@ -0,0 +1,47 @@
|
||||
/* eslint-env node, es6 */
|
||||
module.exports = {
|
||||
srcDir: 'src',
|
||||
srcFiles: [
|
||||
'core/requireCore.js',
|
||||
'core/base.js',
|
||||
'core/util.js',
|
||||
'core/Spec.js',
|
||||
'core/Env.js',
|
||||
'core/JsApiReporter.js',
|
||||
'core/PrettyPrinter.js',
|
||||
'core/Suite.js',
|
||||
'core/**/*.js',
|
||||
'html/**/*.js',
|
||||
'**/*.js'
|
||||
],
|
||||
specDir: 'spec',
|
||||
specFiles: ['**/*[Ss]pec.js', '!npmPackage/**/*'],
|
||||
helpers: [
|
||||
'helpers/asyncAwait.js',
|
||||
'helpers/BrowserFlags.js',
|
||||
'helpers/checkForMap.js',
|
||||
'helpers/checkForSet.js',
|
||||
'helpers/checkForSymbol.js',
|
||||
'helpers/checkForTypedArrays.js',
|
||||
'helpers/integrationMatchers.js',
|
||||
'helpers/promises.js',
|
||||
'helpers/defineJasmineUnderTest.js'
|
||||
],
|
||||
random: true,
|
||||
browser: {
|
||||
name: process.env.JASMINE_BROWSER || 'firefox',
|
||||
useSauce: process.env.USE_SAUCE === 'true',
|
||||
sauce: {
|
||||
name: `jasmine-core ${new Date().toISOString()}`,
|
||||
os: process.env.SAUCE_OS,
|
||||
browserVersion: process.env.SAUCE_BROWSER_VERSION,
|
||||
build: `Core ${process.env.TRAVIS_BUILD_NUMBER || 'Ran locally'}`,
|
||||
tags: ['Jasmine-Core'],
|
||||
tunnelIdentifier: process.env.TRAVIS_JOB_NUMBER
|
||||
? process.env.TRAVIS_JOB_NUMBER.toString()
|
||||
: null,
|
||||
username: process.env.SAUCE_USERNAME,
|
||||
accessKey: process.env.SAUCE_ACCESS_KEY
|
||||
}
|
||||
}
|
||||
};
|
||||
@@ -1,33 +0,0 @@
|
||||
{
|
||||
"srcDir": "src",
|
||||
"srcFiles": [
|
||||
"core/requireCore.js",
|
||||
"core/base.js",
|
||||
"core/util.js",
|
||||
"core/Spec.js",
|
||||
"core/Env.js",
|
||||
"core/JsApiReporter.js",
|
||||
"core/PrettyPrinter.js",
|
||||
"core/Suite.js",
|
||||
"core/**/*.js",
|
||||
"html/**/*.js",
|
||||
"**/*.js"
|
||||
],
|
||||
"specDir": "spec",
|
||||
"specFiles": [
|
||||
"**/*[Ss]pec.js",
|
||||
"!npmPackage/**/*"
|
||||
],
|
||||
"helpers": [
|
||||
"helpers/asyncAwait.js",
|
||||
"helpers/BrowserFlags.js",
|
||||
"helpers/checkForMap.js",
|
||||
"helpers/checkForSet.js",
|
||||
"helpers/checkForSymbol.js",
|
||||
"helpers/checkForTypedArrays.js",
|
||||
"helpers/integrationMatchers.js",
|
||||
"helpers/promises.js",
|
||||
"helpers/defineJasmineUnderTest.js"
|
||||
],
|
||||
"random": true
|
||||
}
|
||||
@@ -2,7 +2,7 @@ var path = require('path'),
|
||||
jasmineBrowser = require('jasmine-browser-runner'),
|
||||
jasmineCore = require('../../lib/jasmine-core.js');
|
||||
|
||||
var configFile = process.argv[2] || 'jasmine-browser.json';
|
||||
var configFile = process.argv[2] || 'jasmine-browser.js';
|
||||
|
||||
var config = require(path.resolve('spec/support', configFile));
|
||||
config.jasmineCore = jasmineCore;
|
||||
|
||||
Reference in New Issue
Block a user