0
0
mirror of https://github.com/nodejs/node.git synced 2024-12-01 16:10:02 +01:00
Commit Graph

424 Commits

Author SHA1 Message Date
Jeremiah Senkpiel
88804b84ec test: test TTY problems by fakeing a TTY using openpty
Many thanks to thefourtheye and addaleax who helped make the python
bits of this possible.

See https://github.com/nodejs/node/issues/6980 for more info regarding
the related TTY issues.

Refs: https://github.com/nodejs/node/issues/6456
Refs: https://github.com/nodejs/node/pull/6773
Refs: https://github.com/nodejs/node/pull/6816
PR-URL: https://github.com/nodejs/node/pull/6895
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
2016-06-01 18:59:01 -04:00
Robert Jefe Lindstaedt
c111cf207a doc: make doc-only -> fallback to user binary
After the #3888 it was not possible to "make doc-only"
in some situations. This now fallsback to any installed
node version and throws "node not found" in error case.

Ref: https://github.com/nodejs/node/pull/3888

PR-URL: https://github.com/nodejs/node/pull/6906
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
2016-05-23 23:38:26 +02:00
Lance Ball
99bf6face5 build: update build-addons when node-gyp changes
We can tell when `node-gyp` is changed by creating a prerequisite on
`deps/npm/node_modules/node-gyp/package.json`. The prerequisite is added
to the `test/addons/.buildstamp` since `build-addons` is .PHONY.

Testing for this change was entirely manual.

  $ make clean test-build # Initial build
  $ make test-build # Make sure build-addons doesn't rebuild
  $ touch deps/npm/node_modules/node-gyp/package.json # simulate change
  $ make test-build # Ensure build-addons rebuilds

PR-URL: https://github.com/nodejs/node/pull/6787
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2016-05-20 12:44:27 +02:00
Myles Borins
5d64ff4f67 tools: do not build addons during compilation
The current makefile runs both `cctest` and `build-addons` in parallel
under the assumption that both rely on `all`. Unfortunately
`build-addons` does not rely on all, and there is an edge case where
by it is possible to call `build-addons` while compilation is still
happening.

This patch takes the simplest route by forcing `build-addons` and
`cctest` to run in sequence like the other test targets. This ensures
that `build-addons` will never be run during compilation.

It would be possible to modify `build-addons` to rely on `all` but it
would be a much more aggressive change to the MAKEFILE for a fairly
minor perf bump, as cctest is so fast.

PR-URL: https://github.com/nodejs/node/pull/6723
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2016-05-13 14:10:03 -07:00
Richard Lau
830a726cff build: fix DESTCPU detection for binary target
`make binary` attempts to auto detect DESTCPU if not set, but was
assuming being on an Intel architecture.

PR-URL: https://github.com/nodejs/node/pull/6310
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
2016-05-13 10:27:59 -04:00
hefangshi
25f8d04525
test: pass python path to node-gyp
node-gyp rebuild should use the same python interpreter as in Makefile
rather than let node-gyp guess the python path by itself.

PR-URL: https://github.com/nodejs/node/pull/6646
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
2016-05-12 14:41:54 +02:00
Jesse McCarthy
101dd1ed78 build: add Make doc-only target
Allows building just docs using existing Node instead of building Node
first.

PR-URL: https://github.com/nodejs/node/pull/3888
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
2016-05-10 10:38:28 -07:00
Ben Noordhuis
0ea4855546 build,test: fix build-addons dependency chain
* Make the 'extract embedded addons in the documentations' step a normal
  prerequisite.  As an order-only prerequisite, it's sometimes skipped
  when it shouldn't be.

* Make `tools/doc/addon-verify.js` a dependency of that step.  Changes
  to that file should result in a rebuild.

PR-URL: https://github.com/nodejs/node/pull/6652
Reviewed-By: Anna Henningsen <anna@addaleax.net>
2016-05-10 17:11:54 +02:00
Rich Trott
5d0b1f4ffa test: run known_issues tests in CI
Add `known_issues` tests to `make test` and `make test-ci` targets and
their equivalents on Windows.

PR-URL: https://github.com/nodejs/node/pull/6559
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
2016-05-06 15:14:38 -07:00
Ben Noordhuis
628ae25795 test: make addon testing part of make test
Otherwise it's too easy to miss breaking changes to node.h and other
public headers until the CI catches them.  `vcbuild test` tests addons
so there is precedence.

PR-URL: https://github.com/nodejs/node/pull/6232
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
2016-05-02 07:38:52 +02:00
Johan Bergström
62c31fe392 build: use shorthand lint target from test
Instead of invoking jslint/cpplint from the test target,
call on the generic lint instead since it checks if eslint
exists. Since our tarballs lacks eslint we now get a more graceful
exit from `make test` instead of a traceback from jslint.

PR-URL: https://github.com/nodejs/node/pull/6406
Fixes: https://github.com/nodejs/node/issues/6408
Reviewed-By: Ryan Graham <r.m.graham@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-04-30 20:18:44 +10:00
Ian Kronquist
2e845f8501
tools: add tests for the doctool
* Test the toHTML function in html.js. Check that given valid markdown
  it produces the expected html. One test case will prevent regressions
  of #5873.
* Check that when given valid markdown toJSON produces valid JSON with
  the expected schema.
* Add doctool to the list of built in tests so it runs in CI.

PR-URL: https://github.com/nodejs/node/pull/6031
Fixes: https://github.com/nodejs/node/issues/5955
Reviewed-By: Roman Reiss <me@silverwind.io>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2016-04-29 00:45:49 +02:00
Brian White
be54989987
build: exclude tap files from tarballs
PR-URL: https://github.com/nodejs/node/pull/6348
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Minwoo Jung <jmwsoft@gmail.com>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
2016-04-28 11:26:36 -04:00
Sakthipriyan Vairamani
6781d917f4 tools: rewrite check-install.sh in python
As it is, check-install.sh does not show more helpful error messages,
and supporting various shells could be a problem. This patch rewrites
the same in Python.

This patch also enables check-imports.py in the linting process

PR-URL: https://github.com/nodejs/node/pull/6105
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-04-25 19:22:50 +05:30
Robert Jefe Lindstaedt
0800c0aa72 doc: git mv to .md
* doc: rename .markdown references in content
* doc: rename to .md in tools
* doc: rename to .md in CONTRIBUTING.md

PR-URL: https://github.com/nodejs/node/pull/4747
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: techjeffharris
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
2016-04-20 16:34:27 -07:00
Gibson Fahnestock
7fc4b31051 build: fix make tar-headers for Linux
The tar-headers target tries to find and delete links in the
tar folder, which fails as no links are found. Use rm -f to
avoid this.

Remove the config.gypi dependency, as the target runs configure
itself.

PR-URL: https://github.com/nodejs/node/pull/5978
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-04-19 22:48:15 -04:00
Johan Bergström
f49a1d0501 build: allow test-ci to run tests in parallel
Run tests in parallel if the environment variable JOBS
(which should contain a number of parallel jobs) is set.

PR-URL: https://github.com/nodejs/node/pull/6208
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2016-04-16 10:14:44 +09:00
Brian White
81fd4581b9
tools: improve js linter
This commit switches from the eslint command-line tool to a custom
tool that uses eslint programmatically in order to perform linting
in parallel and to display linting results incrementally instead of
buffering them until the end.

Fixes: https://github.com/nodejs/node/issues/5596
PR-URL: https://github.com/nodejs/node/pull/5638
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
2016-04-15 00:40:02 -04:00
Johan Bergström
8dcb82db38 build: introduce ci targets for lint/benchmark
Introduce two new targets we will populate with actions
once merged into all branches we need to support through CI.

PR-URL: https://github.com/nodejs/node/pull/5921
Reviewed-By: Brian White <mscdex@mscdex.net>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: João Reis <reis@janeasystems.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-04-01 09:36:01 -07:00
Michael Dawson
a4c4a852a9 build: enable compilation for linuxOne
Changes to Node core in order to allow compilation for linuxOne.

The ../archs/linux32-s390x/opensslconf.h and
../archs/linux64-s390x/opensslconf.h were automatically
generated by running make linux-ppc linux-ppc64 in the
deps/openssl/config directory as per our standard
practice

After these changes we still need a version of v8
which supports linuxOne but that will be coming soon
in the 5.1 version of v8.  Until then with these changes
we'll be able to create a hybrid build which pulls in
v8 from the http://github/andrewlow repo.

PR-URL: https://github.com/nodejs/node/pull/5941
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2016-03-29 18:52:48 -04:00
Johan Bergström
90a5fc20be build: remove lint/dotfiles from release tarball
This removes the ability to run linting from the source tarball,
rationale being that developers should use a git clone instead.

Also, fix the path of removing artifacts from the openssl dependency
since it now lives in `deps/openssl/openssl/`.

Tarballs shrink with ~10%.

PR-URL: https://github.com/nodejs/node/pull/5695
Fixes: https://github.com/nodejs/node/issues/5618
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: thefourtheye <thechargingvolcano@gmail.com>
Reviewed-By: James Snell <jasnell@gmail.com>
2016-03-16 23:45:49 +11:00
Johan Bergström
7f586c090a build: don't install github templates
Avoid putting github templates in the source tarballs.

PR-URL: https://github.com/nodejs/node/pull/5612
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2016-03-10 10:28:17 +11:00
Rich Trott
89d5379dac Revert "build: run lint before tests"
This reverts commit d9f7a597e4.

Changes here probably need wider discussion so revert the change until
that can happen.

PR-URL: https://github.com/nodejs/node/pull/5602
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: Michaël Zasso <mic.besace@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2016-03-08 13:54:09 -08:00
cjihrig
32e1f9d0b5 tools: support testing known issues
This commit adds a known_issues directory to the test directory
for scripts that reproduce known bugs. Since these scripts are
expected to fail, it also adds a --expect-fail flag to test.py
which reports tests as successful when they fail.

Refs: https://github.com/nodejs/testing/issues/18
PR-URL: https://github.com/nodejs/node/pull/5528
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Wyatt Preul <wpreul@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2016-03-04 08:50:42 -05:00
Ali Ijaz Sheikh
8cf94006c9 build: do not ignore errors during build-addons
Errors during build-addons were being silently ignored.

PR-URL: https://github.com/nodejs/node/pull/5494
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: targos - Michaël Zasso <mic.besace@gmail.com>
2016-03-03 20:35:20 -08:00
Rich Trott
6d22003757 tools: enable linting for benchmarks
PR-URL: https://github.com/nodejs/node/pull/5517
Reviewed-By: Brian White <mscdex@mscdex.net>
Reviewed-By: Michaël Zasso <mic.besace@gmail.com>
Reviewed-By: Evan Lucas <evanlucas@me.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-03-03 09:53:39 -08:00
firedfox
9beb36ad98 build: remove --quiet from eslint invocation
All eslint rules are configured to report as errors. Remove useless
--quiet flag from eslint invocation in Makefile and vcbuild.bat.

PR-URL: https://github.com/nodejs/node/pull/5519
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Michaël Zasso <mic.besace@gmail.com>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Roman Reiss <me@silverwind.io>
2016-03-02 18:40:59 +01:00
Michael Dawson
32a2a6049d test: allow options for v8 testing
Allow extra options when testing v8 in Node tree

PR-URL: https://github.com/nodejs/node/pull/5502
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2016-03-01 18:09:20 -05:00
Rich Trott
d9f7a597e4 build: run lint before tests
Have `make test` run linting tools before tests rather than after. Lint
is likely to find issues quickly. Tests may take a while to run. So do
the linting first.

Refs: https://github.com/nodejs/node/issues/4546#issuecomment-189755007
PR-URL: https://github.com/nodejs/node/pull/5470
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: Evan Lucas <evanlucas@me.com>
2016-03-01 14:02:26 -08:00
Bryon Leung
cd720f816a test: run v8 tests from node tree
Ported by exinfinitum from a PR by jasnell:
see https://github.com/nodejs/node-v0.x-archive/pull/14185

Allows the running of v8 tests on node's packaged v8 source code.

Note that the limited win32 support added by jasnell has NOT been ported,
and so these tests are currently UNIX ONLY.

Note that gclient depot tools
(see https://commondatastorage.googleapis.com/
chrome-infra-docs/flat/depot_tools/docs/html/
depot_tools_tutorial.html#_setting_up) and subversion are required
to run tests.

To perform tests, run the following commands:

make v8 DESTCPU=(ARCH)
make test-v8 DESTCPU=(ARCH)

where (ARCH) is your CPU architecture, e.g. x64, ia32.
DESTCPU MUST be specified for this to work properly.

Can also do tests on debug build by using "make test-v8 DESTCPU=(ARCH)
BUILDTYPE=Debug", or perform intl or benchmark tests via make
test-v8-intl or test-v8-benchmarks respectively.

Note that by default, quickcheck and TAP output are disabled, and i18n
is enabled. To activate these options, use options"QUICKCHECK=True" and
"ENABLE_V8_TAP=True" respectively.

Use "DISABLE_V8_I18N" to disable i18n.

Use V8_BUILD_OPTIONS to allow custom user-defined flags to be
appended onto "make v8".

Any tests performed after changes to the packaged v8 file will require
recompiling of v8, which can be done using "make v8 DESTCPU=(ARCH)".

Finally, two additional files necessary for one of the v8 tests have
been added to the v8 folder.

PR-URL: https://github.com/nodejs/node/pull/4704
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: targos - Michaël Zasso <mic.besace@gmail.com>
2016-02-11 13:07:03 -05:00
Johan Bergström
f167207d0e build: treat aarch64 as arm64
`Makefile` is now consistent with `configure` regarding
how we treat aarch64.

PR-URL: https://github.com/nodejs/node/pull/5191
Fixes: https://github.com/nodejs/node/issues/5175
Reviewed-By: Rod Vagg <r@va.gg>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2016-02-11 21:55:51 +11:00
Rich Trott
2d89d3d1e6 tools: apply linting to doc tools
Apply eslint rules to `tools/doc`.

PR-URL: https://github.com/nodejs/node/pull/4973
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Roman Reiss <me@silverwind.io>
2016-02-01 23:40:41 -08:00
Matteo Collina
137f53c7b7 dgram: support dgram.send with multiple buffers
Added ability to dgram.send to send multiple buffers, _writev style.
The offset and length parameters in dgram.send are now optional.
Refactored the dgram benchmarks, and seperated them from net.
Added docs for the new signature.

Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
Fixes: https://github.com/nodejs/node/issues/4302
PR-URL: https://github.com/nodejs/node/pull/4374
2016-01-29 19:26:44 +01:00
Stefan Budeanu
bf1237921c build: Add VARIATION variable to binary target
If the VARIATION variable is present, then make binary will produce archives
named node-$(FULLVERSION)-$(PLATFORM)-$(ARCH)-$(VARIATION).

PR-URL: https://github.com/nodejs/node/pull/4631
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
2016-01-21 16:28:23 +11:00
Rod Vagg
3727ae0d7d test: use addon.md block headings as test dir names
instead of doc-*

PR-URL: https://github.com/nodejs/node/pull/4412
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
2016-01-14 22:04:05 +11:00
Michaël Zasso
4d5ee7a512 tools: update eslint config
The no-reserved-keys rule doesn't exist anymore and we don't need ES3
compatibility.
escape and unescape are now known by eslint.
--reset flag was removed and it is now the default behavior.

PR-URL: https://github.com/nodejs/io.js/pull/2286
Reviewed-By: Roman Reiss <me@silverwind.io>
2016-01-13 23:15:58 +01:00
Jackson Tian
3e740caaf3 util: faster arrayToHash
The `util.format()` is used frequently, make the method faster
is better.

R-URL: https://github.com/nodejs/node/pull/3964
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Brian White <mscdex@mscdex.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
2015-12-30 11:54:26 -08:00
Stefan Budeanu
181816ea16 crypto: fix native module compilation with FIPS
Prevent OpenSSL's fipsld from being used to link native modules
because this requires the original OpenSSL source to be
available after Node's installation.

Fixes: https://github.com/nodejs/node/issues/3815
PR-URL: https://github.com/nodejs/node/pull/4023
Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: Shigeki Ohtsu <ohtsu@iij.ad.jp>
2015-12-03 15:34:51 +09:00
Steven R. Loomis
01908d0a9a build: Intl: deps: bump ICU to 56.1 (GA)
* ICU 56 was just released yesterday. Update to it.
* Notable changes: Unicode 8, CLDR 28, 2-3x number format perf,
  20% improvement in Collator startup
  * more at http://site.icu-project.org/download/56 or in #2917

Also:

* cleanup out/**/*.d and deps/icu  on "make clean"
* cleanup deps/icu on "vcbuild clean"

When building from an non-clean directory, it's important to
run `make clean` or `vcbuild clean` to remove the existing
ICU 55 from the deps path before building.

Fixes: https://github.com/nodejs/node/issues/2917
PR-URL: https://github.com/nodejs/node/pull/3281
Reviewed-By: James M Snell <jasnell@gmail.com>
2015-10-08 14:20:36 -07:00
Rich Trott
dbce29a3ac tools: apply linting to custom rules code
Apply our eslint rules to the code for our custom eslint rules.

Eslint Inception! Maybe. I never saw that movie...

PR-URL: https://github.com/nodejs/node/pull/3195
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Roman Reiss <me@silverwind.io>
2015-10-06 15:05:38 -07:00
Sakthipriyan Vairamani
467eff2a53 build: clean up the generated tap file
Make `make clean` cleanup the generated tap file as well.

Fixes: #2834

PR-URL: #2837
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Alexis Campailla <orangemocha@nodejs.org>
2015-09-15 10:18:33 +05:30
Rod Vagg
d65106e307 build: fix .pkg creation tooling
PR-URL: https://github.com/nodejs/node/pull/2687
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
2015-09-06 21:38:09 +10:00
Rod Vagg
5169b51650 build: set file permissions before uploading
PR-URL: https://github.com/nodejs/node/pull/2623
Reviewed-By: jbergstroem - Johan Bergström <bugs@bergstroem.nu>
2015-09-01 08:48:01 -04:00
Rod Vagg
6dfbd11d8d build: change staging directory on new server
new server has "nodejs" and "iojs" directories, upload to the
appropriate one

PR-URL: https://github.com/nodejs/node/pull/2623
Reviewed-By: jbergstroem - Johan Bergström <bugs@bergstroem.nu>
2015-09-01 08:48:00 -04:00
Rod Vagg
b236a352f1 build: rename 'doc' directory to 'docs' for upload
to match nodejs.org directory name

PR-URL: https://github.com/nodejs/node/pull/2623
Reviewed-By: jbergstroem - Johan Bergström <bugs@bergstroem.nu>
2015-09-01 08:48:00 -04:00
Alexis Campailla
e822a4b783 test: pass args to test-ci via env variable
PR-URL: https://github.com/nodejs/node/pull/2424
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: João Reis <reis@janeasystems.com>
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
2015-08-27 05:49:46 +02:00
Alexis Campailla
6195b46ed8 test: support flaky tests in test-ci
Adding support for specifying flaky test mode to
the test runner:
- via an environment variable FLAKY_TESTS for Makefile
- via an argument ignore-flaky for vcbuild.bat

Ported from 2d2494cf14

PR-URL: https://github.com/nodejs/node/pull/2424
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: João Reis <reis@janeasystems.com>
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
2015-08-27 05:49:37 +02:00
Ben Noordhuis
1aa9d3a2ab build: make ci test addons in test/addons
Make `make test-addons` part of the `make test-ci` target.

Use order-only prerequisites to make generating and building the add-ons
concurrency-safe when $JOBS > 1 and fudge the dependency on $(NODE_EXE)
so that add-ons are only rebuilt when needed instead of all the time.

PR-URL: https://github.com/nodejs/node/pull/2428
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Rod Vagg <rod@vagg.org>
2015-08-25 12:03:57 +02:00
cjihrig
a69ab27ab4 node: rename from io.js to node
This commit replaces instances of io.js with Node.js, based on the
recent convergence. There are some remaining instances of io.js,
related to build and the installer.

Fixes: https://github.com/nodejs/node/issues/2361
PR-URL: https://github.com/nodejs/node/pull/2367
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: João Reis <reis@janeasystems.com>
2015-08-23 17:59:43 -04:00
Ben Noordhuis
8f4022e44b test: lint addon tests
Add files in test/addon to the `make cpplint` rule and fix up existing
style issues.  Tests scraped from doc/api/addon.md are filtered out
because those are predominantly for illustrative purposes.

PR-URL: https://github.com/nodejs/node/pull/2427
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
2015-08-18 21:27:43 +02:00
Steven R. Loomis
27813339cf build: intl: converge from joyent/node
* turn on small-icu by default for builds (Makefile+Windows)
* add license info from ICU
  http://source.icu-project.org/repos/icu/icu/trunk/license.html
  All text pasted. Long lines wrapped. (original is HTML.)

Port from joyent/node of:
* https://github.com/nodejs/node/issues/26
 * port of joyent/node 67f87a743d
* https://github.com/joyent/node/pull/9038
 * Merge from joyent/node 70d04e7f35
 * Merge from joyent/node 6168fe6720
 * merge from joyent/node e67073256d

PR-URL: https://github.com/nodejs/node/pull/2264
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
Fixes: https://github.com/nodejs/node/issues/238
2015-08-13 08:30:01 -07:00
Michael Dawson
b4226e797a build: first set of updates to enable PPC support
These are the core changes that allow pLinux BE/LE compile. They
don't include all of the changes needed for AIX which will follow
once we have pLinux up and running in the builds

PR-URL: https://github.com/nodejs/io.js/pull/2124
Reviewed-By: Ben Noordhuis <ben@strongloop.com>
Reviewed-By: Johan Bergstrom <bugs@bergstroem.nu>
2015-08-04 11:56:16 -07:00
Rod Vagg
04fd4fad46 src: introduce process.release object
PR-URL: https://github.com/nodejs/io.js/pull/2154
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
2015-08-04 11:56:16 -07:00
Jeremiah Senkpiel
68b06e94e3 tools: use local or specified $NODE for test-npm
PR-URL: https://github.com/nodejs/io.js/pull/1984
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Roman Reiss <me@silverwind.io>
2015-07-24 17:58:49 -07:00
Rod Vagg
f95f9ef6ea build: always use prefix=/ for tar-headers
Defaults to /usr/local otherwise, which isn't helpful for node-gyp,
nor standard assumptions about how header directories should be
structured.

PR-URL: https://github.com/nodejs/io.js/pull/2082
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
2015-07-15 22:53:18 +10:00
Alexis Campailla
12bc397207 build: run-ci makefile rule
Adding a single rule to be called from Jenkins.

Jenkins jobs typically call:
python ./configure
make -j $(getconf _NPROCESSORS_ONLN)
make test-ci

After this change, we can have Jenkins call:
make run-ci -j $(getconf _NPROCESSORS_ONLN)

This allows us to customize how we call configure
for different repos or branches (e.g. joyent\node).

PR-URL: https://github.com/nodejs/io.js/pull/2134
Reviewed-By: Ryan Graham <r.m.graham@gmail.com>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
2015-07-10 17:05:17 +02:00
Rod Vagg
628a3ab093 build: add tar-headers target for headers-only tar
to replace the full src download by node-gyp, using the proper format
instead of the full source format

PR-URL: https://github.com/nodejs/io.js/pull/1975
Reviewed-By: William Blankenship <william.jblankenship@gmail.com>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
2015-06-25 19:17:58 +10:00
Rod Vagg
dcbb9e1da6 build: update build targets for io.js
PR-URL: https://github.com/nodejs/io.js/pull/1938
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Alexis Campailla <alexis@janeasystems.com>
2015-06-25 15:22:27 +10:00
Johan Bergström
8d8a26e8f7 build: don't run lint from test-ci
Since we will run linting before compiling or testing there's no
need to run it as part of the ci testing.

PR-URL: https://github.com/nodejs/io.js/pull/1965
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Revewied-By: Evan Lucas <evanlucas@me.com>
2015-06-15 13:15:11 +10:00
Johan Bergström
1ec53c044d build: simplify execution of built binary
Since we aleady have a variable with path to the newly built
binary, use that instead of prefixing path. This also allows us
to pass a different path through the environment (NODE=)

PR-URL: https://github.com/nodejs/io.js/pull/1955
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Rod Vagg <rod@vagg.org>
2015-06-15 13:11:00 +10:00
Roman Reiss
6e4d30286d tools: enable/add additional eslint rules
Enables the following rules:

- no-undef: Valuable rule to error on usage of undefined variables
- require-buffer: Custom rule that forbids usage of the global Buffer
  inside lib/ because of REPL issues.

PR-URL: https://github.com/nodejs/io.js/pull/1794
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
2015-06-11 20:27:35 +02:00
Roman Reiss
f29762f4dd test: enable linting for tests
Enable linting for the test directory. A number of changes was made so
all tests conform the current rules used by lib and src directories. The
only exception for tests is that unreachable (dead) code is allowed.

test-fs-non-number-arguments-throw had to be excluded from the changes
because of a weird issue on Windows CI.

PR-URL: https://github.com/nodejs/io.js/pull/1721
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-05-19 21:21:27 +02:00
Roman Reiss
c58264e58b tools: make eslint work on subdirectories
The old pattern didn't include files in lib/internal. This changes the
pattern to directories which makes eslint apply to all subdirectories as
well.

PR-URL: https://github.com/iojs/io.js/pull/1686
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
2015-05-12 21:57:08 +02:00
Jeremiah Senkpiel
0b21ab13b7 tools: refactor make test-npm into test-npm.sh
Extracts test-npm from Makefile and puts it in tools/test-npm.sh
Also improves test-npm to use a separate copy of deps/npm for testing.

PR-URL: https://github.com/iojs/io.js/pull/1662
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Evan Lucas <evanlucas@me.com>
2015-05-12 11:12:33 -04:00
Yosuke Furukawa
f9dd34d301 tools: replace closure-linter with eslint
PR-URL: https://github.com/iojs/io.js/pull/1539
Fixes: https://github.com/iojs/io.js/issues/1253
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Reviewed-By: Roman Reiss <me@silverwind.io>
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com>
2015-05-09 12:09:52 +09:00
Rod Vagg
2a3c8c187e build: remove -J from test-ci
parallel tests still not working on most build slaves

PR-URL: https://github.com/iojs/io.js/pull/1544
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
2015-04-28 16:10:53 +10:00
Rod Vagg
547213913b test: adjust Makefile/test-ci, add to vcbuild.bat
PR-URL: https://github.com/iojs/io.js/pull/1530
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
2015-04-27 12:14:12 +10:00
Johan Bergström
c7769d417b build: Expose xz compression level
On machines with limited resources a fair tradeoff could be trading
result size with less memory and cpu consumption. Expose a variable
that overrides the default (9).

Note: xz is often used to gain maximum possible compression, so
avoid lowering this if possible.

PR-URL: https://github.com/iojs/io.js/pull/1428
Reviewed-By: Rod Vagg <rod@vagg.org>
2015-04-15 11:35:07 +10:00
Rod Vagg
aee86a21f2 build: fix RELEASE check
fixes broken 1.7.0 build, unreviewed quick patch

Ref: https://github.com/iojs/io.js/pull/1405
PR-URL: https://github.com/iojs/io.js/pull/1421
2015-04-14 22:53:35 +10:00
Johan Bergström
f9a2d31b32 build: Simplify fetching release version
PR-URL: https://github.com/iojs/io.js/pull/1405
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Rod Vagg <rod@vagg.org>
2015-04-13 18:05:49 +10:00
Ben Noordhuis
008078862e deps: check in gtest, add util unit test
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-04-01 22:35:56 +02:00
Johan Bergström
3b9eab9779 build: make check aliases test
A common convention in auto* is to call make check rather than
make test. Let one alias the other

PR-URL: https://github.com/iojs/io.js/pull/1211
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-03-20 10:43:09 +11:00
Julien Gilli
68d4bed2fd make: remove node_dtrace from cpplint excludes
PR-URL: https://github.com/joyent/node/pull/8741
Reviewed-By: Fedor Indutny <fedor@indutny.com>
2015-03-16 16:20:16 -04:00
Julien Gilli
89bf6c05e9 build: allow custom PackageMaker path
Make PACKAGEMAKER customizable because PackageMaker is not necessarily
installed in /Developer on OSX anymore.

PR-URL: https://github.com/joyent/node/pull/9377
Reviewed-By: Timothy J Fontaine <tjfontaine@gmail.com>
2015-03-16 16:20:16 -04:00
Johan Bergström
2b79052494 benchmark: check for wrk ahead of running benchmarks
PR-URL: https://github.com/iojs/io.js/pull/982
Reviewed-By: Rod Vagg <rod@vagg.org>
2015-03-04 20:25:49 -08:00
Johan Bergström
a45d4f8fd6 build: remove tools/wrk from the tree
wrk is an optional tool that some of the http benchmarks uses. The removal
doesn't affect any users. Developers are assumed to install it before running
the tests.

This change reduces the tarball by 5%

PR-URL: https://github.com/iojs/io.js/pull/982
Reviewed-By: Rod Vagg <rod@vagg.org>
2015-03-04 20:25:41 -08:00
Johan Bergström
b8310cbd3e build: reduce tarball size by 8-10%
Slim the tarballs further by removing examples, documentation and test for
third party libraries. Also switch to checkout-index versus archive so we avoid
using tar.

PR-URL: https://github.com/iojs/io.js/pull/961
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Rod Vagg <rod@vagg.org>
2015-02-27 18:25:39 -06:00
Johan Bergström
234e6916b8 build: Fix incorrect reference
PR-URL: https://github.com/iojs/io.js/pull/924
Reviewed-By: Brendan Ashworth <brendan.ashworth@me.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
2015-02-24 16:29:30 -06:00
Rod Vagg
e00c938d24 build: make test-ci output TAP to stdout and log
Closes: #810
PR-URL: https://github.com/iojs/io.js/pull/938
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-02-24 13:28:58 -06:00
Glen Keane
5e825d1073 tracing: add lttng support for tracing on linux
This commit adds the ability to enable userspace tracing with lttng
in io.js. It adds tracepoints for all the equivalent dtrace and ETW
tracepoints. To use these tracepoints enable --with-lttng on linux.

PR-URL: https://github.com/iojs/io.js/pull/702
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Ryan Graham <ryan@strongloop.com>
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com>
2015-02-09 18:06:57 +01:00
Rod Vagg
df48fafa92 tools: add release tool and docs, remove old tools
Also added binary download documentation to the README.md and
GPG release key fingerprint for @rvagg.

PR-URL: https://github.com/iojs/io.js/pull/681
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Fedor Indutny <fedor@indutny.com>
2015-02-04 09:02:15 +11:00
Yosuke Furukawa
b5166cb7d2 benchmark: add bench-(url & events) make targets
PR-URL: https://github.com/iojs/io.js/pull/584
Reviewed-By: Evan Lucas <evanlucas@me.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
2015-01-28 09:33:44 +11:00
Johan Bergström
69ce0641dc build: remove artefacts on distclean
since .pkg-files already lives in out/ they're already gone. instead of
moving artefacts into out/ (which might mess with upload scripts),
delete their current location.

PR-URL: https://github.com/iojs/io.js/pull/323
Reviewed-By: Rod Vagg <rod@vagg.org>
2015-01-27 17:08:35 +11:00
Ben Noordhuis
4f68369643 build: disable v8 snapshots
Snapshots speed up start-up by a few milliseconds but are potentially
dangerous because of the fixed hash seed that is used for strings and
dictionaries, making collision denial-of-service attacks possible.

Release builds on iojs.org have snapshots disabled but source builds
did not, until now.

The risk for individual source builds is low; the binary gets a random
32 bits hash seed that should be hard to guess by an external attacker.

It's when binaries are distributed by, for example, a distro vendor
that the fixed hash seed becomes a vulnerability, because then it's
possible to target a large group of people at once.

People that really need the faster start-up time can use the new
--with-snapshot configure flag.

PR-URL: https://github.com/iojs/io.js/pull/585
Reviewed-By: Bert Belder <bertbelder@gmail.com>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Rod Vagg <rod@vagg.org>
2015-01-27 00:54:02 +01:00
Ben Noordhuis
de224d6e6c configure: remove --ninja switch
It is unknown if there are any users of the ninja build and keeping it
around makes refactoring the build system more difficult.  It's partly
broken (or at least, deeply inefficient) because it touches out/Makefile
every time.

PR-URL: https://github.com/iojs/io.js/pull/467
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
2015-01-17 01:06:17 +01:00
Shigeki Ohtsu
3fde64937a build: add tools/gflags to PYTHONPATH
closure_linter needs the gflags module.

PR-URL: https://github.com/iojs/io.js/pull/464
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-01-16 09:13:23 +01:00
Rod Vagg
265cb76517 build: add new installer config for OS X
Works with PackageMaker (old tool, discontinued but still
available for download from Apple).

index.xml is now templated to insert the version number.

PR-URL: https://github.com/iojs/io.js/pull/435
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
2015-01-16 14:04:15 +11:00
Phil Hughes
e7891034c2 doc: fix 404s for syntax highlighting js
Updated Makefile to remove special casing for those files, and
moved the files to doc/api_assets.

Fixes: https://github.com/iojs/iojs.github.io/issues/51
PR-URL: https://github.com/iojs/io.js/pull/409
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
2015-01-15 10:09:24 -08:00
Rod Vagg
e3c96c07f1 build: rename ChangeLog to CHANGELOG.md in build
This only matters for the Makefile tarball target
as we aren't auto-building changelog.html at the moment
so the changes in tools/ are for completeness, but
not functional with the Markdown CHANGELOG.md.

PR-URL: https://github.com/iojs/io.js/pull/357

no review
2015-01-14 13:27:29 +11:00
Johan Bergström
5ea716d895 build: initialize variable before use
found with make --warn-undefined-variables

PR-URL: https://github.com/iojs/io.js/pull/320
Reviewed-By: Rod Vagg <rod@vagg.org>
2015-01-13 14:08:30 +11:00
Johan Bergström
17217c3725 build: create smaller build artifacts
check if xz exists on the host system and use if available, which makes
xz-tarballs available for distribution. also remove deps/zlib/contrib
since it's not in use -- shaves additional size from the tarballs.

also, slightly modify the .gitignore file to ignore these new archives.

PR-URL: https://github.com/iojs/io.js/pull/319
Reviewed-By: Rod Vagg <rod@vagg.org>
2015-01-13 14:04:17 +11:00
Ben Noordhuis
7861ff4728 test: create test-ci, modify test-all, fix cpplint
test: add test/addons to default test list

`make test-all` and `python tools/test.py` will now also run the addon
tests in test/addons.

test: remove test-npm from test-all make target

The test-npm target builds documentation, changes versioned files,
clutters the current working directory with artifacts, etc.  In short,
it doesn't seem quite ready for inclusion in `make test-all`.

test: add test-ci target, reduced test-all

Add a test-ci target that is like test-all minus the (slow) pummel and
gc test suites.

This is primarily intended for the continuous integration, where we want
decent coverage but don't want to wait for ages for tests to complete.

cpplint: add -license/copyright to default filters

Commit 3e1b1dd ("Remove excessive copyright/license boilerplate") trips
up the copyright boilerplate style check.  Disable it.

PR-URL: https://github.com/iojs/io.js/pull/314
Reviewed-By: Rod Vagg <rod@vagg.org>
2015-01-13 13:46:52 +11:00
Forrest L Norvell
f468e5f1ec deps: don't build docs on 'make npm-test'
PR-URL: https://github.com/iojs/io.js/pull/318
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-01-13 02:07:25 +01:00
Rod Vagg
2a6a9bad64 doc: remove changelog.html from doc make target
not essential for doc build and currently broken because
tools/build_changelog.sh requires ./node.

leaving as separate make target so it can be invoked
separately in future.

PR-URL: https://github.com/iojs/io.js/pull/285
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-01-11 22:39:24 +11:00
Ben Noordhuis
f17f473af5 build: rename binary from node to iojs
* rename the build targets

* update the test runner to use `out/{Debug,Release}/iojs`

* update the installer to install the iojs binary

* update one test that explicitly checks for the binary name

PR-URL: https://github.com/iojs/io.js/pull/262
Reviewed-By: Bert Belder <bertbelder@gmail.com>
2015-01-08 23:21:20 +01:00
Ben Noordhuis
3e7a25dd95 test: remove --use-http1 test runner flag
The flag was used for a short while during the v0.5 development cycle,
four years ago.  Remove it, it's long overdue.

PR-URL: https://github.com/iojs/io.js/pull/262
Reviewed-By: Bert Belder <bertbelder@gmail.com>
2015-01-08 23:21:18 +01:00
Ben Noordhuis
3f8b76ebd5 doc: rename node.1 -> iojs.1
PR-URL: https://github.com/iojs/io.js/pull/262
Reviewed-By: Bert Belder <bertbelder@gmail.com>
2015-01-08 23:21:12 +01:00
Ben Noordhuis
73b9323488 build: remove upload targets from makefile
The targets upload to nodejs.org but that is the joyent/node website.

PR-URL: https://github.com/iojs/io.js/pull/262
Reviewed-By: Bert Belder <bertbelder@gmail.com>
2015-01-08 23:21:09 +01:00
Ben Noordhuis
e3f86103fa build: don't run make recursively
For targets that need the binary: don't invoke `make all` as part of the
recipe, just depend on the $(NODE_EXE) target.

PR-URL: https://github.com/iojs/io.js/pull/262
Reviewed-By: Bert Belder <bertbelder@gmail.com>
2015-01-08 23:20:49 +01:00
Ben Noordhuis
94e147500c Merge remote-tracking branch 'joyent/v0.12' into v1.x
I was originally going to do this after the v0.11.15 release, but as
that release is three weeks overdue now, I decided not to wait any
longer; we don't want the delta to get too big.

Conflicts:
	lib/net.js
	test/simple/simple.status

PR-URL: https://github.com/iojs/io.js/pull/236
Reviewed-By: Bert Belder <bertbelder@gmail.com>
Reviewed-By: Fedor Indutny <fedor@indutny.com>
2015-01-05 17:26:47 +01:00