summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKunal Pathak <kpathak@microsoft.com>2017-06-28 15:24:52 -0700
committerKunal Pathak <kpathak@microsoft.com>2017-07-26 18:08:30 -0700
commit09dd6bbec6dbb9cc4e5ee615e249dcb749c8e777 (patch)
tree80fb55747c99c99a3e89a7add459dea5f4c967f2
parent77ca3cb47480543cb496e3012ab0c3b219dc57a3 (diff)
downloadandroid-node-v8-09dd6bbec6dbb9cc4e5ee615e249dcb749c8e777.tar.gz
android-node-v8-09dd6bbec6dbb9cc4e5ee615e249dcb749c8e777.tar.bz2
android-node-v8-09dd6bbec6dbb9cc4e5ee615e249dcb749c8e777.zip
build,test: run v8 tests on windows
`vcbuild.bat test-v8` : Runs unit test from v8 repo `vcbuild.bat test-v8-intl` : Runs intl test from v8 repo `vcbuild.bat test-v8` : Runs benchmarks from v8 repo The runs needs https://www.chromium.org/developers/how-tos/install-depot-tools installed on the machine expects environment variable `DEPOT_TOOLS_PATH` to be set to the path. Set environment variable `DISABLE_V8_I18N` to disable i18n. PR-URL: https://github.com/nodejs/node/pull/13992 Refs: https://github.com/nodejs/node/pull/4704 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Refael Ackermann <refack@gmail.com>
-rw-r--r--tools/test-v8.bat45
-rw-r--r--vcbuild.bat17
2 files changed, 60 insertions, 2 deletions
diff --git a/tools/test-v8.bat b/tools/test-v8.bat
new file mode 100644
index 0000000000..d322c31a38
--- /dev/null
+++ b/tools/test-v8.bat
@@ -0,0 +1,45 @@
+if not defined DEPOT_TOOLS_PATH goto depot-tools-not-found
+if "%config%"=="Debug" set test_args=%target_arch%.debug
+if "%config%"=="Release" set test_args=%target_arch%.release
+set savedpath=%path%
+set path=%DEPOT_TOOLS_PATH%;%path%
+pushd .
+
+set ERROR_STATUS=0
+echo calling: tools\make-v8.sh
+sh tools\make-v8.sh
+if errorlevel 1 set ERROR_STATUS=1&goto test-v8-exit
+cd %~dp0
+cd deps\v8
+echo running 'python tools\dev\v8gen.py %test_args%'
+call python tools\dev\v8gen.py %test_args%
+if errorlevel 1 set ERROR_STATUS=1&goto test-v8-exit
+echo running 'ninja -C out.gn/%test_args% %v8_build_options%'
+call ninja -C out.gn/%test_args% %v8_build_options%
+if errorlevel 1 set ERROR_STATUS=1&goto test-v8-exit
+set path=%savedpath%
+
+if not defined test_v8 goto test-v8-intl
+echo running 'python tools\run-tests.py %common_v8_test_options% %v8_test_options% --junitout ./v8-tap.xml'
+call python tools\run-tests.py %common_v8_test_options% %v8_test_options% --junitout ./v8-tap.xml
+
+:test-v8-intl
+if not defined test_v8_intl goto test-v8-benchmarks
+echo running 'python tools\run-tests.py %common_v8_test_options% intl --junitout ./v8-intl-tap.xml'
+call python tools\run-tests.py %common_v8_test_options% intl --junitout ./v8-intl-tap.xml
+
+:test-v8-benchmarks
+if not defined test_v8_benchmarks goto test-v8-exit
+echo running 'python tools\run-tests.py %common_v8_test_options% benchmarks --junitout ./v8-benchmarks-tap.xml'
+call python tools\run-tests.py %common_v8_test_options% benchmarks --junitout ./v8-benchmarks-tap.xml
+goto test-v8-exit
+
+:test-v8-exit
+popd
+if defined savedpath set path=%savedpath%
+exit /b %ERROR_STATUS%
+
+:depot-tools-not-found
+echo Failed to find a suitable depot tools to test v8
+exit /b 1
+
diff --git a/vcbuild.bat b/vcbuild.bat
index 3d35798a08..c320aa9723 100644
--- a/vcbuild.bat
+++ b/vcbuild.bat
@@ -45,6 +45,8 @@ set build_addons_napi=
set test_node_inspect=
set test_check_deopts=
set js_test_suites=async-hooks inspector known_issues message parallel sequential
+set v8_test_options=
+set v8_build_options=
set "common_test_suites=%js_test_suites% doctool addons addons-napi&set build_addons=1&set build_addons_napi=1"
:next-arg
@@ -83,6 +85,10 @@ if /i "%1"=="test-async-hooks" set test_args=%test_args% async-hooks&goto arg-o
if /i "%1"=="test-all" set test_args=%test_args% gc internet pummel %common_test_suites%&set build_testgc_addon=1&set cpplint=1&set jslint=1&goto arg-ok
if /i "%1"=="test-node-inspect" set test_node_inspect=1&goto arg-ok
if /i "%1"=="test-check-deopts" set test_check_deopts=1&goto arg-ok
+if /i "%1"=="test-v8" set test_v8=1&set custom_v8_test=1&goto arg-ok
+if /i "%1"=="test-v8-intl" set test_v8_intl=1&set custom_v8_test=1&goto arg-ok
+if /i "%1"=="test-v8-benchmarks" set test_v8_benchmarks=1&set custom_v8_test=1&goto arg-ok
+if /i "%1"=="test-v8-all" set test_v8=1&set test_v8_intl=1&set test_v8_benchmarks=1&set custom_v8_test=1&goto arg-ok
if /i "%1"=="jslint" set jslint=1&goto arg-ok
if /i "%1"=="jslint-ci" set jslint_ci=1&goto arg-ok
if /i "%1"=="lint" set cpplint=1&set jslint=1&goto arg-ok
@@ -427,12 +433,18 @@ set USE_EMBEDDED_NODE_INSPECT=1
goto node-tests
:node-tests
-if "%test_args%"=="" goto cpplint
+if "%test_args%"=="" goto test-v8
if "%config%"=="Debug" set test_args=--mode=debug %test_args%
if "%config%"=="Release" set test_args=--mode=release %test_args%
echo running 'cctest %cctest_args%'
"%config%\cctest" %cctest_args%
call :run-python tools\test.py %test_args%
+goto test-v8
+
+:test-v8
+if not defined custom_v8_test goto cpplint
+call tools/test-v8.bat
+if errorlevel 1 goto exit
goto cpplint
:cpplint
@@ -503,7 +515,7 @@ echo Failed to create vc project files.
goto exit
:help
-echo vcbuild.bat [debug/release] [msi] [test/test-ci/test-all/test-uv/test-inspector/test-internet/test-pummel/test-simple/test-message/test-async-hooks] [clean] [noprojgen] [small-icu/full-icu/without-intl] [nobuild] [sign] [x86/x64] [vs2015/vs2017] [download-all] [enable-vtune] [lint/lint-ci] [no-NODE-OPTIONS]
+echo vcbuild.bat [debug/release] [msi] [test/test-ci/test-all/test-uv/test-inspector/test-internet/test-pummel/test-simple/test-message/test-async-hooks/test-v8/test-v8-intl/test-v8-benchmarks/test-v8-all] [clean] [noprojgen] [small-icu/full-icu/without-intl] [nobuild] [sign] [x86/x64] [vs2015/vs2017] [download-all] [enable-vtune] [lint/lint-ci] [no-NODE-OPTIONS]
echo Examples:
echo vcbuild.bat : builds release build
echo vcbuild.bat debug : builds debug build
@@ -524,6 +536,7 @@ exit /b %ERRORLEVEL%
:exit
goto :EOF
+
rem ***************
rem Subroutines
rem ***************