Commit Graph
62 Commits
Author SHA1 Message Date
Daniel Bevenius ec53921d2e src: make AtExit callback's per Environment
This commit attempts to address one of the TODOs in
https://github.com/nodejs/node/issues/4641 regarding making the
AtExit callback's per environment, instead of the current global.

bnoordhuis provided a few options for solving this, and one was to
use a thread-local which is what this commit attempts to do.

PR-URL: https://github.com/nodejs/node/pull/9163
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
2017-04-12 13:11:39 +02:00
Daniel Bevenius de168b4b4a src: guard bundled_ca/openssl_ca with HAVE_OPENSSL
Currently, the following warning will be reported when configuring
without-ssl:

../src/node.cc:3653:8: warning: unused variable 'use_bundled_ca'
[-Wunused-variable]
  bool use_bundled_ca = false;
       ^
../src/node.cc:3654:8: warning: unused variable 'use_openssl_ca'
[-Wunused-variable]
  bool use_openssl_ca = false;
       ^

I missed this when working on
commit 8a7db9d4b5 ("src: add
--use-bundled-ca --use-openssl-ca check").

Refs: https://github.com/nodejs/node/pull/12087
PR-URL: https://github.com/nodejs/node/pull/12302
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
2017-04-12 13:01:50 +02:00
Daniel Bevenius f9bc83557d src: guard default_inspector_port
When configuring and building --without-ssl the following warning is
reported:
../src/node_debug_options.cc:12:11: warning: unused variable
'default_inspector_port' [-Wunused-const-variable]
const int default_inspector_port = 9229;

The commit adds a HAVE_INSPECTOR guard to this constant.

PR-URL: https://github.com/nodejs/node/pull/12303
Reviewed-By: cjihrig - Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2017-04-12 12:54:10 +02:00
Daniel Bevenius fe016c6cd9 src: use std::list for at_exit_functions
This change was suggested by bnoordhuis in the following comment:
https://github.com/nodejs/node/pull/9163#discussion_r84264628

Not including any tests as this is covered by test/addons/at-exit.

PR-URL: https://github.com/nodejs/node/pull/12255
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
2017-04-10 07:24:17 +02:00
Daniel Bevenius 65a6e05da5 src: only block SIGUSR1 when HAVE_INSPECTOR
I'm currently seeing a timeout error for test-signal-handler.js on
macosx when using the following configuration:

./configure --debug --without-ssl && make -j8 test

--without-ssl implies that there will be no inspector but the signal
SIGUSR1 is blocked in PlatformInit just the same. But in this case
never unblocked which is causing the signal to never be delivered to
the handlers in test-signal-handler.js and it loops until it times out.

Not sure if this is the best way of fixing this but hopefully more eyes
on this will help.

PR-URL: https://github.com/nodejs/node/pull/12266
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
2017-04-10 07:18:35 +02:00
Daniel Bevenius 23498f259d deps: backport ec1ffe3 from upstream V8
This commit adds lldbinit files from upstream V8 and also adds these so
that they get installed when `make install` is run.

Original commit message:

[tools] add lldbinit

    The goal of this commit is to add the equivalent to gdbinit but
    for lldb. I've tried to replicate the commands as close as possible
    but I'm unsure about the jss command and hoping to get some feedback
    on it in addition to the bta command which I'm not sure how/when
    this could be used. This is probably just inexperience on my part.

    The lldbinit file can be placed into a directory prefixed with dot
    (.lldbinit) and the python script is currently expected to be in the
    same directory. The path to the script can be changed manually if
    needed as well.

    NOTRY=true

    Review-Url: https://codereview.chromium.org/2758373002
    Cr-Commit-Position: refs/heads/master@{#44136}

PR-URL: https://github.com/nodejs/node/pull/12061
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2017-04-06 07:42:33 +02:00
Daniel Bevenius 1f74b9fc35 build: add checks for openssl configure options
Currently it is possible to configure using --without-ssl and
--shared-openssl/--openssl-no-asm/openssl-fips without an error
occuring.

The commit add check for these combinations:

$ ./configure --without-ssl --shared-openssl
Error: --without-ssl is incompatible with --shared-openssl

$ ./configure --without-ssl --openssl-no-asm
Error: --without-ssl is incompatible with --openssl-no-asm

$ ./configure --without-ssl --openssl-fips=dummy
Error: --without-ssl is incompatible with --openssl-fips

PR-URL: https://github.com/nodejs/node/pull/12175
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
2017-04-05 08:27:11 +02:00
Daniel Bevenius b3db91710b build: make configure print statements consistent
I noticed that few of the print statements in configure have a leading
space with is not consistent with the rest of the file. Not sure if
this intentional or not so creating this commit just to bring it up
just in case.

PR-URL: https://github.com/nodejs/node/pull/12176

Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: mhdawson - Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
2017-04-05 08:19:58 +02:00
Daniel Bevenius 5ccaba49f0 test: add variable arguments support for Argv
At the moment Argv only supports three arguments which fulfilled my
requirements when working on #9163.

This commit adds support for a variable number of arguments. There is
also a no-args constructor that is the equivalent to running "node -p
process.version" which is hopefully alright as a default.

PR-URL: https://github.com/nodejs/node/pull/12166
Ref: https://github.com/nodejs/node/pull/9163
Reviewed-By: James M Snell <jasnell@gmail.com>
2017-04-04 10:20:59 -07:00
Daniel Bevenius 8a7db9d4b5 src: add --use-bundled-ca --use-openssl-ca check
The --use-bundled-ca and --use-openssl-ca command line arguments are
mutually exclusive but can both be used on the same command line.

This commit adds a check if both options are used.

Fixes: https://github.com/nodejs/node/issues/12083
PR-URL: https://github.com/nodejs/node/pull/12087
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Sam Roberts <vieuxtech@gmail.com>
2017-03-31 20:10:36 +02:00
Daniel Bevenius 92de91d570 test: fix truncation of argv
Currently argv_[1] and argv_[2] are getting truncated by one character
because of an incorrect addition of one to account for the null
character. I only noticed this when working on #12087, but that fix
will probably not get included in favor of a JavaScript test so I'm
adding this separate commit for it.

Refs: https://github.com/nodejs/node/pull/12087
PR-URL: https://github.com/nodejs/node/pull/12110
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
2017-03-31 07:15:24 +02:00
Daniel Bevenius 678480e328 deps: backport 8dde6ac from upstream V8
Commit 9c9e2d7f4a changed the name of TypeFeedbackVector to
FeedbackVector but that commit did not update gdbinit. This applies the
changed to gdbinit from upstream V8.

Original commit message:

[gdbinit] Rename TypeFeedback* to Feedback*.

    BUG=

    Change-Id: I1e32fdcf9edda57f5de329c8b694620a5da4558b
    Reviewed-on: https://chromium-review.googlesource.com/442444
    Reviewed-by: Michael Stanton <mvstanton@chromium.org>
    Commit-Queue: Igor Sheludko <ishell@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#43185}

PR-URL: https://github.com/nodejs/node/pull/12060
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2017-03-29 07:47:31 +02:00
Daniel Bevenius 64af398c26 doc: c++ unit test guide lines
PR-URL: https://github.com/nodejs/node/pull/11956
Ref: https://github.com/nodejs/node/pull/9163
Reviewed-By: James M Snell <jasnell@gmail.com>
2017-03-24 08:28:52 -07:00
Daniel Bevenius 6a09a69ec9 build: enable cctest to use generated objects
This commit tries to make it simpler to add unit tests (cctest) for
code that needs to test node core funtionality but that might not be
appropriate as an addon or a JavaScript test. An example of this could
be adding functionality targeted for situations when Node itself is
embedded.

Currently it was not as easy, or efficient, as one would have hoped to
add such tests. The object output directories vary for different
operating systems which we need to link to so that we don't have an
additional compilation step.

PR-URL: https://github.com/nodejs/node/pull/11956
Ref: https://github.com/nodejs/node/pull/9163
Reviewed-By: James M Snell <jasnell@gmail.com>
2017-03-24 08:28:43 -07:00
Daniel Bevenius be98f26917 src: exclude node_root_certs when use-def-ca-store
When configuring node with --openssl-use-def-ca-store the root certs
from OpenSSL should be used and not the ones in src/node_root_certs.h.
I noticed that src/node_root_certs.h is still included even when
using --openssl-use-def-ca-store.

This commit adds check and does not include node_root_certs.h if
--openssl-use-def-ca-store is specified.

PR-URL: https://github.com/nodejs/node/pull/11939
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2017-03-22 09:26:53 -07:00
Daniel Bevenius 5a71cb6d32 test: add hasCrypto check to tls-socket-close
Currently test-tls-socket-close will fail if node
was built using --without-ssl. This commit adds a check to
verify is crypto support exists and if not skip this test.

PR-URL: https://github.com/nodejs/node/pull/11911
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Yuta Hiroto <hello@about-hiroppy.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
2017-03-21 07:09:21 +01:00
Daniel Bevenius f0d4237ef5 build: mac OBJ_DIR should point to obj.target
I think there might be an issue with the value of OBJ_DIR when
using a "mac" os. The value is currently specified in common.gypi
which is included by node.gyp:
'OBJ_DIR': '<(PRODUCT_DIR)/obj',

In the generated Makefile (out/Makefile) the object output directory
is:
obj := $(builddir)/obj

And in the included node.target.mk we have the OBJS declared:
OBJS := \
         $(obj).target/$(TARGET)/src/async-wrap.o \
         $(obj).target/$(TARGET)/src/cares_wrap.o \

If OBJ_DIR is used in node.gyp to point to generated object files
on mac they will not be found.

PR-URL: https://github.com/nodejs/node/pull/11857
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2017-03-17 13:50:27 +01:00
Daniel Bevenius 471aa19ffa build: add node_use_openssl check to install.py
When configuring --without-ssl and then running make install
openssl headers will be copied from deps/openssl to the target
installation directory.

This commit adds a check for is node_use_openssl is set in which
case the headers are not copied.

PR-URL: https://github.com/nodejs/node/pull/11766
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Brian White <mscdex@mscdex.net>
2017-03-13 19:51:26 +01:00
Daniel Bevenius b98004b79c test: add hasCrypto check to tls-legacy-deprecated
Currently test-tls-legacy-deprecated will fail if node
was built using --without-ssl. This commit adds a check to
verify is crypto support exists and if not skip this test.

PR-URL: https://github.com/nodejs/node/pull/11747
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2017-03-10 07:34:15 +01:00
Daniel Bevenius 1402fef098 test: make tests pass when configured without-ssl
Currently when node is build --without-ssl and the test are run,
there are a number of failing test due to tests expecting crypto
support to be available. This commit fixes fixes the failure and
instead skips the tests that expect crypto to be available.

PR-URL: https://github.com/nodejs/node/pull/11631
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2017-03-04 20:16:52 +01:00
Daniel Bevenius 9352528779 src: remove outdated FIXME in node_crypto.cc
Issue 4641 contains a FIXME regarding the InitCrypto function. After
discussing this with bnoordhuis it seems to be an outdated comment.

Refs: https://github.com/nodejs/node/issues/4641
PR-URL: https://github.com/nodejs/node/pull/11669
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2017-03-04 19:58:21 +01:00
Daniel Bevenius e317a616a9 test: fix test-internal-util-assertCrypto regex
When building --without-ssl and then running:

out/Release/node --expose-internals
test/parallel/test-internal-util-assertCrypto.js

The following error is displayed:
assert.js:420
    throw actual;
    ^

Error: Node.js is not compiled with openssl crypto support
    at Object.exports.assertCrypto (internal/util.js:82:11)
    at assert.throws
(/Users/danielbevenius/work/nodejs/node/test/parallel/test-internal-util-assertCrypto.js:8:28)
    at _tryBlock (assert.js:379:5)
    at _throws (assert.js:398:12)
    at Function.throws (assert.js:428:3)
    at Object.<anonymous>
(/Users/danielbevenius/work/nodejs/node/test/parallel/test-internal-util-assertCrypto.js:8:10)
    at Module._compile (module.js:571:32)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:488:32)
    at tryModuleLoad (module.js:447:12)

It looks like the regex is not taking into account the 'Error: ' hence
the failure to match it.

PR-URL: https://github.com/nodejs/node/pull/11620
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Yuta Hiroto <hello@about-hiroppy.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2017-03-02 07:27:38 +01:00
Daniel Bevenius e1d8899c28 src: add HAVE_OPENSSL directive to openssl_config
Currently when building with the following configuration options:
$ ./configure --without-ssl && make

The following link error is reported:

Undefined symbols for architecture x86_64:
  "node::openssl_config", referenced from:
      node::Init(int*, char const**, int*, char const***) in node.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see
invocation)

Adding an HAVE_OPENSSL directive around this code allows the build to
pass.

PR-URL: https://github.com/nodejs/node/pull/11618
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Sam Roberts <vieuxtech@gmail.com>
2017-03-02 07:18:42 +01:00
Daniel Bevenius 8e8fbd80d0 test: add support for --gtest_filter
It might be useful to sometimes run a single cctest while debugging/
developing. This commit adds support for Google Test's --gtest_filter
to enable this.

To list the tests available:

$ make list-gtests
UtilTest.
  ListHead
  StringEqualNoCase
  StringEqualNoCaseN
  ToLower
  Malloc
  Calloc
  UncheckedMalloc
  UncheckedCalloc
InspectorSocketTest.
  ReadsAndWritesInspectorMessage
  BufferEdgeCases
  AcceptsRequestInSeveralWrites
  ExtraTextBeforeRequest
  ExtraLettersBeforeRequest
  RequestWithoutKey
  KillsConnectionOnProtocolViolation
  CanStopReadingFromInspector
  CloseDoesNotNotifyReadCallback
  CloseWorksWithoutReadEnabled
  ReportsHttpGet
  HandshakeCanBeCanceled
  GetThenHandshake
  WriteBeforeHandshake
  CleanupSocketAfterEOF
  EOFBeforeHandshake
  Send1Mb
  ErrorCleansUpTheSocket
InspectorSocketServerTest.
  InspectorSessions
  ServerDoesNothing
  ServerWithoutTargets
  ServerCannotStart
  StoppingServerDoesNotKillConnections

Then run a single test:

$ env GTEST_FILTER=InspectorSocketTest.GetThenHandshake make cctest

Note: Google Test filter = InspectorSocketTest.GetThenHandshake
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from InspectorSocketTest
[ RUN      ] InspectorSocketTest.GetThenHandshake
[       OK ] InspectorSocketTest.GetThenHandshake (0 ms)
[----------] 1 test from InspectorSocketTest (0 ms total)

[----------] Global test environment tear-down
[==========] 1 test from 1 test case ran. (0 ms total)
[  PASSED  ] 1 test.

PR-URL: https://github.com/nodejs/node/pull/11474
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: James M Snell <jasnell@gmail.com>
2017-02-23 08:45:16 +01:00
Daniel Bevenius 1b651535a4 src: update http-parser link
I noticed that the link to http-parser is pointing to the joyent
organization. There is a redirect to the nodejs organization but
perhaps this should be updated anyway.

PR-URL: https://github.com/nodejs/node/pull/11477
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2017-02-23 08:30:24 +01:00
Daniel Bevenius aa05209d6d lib: add constant kMaxCallbacksUntilQueueIsShortened
Currently the maximum number of tick is duplicated in two places. This
commit introduces a constant that both can use.

PR-URL: https://github.com/nodejs/node/pull/11199
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
2017-02-16 16:27:12 -08:00
Daniel Bevenius 00679c3779 src: remove unnecessary req_wrap_obj
The req_wrap_obj is only used in one place which is setting up the
arguments for the MakeCallback call. Removing it to simplify the code
somewhat.

PR-URL: https://github.com/nodejs/node/pull/10942
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Brian White <mscdex@mscdex.net>
2017-01-23 09:36:10 -08:00
Daniel Bevenius 974ecb0598 build: sort sources alphabetically
The header files in the sources list are sorted alphabetically but not
the c++ source code files. This commit sorts the c++ source code file
names.

PR-URL: https://github.com/nodejs/node/pull/10892
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: James M Snell <jasnell@gmail.com>
2017-01-20 08:04:02 +01:00
Daniel Bevenius f57dabe412 build: move source files from headers section
Currently, the sources list contains sources and headers which are
separated by a comment. I noticed two .cc files after the headers
comment and this commit moves those files the start of the list
where the rest of source files are.

PR-URL: https://github.com/nodejs/node/pull/10850
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Italo A. Casas <me@italoacasas.com>
2017-01-18 08:22:31 +01:00
Daniel Bevenius 684590fd7a build: add missing src/tracing header files
I noticed that only one header from src/tracing is included in the
sources list in node.gyp. Not sure if this is intentional or not so I
wanted to bring it up just in case this was overlooked.

PR-URL: https://github.com/nodejs/node/pull/10851
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Italo A. Casas <me@italoacasas.com>
2017-01-18 08:13:16 +01:00
Daniel Bevenius 6d3c5b78c8 src: reduce test_inspector_socket_server output
Currently, when test/cctest/test_inspector_socket_server.cc is run there
is output written to stderr by src/inspector_socket_server.cc which is
interleaved with the gtest report:

Debugger listening on port 9229.
Warning: This is an experimental feature and could change at any time.
To start debugging, open the following URLs in Chrome:
  ...

The goal of this commit is to remove the above logged information
by introducing an out_ member in the InspectorSocketServer class
which defaults to stderr (keeping the current behavior).

Setting out_ to NULL is supported in which case nothing will be written
and is what the test has been configured with. When working on specific
test case the appropriate output stream can be specified for the
ServerHolder constructor to limit logging to that test case.

PR-URL: https://github.com/nodejs/node/pull/10537
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Eugene Ostroukhov <eostroukhov@google.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2017-01-06 20:13:12 +01:00
Daniel Bevenius a8137dd06d tools: add macosx-firwall script to avoid popups
Currently, there are a number of popups that get displayed when running
the tests asking to accept incoming network connections. Rules can be
added manually to the socket firewall on Mac OS X but getting this right
might not be obvious and quite a lot of time can be wasted trying to get
the rules right. This script hopes to simplify things a little so that
it can be re-run when needed.

The script should be runnable from both the projects root directory and
from the tools directory, for example:
$ sudo ./tools/macosx-firewall.sh

Fixes: https://github.com/nodejs/node/issues/8911
PR-URL: https://github.com/nodejs/node/pull/10114
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2016-12-09 08:31:08 +01:00
Daniel Bevenius 22e2c47f42 build: fix node_g target
Currently when running make node_g the following error is displayed:
if [ ! -r node -o ! -L  ]; then ln -fs out/Debug/node node_g; fi
/bin/sh: line 0: [: argument expected

It looks like there was a typo for the NODE_EXE where node became
lowercase instead of uppercase.

Ref: https://github.com/nodejs/node/pull/9827
PR-URL: https://github.com/nodejs/node/pull/10153
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Italo A. Casas <me@italoacasas.com>
2016-12-07 16:58:58 +01:00
Daniel Bevenius 367065be4b doc: make comment indentation consistent
Currently, some of the docs use different indentation for comments
in the code examples. This commit makes the indentation consistent
by putting the comments at the beginning of the line (really no
indentation that is).

PR-URL: https://github.com/nodejs/node/pull/9518
Reviewed-By: Teddy Katz <teddy.katz@gmail.com>
Reviewed-By: Roman Reiss <me@silverwind.io>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
2016-11-16 07:52:57 +01:00
Daniel Bevenius bd83422a71 doc: fix minor style issue in code examples
I've noticed that a few of the code examples have an minor
indentation issue with the first line, for example:

https://nodejs.org/api/child_process.html#child_process_child_process
This commit attempt to fix this issue by using the solution provided
provided by silverwind and hiendv.

Fixes: https://github.com/nodejs/node/issues/9381
PR-URL: https://github.com/nodejs/node/pull/9482
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Roman Reiss <me@silverwind.io>
2016-11-11 21:09:20 +01:00
Daniel Bevenius 5734361d45 doc: fix link to cli.md in vm.md
Looks like the link to cli.md is missing in vm.md:
https://nodejs.org/api/vm.html#vm_vm_runindebugcontext_code

Added the link which can be verified by using the following commands:
$ make doc
$ open out/doc/api/vm.html

PR-URL: https://github.com/nodejs/node/pull/9481
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2016-11-08 20:30:28 +01:00
Daniel Bevenius a504516782 build: add MAKEFLAGS="-j1" to node-gyp
Currently, when building the addons the following warning is displayed:
make[2]: warning: jobserver unavailable: using -j1.  Add `+' to parent
make rule.

Adding the MAKEFLAGS="-j1" to avoid the warning.

Also updated the log message to say that it is building the addon and
not running the test as I think that is more accurate.

PR-URL: https://github.com/nodejs/node/pull/9450
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2016-11-07 13:37:35 +01:00
Daniel Bevenius bc229d0867 build: reduce noise from doc target
The doc target currently echos the complete shell command, which might
produces a lot of output. Using this change the actual commands run
are still shown.

Before:
[ -e tools/doc/node_modules/js-yaml/package.json ] || \
        [ -e tools/eslint/node_modules/js-yaml/package.json ] || \
        if [ -x ./node ]; then \
            cd tools/doc && ../.././node ../.././deps/npm/bin/npm-cli.js
install; \
        else \
            cd tools/doc && node ../.././deps/npm/bin/npm-cli.js
install; \
        fi
[ -x ./node ] && ./node tools/doc/generate.js --node-version=v8.0.0
--format=html --template=doc/template.html doc/api/assert.md >
out/doc/api/assert.html || node tools/doc/generate.js
--node-version=v8.0.0 --format=html --template=doc/template.html
doc/api/assert.md > out/doc/api/assert.html
Input file = doc/api/assert.md

After:
[ -x ./node ] && ./node tools/doc/generate.js --node-version=v8.0.0
--format=html --template=doc/template.html doc/api/assert.md >
out/doc/api/assert.html || node tools/doc/generate.js
--node-version=v8.0.0 --format=html --template=doc/template.html
doc/api/assert.md > out/doc/api/assert.html
Input file = doc/api/assert.md

To verify run:
$ make docclean
$ make doc

PR-URL: https://github.com/nodejs/node/pull/9457
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: James Snell <jasnell@gmail.com>
2016-11-07 13:22:03 +01:00
Daniel Bevenius 690bdede13 test: fix lint error regarding unused commons const
Currently, make lint is failing with the following error:
3:7  error  'common' is assigned a value but never used  no-unused-vars
✖ 1 problem (1 error, 0 warnings)

PR-URL: https://github.com/nodejs/node/pull/9334
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
2016-10-28 12:55:21 +02:00
Daniel Bevenius 09d41e22cc test: rename target to exports for consistency
The doc/api/addons.md document contains examples of Addon
Initialization functions that take a parameter named exports.
This also matches the name used in node.cc when calling:
mp->nm_register_func(exports, module, mp->nm_priv);

Currently, a number of the tests name this same parameter target. This
commit renames target to exports for consistency.

PR-URL: https://github.com/nodejs/node/pull/9135
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2016-10-19 19:57:02 +02:00
Daniel Bevenius 9bb250ba34 test: enable node-module-version/test.js with debug
Commit fdca79fbc0 ("test: enable addons
test to pass with debug build") enabled the addons tests to pass when
the build type is of type debug (configure --debug).

test/addons/node-module-version/test.js was recently added and expects
the the build type to be of type Release (like most of the others until
recently). This commit allows this test to pass when the build type if
of type debug.

PR-URL: https://github.com/nodejs/node/pull/9093
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2016-10-17 09:53:28 +02:00
Daniel Bevenius 0ed6338016 build: fix config.gypi target
The config.gypi target has a recipe that uses the control function error
to report if the config.gypi file is missing or if it is stale (the
configure file was updated which is a prerequisite of this rule).

GNU make has two phases, immediate and deferred. During the first phase
 it will expand any variables or functions as the makefile is parsed.
The recipe in this case is a shell if statement, which is a deferred
construct. But the control function $(error) is an immediate construct
which will cause the makefile processing to stop during the first phase
of the Make process.

If I understand this correctly the only possible outcome of this rule is
the "Stale config.gypi, please re-run ./configure"  message which will
be done in the first phase and then exit. The shell condition will not
be considered. So it will never report that the config.gypi is missing.

bnoordhuis suggested that we simply change this into a single error
message:
"Missing or stale config.gypi, please run configure"

PR-URL: https://github.com/nodejs/node/pull/9053
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
2016-10-14 07:38:45 +02:00
Daniel Bevenius 1bfa02639c src: remove out-of-date TODO comment
This commit attempts to fix one of the items in
https://github.com/nodejs/node/issues/4641, which was to remove a
TODO the UDPWrap::OnSend function and share the code in that method with
StreamWrap::AfterWrite.

While looking into this addaleax pointed out that the implementations
for these two functions have diverged since the original comment
was added:

$ git log --pretty=short -u -L 357,357:src/udp_wrap.cc

$ git show cbd4033619cc45abdf878285c412bac9c3f36e4e:src/udp_wrap.cc |
grep -1 -A26 'UDPWrap::OnSend'

git show cbd4033619cc45abdf878285c412bac9c3f36e4e:src/stream_wrap.cc |
grep -A27 'void StreamWrap::AfterWrite'

Removing the TODO comment seems appropriate in this case.

PR-URL: https://github.com/nodejs/node/pull/9000
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2016-10-10 08:45:52 -07:00
Daniel Bevenius fdca79fbc0 test: enable addons test to pass with debug build
Currently when running configure with the --debug option in combination
with the tests (./configure --debug && make -j8 test) there are a few
addon tests that fail with error messages similar to this:

=== release test ===
Path: addons/load-long-path/test
fs.js:558
  return binding.open(pathModule._makeLong(path), stringToFlags(flags),
mode);
                 ^

Error: ENOENT: no such file or directory, open
'/nodejs/node/test/addons/load-long-path/build/Release/binding.node'
    at Object.fs.openSync (fs.js:558:18)
    at Object.fs.readFileSync (fs.js:468:33)
    at Object.<anonymous>
(/nodejs/node/test/addons/load-long-path/test.js:28:19)
    at Module._compile (module.js:560:32)
    at Object.Module._extensions..js (module.js:569:10)
    at Module.load (module.js:477:32)
    at tryModuleLoad (module.js:436:12)
    at Function.Module._load (module.js:428:3)
    at Module.runMain (module.js:594:10)
    at run (bootstrap_node.js:382:7)
Command: out/Release/node
/nodejs/node/test/addons/load-long-path/test.js

This commit allows for the tests to pass even if the configured build
type is of type debug.

PR-URL: https://github.com/nodejs/node/pull/8836
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Ilkka Myller <ilkka.myller@nodefield.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2016-10-06 10:27:30 -07:00
Daniel Bevenius 3c5cf12709 test: add and assert readable/writable arguments
Currently the readable and writable arguments are not specified in the
req.oncomplete method. Adding and asserting that they are always true
(which is always the case for TCP). This might seem unnecessary but it
can't hurt to have them to pickup any breaking modifications made to
ConnectionWrap::AfterConnect in the future.

PR-URL: https://github.com/nodejs/node/pull/8815
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-10-02 07:09:18 +02:00
Daniel Bevenius 6e62b71688 src: add missing length argument to send comment
The list.length argument is missing from the comment and just adding
this for clarity.

PR-URL: https://github.com/nodejs/node/pull/8816
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Ilkka Myller <ilkka.myller@nodefield.com>
2016-09-30 09:35:36 -07:00
Daniel Bevenius 4f832ebaf6 src: fix minor typo in comments
Correcting a couple of minor spelling typos in comments.

PR-URL: https://github.com/nodejs/node/pull/8736
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Ilkka Myller <ilkka.myller@nodefield.com>
2016-09-24 21:09:43 +02:00
Daniel Bevenius 6be43a9bad src: rename handle__ to handle_ in HandleWrap
Commit 46633934fe (src: pull
OnConnection from pipe_wrap and tcp_wrap) removed the private handle_
member from TCPWrap which should allow us to rename the private
handle__ member in HandleWrap.

PR-URL: https://github.com/nodejs/node/pull/8712
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ilkka Myller <ilkka.myller@nodefield.com>
2016-09-24 21:01:49 +02:00
Daniel Bevenius 0c6455278d src: make ReqWrap req_ member private
This commit attempts to address one of the items in
https://github.com/nodejs/node/issues/4641 which is
related to src/req-wrap.h and making the req_ member private.

PR-URL: https://github.com/nodejs/node/pull/8532
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
2016-09-23 08:46:06 +02:00
Daniel Bevenius 84eaa4aff3 src: remove unused StringValue macro parameters
Currently, there are a few places where macro functions passed to the
PER_ISOLATE_PRIVATE_SYMBOL_PROPERTIES and
PER_ISOLATE_STRING_PROPERTIES macros, don't use the StringValue parameter.

This commit removes the StringValue parameter where it is not used.

PR-URL: https://github.com/nodejs/node/pull/7905
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
2016-09-23 07:34:57 +02:00
Daniel Bevenius 83a354c33b src: pull AfterConnect from pipe_wrap and tcp_wrap
This commit attempts to address one of the items in
https://github.com/nodejs/node/issues/4641 which is related to
src/pipe_wrap.cc and src/tcp_wrap.cc.

Currently both pipe_wrap.cc and tcp_wrap.cc contain an AfterConnect
function that are almost identical. This commit extracts this function
into ConnectionWrap so that that both can share it.

PR-URL: https://github.com/nodejs/node/pull/8448
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
2016-09-11 14:48:56 +02:00
Daniel Bevenius da0651ac1b vm: change ContextifyScript to Script in comment
Reading the comment at the top of the vm.js, I think that
ContextifyScript should perhaps just be Script.

PR-URL: https://github.com/nodejs/node/pull/8415
Reviewed-By: Prince John Wesley <princejohnwesley@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Franziska Hinkelmann <franzih@chromium.org>
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-09-08 08:41:23 +02:00
Daniel Bevenius 8afde12dd3 src: update f function call comment
Commit a01e8bc (src: moving f function call comment, 2016-09-04) moved
a comment to be closer to the place in the code it was describing.
While working on this there was feedback on the comment
itself:
https://github.com/nodejs/node/commit/
a01e8bcf189bd598d496f347f60007bc2211e528#comments

This PR includes the suggestions in the above comments.

PR-URL: https://github.com/nodejs/node/pull/8416
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Franziska Hinkelmann <franzih@chromium.org>
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-09-07 10:04:36 +02:00
Daniel Bevenius a01e8bcf18 src: moving f function call comment
The comment about calling the f function seems to have drifted
a little. Moving it to be closer to the actual call.

PR-URL: https://github.com/nodejs/node/pull/8405
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2016-09-05 08:07:28 +02:00
Daniel Bevenius 56414b54d9 doc: adding danbev to collaborators
PR-URL: https://github.com/nodejs/node/pull/8359
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: Jeremiah Senkpiel <Fishrock123@rocketmail.com>
2016-08-31 18:38:56 +02:00
Daniel Bevenius 0441f2adb4 src: updating references to the old node.js file
The node.js script was renamed to bootstrap_node.js as part of
81b6882e51. Several comments were
missed in src/node.cc that referred to the old file name.

This commit updates the comments to refer to bootstrap_node.js and
correct the path to this file where used.
It also moves a comment that seems to have drifted in the file.

PR-URL: https://github.com/nodejs/node/pull/8092
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Brian White <mscdex@mscdex.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-08-17 18:34:54 -07:00
Daniel Bevenius eeaff74af2 build: adding config.gypi dep to addons/.buildstamp
Currently the build-addons target is called as part of the
test target, and it has test/addons/.buildstamp as a dependency.
When running ./configure --debug and later switching/
updating branches you can be in a situation where the config.gypi
files in the addons build directories are using an incorrect
value for default_configuration. Currently this can happen and you
will get test errors as there are a few test that depend on the
value of default_configuration to be Release.

Ben Noordhuis provided the solution for this by adding a dependency to
config.gypi, which is generated when running ./configure, and will
correct this situation.

This commit is related to #7860. Please see the dicussion in that
issue regarding the test using hard-coded paths.

PR-URL: https://github.com/nodejs/node/pull/7893
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2016-08-01 10:57:44 -07:00
Daniel Bevenius b896057109 src: unifying PipeConnectWrap and TCPConnectWrap
This commit attempts to address one of the items in #4641 which is
related to src/pipe_wrap.cc and src/tcp_wrap.cc. Currently both
pipe_wrap.cc and tcp_wrap.cc contain a class that are almost
identical. This commit extracts these parts into a separate class
that both can share.

PR-URL: https://github.com/nodejs/node/pull/7501
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
2016-07-28 18:00:00 +02:00
Daniel Bevenius 46633934fe src: pull OnConnection from pipe_wrap and tcp_wrap
One of the issues in #4641 concerns OnConnection in pipe_wrap and
tcp_wrap which are very similar with some minor difference in how
they are coded. This commit extracts OnConnection so both these
classes can share the same implementation.

PR-URL: https://github.com/nodejs/node/pull/7547
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2016-07-25 09:50:51 +02:00
Daniel Bevenius 02afb057b5 doc: fixing minor typo in AtExit hooks section
PR-URL: https://github.com/nodejs/node/pull/7485
Reviewed-By: Brian White <mscdex@mscdex.net>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
2016-06-30 07:34:56 +02:00
Daniel Bevenius 561548702e src: renaming ares_task struct to node_ares_task
This commit attempts to fix one of the items in
https://github.com/nodejs/node/issues/4641, which was to remove a TODO
comment from env.h regarding the naming of the ares_task_t struct.

Also, the struct ares_task_list was renamed to node_ares_task_list
following the same reasoning that is does not belong to the c-ares API.

PR-URL: https://github.com/nodejs/node/pull/7345
Reviewed-By: Brian White <mscdex@mscdex.net>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2016-06-27 13:33:09 -07:00
Daniel Bevenius 81b6882e51 src: rename "node" script to "bootstrap_node"
This commit updates the node.js script name to reflect its
actual name, which is now bootstrap_node.js. This commit also
fixes the requisite message tests, and relocates a comment
which seems to have drifted.

PR-URL: https://github.com/nodejs/node/pull/7277
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Brian White <mscdex@mscdex.net>
2016-06-17 14:14:27 -04:00