diff options
author | Lukas Eipert <git@leipert.io> | 2018-04-10 11:12:24 +0200 |
---|---|---|
committer | Lukas Eipert <git@leipert.io> | 2018-04-10 11:12:24 +0200 |
commit | 35d754f6e571717523f11f6dcfe4e13ce508adf9 (patch) | |
tree | 9b2dd6b2205d220d5e420a3b6f79a5cbdfc4acbd | |
parent | 8e66411488e87d59dde65c690892d9495292fe86 (diff) | |
download | gitlab-ce-35d754f6e571717523f11f6dcfe4e13ce508adf9.tar.gz |
read which testfiles to run from CLI
-rw-r--r-- | config/karma.config.js | 7 | ||||
-rw-r--r-- | spec/javascripts/test_bundle.js | 16 |
2 files changed, 15 insertions, 8 deletions
diff --git a/config/karma.config.js b/config/karma.config.js index 3be4d5220f4..083a640b3ed 100644 --- a/config/karma.config.js +++ b/config/karma.config.js @@ -16,9 +16,14 @@ if (webpackConfig.plugins) { webpackConfig.plugins = []; } +var ignoreUpTo = process.argv.indexOf('config/karma.config.js') + 1; +var testFiles = process.argv.slice(ignoreUpTo).filter(arg => { + return !arg.startsWith('--'); +}); + webpackConfig.plugins.push( new webpack.DefinePlugin({ - TEST_FILE: JSON.stringify(process.env.TEST_FILE), + TEST_FILES: JSON.stringify(testFiles), }) ); diff --git a/spec/javascripts/test_bundle.js b/spec/javascripts/test_bundle.js index 72671cbbda7..ec14be73722 100644 --- a/spec/javascripts/test_bundle.js +++ b/spec/javascripts/test_bundle.js @@ -70,20 +70,22 @@ beforeEach(() => { }); // eslint-disable-next-line no-undef -let testFile = TEST_FILE; -if (testFile) { - console.log(`Running only ${testFile}`); - testFile = testFile.replace(/^spec\/javascripts\//, ''); - testFile = testFile.replace(/\.js$/, ''); +let testFile = TEST_FILES; +if (testFile instanceof Array && testFile.length > 0) { + console.log(`Running only tests: ${testFile}`); + testFile = testFile.map(path => path.replace(/^spec\/javascripts\//, '').replace(/\.js$/, '')); +} else { + console.log('Running all tests'); + testFile = []; } const axiosDefaultAdapter = getDefaultAdapter(); // render all of our tests const testsContext = require.context('.', true, /_spec$/); -testsContext.keys().forEach(function (path) { +testsContext.keys().forEach(function(path) { try { - if (!testFile || path.indexOf(testFile) > -1) { + if (testFile.length === 0 || testFile.some(p => path.includes(p))) { testsContext(path); } } catch (err) { |