From 2ffd6ffa8ba7f1fb7f4fec0598048f2d19bcbd27 Mon Sep 17 00:00:00 2001 From: Sami Vaarala Date: Fri, 28 Aug 2015 10:11:38 +0300 Subject: [PATCH] Config option changes for refzero torture --- .../DUK_USE_DEBUGGER_TRANSPORT_TORTURE.yaml | 1 + config/config-options/DUK_USE_GC_TORTURE.yaml | 1 + .../DUK_USE_REFZERO_FINALIZER_TORTURE.yaml | 12 ++++++++++++ config/config-options/DUK_USE_SHUFFLE_TORTURE.yaml | 1 + config/tags.yaml | 6 ++++++ 5 files changed, 21 insertions(+) create mode 100644 config/config-options/DUK_USE_REFZERO_FINALIZER_TORTURE.yaml diff --git a/config/config-options/DUK_USE_DEBUGGER_TRANSPORT_TORTURE.yaml b/config/config-options/DUK_USE_DEBUGGER_TRANSPORT_TORTURE.yaml index fc10e5f4..b29410e2 100644 --- a/config/config-options/DUK_USE_DEBUGGER_TRANSPORT_TORTURE.yaml +++ b/config/config-options/DUK_USE_DEBUGGER_TRANSPORT_TORTURE.yaml @@ -6,6 +6,7 @@ default: false tags: - debugger - development + - torture description: > Development time option: force debugger transport torture. Concretely this now causes Duktape to read/write debug protocol data in 1-byte increments, diff --git a/config/config-options/DUK_USE_GC_TORTURE.yaml b/config/config-options/DUK_USE_GC_TORTURE.yaml index ef1df6f5..a9fa5826 100644 --- a/config/config-options/DUK_USE_GC_TORTURE.yaml +++ b/config/config-options/DUK_USE_GC_TORTURE.yaml @@ -5,6 +5,7 @@ tags: - gc - memory - development + - torture description: > Development time option: force full mark-and-sweep on every allocation to stress test memory management. diff --git a/config/config-options/DUK_USE_REFZERO_FINALIZER_TORTURE.yaml b/config/config-options/DUK_USE_REFZERO_FINALIZER_TORTURE.yaml new file mode 100644 index 00000000..6c98efeb --- /dev/null +++ b/config/config-options/DUK_USE_REFZERO_FINALIZER_TORTURE.yaml @@ -0,0 +1,12 @@ +define: DUK_USE_REFZERO_FINALIZER_TORTURE +introduced: 1.3.0 +default: false +tags: + - gc + - memory + - development + - torture +description: > + Development time option: simulate a fake finalizer call for every object + going through refzero freeing. This is useful to detect bugs caused by + finalizer side effects in e.g. call handling. diff --git a/config/config-options/DUK_USE_SHUFFLE_TORTURE.yaml b/config/config-options/DUK_USE_SHUFFLE_TORTURE.yaml index d88a98a7..822ca6e2 100644 --- a/config/config-options/DUK_USE_SHUFFLE_TORTURE.yaml +++ b/config/config-options/DUK_USE_SHUFFLE_TORTURE.yaml @@ -5,6 +5,7 @@ tags: - gc - memory - development + - torture description: > Development time option: force compiler to shuffle every possible opcode to stress shuffle behavior which is otherwise difficult to test for diff --git a/config/tags.yaml b/config/tags.yaml index 44982cfa..aff02fcd 100644 --- a/config/tags.yaml +++ b/config/tags.yaml @@ -67,3 +67,9 @@ fastpath: cstackdepth: title: C stack depth + +torture: + title: Development time torture options + description: > + Development time options to stress test corner case handling by e.g. + causing a garbage collection on every allocation.