Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

build,test: run v8 tests on windows #13992

Merged
merged 1 commit into from
Jul 27, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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%
Copy link
Contributor

@refack refack Jul 18, 2017

Choose a reason for hiding this comment

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

Now you can SETLOCAL and ENDLOCAL in :test-v8-exit and then I don't care what monstrosities you do to poor old 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
Copy link
Contributor

Choose a reason for hiding this comment

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

not: I'd prefer you align to if /i "%1"=="test-check-deopts"

Copy link
Member Author

Choose a reason for hiding this comment

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

There are other checks that are not aligned. e.g. test-all above. test-v8 aligns to test-all and other shorter if checks.

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
Copy link
Contributor

Choose a reason for hiding this comment

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

I'd still would like this block to move to tools\test-v8.cmd
and here leave

call tools\test-v8.cmd
goto cpplint

AFAICT everything else will fall into place.

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