mirror of
https://github.com/nodejs/node.git
synced 2024-12-01 16:10:02 +01:00
3fffebbde3
PR-URL: https://github.com/nodejs/node/pull/11127 Reviewed-By: Timothy Gu <timothygu99@gmail.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: James M Snell <jasnell@gmail.com>
391 lines
12 KiB
Markdown
391 lines
12 KiB
Markdown
# Table of Contents
|
|
* [Test directories](#test-directories)
|
|
* [Common module API](#common-module-api)
|
|
|
|
## Test Directories
|
|
|
|
### abort
|
|
|
|
Tests for when the `--abort-on-uncaught-exception` flag is used.
|
|
|
|
| Runs on CI |
|
|
|:----------:|
|
|
| No |
|
|
|
|
### addons
|
|
|
|
Tests for [addon](https://nodejs.org/api/addons.html) functionality along with
|
|
some tests that require an addon to function properly.
|
|
|
|
|
|
| Runs on CI |
|
|
|:----------:|
|
|
| Yes |
|
|
|
|
### cctest
|
|
|
|
C++ test that is run as part of the build process.
|
|
|
|
| Runs on CI |
|
|
|:----------:|
|
|
| Yes |
|
|
|
|
### debugger
|
|
|
|
Tests for [debugger](https://nodejs.org/api/debugger.html) functionality.
|
|
|
|
| Runs on CI |
|
|
|:----------:|
|
|
| No |
|
|
|
|
### disabled
|
|
|
|
Tests that have been disabled from running for various reasons.
|
|
|
|
| Runs on CI |
|
|
|:----------:|
|
|
| No |
|
|
|
|
### fixtures
|
|
|
|
Test fixtures used in various tests throughout the test suite.
|
|
|
|
### gc
|
|
|
|
Tests for garbage collection related functionality.
|
|
|
|
| Runs on CI |
|
|
|:----------:|
|
|
| No |
|
|
|
|
|
|
### inspector
|
|
|
|
Tests for the V8 inspector integration.
|
|
|
|
| Runs on CI |
|
|
|:----------:|
|
|
| Yes |
|
|
|
|
### internet
|
|
|
|
Tests that make real outbound connections (mainly networking related modules).
|
|
Tests for networking related modules may also be present in other directories,
|
|
but those tests do not make outbound connections.
|
|
|
|
| Runs on CI |
|
|
|:----------:|
|
|
| No |
|
|
|
|
### known_issues
|
|
|
|
Tests reproducing known issues within the system.
|
|
|
|
| Runs on CI |
|
|
|:----------:|
|
|
| No |
|
|
|
|
### message
|
|
|
|
Tests for messages that are output for various conditions (`console.log`,
|
|
error messages etc.)
|
|
|
|
| Runs on CI |
|
|
|:----------:|
|
|
| Yes |
|
|
|
|
### parallel
|
|
|
|
Various tests that are able to be run in parallel.
|
|
|
|
| Runs on CI |
|
|
|:----------:|
|
|
| Yes |
|
|
|
|
### pummel
|
|
|
|
Various tests for various modules / system functionality operating under load.
|
|
|
|
| Runs on CI |
|
|
|:----------:|
|
|
| No |
|
|
|
|
### sequential
|
|
|
|
Various tests that are run sequentially.
|
|
|
|
| Runs on CI |
|
|
|:----------:|
|
|
| Yes |
|
|
|
|
### testpy
|
|
|
|
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`
|
|
and `setInterval`).
|
|
|
|
| Runs on CI |
|
|
|:----------:|
|
|
| No |
|
|
|
|
|
|
## Common module API
|
|
|
|
The common.js module is used by tests for consistency across repeated
|
|
tasks. It has a number of helpful functions and properties to help with
|
|
writing tests.
|
|
|
|
### allowGlobals(...whitelist)
|
|
* `whitelist` [<Array>](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array) Array of Globals
|
|
* return [<Array>](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array)
|
|
|
|
Takes `whitelist` and concats that with predefined `knownGlobals`.
|
|
|
|
### arrayStream
|
|
A stream to push an array into a REPL
|
|
|
|
### busyLoop(time)
|
|
* `time` [<Number>](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type)
|
|
|
|
Blocks for `time` amount of time.
|
|
|
|
### canCreateSymLink
|
|
API to indicate whether the current running process can create
|
|
symlinks. On Windows, this returns false if the process running
|
|
doesn't have privileges to create symlinks (specifically
|
|
[SeCreateSymbolicLinkPrivilege](https://msdn.microsoft.com/en-us/library/windows/desktop/bb530716(v=vs.85).aspx)).
|
|
On non-Windows platforms, this currently returns true.
|
|
|
|
### ddCommand(filename, kilobytes)
|
|
* return [<Object>](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)
|
|
|
|
Platform normalizes the `dd` command
|
|
|
|
### enoughTestMem
|
|
* return [<Boolean>](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type)
|
|
|
|
Check if there is more than 1gb of total memory.
|
|
|
|
### expectWarning(name, expected)
|
|
* `name` [<String>](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type)
|
|
* `expected` [<String>](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type) | [<Array>](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array)
|
|
|
|
Tests whether `name` and `expected` are part of a raised warning.
|
|
|
|
### hasCrypto
|
|
* return [<Boolean>](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type)
|
|
|
|
Checks for 'openssl'.
|
|
|
|
### hasFipsCrypto
|
|
* return [<Boolean>](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type)
|
|
|
|
Checks `hasCrypto` and `crypto` with fips.
|
|
|
|
### hasIPv6
|
|
* return [<Boolean>](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type)
|
|
|
|
Checks whether `IPv6` is supported on this platform.
|
|
|
|
### hasMultiLocalhost
|
|
* return [<Boolean>](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type)
|
|
|
|
Checks if there are multiple localhosts available.
|
|
|
|
### fail(msg)
|
|
* `msg` [<String>](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type)
|
|
* return [<Boolean>](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type)
|
|
|
|
Throws an `AssertionError` with `msg`
|
|
|
|
### fileExists(pathname)
|
|
* pathname [<String>](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type)
|
|
* return [<Boolean>](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type)
|
|
|
|
Checks if `pathname` exists
|
|
|
|
### fixturesDir
|
|
* return [<String>](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type)
|
|
|
|
Path to the 'fixtures' directory.
|
|
|
|
### globalCheck
|
|
* return [<Boolean>](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type)
|
|
|
|
Turn this off if the test should not check for global leaks.
|
|
|
|
### inFreeBSDJail
|
|
* return [<Boolean>](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type)
|
|
|
|
Checks whether free BSD Jail is true or false.
|
|
|
|
### isAix
|
|
* return [<Boolean>](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type)
|
|
|
|
Platform check for Advanced Interactive eXecutive (AIX).
|
|
|
|
### isAlive(pid)
|
|
* `pid` [<Number>](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type)
|
|
* return [<Boolean>](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type)
|
|
|
|
Attempts to 'kill' `pid`
|
|
|
|
### isFreeBSD
|
|
* return [<Boolean>](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type)
|
|
|
|
Platform check for Free BSD.
|
|
|
|
### isLinux
|
|
* return [<Boolean>](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type)
|
|
|
|
Platform check for Linux.
|
|
|
|
### isLinuxPPCBE
|
|
* return [<Boolean>](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type)
|
|
|
|
Platform check for Linux on PowerPC.
|
|
|
|
### isOSX
|
|
* return [<Boolean>](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type)
|
|
|
|
Platform check for OS X.
|
|
|
|
### isSunOS
|
|
* return [<Boolean>](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type)
|
|
|
|
Platform check for SunOS.
|
|
|
|
### isWindows
|
|
* return [<Boolean>](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type)
|
|
|
|
Platform check for Windows.
|
|
|
|
### isWOW64
|
|
* return [<Boolean>](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type)
|
|
|
|
Platform check for Windows 32-bit on Windows 64-bit.
|
|
|
|
### leakedGlobals
|
|
* return [<Array>](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array)
|
|
|
|
Checks whether any globals are not on the `knownGlobals` list.
|
|
|
|
### localhostIPv4
|
|
* return [<String>](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type)
|
|
|
|
Gets IP of localhost
|
|
|
|
### localIPv6Hosts
|
|
* return [<Array>](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array)
|
|
|
|
Array of IPV6 hosts.
|
|
|
|
### mustCall(fn[, expected])
|
|
* fn [<Function>](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function)
|
|
* expected [<Number>](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type) default = 1
|
|
* return [<Function>](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function)
|
|
|
|
Returns a function that calls `fn`. If the returned function has not been called
|
|
exactly `expected` number of times when the test is complete, then the test will
|
|
fail.
|
|
|
|
### nodeProcessAborted(exitCode, signal)
|
|
* `exitCode` [<Number>](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type)
|
|
* `signal` [<String>](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type)
|
|
* return [<Boolean>](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type)
|
|
|
|
Returns `true` if the exit code `exitCode` and/or signal name `signal` represent the exit code and/or signal name of a node process that aborted, `false` otherwise.
|
|
|
|
### opensslCli
|
|
* return [<Boolean>](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type)
|
|
|
|
Checks whether 'opensslCli' is supported.
|
|
|
|
### platformTimeout(ms)
|
|
* `ms` [<Number>](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type)
|
|
* return [<Number>](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type)
|
|
|
|
Platform normalizes timeout.
|
|
|
|
### PIPE
|
|
* return [<String>](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type)
|
|
|
|
Path to the test sock.
|
|
|
|
### PORT
|
|
* return [<Number>](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type) default = `12346`
|
|
|
|
Port tests are running on.
|
|
|
|
### refreshTmpDir
|
|
* return [<String>](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type)
|
|
|
|
Deletes the 'tmp' dir and recreates it
|
|
|
|
### rootDir
|
|
* return [<String>](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type)
|
|
|
|
Path to the 'root' directory. either `/` or `c:\\` (windows)
|
|
|
|
### skip(msg)
|
|
* `msg` [<String>](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type)
|
|
|
|
Logs '1..0 # Skipped: ' + `msg`
|
|
|
|
### spawnCat(options)
|
|
* `options` [<Object>](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)
|
|
* return [<Object>](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)
|
|
|
|
Platform normalizes the `cat` command.
|
|
|
|
### spawnPwd(options)
|
|
* `options` [<Object>](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)
|
|
* return [<Object>](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)
|
|
|
|
Platform normalizes the `pwd` command.
|
|
|
|
### spawnSyncCat(options)
|
|
* `options` [<Object>](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)
|
|
* return [<Object>](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)
|
|
|
|
Synchronous version of `spawnCat`.
|
|
|
|
### spawnSyncPwd(options)
|
|
* `options` [<Object>](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)
|
|
* return [<Object>](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)
|
|
|
|
Synchronous version of `spawnPwd`.
|
|
|
|
### tmpDir
|
|
* return [<String>](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type)
|
|
|
|
The realpath of the 'tmp' directory.
|
|
|
|
### tmpDirName
|
|
* return [<String>](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type)
|
|
|
|
Name of the temp directory used by tests.
|
|
|
|
### WPT
|
|
|
|
A port of parts of
|
|
[W3C testharness.js](https://github.com/w3c/testharness.js) for testing the
|
|
Node.js
|
|
[WHATWG URL API](https://nodejs.org/api/url.html#url_the_whatwg_url_api)
|
|
implementation with tests from
|
|
[W3C Web Platform Tests](https://github.com/w3c/web-platform-tests).
|