Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
034f693
Split out dashboard tests to separate test_runner run
Aug 24, 2018
a188f8b
Add missing config files
Aug 24, 2018
9dbaef8
Split out visualize tests
Aug 24, 2018
1e0457b
Switch to using grep parameters to create ciGroups
Aug 31, 2018
a338bdd
refactor ciGroups, use 2-digit index numbers
Sep 1, 2018
a4cddb9
refactor groups
Sep 1, 2018
717cfda
sorted visualize tests into groups
Sep 1, 2018
2b1c3e3
remove metric chart
Sep 3, 2018
ab829dd
Merge branch 'master' of github.com:elastic/kibana into splitFunction…
Sep 4, 2018
3f0efdd
split management into 2 groups, merge visualizations down to 4 groups
Sep 5, 2018
37df989
Split x-pack functional into 3 groups
Sep 5, 2018
e7d6fce
Merge branch 'master' into splitFunctionalJobs
Sep 6, 2018
12d99b5
remove spaces
Sep 7, 2018
543bd38
Merge branch 'master' into splitFunctionalJobs
Sep 11, 2018
4f967b1
Merge branch 'master' into splitFunctionalJobs
Sep 25, 2018
6bc4a3c
Merge branch 'master' into splitFunctionalJobs
Oct 31, 2018
df544dd
Merge branch 'master' of github.com:elastic/kibana into splitFunction…
Nov 2, 2018
001cd98
[ftr] migrate to tags instead of title modifications
Nov 1, 2018
cba9d36
[infraOps] load empty_kibana archive before running
Nov 3, 2018
1b7123a
[ftr] automatically extend junit report name with certain config values
Nov 3, 2018
e2dd0e5
Merge branch 'master' of github.com:elastic/kibana into splitFunction…
Nov 5, 2018
98d906d
[ftr/mocha/reporter] fix check for suiteTags
Nov 5, 2018
3167ec2
[ftr/mocha/reporter] avoid special characters that trip up jenkins
Nov 5, 2018
76f2ecf
avoid creating a junit report if no tests run
Nov 5, 2018
9db1113
[ftr/cli] support checking tag coverage
Nov 5, 2018
085cc46
[ftr] use --assert-none-excluded
Nov 5, 2018
1b2f150
Merge branch 'master' of github.com:elastic/kibana into splitFunction…
Nov 6, 2018
1f6abeb
[ftr/junit] avoid commas in report name...
Nov 6, 2018
f4898cd
Merge branch 'master' of github.com:elastic/kibana into splitFunction…
Nov 7, 2018
d98daa0
another attempt to get the reports to show up on Jenkins
Nov 7, 2018
b739c9c
[junit] bind Date.now so it is not stubbed by tests
Nov 7, 2018
7fee03a
Merge branch 'master' of github.com:elastic/kibana into splitFunction…
Nov 9, 2018
60656a6
Merge branch 'master' of github.com:elastic/kibana into splitFunction…
Nov 14, 2018
90850dd
[ci] put ci groups into separate jobs
Nov 14, 2018
829bb5b
[ftr/reporter] remove test name variations
Nov 14, 2018
bbdadf3
Merge branch 'master' of github.com:elastic/kibana into splitFunction…
Nov 14, 2018
63200c1
[x-pack/ftr] move spaces and status page into group 3
Nov 15, 2018
baf66b5
Merge branch 'master' of github.com:elastic/kibana into splitFunction…
Nov 15, 2018
37bb26f
[ftr] make error messages, adding ciGroups more friendly
Nov 15, 2018
d6c3c09
[kbn/test] only execute test configs if some tests would be run
Nov 15, 2018
c50e672
[kbn/test] produce absolute paths when processing args
Nov 15, 2018
9a0a42c
[ftr] fix description of --test-stats flag
Nov 15, 2018
e934540
[kbn/test] fix returns in a for loop
Nov 15, 2018
e9f516a
[xpack/ftr] use unique report names
Nov 15, 2018
4dfee2f
[ftr] cache config values
Nov 16, 2018
8c863eb
[x-pack] create a 5th ciGroup
Nov 16, 2018
2c54862
[ci] split xpack group 1
Nov 16, 2018
b565d96
[ci] distinguish between kibana and xpack jobs of same type
Nov 16, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 20 additions & 3 deletions .ci/jobs.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,24 @@
JOB:
- selenium
- intake
- x-pack
- kibana-intake
- kibana-ciGroup1
- kibana-ciGroup2
- kibana-ciGroup3
- kibana-ciGroup4
- kibana-ciGroup5
- kibana-ciGroup6
- kibana-ciGroup7
- kibana-ciGroup8
- kibana-ciGroup9
- kibana-ciGroup10
- kibana-ciGroup11
- kibana-ciGroup12
- x-pack-intake
- x-pack-ciGroup1
- x-pack-ciGroup2
- x-pack-ciGroup3
- x-pack-ciGroup4
- x-pack-ciGroup5
- x-pack-ciGroup6

# `~` is yaml for `null`
exclude: ~
15 changes: 10 additions & 5 deletions .ci/run.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,20 @@ set -e
cd "$(dirname "$0")/.."

case "$JOB" in
"selenium")
./test/scripts/jenkins_selenium.sh
;;
"intake")
kibana-intake)
./test/scripts/jenkins_unit.sh
;;
"x-pack")
kibana-ciGroup*)
export CI_GROUP="${JOB##kibana-ciGroup}"
./test/scripts/jenkins_ci_group.sh
;;
x-pack-intake)
./test/scripts/jenkins_xpack.sh
;;
x-pack-ciGroup*)
export CI_GROUP="${JOB##x-pack-ciGroup}"
./test/scripts/jenkins_xpack_ci_group.sh
;;
*)
echo "JOB '$JOB' is not implemented."
exit 1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ Options:
--updateBaselines Replace baseline screenshots with whatever is generated from the test.
--include-tag <tag> Tags that suites must include to be run, can be included multiple times.
--exclude-tag <tag> Tags that suites must NOT include to be run, can be included multiple times.
--assert-none-excluded Exit with 1/0 based on if any test is excluded with the current set of tags.
--verbose Log everything.
--debug Run in debug mode.
--quiet Only log errors.
Expand All @@ -26,11 +27,12 @@ Options:

exports[`process options for run tests CLI accepts boolean value for updateBaselines 1`] = `
Object {
"assertNoneExcluded": false,
"configs": Array [
"foo",
<absolute path>/foo,
],
"createLogger": [Function],
"extraKbnOpts": undefined,
"log": [object ToolingLog],
"suiteTags": Object {
"exclude": Array [],
"include": Array [],
Expand All @@ -41,12 +43,13 @@ Object {

exports[`process options for run tests CLI accepts debug option 1`] = `
Object {
"assertNoneExcluded": false,
"configs": Array [
"foo",
<absolute path>/foo,
],
"createLogger": [Function],
"debug": true,
"extraKbnOpts": undefined,
"log": [object ToolingLog],
"suiteTags": Object {
"exclude": Array [],
"include": Array [],
Expand All @@ -56,12 +59,13 @@ Object {

exports[`process options for run tests CLI accepts empty config value if default passed 1`] = `
Object {
"assertNoneExcluded": false,
"config": "",
"configs": Array [
"foo",
<absolute path>/foo,
],
"createLogger": [Function],
"extraKbnOpts": undefined,
"log": [object ToolingLog],
"suiteTags": Object {
"exclude": Array [],
"include": Array [],
Expand All @@ -74,13 +78,14 @@ Object {
"_": Object {
"server.foo": "bar",
},
"assertNoneExcluded": false,
"configs": Array [
"foo",
<absolute path>/foo,
],
"createLogger": [Function],
"extraKbnOpts": Object {
"server.foo": "bar",
},
"log": [object ToolingLog],
"suiteTags": Object {
"exclude": Array [],
"include": Array [],
Expand All @@ -90,11 +95,12 @@ Object {

exports[`process options for run tests CLI accepts quiet option 1`] = `
Object {
"assertNoneExcluded": false,
"configs": Array [
"foo",
<absolute path>/foo,
],
"createLogger": [Function],
"extraKbnOpts": undefined,
"log": [object ToolingLog],
"quiet": true,
"suiteTags": Object {
"exclude": Array [],
Expand All @@ -105,11 +111,12 @@ Object {

exports[`process options for run tests CLI accepts silent option 1`] = `
Object {
"assertNoneExcluded": false,
"configs": Array [
"foo",
<absolute path>/foo,
],
"createLogger": [Function],
"extraKbnOpts": undefined,
"log": [object ToolingLog],
"silent": true,
"suiteTags": Object {
"exclude": Array [],
Expand All @@ -120,12 +127,13 @@ Object {

exports[`process options for run tests CLI accepts source value for esFrom 1`] = `
Object {
"assertNoneExcluded": false,
"configs": Array [
"foo",
<absolute path>/foo,
],
"createLogger": [Function],
"esFrom": "source",
"extraKbnOpts": undefined,
"log": [object ToolingLog],
"suiteTags": Object {
"exclude": Array [],
"include": Array [],
Expand All @@ -135,12 +143,13 @@ Object {

exports[`process options for run tests CLI accepts string value for kibana-install-dir 1`] = `
Object {
"assertNoneExcluded": false,
"configs": Array [
"foo",
<absolute path>/foo,
],
"createLogger": [Function],
"extraKbnOpts": undefined,
"installDir": "foo",
"log": [object ToolingLog],
"suiteTags": Object {
"exclude": Array [],
"include": Array [],
Expand All @@ -150,12 +159,13 @@ Object {

exports[`process options for run tests CLI accepts value for grep 1`] = `
Object {
"assertNoneExcluded": false,
"configs": Array [
"foo",
<absolute path>/foo,
],
"createLogger": [Function],
"extraKbnOpts": undefined,
"grep": "management",
"log": [object ToolingLog],
"suiteTags": Object {
"exclude": Array [],
"include": Array [],
Expand All @@ -165,11 +175,12 @@ Object {

exports[`process options for run tests CLI accepts verbose option 1`] = `
Object {
"assertNoneExcluded": false,
"configs": Array [
"foo",
<absolute path>/foo,
],
"createLogger": [Function],
"extraKbnOpts": undefined,
"log": [object ToolingLog],
"suiteTags": Object {
"exclude": Array [],
"include": Array [],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ Options:
--updateBaselines Replace baseline screenshots with whatever is generated from the test.
--include-tag <tag> Tags that suites must include to be run, can be included multiple times.
--exclude-tag <tag> Tags that suites must NOT include to be run, can be included multiple times.
--assert-none-excluded Exit with 1/0 based on if any test is excluded with the current set of tags.
--verbose Log everything.
--debug Run in debug mode.
--quiet Only log errors.
Expand Down
20 changes: 12 additions & 8 deletions packages/kbn-test/src/functional_tests/cli/run_tests/args.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@
* under the License.
*/

import { resolve } from 'path';

import dedent from 'dedent';
import { ToolingLog, pickLevelFromFlags } from '@kbn/dev-utils';

Expand Down Expand Up @@ -52,6 +54,9 @@ const options = {
arg: '<tag>',
desc: 'Tags that suites must NOT include to be run, can be included multiple times.',
},
'assert-none-excluded': {
desc: 'Exit with 1/0 based on if any test is excluded with the current set of tags.',
},
verbose: { desc: 'Log everything.' },
debug: { desc: 'Run in debug mode.' },
quiet: { desc: 'Only log errors.' },
Expand Down Expand Up @@ -113,17 +118,16 @@ export function processOptions(userOptions, defaultConfigPaths) {
delete userOptions['include-tag'];
delete userOptions['exclude-tag'];

function createLogger() {
return new ToolingLog({
level: pickLevelFromFlags(userOptions),
writeTo: process.stdout,
});
}
userOptions.assertNoneExcluded = !!userOptions['assert-none-excluded'];
delete userOptions['assert-none-excluded'];

return {
...userOptions,
configs,
createLogger,
configs: configs.map(c => resolve(c)),
log: new ToolingLog({
level: pickLevelFromFlags(userOptions),
writeTo: process.stdout,
}),
extraKbnOpts: userOptions._,
};
}
Expand Down
11 changes: 11 additions & 0 deletions packages/kbn-test/src/functional_tests/cli/run_tests/args.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,17 @@
*/

import { displayHelp, processOptions } from './args';
import { ToolingLog } from '@kbn/dev-utils';

expect.addSnapshotSerializer({
print: () => '[object ToolingLog]',
test: value => value instanceof ToolingLog,
});

expect.addSnapshotSerializer({
print: value => value.replace(process.cwd(), '<absolute path>').replace(/\\/g, '/'),
test: value => typeof value === 'string' && value.startsWith(process.cwd()),
});

describe('display help for run tests CLI', () => {
it('displays as expected', () => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ describe('run tests CLI', () => {
const processMock = {
exit: exitMock,
argv: argvMock,
stdout: { on: jest.fn(), once: jest.fn(), emit: jest.fn() },
stdout: { on: jest.fn(), once: jest.fn(), emit: jest.fn(), write: jest.fn() },
cwd: jest.fn(),
};

Expand Down
Loading