From 7770279e4f9e109c8c61f053d01cbb0b3b2927d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Reis?= Date: Wed, 27 Nov 2019 17:48:06 +0000 Subject: [PATCH] build,win: add test-ci-native and test-ci-js Backport-PR-URL: https://github.com/nodejs/node/pull/30727 PR-URL: https://github.com/nodejs/node/pull/30724 Refs: https://github.com/nodejs/build/issues/1996 Reviewed-By: Rod Vagg Reviewed-By: Sam Roberts Reviewed-By: Rich Trott --- Makefile | 1 + vcbuild.bat | 14 ++++++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 799bb2640ea89a..e014f09bbe01d7 100644 --- a/Makefile +++ b/Makefile @@ -395,6 +395,7 @@ test-all: test-build test/gc/build/Release/binding.node ## Run everything in tes test-all-valgrind: test-build $(PYTHON) tools/test.py --mode=debug,release --valgrind +# CI_* variables should be kept synchronized with the ones in vcbuild.bat CI_NATIVE_SUITES ?= addons addons-napi CI_ASYNC_HOOKS := async-hooks CI_JS_SUITES ?= default diff --git a/vcbuild.bat b/vcbuild.bat index 7143d841a4e2bc..1c965361d3706e 100644 --- a/vcbuild.bat +++ b/vcbuild.bat @@ -11,6 +11,14 @@ if /i "%1"=="/?" goto help cd %~dp0 +@rem CI_* variables should be kept synchronized with the ones in Makefile +set CI_NATIVE_SUITES=addons addons-napi +set CI_ASYNC_HOOKS=async-hooks +set CI_JS_SUITES=default +set CI_DOC=doctool +@rem Same as the test-ci target in Makefile +set "common_test_suites=%CI_ASYNC_HOOKS% %CI_JS_SUITES% %CI_NATIVE_SUITES% %CI_DOC% known_issues&set build_addons=1&set build_addons_napi=1" + @rem Process arguments. set config=Release set target=Build @@ -44,10 +52,8 @@ set enable_static= set build_addons_napi= set test_node_inspect= set test_check_deopts= -set js_test_suites=default async-hooks known_issues 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" set http2_debug= set nghttp2_debug= set link_module= @@ -74,6 +80,8 @@ if /i "%1"=="noperfctr" set noperfctr=1&goto arg-ok if /i "%1"=="licensertf" set licensertf=1&goto arg-ok if /i "%1"=="test" set test_args=%test_args% -J %common_test_suites%&set lint_cpp=1&set lint_js=1&goto arg-ok if /i "%1"=="test-ci" set test_args=%test_args% %test_ci_args% -p tap --logfile test.tap %common_test_suites%&set cctest_args=%cctest_args% --gtest_output=tap:cctest.tap&goto arg-ok +if /i "%1"=="test-ci-native" set test_args=%test_args% %test_ci_args% -J -p tap --logfile test.tap %CI_NATIVE_SUITES% %CI_DOC%&set build_addons=1&set build_addons_napi=1&set cctest_args=%cctest_args% --gtest_output=tap:cctest.tap&goto arg-ok +if /i "%1"=="test-ci-js" set test_args=%test_args% %test_ci_args% -J -p tap --logfile test.tap %CI_ASYNC_HOOKS% %CI_JS_SUITES% known_issues&set skip_cctest=1&goto arg-ok if /i "%1"=="test-addons" set test_args=%test_args% addons&set build_addons=1&goto arg-ok if /i "%1"=="test-addons-napi" set test_args=%test_args% addons-napi&set build_addons_napi=1&goto arg-ok if /i "%1"=="test-simple" set test_args=%test_args% sequential parallel -J&goto arg-ok @@ -474,9 +482,11 @@ if errorlevel 1 goto exit 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% +if defined skip_cctest goto run-test-py if not exist %config%\cctest.exe goto run-test-py echo running 'cctest %cctest_args%' "%config%\cctest" %cctest_args% +:run-test-py REM when building a static library there's no binary to run tests if defined enable_static goto test-v8 call :run-python tools\test.py %test_args%