Skip to content
Permalink
Browse files

test: skip cpu-intensive tests on slow hosts

The `test-tick-processor-*` tests are now passing everywhere except for
the single-processor 700MHz Raspberry Pi 1 devices.

The tests are CPU-intensive. Skip the tests if there is only one CPU and
it runs at a speed not more than 700 MHz.

PR-URL: #8652
Reviewed-By: Matthew Loring <mattloring@google.com>
  • Loading branch information...
Trott authored and Fishrock123 committed Sep 19, 2016
1 parent 6fab334 commit 906283837f86ebc36551c26825ae5578ed32a832
@@ -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) {
@@ -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
test-debug-signal-cluster : PASS,FLAKY
@@ -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() {
@@ -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() {
@@ -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,

0 comments on commit 9062838

Please sign in to comment.
You can’t perform that action at this time.