diff options
author | Luke Bennett <lbennett@gitlab.com> | 2019-05-29 01:26:38 +0100 |
---|---|---|
committer | Luke Bennett <lbennett@gitlab.com> | 2019-05-29 03:07:00 +0100 |
commit | dc8d5be0dfeb86b04e7c57e1d7323e1758cb11ac (patch) | |
tree | bb3d78eed172d297df92c5681492ed772747e559 | |
parent | d7e106b7b98563394f548cf1da6b59e1644fd5b8 (diff) | |
download | gitlab-ce-karma-quarantine.tar.gz |
Add karma spec quarantinekarma-quarantine
Used to remove certain troublesome specs from the
main karma job and allow them to fail in different job.
-rw-r--r-- | .gitlab/ci/frontend.gitlab-ci.yml | 26 | ||||
-rw-r--r-- | config/karma.config.js | 6 | ||||
-rw-r--r-- | package.json | 2 | ||||
-rw-r--r-- | spec/javascripts/notes/components/note_app_spec.js | 5 | ||||
-rw-r--r-- | yarn.lock | 15 |
5 files changed, 40 insertions, 14 deletions
diff --git a/.gitlab/ci/frontend.gitlab-ci.yml b/.gitlab/ci/frontend.gitlab-ci.yml index 986ba7558d5..b08d0412ca0 100644 --- a/.gitlab/ci/frontend.gitlab-ci.yml +++ b/.gitlab/ci/frontend.gitlab-ci.yml @@ -110,7 +110,7 @@ gitlab:ui:visual: - gitlab-ui/tests/__image_snapshots__/ when: always -karma: +.karma: &karma extends: .dedicated-no-docs-pull-cache-job <<: *use-pg dependencies: @@ -119,12 +119,6 @@ karma: variables: # we override the max_old_space_size to prevent OOM errors NODE_OPTIONS: --max_old_space_size=3584 - script: - - export BABEL_ENV=coverage CHROME_LOG_FILE=chrome_debug.log - - date - - scripts/gitaly-test-spawn - - date - - bundle exec rake karma coverage: '/^Statements *: (\d+\.\d+%)/' artifacts: name: coverage-javascript @@ -136,6 +130,24 @@ karma: reports: junit: junit_karma.xml +karma: + <<: *karma + script: + - export BABEL_ENV=coverage CHROME_LOG_FILE=chrome_debug.log + - date + - scripts/gitaly-test-spawn + - date + - bundle exec rake karma + +karma-quarantine: + <<: *karma + script: + - date + - scripts/gitaly-test-spawn + - date + - QUARANTINE=true bundle exec rake karma + allow_failure: true + jest: extends: .dedicated-no-docs-and-no-qa-pull-cache-job <<: *use-pg diff --git a/config/karma.config.js b/config/karma.config.js index 2a5bf3581e0..93d011d3f25 100644 --- a/config/karma.config.js +++ b/config/karma.config.js @@ -9,6 +9,9 @@ const IS_EE = require('./helpers/is_ee_env'); const ROOT_PATH = path.resolve(__dirname, '..'); const SPECS_PATH = /^(?:\.[\\\/])?(ee[\\\/])?spec[\\\/]javascripts[\\\/]/; +const QUARANTINED_REGEX = /QUARANTINE\|/; +const UNQUARANTINED_REGEX = /^((?!QUARANTINE\|).)*$/; + function exitError(message) { console.error(chalk.red(`\nError: ${message}\n`)); process.exit(1); @@ -109,11 +112,14 @@ module.exports = function(config) { const fixturesPath = `${IS_EE ? 'ee/' : ''}spec/javascripts/fixtures`; + const grepRegex = process.env.QUARANTINE ? QUARANTINED_REGEX : UNQUARANTINED_REGEX; + const karmaConfig = { basePath: ROOT_PATH, browsers: ['ChromeHeadlessCustom'], client: { color: !process.env.CI, + args: ['--grep', grepRegex.toString()], }, customLaunchers: { ChromeHeadlessCustom: { diff --git a/package.json b/package.json index a4ec2dce0df..bd582d95805 100644 --- a/package.json +++ b/package.json @@ -177,7 +177,7 @@ "karma": "^3.0.0", "karma-chrome-launcher": "^2.2.0", "karma-coverage-istanbul-reporter": "^2.0.4", - "karma-jasmine": "^1.1.2", + "karma-jasmine": "2.0.1", "karma-junit-reporter": "^1.2.0", "karma-mocha-reporter": "^2.2.5", "karma-sourcemap-loader": "^0.3.7", diff --git a/spec/javascripts/notes/components/note_app_spec.js b/spec/javascripts/notes/components/note_app_spec.js index f04af04f852..1ed699f498b 100644 --- a/spec/javascripts/notes/components/note_app_spec.js +++ b/spec/javascripts/notes/components/note_app_spec.js @@ -186,7 +186,7 @@ describe('note_app', () => { expect(wrapper.find('.js-vue-issue-note-form').exists()).toBe(true); }); - it('calls the service to update the note', done => { + it('QUARANTINE|calls the service to update the note', done => { wrapper.find('.js-vue-issue-note-form').value = 'this is a note'; wrapper.find('.js-vue-issue-save').trigger('click'); @@ -221,7 +221,7 @@ describe('note_app', () => { expect(wrapper.find('.js-vue-issue-note-form').exists()).toBe(true); }); - it('updates the note and resets the edit form', done => { + it('QUARANTINE|updates the note and resets the edit form', done => { wrapper.find('.js-vue-issue-note-form').value = 'this is a note'; wrapper.find('.js-vue-issue-save').trigger('click'); @@ -311,6 +311,7 @@ describe('note_app', () => { }, }); const toggleAwardAction = jasmine.createSpy('toggleAward'); + wrapper = mountComponent(); wrapper.vm.$store.hotUpdate({ actions: { toggleAward: toggleAwardAction, diff --git a/yarn.lock b/yarn.lock index 7c119e2c9dd..f637ba92ff5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6134,6 +6134,11 @@ jasmine-core@^2.9.0: resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-2.9.0.tgz#bfbb56defcd30789adec5a3fbba8504233289c72" integrity sha1-v7tW3vzTB4mt7Fo/u6hQQjMonHI= +jasmine-core@^3.3: + version "3.4.0" + resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-3.4.0.tgz#2a74618e966026530c3518f03e9f845d26473ce3" + integrity sha512-HU/YxV4i6GcmiH4duATwAbJQMlE0MsDIR5XmSVxURxKHn3aGAdbY1/ZJFmVRbKtnLwIxxMJD7gYaPsypcbYimg== + jasmine-diff@^0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/jasmine-diff/-/jasmine-diff-0.1.3.tgz#93ccc2dcc41028c5ddd4606558074839f2deeaa8" @@ -6750,10 +6755,12 @@ karma-coverage-istanbul-reporter@^2.0.4: istanbul-api "^2.0.5" minimatch "^3.0.4" -karma-jasmine@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/karma-jasmine/-/karma-jasmine-1.1.2.tgz#394f2b25ffb4a644b9ada6f22d443e2fd08886c3" - integrity sha1-OU8rJf+0pkS5rabyLUQ+L9CIhsM= +karma-jasmine@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/karma-jasmine/-/karma-jasmine-2.0.1.tgz#26e3e31f2faf272dd80ebb0e1898914cc3a19763" + integrity sha512-iuC0hmr9b+SNn1DaUD2QEYtUxkS1J+bSJSn7ejdEexs7P8EYvA1CWkEdrDQ+8jVH3AgWlCNwjYsT1chjcNW9lA== + dependencies: + jasmine-core "^3.3" karma-junit-reporter@^1.2.0: version "1.2.0" |