Skip to content

Commit bbfd0ec

Browse files
committed
allow requesting parallel tests for all OS
1 parent 038d639 commit bbfd0ec

File tree

1 file changed

+58
-38
lines changed

1 file changed

+58
-38
lines changed

script/test

Lines changed: 58 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)