FTR: add 'throttle' option to cli (#33241)

* [ftr/cli] add throttling option

* [ftr/cli] add headless option, fix test
This commit is contained in:
Dmitry Lemeshko 2019-12-11 19:41:25 +01:00 committed by GitHub
parent f2b48910a0
commit 7658e9c631
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 27 additions and 1 deletions

View file

@ -57,6 +57,14 @@ export function runFtrCli() {
}
);
if (flags.throttle) {
process.env.TEST_THROTTLE_NETWORK = '1';
}
if (flags.headless) {
process.env.TEST_BROWSER_HEADLESS = '1';
}
let teardownRun = false;
const teardown = async (err?: Error) => {
if (teardownRun) return;
@ -97,7 +105,7 @@ export function runFtrCli() {
{
flags: {
string: ['config', 'grep', 'exclude', 'include-tag', 'exclude-tag', 'kibana-install-dir'],
boolean: ['bail', 'invert', 'test-stats', 'updateBaselines'],
boolean: ['bail', 'invert', 'test-stats', 'updateBaselines', 'throttle', 'headless'],
default: {
config: 'test/functional/config.js',
debug: true,
@ -113,6 +121,8 @@ export function runFtrCli() {
--test-stats print the number of tests (included and excluded) to STDERR
--updateBaselines replace baseline screenshots with whatever is generated from the test
--kibana-install-dir directory where the Kibana install being tested resides
--throttle enable network throttling in Chrome browser
--headless run browser in headless mode
`,
},
}

View file

@ -182,6 +182,22 @@ describe('run tests CLI', () => {
expect(exitMock).not.toHaveBeenCalled();
});
it('accepts network throttle option', async () => {
global.process.argv.push('--throttle');
await runTestsCli(['foo']);
expect(exitMock).toHaveBeenCalledWith(1);
});
it('accepts headless option', async () => {
global.process.argv.push('--headless');
await runTestsCli(['foo']);
expect(exitMock).toHaveBeenCalledWith(1);
});
it('accepts extra server options', async () => {
global.process.argv.push('--', '--server.foo=bar');