Move playwright tests to use project references
This commit is contained in:
@@ -29,54 +29,67 @@ jobs:
|
||||
./lib/* \
|
||||
./out/* \
|
||||
./out-esbuild/* \
|
||||
./out-esbuild-test/* \
|
||||
./out-test/* \
|
||||
./addons/addon-attach/lib/* \
|
||||
./addons/addon-attach/out/* \
|
||||
./addons/addon-attach/out-esbuild/* \
|
||||
./addons/addon-attach/out-esbuild-test/* \
|
||||
./addons/addon-attach/out-test/* \
|
||||
./addons/addon-canvas/lib/* \
|
||||
./addons/addon-canvas/out/* \
|
||||
./addons/addon-canvas/out-esbuild/* \
|
||||
./addons/addon-canvas/out-esbuild-test/* \
|
||||
./addons/addon-canvas/out-test/* \
|
||||
./addons/addon-clipboard/lib/* \
|
||||
./addons/addon-clipboard/out/* \
|
||||
./addons/addon-clipboard/out-esbuild/* \
|
||||
./addons/addon-clipboard/out-esbuild-test/* \
|
||||
./addons/addon-clipboard/out-test/* \
|
||||
./addons/addon-fit/lib/* \
|
||||
./addons/addon-fit/out/* \
|
||||
./addons/addon-fit/out-esbuild/* \
|
||||
./addons/addon-fit/out-esbuild-test/* \
|
||||
./addons/addon-fit/out-test/* \
|
||||
./addons/addon-image/lib/* \
|
||||
./addons/addon-image/out/* \
|
||||
./addons/addon-image/out-esbuild/* \
|
||||
./addons/addon-image/out-esbuild-test/* \
|
||||
./addons/addon-image/out-test/* \
|
||||
./addons/addon-ligatures/lib/* \
|
||||
./addons/addon-ligatures/out/* \
|
||||
./addons/addon-ligatures/out-esbuild/* \
|
||||
./addons/addon-ligatures/out-esbuild-test/* \
|
||||
./addons/addon-ligatures/out-test/* \
|
||||
./addons/addon-search/lib/* \
|
||||
./addons/addon-search/out/* \
|
||||
./addons/addon-search/out-esbuild/* \
|
||||
./addons/addon-search/out-esbuild-test/* \
|
||||
./addons/addon-search/out-test/* \
|
||||
./addons/addon-serialize/lib/* \
|
||||
./addons/addon-serialize/out/* \
|
||||
./addons/addon-serialize/out-esbuild/* \
|
||||
./addons/addon-serialize/out-esbuild-test/* \
|
||||
./addons/addon-serialize/out-test/* \
|
||||
./addons/addon-unicode11/lib/* \
|
||||
./addons/addon-unicode11/out/* \
|
||||
./addons/addon-unicode11/out-esbuild/* \
|
||||
./addons/addon-unicode11/out-esbuild-test/* \
|
||||
./addons/addon-unicode11/out-test/* \
|
||||
./addons/addon-unicode-graphemes/lib/* \
|
||||
./addons/addon-unicode-graphemes/out/* \
|
||||
./addons/addon-unicode-graphemes/out-esbuild/* \
|
||||
./addons/addon-unicode-graphemes/out-esbuild-test/* \
|
||||
./addons/addon-unicode-graphemes/out-test/* \
|
||||
./addons/addon-web-links/lib/* \
|
||||
./addons/addon-web-links/out/* \
|
||||
./addons/addon-web-links/out-esbuild/* \
|
||||
./addons/addon-web-links/out-esbuild-test/* \
|
||||
./addons/addon-web-links/out-test/* \
|
||||
./addons/addon-webgl/lib/* \
|
||||
./addons/addon-webgl/out/* \
|
||||
./addons/addon-webgl/out-esbuild/* \
|
||||
./addons/addon-webgl/out-esbuild-test/* \
|
||||
./addons/addon-webgl/out-test/*
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@v3
|
||||
|
||||
+1
-1
@@ -101,4 +101,4 @@ yarn test-integration --suite=core
|
||||
yarn test-integration --suite=addon-search
|
||||
```
|
||||
|
||||
These use `@playwright/test` to run all tests within the tsc test output (`out-test/`). These do not use the esbuild output because they require declaration files to get types to work.
|
||||
These use `@playwright/test` to run all tests within the esbuild test output (`out-esbuild-test/`).
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
import WebSocket = require('ws');
|
||||
|
||||
import test from '@playwright/test';
|
||||
import { ITestContext, createTestContext, openTerminal, pollFor, timeout } from '../../../out-test/playwright/TestUtils';
|
||||
import { ITestContext, createTestContext, openTerminal, pollFor, timeout } from '../../../test/playwright/TestUtils';
|
||||
|
||||
let ctx: ITestContext;
|
||||
test.beforeAll(async ({ browser }) => {
|
||||
|
||||
@@ -20,8 +20,7 @@
|
||||
},
|
||||
"strict": true,
|
||||
"types": [
|
||||
"../../../node_modules/@types/node",
|
||||
"../../../out-test/playwright/TestUtils"
|
||||
"../../../node_modules/@types/node"
|
||||
]
|
||||
},
|
||||
"include": [
|
||||
@@ -34,6 +33,9 @@
|
||||
},
|
||||
{
|
||||
"path": "../../../src/browser"
|
||||
},
|
||||
{
|
||||
"path": "../../../test/playwright"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
*/
|
||||
|
||||
import test from '@playwright/test';
|
||||
import { ISharedRendererTestContext, injectSharedRendererTests, injectSharedRendererTestsStandalone } from '../../../out-test/playwright/SharedRendererTests';
|
||||
import { ITestContext, createTestContext, openTerminal } from '../../../out-test/playwright/TestUtils';
|
||||
import { ISharedRendererTestContext, injectSharedRendererTests, injectSharedRendererTestsStandalone } from '../../../test/playwright/SharedRendererTests';
|
||||
import { ITestContext, createTestContext, openTerminal } from '../../../test/playwright/TestUtils';
|
||||
|
||||
let ctx: ITestContext;
|
||||
const ctxWrapper: ISharedRendererTestContext = {
|
||||
|
||||
@@ -21,9 +21,7 @@
|
||||
"strict": true,
|
||||
"types": [
|
||||
"../../../node_modules/@types/node",
|
||||
"../../../node_modules/@lunapaint/png-codec",
|
||||
"../../../out-test/playwright/TestUtils",
|
||||
"../../../out-test/playwright/SharedRendererTests"
|
||||
"../../../node_modules/@lunapaint/png-codec"
|
||||
]
|
||||
},
|
||||
"include": [
|
||||
@@ -36,6 +34,9 @@
|
||||
},
|
||||
{
|
||||
"path": "../../../src/browser"
|
||||
},
|
||||
{
|
||||
"path": "../../../test/playwright"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
import test from '@playwright/test';
|
||||
import { deepEqual, ok, strictEqual } from 'assert';
|
||||
import { ITestContext, createTestContext, launchBrowser, openTerminal, timeout } from '../../../out-test/playwright/TestUtils';
|
||||
import { ITestContext, createTestContext, launchBrowser, openTerminal, timeout } from '../../../test/playwright/TestUtils';
|
||||
|
||||
let ctx: ITestContext;
|
||||
test.beforeAll(async ({ browser }, testInfo) => {
|
||||
|
||||
@@ -20,8 +20,7 @@
|
||||
},
|
||||
"strict": true,
|
||||
"types": [
|
||||
"../../../node_modules/@types/node",
|
||||
"../../../out-test/playwright/TestUtils"
|
||||
"../../../node_modules/@types/node"
|
||||
]
|
||||
},
|
||||
"include": [
|
||||
@@ -34,6 +33,9 @@
|
||||
},
|
||||
{
|
||||
"path": "../../../src/browser"
|
||||
},
|
||||
{
|
||||
"path": "../../../test/playwright"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
import test from '@playwright/test';
|
||||
import { deepEqual, ok, strictEqual } from 'assert';
|
||||
import { ITestContext, createTestContext, openTerminal, timeout } from '../../../out-test/playwright/TestUtils';
|
||||
import { ITestContext, createTestContext, openTerminal, timeout } from '../../../test/playwright/TestUtils';
|
||||
|
||||
let ctx: ITestContext;
|
||||
test.beforeAll(async ({ browser }) => {
|
||||
|
||||
@@ -20,8 +20,7 @@
|
||||
},
|
||||
"strict": true,
|
||||
"types": [
|
||||
"../../../node_modules/@types/node",
|
||||
"../../../out-test/playwright/TestUtils"
|
||||
"../../../node_modules/@types/node"
|
||||
]
|
||||
},
|
||||
"include": [
|
||||
@@ -34,6 +33,9 @@
|
||||
},
|
||||
{
|
||||
"path": "../../../src/browser"
|
||||
},
|
||||
{
|
||||
"path": "../../../test/playwright"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
import test from '@playwright/test';
|
||||
import { readFileSync } from 'fs';
|
||||
import { FINALIZER, introducer, sixelEncode } from 'sixel';
|
||||
import { ITestContext, createTestContext, openTerminal, pollFor } from '../../../out-test/playwright/TestUtils';
|
||||
import { ITestContext, createTestContext, openTerminal, pollFor } from '../../../test/playwright/TestUtils';
|
||||
import { deepStrictEqual, ok, strictEqual } from 'assert';
|
||||
|
||||
/**
|
||||
|
||||
@@ -20,8 +20,7 @@
|
||||
},
|
||||
"strict": true,
|
||||
"types": [
|
||||
"../../../node_modules/@types/node",
|
||||
"../../../out-test/playwright/TestUtils"
|
||||
"../../../node_modules/@types/node"
|
||||
]
|
||||
},
|
||||
"include": [
|
||||
@@ -34,6 +33,9 @@
|
||||
},
|
||||
{
|
||||
"path": "../../../src/browser"
|
||||
},
|
||||
{
|
||||
"path": "../../../test/playwright"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ import test from '@playwright/test';
|
||||
import { deepStrictEqual, strictEqual } from 'assert';
|
||||
import { readFile } from 'fs';
|
||||
import { resolve } from 'path';
|
||||
import { ITestContext, createTestContext, openTerminal, timeout } from '../../../out-test/playwright/TestUtils';
|
||||
import { ITestContext, createTestContext, openTerminal, timeout } from '../../../test/playwright/TestUtils';
|
||||
|
||||
let ctx: ITestContext;
|
||||
test.beforeAll(async ({ browser }) => {
|
||||
|
||||
@@ -20,8 +20,7 @@
|
||||
},
|
||||
"strict": true,
|
||||
"types": [
|
||||
"../../../node_modules/@types/node",
|
||||
"../../../out-test/playwright/TestUtils"
|
||||
"../../../node_modules/@types/node"
|
||||
]
|
||||
},
|
||||
"include": [
|
||||
@@ -34,6 +33,9 @@
|
||||
},
|
||||
{
|
||||
"path": "../../../src/browser"
|
||||
},
|
||||
{
|
||||
"path": "../../../test/playwright"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ import test from '@playwright/test';
|
||||
import { deepStrictEqual, notDeepStrictEqual, strictEqual } from 'assert';
|
||||
import { readFile } from 'fs';
|
||||
import { resolve } from 'path';
|
||||
import { ITestContext, createTestContext, openTerminal, timeout, writeSync } from '../../../out-test/playwright/TestUtils';
|
||||
import { ITestContext, createTestContext, openTerminal, timeout, writeSync } from '../../../test/playwright/TestUtils';
|
||||
|
||||
const writeRawSync = (page: any, str: string): Promise<void> => writeSync(ctx.page, `' +` + JSON.stringify(str) + `+ '`);
|
||||
|
||||
|
||||
@@ -20,8 +20,7 @@
|
||||
},
|
||||
"strict": true,
|
||||
"types": [
|
||||
"../../../node_modules/@types/node",
|
||||
"../../../out-test/playwright/TestUtils"
|
||||
"../../../node_modules/@types/node"
|
||||
]
|
||||
},
|
||||
"include": [
|
||||
@@ -34,6 +33,9 @@
|
||||
},
|
||||
{
|
||||
"path": "../../../src/browser"
|
||||
},
|
||||
{
|
||||
"path": "../../../test/playwright"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
import test from '@playwright/test';
|
||||
import { deepStrictEqual, strictEqual } from 'assert';
|
||||
import { ITestContext, createTestContext, openTerminal } from '../../../out-test/playwright/TestUtils';
|
||||
import { ITestContext, createTestContext, openTerminal } from '../../../test/playwright/TestUtils';
|
||||
|
||||
let ctx: ITestContext;
|
||||
test.beforeAll(async ({ browser }) => {
|
||||
|
||||
@@ -20,8 +20,7 @@
|
||||
},
|
||||
"strict": true,
|
||||
"types": [
|
||||
"../../../node_modules/@types/node",
|
||||
"../../../out-test/playwright/TestUtils"
|
||||
"../../../node_modules/@types/node"
|
||||
]
|
||||
},
|
||||
"include": [
|
||||
@@ -34,6 +33,9 @@
|
||||
},
|
||||
{
|
||||
"path": "../../../src/browser"
|
||||
},
|
||||
{
|
||||
"path": "../../../test/playwright"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
import test from '@playwright/test';
|
||||
import { deepStrictEqual } from 'assert';
|
||||
import { ITestContext, createTestContext, openTerminal } from '../../../out-test/playwright/TestUtils';
|
||||
import { ITestContext, createTestContext, openTerminal } from '../../../test/playwright/TestUtils';
|
||||
|
||||
let ctx: ITestContext;
|
||||
test.beforeAll(async ({ browser }) => {
|
||||
|
||||
@@ -20,8 +20,7 @@
|
||||
},
|
||||
"strict": true,
|
||||
"types": [
|
||||
"../../../node_modules/@types/node",
|
||||
"../../../out-test/playwright/TestUtils"
|
||||
"../../../node_modules/@types/node"
|
||||
]
|
||||
},
|
||||
"include": [
|
||||
@@ -34,6 +33,9 @@
|
||||
},
|
||||
{
|
||||
"path": "../../../src/browser"
|
||||
},
|
||||
{
|
||||
"path": "../../../test/playwright"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@ import test from '@playwright/test';
|
||||
import { deepStrictEqual, strictEqual } from 'assert';
|
||||
import { readFile } from 'fs';
|
||||
import { resolve } from 'path';
|
||||
import { ITestContext, createTestContext, openTerminal, pollFor, timeout } from '../../../out-test/playwright/TestUtils';
|
||||
import { ITestContext, createTestContext, openTerminal, pollFor, timeout } from '../../../test/playwright/TestUtils';
|
||||
|
||||
interface ILinkStateData {
|
||||
uri?: string;
|
||||
|
||||
@@ -21,8 +21,7 @@
|
||||
},
|
||||
"strict": true,
|
||||
"types": [
|
||||
"../../../node_modules/@types/node",
|
||||
"../../../out-test/playwright/TestUtils"
|
||||
"../../../node_modules/@types/node"
|
||||
]
|
||||
},
|
||||
"include": [
|
||||
@@ -35,6 +34,9 @@
|
||||
},
|
||||
{
|
||||
"path": "../../../src/browser"
|
||||
},
|
||||
{
|
||||
"path": "../../../test/playwright"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
*/
|
||||
|
||||
import test from '@playwright/test';
|
||||
import { ISharedRendererTestContext, injectSharedRendererTests, injectSharedRendererTestsStandalone } from '../../../out-test/playwright/SharedRendererTests';
|
||||
import { ITestContext, createTestContext, openTerminal } from '../../../out-test/playwright/TestUtils';
|
||||
import { ISharedRendererTestContext, injectSharedRendererTests, injectSharedRendererTestsStandalone } from '../../../test/playwright/SharedRendererTests';
|
||||
import { ITestContext, createTestContext, openTerminal } from '../../../test/playwright/TestUtils';
|
||||
import { platform } from 'os';
|
||||
|
||||
let ctx: ITestContext;
|
||||
|
||||
@@ -21,9 +21,7 @@
|
||||
"strict": true,
|
||||
"types": [
|
||||
"../../../node_modules/@types/node",
|
||||
"../../../node_modules/@lunapaint/png-codec",
|
||||
"../../../out-test/playwright/TestUtils",
|
||||
"../../../out-test/playwright/SharedRendererTests"
|
||||
"../../../node_modules/@lunapaint/png-codec"
|
||||
]
|
||||
},
|
||||
"include": [
|
||||
@@ -36,6 +34,9 @@
|
||||
},
|
||||
{
|
||||
"path": "../../../src/browser"
|
||||
},
|
||||
{
|
||||
"path": "../../../test/playwright"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+21
-20
@@ -92,10 +92,10 @@ let outConfig = {
|
||||
let skipOut = false;
|
||||
|
||||
/** @type {esbuild.BuildOptions} */
|
||||
// let outTestConfig = {
|
||||
// format: 'cjs'
|
||||
// }
|
||||
// let skipOutTest = false;
|
||||
let outTestConfig = {
|
||||
format: 'cjs'
|
||||
}
|
||||
let skipOutTest = false;
|
||||
|
||||
if (config.addon) {
|
||||
bundleConfig = {
|
||||
@@ -108,14 +108,15 @@ if (config.addon) {
|
||||
entryPoints: [`addons/addon-${config.addon}/src/**/*.ts`],
|
||||
outdir: `addons/addon-${config.addon}/out-esbuild/`
|
||||
};
|
||||
// outTestConfig = {
|
||||
// ...outConfig,
|
||||
// entryPoints: [`addons/addon-${config.addon}/test/**/*.ts`],
|
||||
// outdir: `addons/addon-${config.addon}/out-esbuild-test/`
|
||||
// };
|
||||
outTestConfig = {
|
||||
...outConfig,
|
||||
entryPoints: [`addons/addon-${config.addon}/test/**/*.ts`],
|
||||
outdir: `addons/addon-${config.addon}/out-esbuild-test/`
|
||||
};
|
||||
|
||||
if (config.addon === 'ligatures') {
|
||||
bundleConfig.platform = 'node';
|
||||
skipOutTest = true;
|
||||
}
|
||||
|
||||
if (config.addon === 'serialize') {
|
||||
@@ -173,11 +174,11 @@ if (config.addon) {
|
||||
entryPoints: ['src/**/*.ts'],
|
||||
outdir: 'out-esbuild/'
|
||||
};
|
||||
// outTestConfig = {
|
||||
// ...outConfig,
|
||||
// entryPoints: ['test/**/*.ts'],
|
||||
// outdir: 'out-esbuild-test/'
|
||||
// };
|
||||
outTestConfig = {
|
||||
...outConfig,
|
||||
entryPoints: ['test/**/*.ts'],
|
||||
outdir: 'out-esbuild-test/'
|
||||
};
|
||||
}
|
||||
|
||||
if (config.isWatch) {
|
||||
@@ -185,15 +186,15 @@ if (config.isWatch) {
|
||||
if (!skipOut) {
|
||||
context(outConfig).then(e => e.watch());
|
||||
}
|
||||
// if (!skipOutTest) {
|
||||
// context(outTestConfig).then(e => e.watch());
|
||||
// }
|
||||
if (!skipOutTest) {
|
||||
context(outTestConfig).then(e => e.watch());
|
||||
}
|
||||
} else {
|
||||
await build(bundleConfig);
|
||||
if (!skipOut) {
|
||||
await build(outConfig);
|
||||
}
|
||||
// if (!skipOutTest) {
|
||||
// await build(outTestConfig);
|
||||
// }
|
||||
if (!skipOutTest) {
|
||||
await build(outTestConfig);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@ while (argv.some(e => e.startsWith('--suite='))) {
|
||||
}
|
||||
|
||||
let configs = [
|
||||
{ name: 'core', path: 'out-test/playwright/playwright.config.js' }
|
||||
{ name: 'core', path: 'out-esbuild-test/playwright/playwright.config.js' }
|
||||
];
|
||||
const addons = [
|
||||
'attach',
|
||||
@@ -34,7 +34,7 @@ const addons = [
|
||||
'webgl',
|
||||
];
|
||||
for (const addon of addons) {
|
||||
configs.push({ name: `addon-${addon}`, path: `addons/addon-${addon}/out-test/playwright.config.js` });
|
||||
configs.push({ name: `addon-${addon}`, path: `addons/addon-${addon}/out-esbuild-test/playwright.config.js` });
|
||||
}
|
||||
|
||||
if (suiteFilter) {
|
||||
@@ -61,8 +61,8 @@ async function run() {
|
||||
|
||||
if (run.error) {
|
||||
console.error(run.error);
|
||||
process.exit(run.status ?? -1);
|
||||
}
|
||||
process.exit(run.status ?? -1);
|
||||
}
|
||||
}
|
||||
run();
|
||||
|
||||
@@ -1313,7 +1313,7 @@ function getCellColor(ctx: ITestContext, col: number, row: number, position: Cel
|
||||
|
||||
let frameDetails: { cols: number, rows: number, decoded: IImage32 } | undefined = undefined;
|
||||
async function getFrameDetails(ctx: ITestContext): Promise<{ cols: number, rows: number, decoded: IImage32 }> {
|
||||
const screenshotOptions: LocatorScreenshotOptions | undefined = process.env.DEBUG ? { path: 'out-test/playwright/screenshot.png' } : undefined;
|
||||
const screenshotOptions: LocatorScreenshotOptions | undefined = process.env.DEBUG ? { path: 'out-esbuild-test/playwright/screenshot.png' } : undefined;
|
||||
const buffer = await ctx.page.locator('#terminal-container .xterm-screen').screenshot(screenshotOptions);
|
||||
frameDetails = {
|
||||
cols: await ctx.proxy.cols,
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
},
|
||||
"target": "ESNext",
|
||||
"module": "commonjs",
|
||||
"composite": true
|
||||
},
|
||||
"include": [
|
||||
"./**/*",
|
||||
|
||||
Reference in New Issue
Block a user