summaryrefslogtreecommitdiff
path: root/test
AgeCommit message (Collapse)Author
2015-05-10dgram: call send callback asynchronouslyYosuke Furukawa
dgram#send callback was changed synchronously. The PR-URL is here https://github.com/joyent/libuv/pull/1358 This commit is temporary fix until libuv issue is resolved. https://github.com/libuv/libuv/issues/301 PR-URL: https://github.com/iojs/io.js/pull/1313 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Trevor Norris <trev.norris@gmail.com>
2015-05-10readline: turn emitKeys into a streaming parserAlex Kocharin
In certain environments escape sequences could be splitted into multiple chunks. For example, when user presses left arrow, `\x1b[D` sequence could appear as two keypresses (`\x1b` + `[D`). PR-URL: https://github.com/iojs/io.js/pull/1601 Fixes: https://github.com/iojs/io.js/issues/1403 Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com> Reviewed-By: Roman Reiss <me@silverwind.io>
2015-05-08cluster: disconnect event not emitted correctlyOleg Elifantiev
Inside of a worker, disconnect event was not emitted on cluster.worker Fixes: https://github.com/iojs/io.js/issues/1304 PR-URL: https://github.com/iojs/io.js/pull/1386 Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2015-05-08src: add type check to v8.setFlagsFromString()Roman Klauke
Calling v8.setFlagsFromString with e.g a function as a flag argument gave no exception or warning that the function call will fail. There is now an exception if the function gets called with the wrong flag type (string is required) or that a flag is expected. Other APIs already provide exceptions if the argument has not the expected type. PR-URL: https://github.com/iojs/io.js/pull/1652 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-05-06js_stream: fix buffer index in DoWriteShigeki Ohtsu
The index of buffer to write in JSStream was always 0 by mistake. This fix was to use increment index of buffer arrays. The test was originally made by Brian White in #1594. Fix: https://github.com/iojs/io.js/issues/1595 Fix: https://github.com/iojs/io.js/pull/1594 PR-URL: https://github.com/iojs/io.js/pull/1635 Reviewed-By: Fedor Indutny <fedor@indutny.com>
2015-05-03Revert "url: significantly improve the performance of the url module"Rod Vagg
This reverts commit 3fd7fc429c394059113432312ed19decbafd8fc4. It was agreed that this change contained too much potential ecosystem breakage, particularly around the inability to `delete` properties off a `Url` object. It may be re-introduced for a later release, along with better work on ecosystem compatibility. PR-URL: https://github.com/iojs/io.js/pull/1602 Reviewed-By: Mikeal Rogers <mikeal.rogers@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Forrest L Norvell <forrest@npmjs.com> Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com> Reviewed-By: Isaac Z. Schlueter <i@izs.me> Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
2015-05-03Revert "url: fix treatment of some values as non-empty"Rod Vagg
This reverts commit 66877216bd833face753d9a5d573ad477895d880. It was agreed that this change contained too much potential ecosystem breakage, particularly around the inability to `delete` properties off a `Url` object. It may be re-introduced for a later release, along with better work on ecosystem compatibility. PR-URL: #1602 Reviewed-By: Mikeal Rogers <mikeal.rogers@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Forrest L Norvell <forrest@npmjs.com> Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com> Reviewed-By: Isaac Z. Schlueter <i@izs.me> Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
2015-05-03url: fix treatment of some values as non-emptyPetka Antonov
In addition to null, undefined and the empty string are treated as empty (removing the component from the url). The string '#' is treated same as empty values when setting .hash. The string '?' is treated same as empty values when setting .search. PR-URL: https://github.com/iojs/io.js/pull/1589 Fixes: https://github.com/iojs/io.js/issues/1588 Reviewed-By: Roman Reiss <me@silverwind.io> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-05-01url: significantly improve the performance of the url modulePetka Antonov
(landed by @rvagg) PR-URL: https://github.com/iojs/io.js/pull/1561 Reviewed-By: Domenic Denicola <domenic@domenicdenicola.com> Reviewed-By: Rod Vagg <rod@vagg.org>
2015-05-01node: improve nextTick performanceBrian White
This commit uses separate functions to isolate deopts caused by try-catches and avoids fn.apply() for callbacks with small numbers of arguments. These changes improve performance by ~1-40% in the various nextTick benchmarks. PR-URL: https://github.com/iojs/io.js/pull/1571 Reviewed-By: Trevor Norris <trev.norris@gmail.com> Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
2015-05-01Merge branch 'v1.x'Jeremiah Senkpiel
PR-URL: https://github.com/iojs/io.js/pull/1582 Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com> Conflicts: src/node_version.h
2015-05-01tls: use `SSL_set_cert_cb` for async SNI/OCSPFedor Indutny
Do not enable ClientHello parser for async SNI/OCSP. Use new OpenSSL-1.0.2's API `SSL_set_cert_cb` to pause the handshake process and load the cert/OCSP response asynchronously. Hopefuly this will make whole async SNI/OCSP process much faster and will eventually let us remove the ClientHello parser itself (which is currently used only for async session, see #1462 for the discussion of removing it). NOTE: Ported our code to `SSL_CTX_add1_chain_cert` to use `SSL_CTX_get0_chain_certs` in `CertCbDone`. Test provided for this feature. Fix: https://github.com/iojs/io.js/issues/1423 PR-URL: https://github.com/iojs/io.js/pull/1464 Reviewed-By: Shigeki Ohtsu <ohtsu@iij.ad.jp>
2015-04-30repl: add mode detection, cli persistent historyChris Dickinson
this creates a new internal module responsible for providing the repl created via "iojs" or "iojs -i," and adds the following options to the readline and repl subsystems: * "repl mode" - determine whether a repl is strict mode, sloppy mode, or auto-detect mode. * historySize - determine the maximum number of lines a repl will store as history. The built-in repl gains persistent history support when the NODE_REPL_HISTORY_FILE environment variable is set. This functionality is not exposed to userland repl instances. PR-URL: https://github.com/iojs/io.js/pull/1513 Reviewed-By: Fedor Indutny <fedor@indutny.com>
2015-04-29test: extend timeouts for ARMv6Rod Vagg
Based on tests running on original Raspberry Pi PR-URL: https://github.com/iojs/io.js/pull/1554 Reviewed-By: Roman Reiss <me@silverwind.io>
2015-04-28fs: validate fd on fs.writeJulian Duque
PR-URL: #1553 Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2015-04-28deps: upgrade v8 to 4.2.77.13Ben Noordhuis
This commit applies some secondary changes in order to make `make test` pass cleanly: * disable broken postmortem debugging in common.gypi * drop obsolete strict mode test in parallel/test-repl * drop obsolete test parallel/test-v8-features PR-URL: https://github.com/iojs/io.js/pull/1232 Reviewed-By: Fedor Indutny <fedor@indutny.com>
2015-04-28os: remove trailing slash from os.tmpdir()Christian Tellnes
This commit makes `os.tmpdir()` behave consistently on all platforms. It changes `os.tmpdir()` to always return a path without trailing slash. Semver: major Fixes: https://github.com/iojs/io.js/issues/715 PR-URL: https://github.com/iojs/io.js/pull/747 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-04-28test: fix test-net-dns-custom-lookup test assertionEvan Lucas
The assertion made an assumption that the IPv6 address would always be `::1`. Since the address can be different on different platforms, it has been changed to allow multiple addresses. Fixes: https://github.com/iojs/io.js/issues/1527 PR-URL: https://github.com/iojs/io.js/pull/1531 Reviewed-By: Rod Vagg <rod@vagg.org>
2015-04-25util: add Map and Set inspection supportChristopher Monsanto
PR-URL: https://github.com/iojs/io.js/pull/1471 Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
2015-04-24deps: update http_parser to 2.5.0Fedor Indutny
PR-URL: https://github.com/iojs/io.js/pull/1517 Reviewed-By: Brian White <mscdex@mscdex.net>
2015-04-24buffer: fix copy() segfault with zero argumentsTrevor Norris
Buffer#copy() immediately does a ToObject() on the first argument before it checks if it's even an Object. This causes Object::HasIndexedPropertiesInExternalArrayData() to be run on nothing, triggering the segfault. Instead run HasInstance() on the args Value. Which will check if it's actually an Object, before checking if it contains data. Fixes: https://github.com/iojs/io.js/issues/1519 PR-URL: https://github.com/iojs/io.js/pull/1520 Reviewed-by: Evan Lucas <evanlucas@me.com>
2015-04-24net: add lookup option to Socket.prototype.connectEvan Lucas
Allows customization of the lookup function used when Socket.prototype.connect is called using a hostname. PR-URL: https://github.com/iojs/io.js/pull/1505 Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com> Reviewed-By: Yosuke Furukawa <yosuke.furukawa@gmail.com>
2015-04-24net: cleanup connect logicEvan Lucas
Separates out the lookup logic for net.Socket. In the event the `host` property is an IP address, the lookup is skipped. PR-URL: https://github.com/iojs/io.js/pull/1505 Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com> Reviewed-By: Yosuke Furukawa <yosuke.furukawa@gmail.com>
2015-04-23module: remove '' from Module.globalPathsChris Yip
If `$NODE_PATH` contains trailing separators, `Module.globalPaths` will contains empty strings. When `Module` try to resolve a module's path, `path.resolve('', 'index.js')` will boil down to `$PWD/index.js`, which makes sub modules can access global modules and get unexpected result. PR-URL: https://github.com/iojs/io.js/pull/1488 Reviewed-By: Roman Reiss <me@silverwind.io>
2015-04-23tls_wrap: use localhost if options.host is emptyGuilherme Souza
tls.connect(options) with no options.host should accept a certificate with CN: 'localhost'. Fix Error: Hostname/IP doesn't match certificate's altnames: "Host: undefined. is not cert's CN: localhost" 'localhost' is not added directly to defaults because that is not always desired (for example, when using options.socket) PR-URL: https://github.com/iojs/io.js/pull/1493 Fixes: https://github.com/iojs/io.js/issues/1489 Reviewed-By: Brendan Ashworth <brendan.ashworth@me.com> Reviewed-By: Roman Reiss <me@silverwind.io>
2015-04-18test: add test for 06cfff9 regressionBrendan Ashworth
This commit adds a test to ensure all options are NOT modified after passing them to http.request. Specifically options.host and options.port are the most prominent that would previously error, but add the other options that have default values. options.host and options.port were overridden for the one-argument net.createConnection(options) call. PR-URL: https://github.com/iojs/io.js/pull/1467 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-04-17http: logically respect maxSocketsfengmk2
Allows the number of pooled free sockets to equal maxSockets. Previously it would only allow maxSockets - 1. PR-URL: https://github.com/iojs/io.js/pull/1242 Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Christian Tellnes <christian@tellnes.no>
2015-04-17module: handle NODE_PATH in require('.')Roman Reiss
This commit restores the functionality of adding a module's path to NODE_PATH and requiring it with require('.'). As NODE_PATH was never intended to be used as a pointer to a module directory (but instead, to a directory containing directories of modules), this feature is also being deprecated in turn, to be removed at a later point in time. PR-URL: https://github.com/iojs/io.js/pull/1363 Fixes: https://github.com/iojs/io.js/issues/1356 Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com> Reviewed-By: Rod Vagg <rod@vagg.org>
2015-04-15node: allow multiple arguments passed to nextTickTrevor Norris
PR-URL: https://github.com/iojs/io.js/pull/1077 Reviewed-by: Colin Ihrig <cjihrig@gmail.com>
2015-04-15test: fix error message check for openssl-1.0.2aShigeki Ohtsu
openssl-1.0.2a does not include function name of SSL3_GET_CLIENT_HELLO in the error message Fixes: https://github.com/iojs/io.js/issues/589 PR-URL: https://github.com/iojs/io.js/pull/1389 Reviewed-By: Fedor Indutny <fedor@indutny.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-04-11src: disable fast math on armBen Noordhuis
The "fast" implementation of Math.exp() and Math.tanh() emits ARMv7 movt/movw instructions on ARMv6 (notably, the original Raspberry Pi.) Disable fast math for now. The adventurous can enable it again with the --fast_math switch. PR-URL: https://github.com/iojs/io.js/pull/1398 Refs: https://github.com/iojs/io.js/issues/1376 Reviewed-By: Roman Reiss <me@silverwind.io> V8-Bug: https://code.google.com/p/v8/issues/detail?id=4019
2015-04-10readline: fix calling constructor without newAlex Kocharin
Previously, we detected options object based on amount of arguments supplied. But if we're calling readline without new operator, constructor gets re-called and will always have 4 arguments. PR-URL: https://github.com/iojs/io.js/pull/1385 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-04-09test: increase timeouts on ARMRoman Reiss
This commit introduces platform-specific test timeouts for the ARM architectures. ARMv6 is notoriously slow so gets very large timeouts on both the timeout value for each test, as well as certain problematic individual tests. ARMv7 and ARMv8 also get slightly increased headroom. PR-URL: https://github.com/iojs/io.js/pull/1366 Fixes: https://github.com/iojs/io.js/issues/1343 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-04-07zlib: make constants keep readonlyJackson Tian
In zlib module, a dozen constants were exported to user land, If user change the constant, maybe lead unexcepted error. Make them readonly and freezon. PR-URL: https://github.com/iojs/io.js/pull/1361 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Johan Bergström <bugs@bergstroem.nu> Reviewed-By: Shigeki Ohtsu <ohtsu@iij.ad.jp>
2015-04-04url: fix resolving from non-file to file URLs.Jeffrey Jagoda
When resolving a reference URL with the 'file' scheme an no host against a base URL without the 'file' scheme, the first path element of the reference URL is used as the host for the target URL. This results in an invalid target URL. This change makes an exception for file URLs so that the host is not mangled during URL resolution. PR-URL: https://github.com/iojs/io.js/pull/1277 Reviewed-By: Roman Reiss <me@silverwind.io> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Petka Antonov <petka_antonov@hotmail.com>
2015-04-04benchmark: add rsa/aes-gcm performance testShigeki Ohtsu
PR-URL: https://github.com/iojs/io.js/pull/1325 Reviewed-By: Fedor Indutny <fedor@indutny.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-04-04test: add test for a unref'ed timer leakFedor Indutny
PR-URL: https://github.com/iojs/io.js/pull/1330 Reviewed-by: Trevor Norris <trev.norris@gmail.com>
2015-04-04timers: don't close interval timers when unrefdJulien Gilli
This change fixes a regression introduced by commit 0d051238be2e07e671d7d9f4f444e0cc1efadf1b, which contained a typo that would cause every unrefd interval to fire only once. Fixes: https://github.com/joyent/node/issues/8900 Reviewed-By: Timothy J Fontaine <tjfontaine@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-by: Trevor Norris <trev.norris@gmail.com>
2015-04-04src: setup cluster workers before preloadingAli Ijaz Sheikh
We need to process cluster workers before any preload modules is executed. Otherwise, the child processes are not correctly disovered as clustered workers inside the preloaded modules. Fixes: https://github.com/iojs/io.js/issues/1269 PR-URL: https://github.com/iojs/io.js/pull/1314 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Fedor Indutny <fedor@indutny.com>
2015-04-01deps: check in gtest, add util unit testBen Noordhuis
Check in a gypified gtest and add a simple unit test to show that the basic infrastructure is in place. PR-URL: https://github.com/iojs/io.js/pull/1199 Refs: https://github.com/iojs/io.js/issues/1193 Reviewed-By: Fedor Indutny <fedor@indutny.com> Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
2015-03-30test: fix race in parallel/test-vm-debug-contextBen Noordhuis
Fix a race condition in parallel/test-vm-debug-context where the 'exit' event for the child process is emitted before the first and only 'data' event for the child process's stderr stream. I considered deferring the 'exit' event in lib/child_process.js until all stdio streams have been closed but I realized that's not going to work when the child process spins off grandchildren that keep the stdio file descriptors alive. Fixes: https://github.com/iojs/io.js/issues/1291 PR-URL: https://github.com/iojs/io.js/pull/1294 Reviewed-By: Brendan Ashworth <brendan.ashworth@me.com>
2015-03-27timers: make Timer.close idempotentPetka Antonov
fixes #1287 PR-URL: https://github.com/iojs/io.js/pull/1288 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-03-27debugger: don't spawn child process in remote modeJackson Tian
When debug in remote mode with host:port or pid, the interface spawn child process also. If the debugger agent is running, will get following output: ``` < Error: listen EADDRINUSE :::5858 < at Object.exports._errnoException (util.js:734:11) < at exports._exceptionWithHostPort (util.js:757:20) < at Agent.Server._listen2 (net.js:1155:14) < at listen (net.js:1181:10) < at Agent.Server.listen (net.js:1268:5) < at Object.start (_debug_agent.js:21:9) < at startup (node.js:68:9) < at node.js:799:3 ``` This fix won't spawn child process and no more error message was shown. When use `iojs debug`, the tip information just like this: ``` Usage: iojs debug script.js ``` This fix will display the advance usage also: ``` Usage: iojs debug script.js iojs debug <host>:<port> iojs debug -p <pid> ``` Fixes: https://github.com/iojs/io.js/issues/889 PR-URL: https://github.com/iojs/io.js/pull/1282 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-03-27test: reduce sequential/test-fs-watch flakinessRoman Reiss
The fs.watch test's write events sometimes aren't produced on OS X, possibly because of a fsevents race condition. This patch gives delays the writing a total of 20ms, which makes the test pass consistently. PR-URL: https://github.com/iojs/io.js/pull/1275 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-03-26timers: assure setTimeout callback only runs onceRoman Reiss
Calling this.unref() during the callback of SetTimeout caused the callback to get executed twice because unref() didn't expect to be called during that time and did not stop the ref()ed Timeout but did start a new timer. This commit prevents the new timer creation when the callback was already called. Fixes: https://github.com/iojs/io.js/issues/1191 Reviewed-by: Trevor Norris <trev.norris@gmail.com> Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com> PR-URL: https://github.com/iojs/io.js/pull/1231
2015-03-25iojs: introduce internal modulesVladimir Kurchatkin
Internal modules can be used to share private code between public modules without risk to expose private APIs to the user. PR-URL: https://github.com/iojs/io.js/pull/848 Reviewed-By: Trevor Norris <trev.norris@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-03-23src: make accessors immune to context confusionBen Noordhuis
It's possible for an accessor or named interceptor to get called with a different execution context than the one it lives in, see the test case for an example using the debug API. This commit fortifies against that by passing the environment as a data property instead of looking it up through the current context. Fixes: https://github.com/iojs/io.js/issues/1190 (again) PR-URL: https://github.com/iojs/io.js/pull/1238 Reviewed-By: Fedor Indutny <fedor@indutny.com>
2015-03-22util: Check input to util.inheritsConnor Peet
PR-URL: https://github.com/iojs/io.js/pull/1240 Reviewed-By: Brendan Ashworth <brendan.ashworth@me.com> Reviewed-By: Petka Antonov <petka_antonov@hotmail.com>
2015-03-23test: move sequential/test-signal-unregisterBen Noordhuis
Move sequential/test-signal-unregister to test/parallel, it doesn't need to run in sequential mode. PR-URL: https://github.com/iojs/io.js/pull/1227 Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
2015-03-23test: fix timing issue in signal testBen Noordhuis
Change sequential/test-signal-unregister so it doesn't use fixed timeouts for sending the signal and expecting the child to quit. Fixes: https://github.com/iojs/io.js/issues/1223 PR-URL: https://github.com/iojs/io.js/pull/1227 Reviewed-By: Johan Bergström <bugs@bergstroem.nu>