diff --git a/test/common.js b/test/common.js index 52d2f8b0f7..1c36388221 100644 --- a/test/common.js +++ b/test/common.js @@ -31,6 +31,10 @@ exports.isLinux = process.platform === 'linux'; exports.isOSX = process.platform === 'darwin'; exports.enoughTestMem = os.totalmem() > 0x40000000; /* 1 Gb */ + +const cpus = os.cpus(); +exports.enoughTestCpu = cpus.length > 1 || cpus[0].speed > 999; + exports.rootDir = exports.isWindows ? 'c:\\' : '/'; function rimrafSync(p) { diff --git a/test/parallel/parallel.status b/test/parallel/parallel.status index 8c3239909b..9a5a1bee09 100644 --- a/test/parallel/parallel.status +++ b/test/parallel/parallel.status @@ -9,14 +9,10 @@ prefix parallel [$system==win32] [$system==linux] -test-tick-processor : PASS,FLAKY [$system==macos] [$arch==arm || $arch==arm64] -test-tick-processor-builtin : PASS,FLAKY -test-tick-processor-cpp-core : PASS,FLAKY -test-tick-processor-unknown : PASS,FLAKY [$system==solaris] # Also applies to SmartOS diff --git a/test/parallel/test-tick-processor-builtin.js b/test/parallel/test-tick-processor-builtin.js index 9097a832ff..8e6a5313de 100644 --- a/test/parallel/test-tick-processor-builtin.js +++ b/test/parallel/test-tick-processor-builtin.js @@ -2,18 +2,6 @@ const common = require('../common'); const path = require('path'); -// TODO(mhdawson) Currently the test-tick-processor functionality in V8 -// depends on addresses being smaller than a full 64 bits. Aix supports -// the full 64 bits and the result is that it does not process the -// addresses correctly and runs out of memory -// Disabling until we get a fix upstreamed into V8 -if (common.isAix) { - common.skip('Aix address range too big for scripts.'); - return; -} - -const base = require(path.join(common.fixturesDir, 'tick-processor-base.js')); - if (common.isWindows || common.isSunOS || common.isAix || @@ -23,6 +11,13 @@ if (common.isWindows || return; } +if (!common.enoughTestCpu) { + common.skip('test is CPU-intensive'); + return; +} + +const base = require(path.join(common.fixturesDir, 'tick-processor-base.js')); + base.runTest({ pattern: /Builtin_DateNow/, code: `function f() { diff --git a/test/parallel/test-tick-processor-cpp-core.js b/test/parallel/test-tick-processor-cpp-core.js index 10e3fd35fd..6223808da0 100644 --- a/test/parallel/test-tick-processor-cpp-core.js +++ b/test/parallel/test-tick-processor-cpp-core.js @@ -2,18 +2,6 @@ const common = require('../common'); const path = require('path'); -// TODO(mhdawson) Currently the test-tick-processor functionality in V8 -// depends on addresses being smaller than a full 64 bits. Aix supports -// the full 64 bits and the result is that it does not process the -// addresses correctly and runs out of memory -// Disabling until we get a fix upstreamed into V8 -if (common.isAix) { - common.skip('Aix address range too big for scripts.'); - return; -} - -const base = require(path.join(common.fixturesDir, 'tick-processor-base.js')); - if (common.isWindows || common.isSunOS || common.isAix || @@ -23,6 +11,13 @@ if (common.isWindows || return; } +if (!common.enoughTestCpu) { + common.skip('test is CPU-intensive'); + return; +} + +const base = require(path.join(common.fixturesDir, 'tick-processor-base.js')); + base.runTest({ pattern: /RunInDebugContext/, code: `function f() { diff --git a/test/parallel/test-tick-processor-unknown.js b/test/parallel/test-tick-processor-unknown.js index 15fc2d283f..d1d1f4e632 100644 --- a/test/parallel/test-tick-processor-unknown.js +++ b/test/parallel/test-tick-processor-unknown.js @@ -12,6 +12,11 @@ if (common.isAix) { return; } +if (!common.enoughTestCpu) { + common.skip('test is CPU-intensive'); + return; +} + const base = require(path.join(common.fixturesDir, 'tick-processor-base.js')); // Unknown checked for to prevent flakiness, if pattern is not found,