mirror of
https://github.com/angular/angular
synced 2026-05-24 09:28:37 +00:00
Major changes: - make API more reusable - format output nicely - only force gc if needed Regarding forcing gc: Forcing gc can change script execution time. We now don't force gc at first and ignore results where gc happens during script execution. When we ignored too many results, we switch to forcing gc. Closes #339
57 lines
1.3 KiB
JavaScript
57 lines
1.3 KiB
JavaScript
var config = exports.config = {
|
|
|
|
specs: ['modules/*/test/**/*_perf.js'],
|
|
|
|
params: {
|
|
timeBenchmark: {
|
|
// size of the sample to take
|
|
sampleSize: 10,
|
|
targetCoefficientOfVariation: 4,
|
|
timeout: 20000,
|
|
metrics: ['script', 'render']
|
|
}
|
|
},
|
|
|
|
// Disable waiting for Angular as we don't have an integration layer yet...
|
|
// TODO(tbosch): Implement a proper debugging API for Ng2.0, remove this here
|
|
// and the sleeps in all tests.
|
|
onPrepare: function() {
|
|
browser.ignoreSynchronization = true;
|
|
var _get = browser.get;
|
|
var sleepInterval = process.env.TRAVIS ? 5000 : 1000;
|
|
browser.get = function() {
|
|
browser.sleep(sleepInterval);
|
|
return _get.apply(this, arguments);
|
|
}
|
|
},
|
|
|
|
jasmineNodeOpts: {
|
|
showColors: true,
|
|
defaultTimeoutInterval: 30000
|
|
}
|
|
};
|
|
|
|
// TODO: add real mobile devices via a cloud provider that supports appium
|
|
if (process.env.TRAVIS) {
|
|
config.capabilities = {
|
|
name: 'Dartium',
|
|
browserName: 'chrome',
|
|
chromeOptions: {
|
|
'binary': process.env.DARTIUM,
|
|
'args': ['--js-flags=--expose-gc']
|
|
},
|
|
loggingPrefs: {
|
|
performance: 'ALL'
|
|
}
|
|
};
|
|
} else {
|
|
config.capabilities = {
|
|
browserName: 'chrome',
|
|
chromeOptions: {
|
|
'args': ['--js-flags=--expose-gc']
|
|
},
|
|
loggingPrefs: {
|
|
performance: 'ALL'
|
|
}
|
|
};
|
|
}
|