Skip to content
This repository has been archived by the owner on Apr 22, 2023. It is now read-only.

test: run v8 tests #14185

Closed
wants to merge 1 commit into from
Closed

Conversation

jasnell
Copy link
Member

@jasnell jasnell commented Mar 28, 2015

2nd pass with the v8 tests. moves the new targets
into a separate gyp as requested. uses an alternate
build for cutest that excludes the one file that requires
c++11 (there's always that one test that uses auto
and ruins it for everyone else).

(replaces #9208)

To use:

./configure --with-v8-tests
make
make test-v8
./configure --with-intl=full-icu --with-v8-tests
make
make test-v8-intl

A rudimentary start at support on win32 is included
but it likely needs more work.

2nd pass with the v8 tests. moves the new targets
into a separate gyp as requested. uses an alternate
build for cutest that excludes the one file that requires
c++11 (there's always that *one* test that uses auto
and ruins it for everyone else).

To use:

```
./configure --with-v8-tests
make
make test-v8
```

```
./configure --with-intl=full-icu --with-v8-tests
make
make test-v8-intl
```

A rudimentary start at support on win32 is included
but it likely needs more work.
@jasnell
Copy link
Member Author

jasnell commented Mar 28, 2015

This version still does the download for gtest and gmock. @piscisaureus suggested that we just add those in to the tree if we're going to pull the v8 tests in.

@jasnell
Copy link
Member Author

jasnell commented Apr 8, 2015

@joyent/node-coreteam

@indutny
Copy link
Member

indutny commented Apr 8, 2015

A question... why do you want to do this instead of always using stable v8 version?

@jasnell
Copy link
Member Author

jasnell commented Apr 8, 2015

This is largely intended as a sanity check. Since we're building v8 and may end up floating patches on it, adding the additional check of running the v8 tests is useful.

@indutny
Copy link
Member

indutny commented Apr 8, 2015

@jasnell ok...

@indutny
Copy link
Member

indutny commented Apr 8, 2015

I mean, makes sense. But kind of sad :) I'd rather remove the tests to shave off some mbs from the tarball.

@jasnell
Copy link
Member Author

jasnell commented Apr 8, 2015

I don't disagree :-)

@orangemocha
Copy link
Contributor

This looks useful. One slight concern I have is whether it's the best approach to add the logic to node's build scripts themselves (makefile, vcbuild.bat), or whether it would be better to isolate this stuff in their own scripts under tools/v8. After all, you are not testing node at all.. what you want is to test a dependency, and this would probably relevant only in the context of updating the dependency.

@jasnell
Copy link
Member Author

jasnell commented Apr 23, 2015

At the moment, adding this to node's build scripts is the easiest thing but it can be isolated. The v8 tests require a few additional pieces to be built (specifically, d8) and it's just easier to do that while we're building everything else. That said, there's no harm in isolating it.

@orangemocha
Copy link
Contributor

@jasnell , you are right, it's probably easier to roll it out this way. Fine by me.

@@ -208,6 +212,16 @@ if "%test%"=="test-simple" set test_args=%test_args% simple
if "%test%"=="test-message" set test_args=%test_args% message
if "%test%"=="test-gc" set test_args=%test_args% gc
if "%test%"=="test-all" set test_args=%test_args%
if "%test%"=="test-v8" goto test-v8
if "%test%"=="test-v8-intl" goto test-v8-intl

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note that the control here was falling through to :build-node-weak before your change. Now, it will fall through to :test-v8, causing v8 tests to run even in cases when the user didn't want them to run..

You can either add a goto :build-node-weak after these checks or move :test-v8 and :-test-v8-intl somewhere below where they are not in the default control flow path, essentially making them subroutines.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch.
On Apr 24, 2015 3:47 AM, "orangemocha" notifications@github.com wrote:

In vcbuild.bat
#14185 (comment):

@@ -208,6 +212,16 @@ if "%test%"=="test-simple" set test_args=%test_args% simple
if "%test%"=="test-message" set test_args=%test_args% message
if "%test%"=="test-gc" set test_args=%test_args% gc
if "%test%"=="test-all" set test_args=%test_args%
+if "%test%"=="test-v8" goto test-v8
+if "%test%"=="test-v8-intl" goto test-v8-intl
+

Note that the control here was falling through to :build-node-weak before
your change. Now, it will fall through to :test-v8, causing v8 tests to
always run.

You can either add a goto :build-node-weak after these checks or move
:test-v8 and :-test-v8-intl somewhere below where they are not in the
default control flow path, essentially making them subroutines.


Reply to this email directly or view it on GitHub
https://github.com/joyent/node/pull/14185/files#r29039825.

@jasnell
Copy link
Member Author

jasnell commented Aug 15, 2015

Will be revisiting this in nodejs/node

@jasnell jasnell closed this Aug 15, 2015
exinfinitum pushed a commit to exinfinitum/node that referenced this pull request Nov 17, 2015
test: run v8 tests

2nd pass with the v8 tests. moves the new targets
into a separate gyp as requested. uses an alternate
build for cutest that excludes the one file that requires
c++11 (there's always that *one* test that uses auto
and ruins it for everyone else).

To use:

```
./configure --with-v8-tests
make
make test-v8
```

```
./configure --with-intl=full-icu --with-v8-tests
make
make test-v8-intl
```

Note that the limited win32 support added by jasnell has NOT been ported, and
so these tests are currently UNIX ONLY.
exinfinitum pushed a commit to exinfinitum/node-1 that referenced this pull request Jan 14, 2016
Ported by exinfinitum from a PR by jasnell:
see nodejs/node-v0.x-archive#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.

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.
exinfinitum pushed a commit to exinfinitum/node-1 that referenced this pull request Feb 10, 2016
Ported by exinfinitum from a PR by jasnell:
see nodejs/node-v0.x-archive#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.

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.
mhdawson pushed a commit to nodejs/node that referenced this pull request Feb 11, 2016
Ported by exinfinitum from a PR by jasnell:
see nodejs/node-v0.x-archive#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: #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>
rvagg pushed a commit to nodejs/node that referenced this pull request Feb 15, 2016
Ported by exinfinitum from a PR by jasnell:
see nodejs/node-v0.x-archive#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: #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>
stefanmb pushed a commit to stefanmb/node that referenced this pull request Feb 23, 2016
Ported by exinfinitum from a PR by jasnell:
see nodejs/node-v0.x-archive#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: nodejs#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>
MylesBorins pushed a commit to MylesBorins/node that referenced this pull request Jun 29, 2016
Ported by exinfinitum from a PR by jasnell:
see nodejs/node-v0.x-archive#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: nodejs#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>
MylesBorins pushed a commit to nodejs/node that referenced this pull request Jul 12, 2016
Ported by exinfinitum from a PR by jasnell:
see nodejs/node-v0.x-archive#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: #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>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants