1
0
mirror of https://github.com/ansible/awx.git synced 2024-10-31 06:51:10 +03:00

Merge pull request #550 from jakemcdermott/run_both_unit_test_suites

run both ui unit test suites and linting tasks, collect results for shippable
This commit is contained in:
Jake McDermott 2017-11-02 15:40:30 -04:00 committed by GitHub
commit 8666512d99
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 50 additions and 54 deletions

View File

@ -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)
@ -495,12 +497,14 @@ ui: clean-ui ui-devel
ui-test-ci: $(UI_DEPS_FLAG_FILE)
$(NPM_BIN) --prefix awx/ui run test:ci
$(NPM_BIN) --prefix awx/ui run unit
testjs_ci:
echo "Update UI unittests later" #ui-test-ci
jshint: $(UI_DEPS_FLAG_FILE)
$(NPM_BIN) run --prefix awx/ui jshint
$(NPM_BIN) run --prefix awx/ui lint
# END UI TASKS
# --------------------------------------

View File

@ -1,40 +0,0 @@
const webpackTestConfig = require('./build/webpack.test.js');
module.exports = function(config) {
config.set({
autoWatch: true,
colors: true,
browsers: ['Chrome', 'Firefox'],
coverageReporter: {
reporters: [
{ type: 'html', subdir: 'html' },
]
},
frameworks: [
'jasmine',
],
reporters: ['progress', 'coverage', 'junit'],
files:[
'./client/src/vendor.js',
'./node_modules/angular-mocks/angular-mocks.js',
'./client/src/app.js',
'./tests/**/*-test.js',
'./client/src/**/*.html'
],
preprocessors: {
'./client/src/vendor.js': ['webpack'],
'./client/src/app.js': ['webpack'],
'./tests/**/*-test.js': ['webpack'],
'./client/src/**/*.html': ['html2js']
},
webpack: webpackTestConfig,
webpackMiddleware: {
noInfo: true
},
junitReporter: {
outputDir: 'coverage',
outputFile: 'ui-unit-test-results.xml',
useBrowserName: false
}
});
};

View File

@ -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
}
});

View File

@ -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
}
});
};

View File

@ -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

View File

@ -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()