Skip to content

Commit

Permalink
build,test: run v8 tests on windows
Browse files Browse the repository at this point in the history
`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: #13992
Refs: #4704
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
  • Loading branch information
kunalspathak committed Jul 27, 2017
1 parent 77ca3cb commit 09dd6bb
Show file tree
Hide file tree
Showing 2 changed files with 60 additions and 2 deletions.
45 changes: 45 additions & 0 deletions tools/test-v8.bat
Original file line number Diff line number Diff line change
@@ -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

17 changes: 15 additions & 2 deletions vcbuild.bat
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand All @@ -524,6 +536,7 @@ exit /b %ERRORLEVEL%
:exit
goto :EOF


rem ***************
rem Subroutines
rem ***************
Expand Down

0 comments on commit 09dd6bb

Please sign in to comment.