diff --git a/Makefile b/Makefile index 4b3ba48fb8..ddd8747b12 100644 --- a/Makefile +++ b/Makefile @@ -83,7 +83,9 @@ I18N_FLAG_FILE = .i18n_built clean-ui: rm -rf awx/ui/static/ rm -rf awx/ui/node_modules/ - rm -rf awx/ui/coverage/ + rm -rf awx/ui/test/unit/reports/ + rm -rf awx/ui/test/spec/reports/ + rm -rf awx/ui/test/e2e/reports/ rm -rf awx/ui/client/languages/ rm -f $(UI_DEPS_FLAG_FILE) rm -f $(UI_RELEASE_FLAG_FILE) diff --git a/awx/ui/test/spec/karma.spec.js b/awx/ui/test/spec/karma.spec.js index 4d8bfc8101..abff3172f5 100644 --- a/awx/ui/test/spec/karma.spec.js +++ b/awx/ui/test/spec/karma.spec.js @@ -5,20 +5,13 @@ const NODE_MODULES = path.resolve(__dirname, '../../node_modules'); const webpackConfig = require('./webpack.spec'); -module.exports = function(config) { +module.exports = config => { config.set({ autoWatch: true, colors: true, browsers: ['Chrome', 'Firefox'], - coverageReporter: { - reporters: [ - { type: 'html', subdir: 'html' }, - ] - }, - frameworks: [ - 'jasmine', - ], - reporters: ['progress', 'coverage', 'junit'], + frameworks: ['jasmine'], + reporters: ['progress', 'junit'], files:[ path.join(SRC_PATH, '**/*.html'), path.join(SRC_PATH, 'vendor.js'), @@ -37,8 +30,8 @@ module.exports = function(config) { noInfo: true }, junitReporter: { - outputDir: 'coverage', - outputFile: 'ui-unit-test-results.xml', + outputDir: 'reports', + outputFile: 'results.spec.xml', useBrowserName: false } }); diff --git a/awx/ui/test/unit/karma.unit.js b/awx/ui/test/unit/karma.unit.js index 24a63c0cf9..5ccd1fe151 100644 --- a/awx/ui/test/unit/karma.unit.js +++ b/awx/ui/test/unit/karma.unit.js @@ -12,7 +12,7 @@ module.exports = config => { colors: true, frameworks: ['jasmine'], browsers: ['PhantomJS'], - reporters: ['progress'], + reporters: ['progress', 'junit'], files: [ path.join(SRC_PATH, 'vendor.js'), path.join(SRC_PATH, 'app.js'), @@ -22,6 +22,7 @@ module.exports = config => { plugins: [ 'karma-webpack', 'karma-jasmine', + 'karma-junit-reporter', 'karma-phantomjs-launcher', 'karma-html2js-preprocessor' ], @@ -34,6 +35,11 @@ module.exports = config => { webpack: webpackConfig, webpackMiddleware: { noInfo: 'errors-only' + }, + junitReporter: { + outputDir: 'reports', + outputFile: 'results.unit.xml', + useBrowserName: false } }); }; diff --git a/shippable.yml b/shippable.yml index f7644d063a..8bbadc8bad 100644 --- a/shippable.yml +++ b/shippable.yml @@ -24,3 +24,4 @@ build: - pip install -U docker-compose - docker-compose -f tools/docker-compose/unit-tests/docker-compose-shippable.yml build --build-arg TAG=latest unit-tests - docker-compose -f tools/docker-compose/unit-tests/docker-compose-shippable.yml run unit-tests "make ${AWX_BUILD_TARGET}" + - python tools/docker-compose/unit-tests/collect_shippable_results.py diff --git a/tools/docker-compose/unit-tests/collect_shippable_results.py b/tools/docker-compose/unit-tests/collect_shippable_results.py new file mode 100644 index 0000000000..efc22f11d3 --- /dev/null +++ b/tools/docker-compose/unit-tests/collect_shippable_results.py @@ -0,0 +1,32 @@ +#!/usr/bin/env python +import errno +import os +import shutil + + +def copy_if_exists(src, dst): + if os.path.isfile(src): + shutil.copy2(src, dst) + + +def ensure_directory_exists(path): + try: + os.makedirs(path) + except OSError as exc: + if exc.errno == errno.EEXIST and os.path.isdir(path): + pass + else: + raise + + +def run(): + collection_path = 'shippable/testresults' + + ensure_directory_exists(collection_path) + + copy_if_exists('/awx_devel/awx/ui/test/spec/reports/results.spec.xml', collection_path) + copy_if_exists('/awx_devel/awx/ui/test/unit/reports/results.unit.xml', collection_path) + + +if __name__ == '__main__': + run()