From eed8b0525c4b824e6ee8ba2e2f883e91614967d9 Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Mon, 7 Nov 2016 13:34:54 -0800 Subject: [PATCH] test: move tick-processor tests to own directory The tick-processor tests are inherently non-deterministic. They therefore have false negatives from time to time. They also sometimes leave extra processes running. Move them to their own directory until these issues are sorted. Note that this means that the tests will not be run in CI. Like the inspector tests and other tests, they will have to be run manually when they are wanted. PR-URL: https://github.com/nodejs/node/pull/9506 Reviewed-By: Daniel Bevenius Reviewed-By: Matthew Loring Reviewed-By: Gibson Fahnestock --- Makefile | 3 +++ test/README.md | 11 +++++++++++ test/parallel/parallel.status | 1 - .../test-tick-processor-builtin.js | 0 .../test-tick-processor-cpp-core.js | 0 .../test-tick-processor-unknown.js | 6 +++--- test/tick-processor/testcfg.py | 6 ++++++ .../tick-processor-base.js | 0 vcbuild.bat | 1 + 9 files changed, 24 insertions(+), 4 deletions(-) rename test/{parallel => tick-processor}/test-tick-processor-builtin.js (100%) rename test/{parallel => tick-processor}/test-tick-processor-cpp-core.js (100%) rename test/{parallel => tick-processor}/test-tick-processor-unknown.js (82%) create mode 100644 test/tick-processor/testcfg.py rename test/{parallel => tick-processor}/tick-processor-base.js (100%) diff --git a/Makefile b/Makefile index 6296f917385238..ba017622ec71c4 100644 --- a/Makefile +++ b/Makefile @@ -241,6 +241,9 @@ test-debugger: all test-inspector: all $(PYTHON) tools/test.py inspector +test-tick-processor: all + $(PYTHON) tools/test.py tick-processor + test-known-issues: all $(PYTHON) tools/test.py known_issues diff --git a/test/README.md b/test/README.md index 0971adac3452ed..6c72988d169d2f 100644 --- a/test/README.md +++ b/test/README.md @@ -122,6 +122,17 @@ Various tests that are run sequentially. Test configuration utility used by various test suites. +### tick-processor + +Tests for the V8 tick processor integration. The tests are for the logic in +`lib/internal/v8_prof_processor.js` and `lib/internal/v8_prof_polyfill.js`. The +tests confirm that the profile processor packages the correct set of scripts +from V8 and introduces the correct platform specific logic. + +| Runs on CI | +|:----------:| +| No | + ### timers Tests for [timing utilities](https://nodejs.org/api/timers.html) (`setTimeout` diff --git a/test/parallel/parallel.status b/test/parallel/parallel.status index dc2e6f348003a8..bd910c6d1a9e92 100644 --- a/test/parallel/parallel.status +++ b/test/parallel/parallel.status @@ -15,7 +15,6 @@ prefix parallel [$arch==arm || $arch==arm64] [$system==solaris] # Also applies to SmartOS -test-tick-processor-unknown: PASS,FLAKY [$system==freebsd] diff --git a/test/parallel/test-tick-processor-builtin.js b/test/tick-processor/test-tick-processor-builtin.js similarity index 100% rename from test/parallel/test-tick-processor-builtin.js rename to test/tick-processor/test-tick-processor-builtin.js diff --git a/test/parallel/test-tick-processor-cpp-core.js b/test/tick-processor/test-tick-processor-cpp-core.js similarity index 100% rename from test/parallel/test-tick-processor-cpp-core.js rename to test/tick-processor/test-tick-processor-cpp-core.js diff --git a/test/parallel/test-tick-processor-unknown.js b/test/tick-processor/test-tick-processor-unknown.js similarity index 82% rename from test/parallel/test-tick-processor-unknown.js rename to test/tick-processor/test-tick-processor-unknown.js index c886f648be4dc5..ab3d110ccff012 100644 --- a/test/parallel/test-tick-processor-unknown.js +++ b/test/tick-processor/test-tick-processor-unknown.js @@ -2,12 +2,12 @@ const common = require('../common'); // TODO(mhdawson) Currently the test-tick-processor functionality in V8 -// depends on addresses being smaller than a full 64 bits. Aix supports +// 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.'); + common.skip('AIX address range too big for scripts.'); return; } @@ -21,7 +21,7 @@ const base = require('./tick-processor-base.js'); // Unknown checked for to prevent flakiness, if pattern is not found, // then a large number of unknown ticks should be present base.runTest({ - pattern: /LazyCompile.*\[eval\]:1|.*% UNKNOWN/, + pattern: /LazyCompile.*\[eval]:1|.*% UNKNOWN/, code: `function f() { for (var i = 0; i < 1000000; i++) { i++; diff --git a/test/tick-processor/testcfg.py b/test/tick-processor/testcfg.py new file mode 100644 index 00000000000000..42e98355a5823f --- /dev/null +++ b/test/tick-processor/testcfg.py @@ -0,0 +1,6 @@ +import sys, os +sys.path.append(os.path.join(os.path.dirname(__file__), '..')) +import testpy + +def GetConfiguration(context, root): + return testpy.SimpleTestConfiguration(context, root, 'tick-processor') diff --git a/test/parallel/tick-processor-base.js b/test/tick-processor/tick-processor-base.js similarity index 100% rename from test/parallel/tick-processor-base.js rename to test/tick-processor/tick-processor-base.js diff --git a/vcbuild.bat b/vcbuild.bat index 6856050cbaeae9..3cf7fe910a6f26 100644 --- a/vcbuild.bat +++ b/vcbuild.bat @@ -63,6 +63,7 @@ if /i "%1"=="test-simple" set test_args=%test_args% sequential parallel -J&got if /i "%1"=="test-message" set test_args=%test_args% message&goto arg-ok if /i "%1"=="test-gc" set test_args=%test_args% gc&set buildnodeweak=1&goto arg-ok if /i "%1"=="test-inspector" set test_args=%test_args% inspector&goto arg-ok +if /i "%1"=="test-tick-processor" set test_args=%test_args% tick-processor&goto arg-ok if /i "%1"=="test-internet" set test_args=%test_args% internet&goto arg-ok if /i "%1"=="test-pummel" set test_args=%test_args% pummel&goto arg-ok if /i "%1"=="test-all" set test_args=%test_args% sequential parallel message gc inspector internet pummel&set buildnodeweak=1&set jslint=1&goto arg-ok