@@ -189,63 +189,83 @@ function runBenchmarkTests (callback) {
189189 cp . on ( 'close' , exitCode => { callback ( null , { exitCode, step : 'core-benchmarks' } ) } )
190190}
191191
192- let testSuitesToRun = requestedTestSuites ( ) || testSuitesForPlatform ( process . platform )
192+ let testSuitesToRun = requestedTestSuites ( process . platform )
193193
194- function requestedTestSuites ( ) {
195- const suites = [ ]
196- if ( argv . coreMain ) {
197- suites . push ( runCoreMainProcessTests )
198- }
199- if ( argv . coreRenderer ) {
200- suites . push ( ...coreRenderProcessTestSuites )
201- }
202- if ( argv . coreBenchmark ) {
203- suites . push ( runBenchmarkTests )
204- }
205- if ( argv . package ) {
206- suites . push ( ...packageTestSuites )
207- }
208- return suites . length > 0 ? suites : null
209- }
210-
211- function testSuitesForPlatform ( platform ) {
212- let suites = [ ]
213- // Env variable options
214- let coreMain = process . env . ATOM_RUN_CORE_MAIN_TESTS === 'true'
194+ function requestedTestSuites ( platform ) {
195+ // env variable or argv options
196+ let coreAll = process . env . ATOM_RUN_CORE_TESTS === 'true'
197+ let coreMain = process . env . ATOM_RUN_CORE_MAIN_TESTS === 'true' || argv . coreMain
198+ let coreRenderer = argv . coreRenderer || process . env . ATOM_RUN_CORE_RENDER_TESTS == 'true'
215199 let coreRenderer1 = process . env . ATOM_RUN_CORE_RENDER_TESTS === '1'
216200 let coreRenderer2 = process . env . ATOM_RUN_CORE_RENDER_TESTS === '2'
217- let coreAll = process . env . ATOM_RUN_CORE_TESTS = == 'true'
201+ let packageAll = argv . package || process . env . ATOM_RUN_PACKAGE_TESTS == 'true'
218202 let packages1 = process . env . ATOM_RUN_PACKAGE_TESTS === '1'
219203 let packages2 = process . env . ATOM_RUN_PACKAGE_TESTS === '2'
204+ let benchmark = argv . coreBenchmark
220205
221206 // Operating system overrides:
222207 coreMain = coreMain || ( platform === 'linux' ) || ( platform === 'win32' && process . arch === 'x86' )
223208
224209 // split package tests (used for macos in CI)
225210 const PACKAGES_TO_TEST_IN_PARALLEL = 23
226211 // split core render test (used for windows x64 in CI)
227- const CORE_RENDER_TO_TEST_IN_PARALLEL = 35
228-
229- if ( coreMain ) {
230- suites = [ runCoreMainProcessTests ]
231- } else if ( coreRenderer1 ) {
232- suites = coreRenderProcessTestSuites . slice ( 0 , CORE_RENDER_TO_TEST_IN_PARALLEL )
233- } else if ( coreRenderer2 ) {
234- suites = coreRenderProcessTestSuites . slice ( CORE_RENDER_TO_TEST_IN_PARALLEL )
235- } else if ( coreAll ) {
236- suites = [ runCoreMainProcessTests , ...coreRenderProcessTestSuites ]
237- } else if ( packages1 ) {
238- suites = packageTestSuites . slice ( 0 , PACKAGES_TO_TEST_IN_PARALLEL )
239- } else if ( packages2 ) {
240- suites = packageTestSuites . slice ( PACKAGES_TO_TEST_IN_PARALLEL )
212+ const CORE_RENDER_TO_TEST_IN_PARALLEL = 45
213+
214+ let suites = [ ]
215+ // Core tess
216+ if ( coreAll ) {
217+ suites . push ( ...[ runCoreMainProcessTests , ...coreRenderProcessTestSuites ] )
241218 } else {
242- suites = [ runCoreMainProcessTests , ...coreRenderProcessTestSuites , ...packageTestSuites ] // all
219+
220+ // Core main tests
221+ if ( coreMain ) {
222+ suites . push ( runCoreMainProcessTests )
223+ }
224+
225+ // Core renderer tests
226+ if ( coreRenderer ) {
227+ suites . push ( ...coreRenderProcessTestSuites )
228+ } else {
229+ // split
230+ if ( coreRenderer1 ) {
231+ suites . push ( ...coreRenderProcessTestSuites . slice ( 0 , CORE_RENDER_TO_TEST_IN_PARALLEL ) )
232+ }
233+ if ( coreRenderer2 ) {
234+ suites . push ( ...coreRenderProcessTestSuites . slice ( CORE_RENDER_TO_TEST_IN_PARALLEL ) )
235+ }
236+ }
237+
238+ }
239+
240+ // Package tests
241+ if ( packageAll ) {
242+ suites . push ( ...packageTestSuites )
243+ } else {
244+ // split
245+ if ( packages1 ) {
246+ suites . push ( ...packageTestSuites . slice ( 0 , PACKAGES_TO_TEST_IN_PARALLEL ) )
247+ }
248+ if ( packages2 ) {
249+ suites . push ( ...packageTestSuites . slice ( PACKAGES_TO_TEST_IN_PARALLEL ) )
250+ }
251+ }
252+
253+ // Benchmark tests
254+ if ( benchmark ) {
255+ suites . push ( runBenchmarkTests )
243256 }
244257
245258 if ( argv . skipMainProcessTests ) {
246259 suites = suites . filter ( suite => suite !== runCoreMainProcessTests )
247260 }
248261
262+ // Remove duplicates
263+ suites = Array . from ( new Set ( suites ) )
264+
265+ if ( suites . length == 0 ) {
266+ throw new Error ( "No tests was requested" )
267+ }
268+
249269 return suites
250270}
251271
0 commit comments