c4c480a068
* Implement last opened functionality Fixes https://github.com/cdr/code-server/issues/4619 * Fix test temp dirs not being cleaned up * Mock logger everywhere This suppresses all the error and debug output we generate which makes it hard to actually find which test has failed. It also gives us a standard way to test logging for the few places we do that. * Use separate data directories for unit test instances Exactly as we do for the e2e tests. * Add integration tests for vscode route * Make settings use --user-data-dir Without this test instances step on each other feet and they also clobber your own non-test settings. * Make redirects consistent They will preserve the trailing slash if there is one. * Remove compilation check If you do a regular non-watch build there are no compilation stats so this bricks VS Code in CI when running the unit tests. I am not sure how best to fix this for the case where you have a build that has not been packaged yet so I just removed it for now and added a message to check if VS Code is compiling when in dev mode. * Update code-server update endpoint name
42 lines
1.2 KiB
TypeScript
42 lines
1.2 KiB
TypeScript
import { PlaywrightTestConfig } from "@playwright/test"
|
|
|
|
import path from "path"
|
|
|
|
// The default configuration runs all tests in three browsers with workers equal
|
|
// to half the available threads. See 'yarn test:e2e --help' to customize from
|
|
// the command line. For example:
|
|
// yarn test:e2e --workers 1 # Run with one worker
|
|
// yarn test:e2e --project Chromium # Only run on Chromium
|
|
// yarn test:e2e --grep login # Run tests matching "login"
|
|
const config: PlaywrightTestConfig = {
|
|
testDir: path.join(__dirname, "e2e"), // Search for tests in this directory.
|
|
timeout: 60000, // Each test is given 60 seconds.
|
|
retries: process.env.CI ? 2 : 1, // Retry in CI due to flakiness.
|
|
globalSetup: require.resolve("./utils/globalE2eSetup.ts"),
|
|
reporter: "list",
|
|
// Put any shared options on the top level.
|
|
use: {
|
|
headless: true, // Run tests in headless browsers.
|
|
video: "retain-on-failure",
|
|
},
|
|
|
|
projects: [
|
|
{
|
|
name: "Chromium",
|
|
use: { browserName: "chromium" },
|
|
},
|
|
|
|
{
|
|
name: "Firefox",
|
|
use: { browserName: "firefox" },
|
|
},
|
|
|
|
{
|
|
name: "WebKit",
|
|
use: { browserName: "webkit" },
|
|
},
|
|
],
|
|
}
|
|
|
|
export default config
|