0
0
mirror of https://github.com/nodejs/node.git synced 2024-12-01 16:10:02 +01:00
nodejs/test
Anna Henningsen 518ffc1256
zlib: do not coalesce multiple .flush() calls
This is an approach to address the issue linked below. Previously,
when `.write()` and `.flush()` calls to a zlib stream were interleaved
synchronously (i.e. without waiting for these operations to finish),
multiple flush calls would have been coalesced into a single flushing
operation.

This patch changes behaviour so that each `.flush()` all corresponds
to one flushing operation on the underlying zlib resource, and the
order of operations is as if the `.flush()` call were a `.write()`
call.

One test had to be removed because it specifically tested the previous
behaviour.

As a drive-by fix, this also makes sure that all flush callbacks are
called. Previously, that was not the case.

Fixes: https://github.com/nodejs/node/issues/28478

PR-URL: https://github.com/nodejs/node/pull/28520
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2019-07-14 22:40:12 +02:00
..
abort test: add addon tests for RegisterSignalHandler() 2019-06-14 19:11:42 +02:00
addons report: modify getReport() to return an Object 2019-07-12 14:48:09 -07:00
async-hooks test: do not use fixed port in async-hooks/test-httparser-reuse 2019-06-27 23:40:30 -07:00
benchmark
cctest
common report: modify getReport() to return an Object 2019-07-12 14:48:09 -07:00
doctool
es-module
fixtures test: generate des rsa_cert.pfx 2019-07-05 22:39:22 -07:00
internet lib: correct error.errno to always be numeric 2019-06-17 10:18:09 +08:00
js-native-api n-api: define ECMAScript-compliant accessors on napi_define_class 2019-06-17 12:07:08 +02:00
known_issues test: add test-fs-writeFileSync-invalid-windows 2019-07-11 10:27:42 -07:00
message test: skip tests related to CI failures on AIX 2019-07-02 06:41:30 +02:00
node-api test: use assert() in N-API async test 2019-06-28 04:56:34 +02:00
parallel zlib: do not coalesce multiple .flush() calls 2019-07-14 22:40:12 +02:00
pseudo-tty test: skip pseudo-tty tests on AIX 2019-07-04 14:48:28 -07:00
pummel test: switch assertion order 2019-06-25 18:15:12 +02:00
report report: modify getReport() to return an Object 2019-07-12 14:48:09 -07:00
sequential src: simplify DEP0062 logic 2019-07-09 16:50:59 -04:00
testpy
tick-processor
v8-updates test,v8: skip less and stabilize test-linux-perf.js 2019-06-06 18:44:21 -04:00
wpt src: expose DOMException to internalBinding('message') for testing 2019-06-09 19:51:30 +02:00
.eslintrc.yaml
README.md
root.status

Node.js Core Tests

This directory contains code and data used to test the Node.js implementation.

For a detailed guide on how to write tests in this directory, see the guide on writing tests.

On how to run tests in this directory, see the contributing guide.

For the tests to run on Windows, be sure to clone Node.js source code with the autocrlf git config flag set to true.

Test Directories

Directory Runs on CI Purpose
abort Yes Tests for when the --abort-on-uncaught-exception flag is used.
addons Yes Tests for addon functionality along with some tests that require an addon.
async-hooks Yes Tests for async_hooks functionality.
benchmark No Test minimal functionality of benchmarks.
cctest Yes C++ tests that are run as part of the build process.
code-cache No Tests for a Node.js binary compiled with V8 code cache.
common Common modules shared among many tests. Documentation
doctool Yes Tests for the documentation generator.
es-module Yes Test ESM module loading.
fixtures Test fixtures used in various tests throughout the test suite.
internet No Tests that make real outbound network connections. Tests for networking related modules may also be present in other directories, but those tests do not make outbound connections.
js-native-api Yes Tests for Node.js-agnostic n-api functionality.
known_issues Yes Tests reproducing known issues within the system. All tests inside of this directory are expected to fail. If a test doesn't fail on certain platforms, those should be skipped via known_issues.status.
message Yes Tests for messages that are output for various conditions (console.log, error messages etc.)
node-api Yes Tests for Node.js-specific n-api functionality.
parallel Yes Various tests that are able to be run in parallel.
pseudo-tty Yes Tests that require stdin/stdout/stderr to be a TTY.
pummel No Various tests for various modules / system functionality operating under load.
sequential Yes Various tests that must not run in parallel.
testpy Test configuration utility used by various test suites.
tick-processor No 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.
v8-updates No Tests for V8 performance integration.