Commit Graph

32 Commits

Author SHA1 Message Date
Luke Albao
4ef5bc1fdc
Revert "test: skip v8-updates/test-linux-perf-logger"
This reverts commit 54f1e0a488.

PR-URL: https://github.com/nodejs/node/pull/52869
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Daeyeon Jeong <daeyeon.dev@gmail.com>
2024-05-29 13:10:35 +00:00
Luke Albao
f671dcb865
test: unskip v8-updates/test-linux-perf-logger
Refs: https://github.com/nodejs/node/issues/51308
Refs: https://github.com/nodejs/node/pull/52821
PR-URL: https://github.com/nodejs/node/pull/52869
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Daeyeon Jeong <daeyeon.dev@gmail.com>
2024-05-29 13:07:49 +00:00
Michaël Zasso
54f1e0a488
test: skip v8-updates/test-linux-perf-logger
Refs: https://github.com/nodejs/node/issues/51308
PR-URL: https://github.com/nodejs/node/pull/52821
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Daeyeon Jeong <daeyeon.dev@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2024-05-05 12:25:44 +00:00
Michaël Zasso
515b007fae
test: replace always-opt flag with alway-turbofan
Refs: e3e8ea5d65
PR-URL: https://github.com/nodejs/node/pull/50115
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
2024-01-04 09:32:35 +01:00
Luke Albao
9c714d8232
test: v8: Add test-linux-perf-logger test suite
PR-URL: https://github.com/nodejs/node/pull/50352
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Vinícius Lourenço Claro Cardoso <contact@viniciusl.com.br>
2023-10-25 23:37:54 +00:00
Michaël Zasso
6b76b7782c
test: skip v8-updates/test-linux-perf
Refs: https://github.com/nodejs/node/issues/50079
PR-URL: https://github.com/nodejs/node/pull/49639
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
2023-10-10 08:28:10 +02:00
Yagiz Nizipli
fb91ee4f26 test: make trace-gc-flag tests less strict
PR-URL: https://github.com/nodejs/node/pull/45579
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2022-11-27 17:27:23 +00:00
Tony Gorez
f84aabfcab test: fix test-trace-gc-flag
PR-URL: https://github.com/nodejs/node/pull/45230
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
2022-11-19 09:11:42 +00:00
Michaël Zasso
b5f1564880
test: rename always-opt flag to always-turbofan
Refs: https://chromium-review.googlesource.com/c/v8/v8/+/3610431
PR-URL: https://github.com/nodejs/node/pull/44741
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2022-10-11 07:27:50 +02:00
Tony Gorez
00cb0912ef
test: add trace-gc flag test
PR-URL: https://github.com/nodejs/node/pull/42471
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de>
2022-03-28 21:15:08 +01:00
Michaël Zasso
ce4b4cc0af
test: adapt test-linux-perf to V8 changes
Refs: 9a31804bbe

PR-URL: https://github.com/nodejs/node/pull/38273
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Mary Marchini <oss@mmarchini.me>
2021-06-10 11:11:50 +02:00
Rich Trott
330f25ef82 test: prepare for consistent comma-dangle lint rule
Make changes so that tests will pass when the comma-dangle settings
applied to the rest of the code base are also applied to tests.

PR-URL: https://github.com/nodejs/node/pull/37930
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Derek Lewis <DerekNonGeneric@inf.is>
2021-04-01 23:14:29 -07:00
cjihrig
9a0aaa6107
test: remove test/v8-updates/test-postmortem-metadata.js
The postmortem metadata test is no longer used to maintain
postmortem debugging tools. Since it frequently breaks on
V8 updates, it makes more sense to just remove it.

PR-URL: https://github.com/nodejs/node/pull/33579
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Shelley Vohr <codebytere@gmail.com>
2020-07-13 14:42:53 +02:00
cjihrig
17a6def4e8
deps: update V8 dtrace & postmortem metadata
PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2020-03-18 16:23:32 -07:00
Matheus Marchini
b318926634 test: update postmortem test with v12 constants
Ref: https://github.com/nodejs/llnode/pull/330

PR-URL: https://github.com/nodejs/node/pull/31391
Refs: https://github.com/nodejs/llnode/pull/330
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2020-01-18 15:43:00 -08:00
Matheus Marchini
cf5624c4d8
test: add promises metadata to postmortem test
type_JSPromise__JS_PROMISE_TYPE and
type_JSMessageObject__JS_MESSAGE_OBJECT_TYPE will be used on llnode to
identify Promises in memory and core dumps:
https://github.com/nodejs/llnode/pull/272. Add these to our postmortem
test so we're aware of any changes to this metadata.

PR-URL: https://github.com/nodejs/node/pull/31357
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2020-01-16 14:02:01 -08:00
cjihrig
a4102a00db
test: update test-postmortem-metadata.js
The following metadata has changed:

- v8dbg_class_UncompiledData__inferred_name__String
  - Implementation was moved to Torque and required
    update to gen-postmortem-metadata.py.
  - Refs: e4e86b53cf

- v8dbg_class_SharedFunctionInfo__script_or_debug_info__Object
  - Renamed to v8dbg_class_SharedFunctionInfo__script_or_debug_info__HeapObject
  - Refs: 07fc96c0a8

- v8dbg_type_JSRegExp__JS_REGEXP_TYPE
  - Renamed to v8dbg_type_JSRegExp__JS_REG_EXP_TYPE.
  - Refs: 61815a22bd

PR-URL: https://github.com/nodejs/node/pull/30020
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
2019-11-08 15:53:35 +01:00
cjihrig
5a56940d2c
test: update postmortem metadata test for V8 7.7
The following metadata has changed:

- v8dbg_class_ConsString__first__String
  - Class is now generated via torque.
  - Postmortem tools should use v8dbg_class_ConsString__first_offset__int
  - Refs: 14274bb16a

- v8dbg_class_ConsString__second__String
  - Class is now generated via torque.
  - Postmortem tools should use v8dbg_class_ConsString__second_offset__int
  - Refs: 14274bb16a

- v8dbg_class_SlicedString__offset__SMI
  - Class is now generated via torque.
  - Postmortem tools should use v8dbg_class_SlicedString__offset_offset__int
  - Refs: 14274bb16a

- v8dbg_class_ThinString__actual__String
  - Class is now generated via torque.
  - Postmortem tools should use v8dbg_class_ThinString__actual_offset__int
  - Refs: 14274bb16a

PR-URL: https://github.com/nodejs/node/pull/28918
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2019-08-19 09:26:21 +02:00
cjihrig
f53a241447
test: update postmortem metadata test for V8 7.6
The following metadata has changed:

- v8dbg_class_FixedTypedArrayBase__base_pointer__Object
  - Field moved from FixedTypedArrayBase to JSTypedArray.
  - Postmortem tools should use v8dbg_class_JSTypedArray__base_pointer__Object.
  - Refs: 70bd7cf0ef

- v8dbg_class_FixedTypedArrayBase__external_pointer__uintptr_t
  - Field moved from FixedTypedArrayBase to JSTypedArray.
  - Add new constant: v8dbg_class_JSTypedArray__external_pointer__uintptr_t
  - Refs: 70bd7cf0ef

- v8dbg_class_Map__instance_descriptors_offset
  - Underlying constant was renamed to kInstanceDescriptorsOffset.
  - Postmortem tools should not need to update anything for this constant.
  - Refs: 15a7e04eec

PR-URL: https://github.com/nodejs/node/pull/28016
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Refael Ackermann (רפאל פלחי) <refack@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
2019-08-01 12:57:02 +02:00
Refael Ackermann
546d6cdd9e test,v8: skip less and stabilize test-linux-perf.js
Co-authored-by: Matheus Marchini <mat@mmarchini.me>

PR-URL: https://github.com/nodejs/node/pull/27364
Refs: https://github.com/nodejs/build/issues/1774
Reviewed-By: Matheus Marchini <mat@mmarchini.me>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2019-06-06 18:44:21 -04:00
cjihrig
76b9cf5424
test: detect missing postmortem metadata
This commit updates test-postmortem-metadata to provide a
more useful error message in the scenario where Node is
compiled without postmortem support.

PR-URL: https://github.com/nodejs/node/pull/27828
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2019-05-26 10:40:37 -04:00
Matheus Marchini
3b2633e0bf test: fix test-linux-perf flakiness
The new V8 seems to be optimizing the functions we use in this test
faster than before. Increasing the sampling frequency for Linux perf
fixes the issue.

PR-URL: https://github.com/nodejs/node/pull/27615
Refs: https://github.com/v8/v8/compare/7.4.288.21...7.4.288.27
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2019-05-10 11:20:23 -07:00
Matheus Marchini
8712edf53a
test: fix postmortem metadata test
Recent changes to spawnSync (https://github.com/nodejs/node/pull/23027)
broke our V8 postmortem tests since the output from nm was larger than
the new default maxBuffer for spawnSync. Changing the maxBuffer to
Infinity fixes the issue.

PR-URL: https://github.com/nodejs/node/pull/27265
Refs: https://github.com/v8/v8/compare/7.4.288.18...7.4.288.21
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2019-04-18 16:57:23 -07:00
cjihrig
afad3b443e test: update postmortem metadata test for V8 7.4
Summary of changes:

- v8dbg_class_FixedTypedArrayBase__external_pointer__Object
  - Type changed in f70bb59b57 (diff-f3f182b0510ba2ee39ae87e421ff110b).
  - Use v8dbg_class_FixedTypedArrayBase__external_pointer__uintptr_t
- v8dbg_class_JSArrayBuffer__backing_store__Object
  - Type changed in f70bb59b57 (diff-f3f182b0510ba2ee39ae87e421ff110b).
  - Use v8dbg_class_JSArrayBuffer__backing_store__uintptr_t
- v8dbg_class_Map__raw_instance_descriptors__DescriptorArray
  - Changed in d7b08b6da2 (diff-59788e25dc5196c356894d5e1fac6425)
  - New constant added to V8: v8dbg_class_Map__instance_descriptors_offset
- v8dbg_PointerSizeLog2
  - Changed in 46d1986812 (diff-f3f182b0510ba2ee39ae87e421ff110b)
  - Refs: https://bugs.chromium.org/p/v8/issues/detail?id=8477
  - Use new constants: v8dbg_SystemPointerSize, v8dbg_SystemPointerSizeLog2,
        v8dbg_TaggedSize, and v8dbg_TaggedSizeLog2

PR-URL: https://github.com/nodejs/node/pull/26685
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
2019-03-28 16:39:35 -04:00
cjihrig
01b112a031
test: update postmortem metadata test for V8 7.3
The V8 7.3 update requires the following adjustments to the
postmortem debugging metadata constants:

- v8dbg_prop_idx_first was removed in
  1ad0cd560e

- v8dbg_jsarray_buffer_was_neutered_mask was renamed to
  v8dbg_jsarray_buffer_was_detached_mask in
  f68ee6e7e4

- v8dbg_jsarray_buffer_was_neutered_shift was renamed to
  v8dbg_jsarray_buffer_was_detached_shift in
  f68ee6e7e4

- v8dbg_class_Map__instance_descriptors__DescriptorArray moved to
  v8dbg_class_Map__raw_instance_descriptors__DescriptorArray and
  began using ACCESSORS2 in
  799dfad502

The following postmortem debugging constants were also impacted
by V8's introduction of ACCESSORS2, but do not need to be updated
the test:

- v8dbg_class_ThinString__actual__String changed in
  0f581e4b99

- v8dbg_class_UncompiledData__inferred_name__String changed in
  0f581e4b99

- v8dbg_class_JSFunction__shared__SharedFunctionInfo changed in
  81620900e9

- v8dbg_class_SharedFunctionInfo__function_data__Object had its
  accessor removed in
  a55803a15d
  This has been fixed in gen-postmortem-metadata.py.

PR-URL: https://github.com/nodejs/node/pull/25852
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
2019-03-14 18:51:34 +01:00
cjihrig
379bf1aa8e
test: update postmortem metadata test for V8 7.1
The V8 7.1 update requires the following adjustments to the
postmortem debugging metadata constants:

- v8dbg_class_JSArrayBuffer__byte_length__Object
  Use: v8dbg_class_JSArrayBuffer__byte_length__size_t

- v8dbg_class_JSArrayBufferView__raw_byte_length__Object
  Use: v8dbg_class_JSArrayBufferView__byte_length__size_t

- v8dbg_class_JSArrayBufferView__raw_byte_offset__Object
  Use: v8dbg_class_JSArrayBufferView__byte_offset__size_t

- v8dbg_class_String__length__SMI
  Use: v8dbg_class_String__length__int32_t

Refs: 5cfe1a6b12
Refs: c7a0049e1b

PR-URL: https://github.com/nodejs/node/pull/23423
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
2018-12-06 15:25:53 +01:00
cjihrig
8aca934009
test: update postmortem metadata test for V8 7.0
The V8 7.0 update requires the following adjustments to the
postmortem debugging metadata constants:

- v8dbg_class_SharedFunctionInfo__script__Object
  Use: v8dbg_class_SharedFunctionInfo__script_or_debug_info__Object

- v8dbg_class_SharedFunctionInfo__function_identifier_or_debug_info__Object
  Use: v8dbg_class_UncompiledData__inferred_name__String and
       v8dbg_class_SharedFunctionInfo__name_or_scope_info__Object

Refs: c941f11abd

PR-URL: https://github.com/nodejs/node/pull/22754
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2018-09-22 18:29:59 +02:00
cjihrig
36cc812d18
test: update postmortem metadata test for V8 6.9
The V8 6.9 update requires the following adjustments to the
postmortem debugging metadata constants:

- v8dbg_class_SharedFunctionInfo__function_identifier__Object
  Use: v8dbg_class_SharedFunctionInfo__function_identifier_or_debug_info__Object

- v8dbg_class_SharedFunctionInfo__end_position__int
  Use: v8dbg_class_UncompiledData__end_position__int32_t

- v8dbg_class_SharedFunctionInfo__start_position_and_type__int
  Use: v8dbg_class_UncompiledData__start_position__int32_t

- v8dbg_sharedfunctioninfo_start_position_mask and
- v8dbg_sharedfunctioninfo_start_position_shift
  Removed. Use: v8dbg_class_UncompiledData__start_position__int32_t

- v8dbg_scopeinfo_idx_nstacklocals has been removed

Refs: 39e2d97bc4
Refs: 467eb1497e
Refs: c51bcd17bb

PR-URL: https://github.com/nodejs/node/pull/21983
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
2018-09-07 21:08:10 +02:00
Matheus Marchini
e865acd4db
test: update postmortem metadata test
This commit updates the following postmortem metadata constant:

- v8dbg_class_SharedFunctionInfo__internal_formal_parameter_count__int
  - Renamed: v8dbg_class_SharedFunctionInfo__internal_formal_parameter_count__uint16_t
  - V8 commit: 53d4dfc377

PR-URL: https://github.com/nodejs/node/pull/21983
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
2018-09-07 21:07:56 +02:00
cjihrig
8bcb12848f
test: update postmortem metadata test
This commit updates the following postmortem metadata constant:

- v8dbg_context_idx_closure
  - Renamed: v8dbg_context_idx_scope_info
  - V8 commit: 39496a95c5 (diff-f3f182b0510ba2ee39ae87e421ff110b)

Fixes: https://github.com/nodejs/node-v8/issues/59

PR-URL: https://github.com/nodejs/node/pull/21079
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Yang Guo <yangguo@chromium.org>
2018-07-26 08:34:59 +02:00
Matheus Marchini
227ca87abb
test: add test for Linux perf
This commit adds a test to validate if Linux perf is working correctly
on Node.js. The test is marked as flaky because its intention is to let
us know when changes on V8 potentially broke Linux perf, so we can fix
it before a new version of V8 lands on Node.js master.

PR-URL: https://github.com/nodejs/node/pull/20783
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
2018-06-06 11:10:19 -07:00
Matheus Marchini
e1fc52d9e6
test: create new directory v8-updates
`v8-updates` holds all tests related to V8 updates, for example, testing
for postmortem metadata chages.

PR-URL: https://github.com/nodejs/node/pull/20783
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
2018-06-06 11:10:12 -07:00