node/test/fixtures
Jan Krems 71bcd05232 module: resolve self-references
Adds the ability to `import` or `require` a package from within its
own source code. This allows tests and examples to be written using
the package name, making them easier to reuse by consumers of the
package.

Assuming the `name` field in `package.json` is set to `my-pkg`, its
test could use `require('my-pkg')` or `import 'my-pkg'` even if
there's no `node_modules/my-pkg` while testing the package itself.

An important difference between this and relative specifiers like
`require('../')` is that self-references use the public interface
of the package as defined in the `exports` field while relative
specifiers don't.

This behavior is guarded by a new experimental flag
(`--experimental-resolve-self`).

PR-URL: https://github.com/nodejs/node/pull/29327
Reviewed-By: Guy Bedford <guybedford@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
2019-10-24 15:14:38 -07:00
..
0-dns test,doc: fix lint error in test fixtures 2018-08-12 15:30:04 -07:00
GH-7131 lib: include cached modules in module.children 2017-07-24 16:56:31 +02:00
apilinks tools,doc: apilinks should handle root scenarios 2018-09-09 17:48:56 -07:00
b meta: restore original copyright header 2017-03-10 11:23:48 -08:00
clustered-server test: refactor test-debug-signal-cluster 2016-08-29 18:53:29 -07:00
cycles meta: restore original copyright header 2017-03-10 11:23:48 -08:00
es-module-loaders module: pass full URL to loader for top-level load 2019-09-29 20:12:24 -07:00
es-module-require-cache module: Allow runMain to be ESM 2017-09-07 15:18:32 -05:00
es-module-specifiers esm: modify resolution order for specifier flag 2019-10-16 22:01:19 -04:00
es-module-url module: Allow runMain to be ESM 2017-09-07 15:18:32 -05:00
es-modules module: warn on require of .js inside type: module 2019-10-11 17:37:46 -04:00
global meta: restore original copyright header 2017-03-10 11:23:48 -08:00
internal-modules iojs: introduce internal modules 2015-03-25 22:12:18 +03:00
json-with-directory-name-module meta: restore original copyright header 2017-03-10 11:23:48 -08:00
keys test: generate des rsa_cert.pfx 2019-07-05 22:39:22 -07:00
module-extension-over-directory module: check file ext before dir as documented 2018-03-11 02:56:56 +01:00
module-load-order meta: restore original copyright header 2017-03-10 11:23:48 -08:00
module-require test: use const for all require() calls 2017-01-02 18:28:18 -05:00
module-require-symlink test: do not write fixture in test-require-symlink 2017-09-19 15:42:16 -07:00
nested-index meta: restore original copyright header 2017-03-10 11:23:48 -08:00
node_modules module: resolve self-references 2019-10-24 15:14:38 -07:00
packages module: throw an error for invalid package.json main entries 2019-03-27 17:11:53 +01:00
policy policy: add dependencies map for resources 2019-07-26 15:13:53 -05:00
repl-folder-extensions/foo.js repl: include folder extensions in autocomplete 2017-08-13 01:03:30 -07:00
require-bin module: fix regression in require ../ 2014-12-11 10:18:00 +01:00
resolve-paths module: replace default paths in require.resolve() 2017-11-21 11:38:12 -05:00
source-map process: add source-map support to stack traces 2019-10-05 17:08:00 -07:00
syntax esm: phase two of new esm implementation 2019-03-27 15:52:11 -04:00
test-init-index lib: move DEP0026 to end of life 2019-01-10 08:59:57 -05:00
test-init-native lib: move DEP0026 to end of life 2019-01-10 08:59:57 -05:00
test-module-loading-globalpaths test: add test for loading from global folders 2017-03-11 22:08:18 +00:00
test-repl-tab-completion repl: add autocomplete for filesystem modules 2019-04-29 07:28:27 +05:30
uncaught-exceptions assert: wrap original error in ifError 2018-01-24 13:16:07 +01:00
v8-coverage src: disconnect inspector before exiting out of fatal exception 2019-09-24 09:55:00 -07:00
workload test: remove FIB environment variable from cpu-prof.js 2019-06-13 23:01:42 -07:00
wpt util: add encodeInto to TextEncoder 2019-09-13 20:27:18 +02:00
.empty-hidden-repl-history-file repl: support hidden history file on Windows 2017-04-20 13:18:42 +02:00
.empty-repl-history-file repl: Fixed node repl history edge case. 2015-12-22 13:29:28 -05:00
.node_repl_history test: add tests for persistent repl history 2015-08-04 11:56:18 -07:00
GH-892-request.js test: switch assertEqual arguments 2019-05-28 23:42:33 +03:00
GH-1899-output.js meta: restore original copyright header 2017-03-10 11:23:48 -08:00
a.js meta: restore original copyright header 2017-03-10 11:23:48 -08:00
aead-vectors.js crypto: add support for chacha20-poly1305 for AEAD 2018-11-07 18:43:41 -05:00
altdocs.md tools,doc: fix version picker bug in html.js 2018-11-27 19:14:54 -08:00
assert-first-line.js assert: improve simple assert 2018-07-16 11:30:55 +02:00
assert-long-line.js assert: improve simple assert 2018-07-16 11:30:55 +02:00
async-error.js process: reduce the number of internal frames in async stack trace 2019-04-28 15:36:28 +08:00
baz.js test: update test-repl-require for local paths 2016-03-29 21:39:26 +02:00
catch-stdout-error.js test: remove unused catch bindings 2018-11-06 10:59:18 -05:00
child-process-echo-options.js child_process: handle undefined/null for fork() args 2018-11-01 19:41:33 -07:00
child-process-message-and-exit.js child process: fix processes with IPC channel don't emit 'close' 2012-08-30 16:13:27 +02:00
child-process-persistent.js test: fix test-child-process-send-returns-boolean 2018-04-20 11:13:24 -07:00
child-process-spawn-node.js test: use const for all require() calls 2017-01-02 18:28:18 -05:00
child_process_should_emit_error.js meta: restore original copyright header 2017-03-10 11:23:48 -08:00
cjs-module-wrap.js module: increase code coverage of cjs loader 2019-07-15 20:46:56 -07:00
cjs-module-wrapper.js module: increase code coverage of cjs loader 2019-07-15 20:46:56 -07:00
cluster-preload-test.js test: replace string concatenation with template 2017-11-11 10:48:45 +01:00
cluster-preload.js test: refactor cluster-preload.js 2017-01-10 16:57:48 -05:00
debugger-repeat-last.js debugger: run last command on presssing enter 2016-04-14 10:53:07 -07:00
debugger-util-regression-fixture.js node_contextify: do not incept debug context 2016-02-05 15:40:56 -08:00
define-global.js node: allow preload modules with -i 2016-01-18 10:57:45 -06:00
deprecated-userland-class.js util: fix deprecated class prototype 2016-08-17 18:27:22 -07:00
deprecated-userland-function.js util: prepend '(node) ' to deprecation messages 2015-07-03 16:32:29 +02:00
deprecated-userland-subclass.js util: support classes in util.deprecate() 2016-08-04 11:44:40 -04:00
deprecated.js lib: move DEP0028 to end of life 2019-01-10 09:00:17 -05:00
destroy-stdin.js test: new test, verify that we don't close and reuse fd 0 2011-12-06 22:02:26 +01:00
doc_inc_1.md tools: make sure doctool anchors respect includes 2016-05-26 00:49:34 +02:00
doc_inc_2.md tools: make sure doctool anchors respect includes 2016-05-26 00:49:34 +02:00
doc_with_yaml.md doc: change broken fg(1) links to fg(1p) 2017-02-24 02:43:25 +01:00
echo-close-check.js test: add hijackStdout and hijackStderr 2017-06-09 13:57:24 -04:00
echo.js meta: restore original copyright header 2017-03-10 11:23:48 -08:00
elipses.txt
empty-with-bom.txt src: fix UB in InternalModuleReadFile() 2017-11-09 12:57:16 +01:00
empty.js test: add --debug-brk regression test 2012-02-07 23:42:38 +01:00
empty.txt
exit.js meta: restore original copyright header 2017-03-10 11:23:48 -08:00
experimental.json esm: phase two of new esm implementation 2019-03-27 15:52:11 -04:00
exports-function-with-param.js test: add test for debugging one line files 2015-12-16 10:08:43 -05:00
external-repl-module.js repl: check for NODE_REPL_EXTERNAL_MODULE 2019-10-11 12:33:40 -07:00
failcounter.js test: wrap countdown callback in common.mustCall 2018-02-16 18:32:59 +01:00
failmustcall1.js test: add mustCallAtLeast 2017-05-19 15:22:44 -04:00
failmustcall2.js test: add mustCallAtLeast 2017-05-19 15:22:44 -04:00
file-to-read-with-bom.txt test: ensure stream preprocessing order 2016-07-27 13:56:55 +02:00
file-to-read-without-bom.txt test: ensure stream preprocessing order 2016-07-27 13:56:55 +02:00
fixture.ini
foo
google_ssl_hello.bin tls: add `options` argument to createSecurePair 2015-10-17 11:53:45 -04:00
guess-hash-seed.js test: refactor min() in test-hash-seed 2019-01-17 16:14:41 -08:00
inspector-global-function.js test: remove eslint-disable from fixtures 2018-10-08 20:01:07 -07:00
intrinsic-mutation.js bootstrap: run preload prior to frozen-intrinsics 2019-08-20 09:49:48 -05:00
invalid.json module: add filename to require() json errors 2012-07-06 15:26:41 -07:00
is-object.js test: add known issue test for #7788 2016-07-20 13:01:42 -04:00
leakedGlobal.js test: do not export common.leakedGlobals() 2018-09-21 19:20:26 -07:00
linux-perf.js test,v8: skip less and stabilize test-linux-perf.js 2019-06-06 18:44:21 -04:00
loop.js src,doc,test: Fix common misspellings 2018-01-16 23:44:27 +01:00
module-loading-error.node process: show detailed error message in process.dlopen() 2012-03-06 01:34:39 +01:00
net-fd-passing-receiver.js test: fix spelling in test case comments 2018-01-11 16:49:38 +01:00
no-wrapper.js lib: ensure --check flag works with --require 2018-04-04 17:31:45 -07:00
not-main-module.js test: remove string literals for strictEquals/notStrictEquals 2018-09-22 15:53:20 +02:00
old-repl-history-file-faulty.json repl: fix old history error handling 2017-06-30 19:21:23 +02:00
old-repl-history-file-obj.json repl: fix old history error handling 2017-06-30 19:21:23 +02:00
openssl_fips_disabled.cnf crypto: Improve control of FIPS mode 2016-02-25 15:06:41 -05:00
openssl_fips_enabled.cnf crypto: Improve control of FIPS mode 2016-02-25 15:06:41 -05:00
order_of_end_tags_5873.md tools: add tests for the doctool 2016-04-29 00:45:49 +02:00
overwrite-config-preload-module.js lib: guard inspector console using process var 2017-11-13 08:26:38 +01:00
parent-process-nonpersistent-fork.js test: test and docs for detached fork process 2018-11-28 11:14:37 -08:00
parent-process-nonpersistent.js test: use const for all require() calls 2017-01-02 18:28:18 -05:00
path-resolve.js test: use const for all require() calls 2017-01-02 18:28:18 -05:00
path.js meta: restore original copyright header 2017-03-10 11:23:48 -08:00
person-large.jpg http2: fix responses to long payload reqs 2018-04-28 18:17:28 +02:00
person.jpg test: strip non-free icc profile from person.jpg 2016-03-21 23:20:43 -07:00
person.jpg.br benchmark,test: add brotli 2019-01-05 21:36:47 +01:00
person.jpg.gz test: strip non-free icc profile from person.jpg 2016-03-21 23:20:43 -07:00
pkgexports.mjs module: unify package exports test for CJS and ESM 2019-07-31 13:33:46 -07:00
print A.js src: allows escaping NODE_OPTIONS with backslashes 2019-04-17 19:46:00 +02:00
print-10-lines.js test: change string concatenation to template 2017-11-11 10:58:09 +01:00
print-chars-from-buffer.js meta: restore original copyright header 2017-03-10 11:23:48 -08:00
print-chars.js meta: restore original copyright header 2017-03-10 11:23:48 -08:00
print-intrinsic-mutation-name.js bootstrap: run preload prior to frozen-intrinsics 2019-08-20 09:49:48 -05:00
printA.js src: add -r/--require flags for preloading modules 2015-03-19 21:42:16 +11:00
printB.js src: add -r/--require flags for preloading modules 2015-03-19 21:42:16 +11:00
printC.js src: add -r/--require flags for preloading modules 2015-03-19 21:42:16 +11:00
process-exit-code-cases.js test: refactor process/worker exitCode tests 2018-07-14 12:04:53 +02:00
pseudo-multimember-gzip.gz zlib: Fix handling of gzip magic bytes mid-file 2016-03-23 13:04:19 -04:00
pseudo-multimember-gzip.z zlib: Fix handling of gzip magic bytes mid-file 2016-03-23 13:04:19 -04:00
pss-vectors.json crypto: add sign/verify support for RSASSA-PSS 2017-04-01 13:27:52 +02:00
readfile_pipe_test.txt test: update assert messages to show expected and actual values 2018-04-06 23:26:07 -07:00
recvfd.js meta: restore original copyright header 2017-03-10 11:23:48 -08:00
registerExt.hello.world
registerExt.test
registerExt2.test
repl-load-multiline.js repl: force editorMode in .load 2017-09-01 10:33:15 -04:00
repl-pretty-stack.js repl: remove internal frames from runtime errors 2017-10-11 14:51:41 -04:00
repl-tab-completion-nested-repls.js test: remove `util.inherits()` usage 2018-12-30 19:42:18 -08:00
require-resolve.js module: handle empty require.resolve() options 2019-06-11 10:20:31 -07:00
rsa-oaep-test-vectors.js crypto: add oaepLabel option 2019-09-13 16:58:41 +02:00
sample.png
sample_document.md tools: add tests for the doctool 2016-04-29 00:45:49 +02:00
semicolon.js meta: restore original copyright header 2017-03-10 11:23:48 -08:00
shared-memory.wasm test: clean up wasm fixtures 2019-01-08 12:57:24 -06:00
shared-memory.wat test: clean up wasm fixtures 2019-01-08 12:57:24 -06:00
should_exit.js meta: restore original copyright header 2017-03-10 11:23:48 -08:00
simple.wasm test: clean up wasm fixtures 2019-01-08 12:57:24 -06:00
simple.wat test: clean up wasm fixtures 2019-01-08 12:57:24 -06:00
spawn_closed_stdio.py src: ensure that fd 0-2 are valid on windows 2017-03-20 20:48:14 +01:00
test-error-first-line-offset.js test: replace CRLF by LF in a fixture 2017-07-25 21:50:44 +03:00
test-fs-readfile-error.js Revert "fs: Revert throw on invalid callbacks" 2018-02-26 23:18:12 +00:00
test-fs-stat-sync-overflow.js test: address nits and rename the corresponding fixture 2018-03-08 10:37:29 -06:00
throws_error.js meta: restore original copyright header 2017-03-10 11:23:48 -08:00
throws_error1.js meta: restore original copyright header 2017-03-10 11:23:48 -08:00
throws_error2.js meta: restore original copyright header 2017-03-10 11:23:48 -08:00
throws_error3.js meta: restore original copyright header 2017-03-10 11:23:48 -08:00
throws_error4.js meta: restore original copyright header 2017-03-10 11:23:48 -08:00
throws_error5.js src: fix buffer overflow for long exception lines 2015-09-06 21:38:07 +10:00
throws_error6.js src: use standard conform snprintf on windows 2015-09-06 21:38:08 +10:00
throws_error7.js src: don't print garbage errors 2015-12-05 11:15:49 -05:00
tls-connect.js test: fix nits in test/fixtures/tls-connect.js 2019-07-30 14:02:19 -07:00
tls-session-ticket.txt tls: expose SSL_CTX_set_timeout via tls.createServer 2013-03-26 01:37:49 +01:00
url-idna.js url: update IDNA handling 2017-06-06 23:33:56 -07:00
url-searchparams.js querystring: fix up lastPos usage 2017-07-12 12:12:48 +08:00
url-setter-tests-additional.js url: enforce valid UTF-8 in WHATWG parser 2017-02-28 18:39:20 -08:00
url-tests-additional.js url: enforce valid UTF-8 in WHATWG parser 2017-02-28 18:39:20 -08:00
utf8-bom-shebang-shebang.js lib: no need to strip BOM or shebang for scripts 2019-06-01 10:01:15 -04:00
utf8-bom.js module: strip byte order marker when loading *.js and *.json files 2011-08-04 16:52:55 +02:00
utf8-bom.json module: strip byte order marker when loading *.js and *.json files 2011-08-04 16:52:55 +02:00
utf8-shebang-bom.js lib: rework logic of stripping BOM+Shebang from commonjs 2019-05-26 13:04:29 -05:00
warnings.js process: add 'warning' event and process.emitWarning() 2016-03-24 13:19:11 -07:00
worker-data.mjs worker: export workerData to ESM workers 2019-01-30 18:14:38 +01:00
worker-from-argv.js bootstrap: run preload prior to frozen-intrinsics 2019-08-20 09:49:48 -05:00
worker-script.mjs worker: rename to worker_threads 2018-06-06 19:44:15 +02:00
x.txt
x1024.txt test: fixture for streams2 testing 2012-12-13 17:00:28 -08:00