Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/microsoft/vscode.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/test-remote-integration.bat')
-rw-r--r--scripts/test-remote-integration.bat80
1 files changed, 80 insertions, 0 deletions
diff --git a/scripts/test-remote-integration.bat b/scripts/test-remote-integration.bat
new file mode 100644
index 00000000000..f67c213048a
--- /dev/null
+++ b/scripts/test-remote-integration.bat
@@ -0,0 +1,80 @@
+@echo off
+setlocal
+
+pushd %~dp0\..
+
+IF "%~1" == "" (
+ set AUTHORITY=vscode-remote://test+test/
+ :: backward to forward slashed
+ set EXT_PATH=%CD:\=/%/extensions
+
+ :: Download nodejs executable for remote
+ call yarn gulp node
+) else (
+ set AUTHORITY=%1
+ set EXT_PATH=%2
+ set VSCODEUSERDATADIR=%3
+)
+IF "%VSCODEUSERDATADIR%" == "" (
+ set VSCODEUSERDATADIR=%TMP%\vscodeuserfolder-%RANDOM%-%TIME:~6,5%
+)
+
+set REMOTE_VSCODE=%AUTHORITY%%EXT_PATH%
+set VSCODECRASHDIR=%~dp0\..\.build\crashes
+set VSCODELOGSDIR=%~dp0\..\.build\logs\integration-tests-remote
+set TESTRESOLVER_DATA_FOLDER=%TMP%\testresolverdatafolder-%RANDOM%-%TIME:~6,5%
+set TESTRESOLVER_LOGS_FOLDER=%VSCODELOGSDIR%\server
+
+if "%VSCODE_REMOTE_SERVER_PATH%"=="" (
+ echo "Using remote server out of sources for integration tests"
+) else (
+ set TESTRESOLVER_INSTALL_BUILTIN_EXTENSION=ms-vscode.vscode-smoketest-check
+ echo "Using %VSCODE_REMOTE_SERVER_PATH% as server path"
+)
+
+set API_TESTS_EXTRA_ARGS=--disable-telemetry --skip-welcome --skip-release-notes --crash-reporter-directory=%VSCODECRASHDIR% --logsPath=%VSCODELOGSDIR% --no-cached-data --disable-updates --disable-keytar --disable-inspect --disable-workspace-trust --user-data-dir=%VSCODEUSERDATADIR%
+
+:: Figure out which Electron to use for running tests
+if "%INTEGRATION_TEST_ELECTRON_PATH%"=="" (
+ echo "Storing crash reports into '%VSCODECRASHDIR%'."
+ echo "Storing log files into '%VSCODELOGSDIR%'."
+
+ :: Tests in the extension host running from sources
+ call .\scripts\code.bat --folder-uri=%REMOTE_VSCODE%/vscode-api-tests/testWorkspace --extensionDevelopmentPath=%REMOTE_VSCODE%/vscode-api-tests --extensionTestsPath=%REMOTE_VSCODE%/vscode-api-tests/out/singlefolder-tests %API_TESTS_EXTRA_ARGS%
+ if %errorlevel% neq 0 exit /b %errorlevel%
+
+ call .\scripts\code.bat --file-uri=%REMOTE_VSCODE%/vscode-api-tests/testworkspace.code-workspace --extensionDevelopmentPath=%REMOTE_VSCODE%/vscode-api-tests --extensionTestsPath=%REMOTE_VSCODE%/vscode-api-tests/out/workspace-tests %API_TESTS_EXTRA_ARGS%
+ if %errorlevel% neq 0 exit /b %errorlevel%
+) else (
+ echo "Storing crash reports into '%VSCODECRASHDIR%'."
+ echo "Storing log files into '%VSCODELOGSDIR%'."
+ echo "Using %INTEGRATION_TEST_ELECTRON_PATH% as Electron path"
+
+ :: Run from a built: need to compile all test extensions
+ :: because we run extension tests from their source folders
+ :: and the build bundles extensions into .build webpacked
+ call yarn gulp compile-extension:vscode-api-tests^
+ compile-extension:vscode-test-resolver
+
+ :: Configuration for more verbose output
+ set VSCODE_CLI=1
+ set ELECTRON_ENABLE_LOGGING=1
+ set ELECTRON_ENABLE_STACK_DUMPING=1
+
+ :: Tests in the extension host running from built version (both client and server)
+ call "%INTEGRATION_TEST_ELECTRON_PATH%" --folder-uri=%REMOTE_VSCODE%/vscode-api-tests/testWorkspace --extensionDevelopmentPath=%REMOTE_VSCODE%/vscode-api-tests --extensionTestsPath=%REMOTE_VSCODE%/vscode-api-tests/out/singlefolder-tests %API_TESTS_EXTRA_ARGS% --extensions-dir=%EXT_PATH% --enable-proposed-api=vscode.vscode-test-resolver --enable-proposed-api=vscode.vscode-api-tests --enable-proposed-api=vscode.image-preview
+ if %errorlevel% neq 0 exit /b %errorlevel%
+
+ call "%INTEGRATION_TEST_ELECTRON_PATH%" --file-uri=%REMOTE_VSCODE%/vscode-api-tests/testworkspace.code-workspace --extensionDevelopmentPath=%REMOTE_VSCODE%/vscode-api-tests --extensionTestsPath=%REMOTE_VSCODE%/vscode-api-tests/out/workspace-tests %API_TESTS_EXTRA_ARGS% --extensions-dir=%EXT_PATH% --enable-proposed-api=vscode.vscode-test-resolver --enable-proposed-api=vscode.vscode-api-tests --enable-proposed-api=vscode.image-preview
+ if %errorlevel% neq 0 exit /b %errorlevel%
+)
+
+IF "%3" == "" (
+ rmdir /s /q %VSCODEUSERDATADIR%
+)
+
+rmdir /s /q %TESTRESOLVER_DATA_FOLDER%
+
+popd
+
+endlocal