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

Update smoke test README #115582

Merged
merged 4 commits into from Feb 19, 2021
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
37 changes: 22 additions & 15 deletions test/smoke/README.md
Expand Up @@ -2,7 +2,7 @@

Make sure you are on **Node v12.x**.

### Run
### Quick Overview

```bash
# Build extensions in repo (if needed)
Expand All @@ -11,53 +11,60 @@ yarn && yarn compile
# Install Dependencies and Compile
yarn --cwd test/smoke

# Prepare OSS in repo*
node build/lib/preLaunch.js

# Dev (Electron)
yarn smoketest

# Dev (Web)
# Dev (Web - Must be run on distro)
yarn smoketest --web --browser [chromium|webkit]

# Build (Electron)
yarn smoketest --build <path latest built version> --stable-build <path to previous stable version>
yarn smoketest --build <path to latest version> --stable-build <path to stable version>

# Build (Web - read instructions below)
yarn smoketest --build <path to web server folder> --web --browser [chromium|webkit]
yarn smoketest --build <path to server web build> --web --browser [chromium|webkit]

# Remote (Electron)
yarn smoketest --build <path latest built version> --remote
yarn smoketest --build <path to latest version> --remote
```

### Run for a release
\* This step is necessary only when running without `--build` and OSS doesn't already exist in the `.build/electron` directory.

### Running for a release (Endgame)

You must always run the smoketest version which matches the release you are testing. So, if you want to run the smoketest for a release build (e.g. `release/1.22`), you need that version of the smoke tests too:
You must always run the smoketest version that matches the release you are testing. So, if you want to run the smoketest for a release build (e.g. `release/1.22`), you need to check out that version of the smoke tests too:

```bash
git fetch
git checkout release/1.22
yarn && yarn compile
yarn --cwd test/smoke
```

#### Electron
#### Electron with --build and --stable-build

In addition to the vscode repository, you will need the latest build and the previous stable build, so that the smoketest can test data migration.

In addition to the new build to be released you will need the previous stable build so that the smoketest can test the data migration.
The recommended way to make these builds available for the smoketest is by downloading their archive version (\*.zip) and extracting
them into two folders. Pass the folder paths to the smoketest as follows:
The recommended way to make these builds available for the smoketest is by downloading their archive versions (\*.zip) from the **[builds page](https://builds.code.visualstudio.com/)**, and extracting
them into two folders (e.g. with 'Extract All' on Windows). Pass the **absolute paths** of those folders to the smoketest as follows:

```bash
yarn smoketest --build <path latest built version> --stable-build <path to previous stable version>
yarn smoketest --build <path to latest version> --stable-build <path to stable version>
```

#### Web

There is no support for testing an old version to a new one yet.
Instead, simply configure the `--build` command line argument to point to the absolute path of the extracted server web build folder (e.g. `<rest of path here>/vscode-server-darwin-web` for macOS). The server web build is available from the builds page (see previous subsection).

**macOS**: if you have downloaded the server with web bits, make sure to run the following command before unzipping it to avoid security issues on startup:

```bash
xattr -d com.apple.quarantine <path to server with web folder zip>
```

There is no support for testing an old version to a new one yet, so simply configure the `--build` command line argument to point to
the web server folder which includes the web client bits (e.g. `vscode-server-darwin-web` for macOS).

**Note**: make sure to point to the server that includes the client bits!

### Debug
Expand Down