remove listChanged event

the event isn't consumed from vscode, so we can do this without breaking it
This commit is contained in:
Simon Knott 2024-07-26 14:29:27 +02:00
parent 975513e3d9
commit b95b435e01
No known key found for this signature in database
GPG key ID: 8CEDC00028084AEC
4 changed files with 9 additions and 18 deletions

View file

@ -23,14 +23,12 @@ export class TestServerConnection implements TestServerInterface, TestServerInte
readonly onClose: events.Event<void>; readonly onClose: events.Event<void>;
readonly onReport: events.Event<any>; readonly onReport: events.Event<any>;
readonly onStdio: events.Event<{ type: 'stderr' | 'stdout'; text?: string | undefined; buffer?: string | undefined; }>; readonly onStdio: events.Event<{ type: 'stderr' | 'stdout'; text?: string | undefined; buffer?: string | undefined; }>;
readonly onListChanged: events.Event<void>;
readonly onTestFilesChanged: events.Event<{ testFiles: string[] }>; readonly onTestFilesChanged: events.Event<{ testFiles: string[] }>;
readonly onLoadTraceRequested: events.Event<{ traceUrl: string }>; readonly onLoadTraceRequested: events.Event<{ traceUrl: string }>;
private _onCloseEmitter = new events.EventEmitter<void>(); private _onCloseEmitter = new events.EventEmitter<void>();
private _onReportEmitter = new events.EventEmitter<any>(); private _onReportEmitter = new events.EventEmitter<any>();
private _onStdioEmitter = new events.EventEmitter<{ type: 'stderr' | 'stdout'; text?: string | undefined; buffer?: string | undefined; }>(); private _onStdioEmitter = new events.EventEmitter<{ type: 'stderr' | 'stdout'; text?: string | undefined; buffer?: string | undefined; }>();
private _onListChangedEmitter = new events.EventEmitter<void>();
private _onTestFilesChangedEmitter = new events.EventEmitter<{ testFiles: string[] }>(); private _onTestFilesChangedEmitter = new events.EventEmitter<{ testFiles: string[] }>();
private _onLoadTraceRequestedEmitter = new events.EventEmitter<{ traceUrl: string }>(); private _onLoadTraceRequestedEmitter = new events.EventEmitter<{ traceUrl: string }>();
@ -44,7 +42,6 @@ export class TestServerConnection implements TestServerInterface, TestServerInte
this.onClose = this._onCloseEmitter.event; this.onClose = this._onCloseEmitter.event;
this.onReport = this._onReportEmitter.event; this.onReport = this._onReportEmitter.event;
this.onStdio = this._onStdioEmitter.event; this.onStdio = this._onStdioEmitter.event;
this.onListChanged = this._onListChangedEmitter.event;
this.onTestFilesChanged = this._onTestFilesChangedEmitter.event; this.onTestFilesChanged = this._onTestFilesChangedEmitter.event;
this.onLoadTraceRequested = this._onLoadTraceRequestedEmitter.event; this.onLoadTraceRequested = this._onLoadTraceRequestedEmitter.event;
@ -103,8 +100,6 @@ export class TestServerConnection implements TestServerInterface, TestServerInte
this._onReportEmitter.fire(params); this._onReportEmitter.fire(params);
else if (method === 'stdio') else if (method === 'stdio')
this._onStdioEmitter.fire(params); this._onStdioEmitter.fire(params);
else if (method === 'listChanged')
this._onListChangedEmitter.fire(params);
else if (method === 'testFilesChanged') else if (method === 'testFilesChanged')
this._onTestFilesChangedEmitter.fire(params); this._onTestFilesChangedEmitter.fire(params);
else if (method === 'loadTraceRequested') else if (method === 'loadTraceRequested')

View file

@ -118,7 +118,6 @@ export interface TestServerInterface {
export interface TestServerInterfaceEvents { export interface TestServerInterfaceEvents {
onReport: Event<any>; onReport: Event<any>;
onStdio: Event<{ type: 'stdout' | 'stderr', text?: string, buffer?: string }>; onStdio: Event<{ type: 'stdout' | 'stderr', text?: string, buffer?: string }>;
onListChanged: Event<void>;
onTestFilesChanged: Event<{ testFiles: string[] }>; onTestFilesChanged: Event<{ testFiles: string[] }>;
onLoadTraceRequested: Event<{ traceUrl: string }>; onLoadTraceRequested: Event<{ traceUrl: string }>;
} }
@ -126,7 +125,6 @@ export interface TestServerInterfaceEvents {
export interface TestServerInterfaceEventEmitters { export interface TestServerInterfaceEventEmitters {
dispatchEvent(event: 'report', params: ReportEntry): void; dispatchEvent(event: 'report', params: ReportEntry): void;
dispatchEvent(event: 'stdio', params: { type: 'stdout' | 'stderr', text?: string, buffer?: string }): void; dispatchEvent(event: 'stdio', params: { type: 'stdout' | 'stderr', text?: string, buffer?: string }): void;
dispatchEvent(event: 'listChanged', params: {}): void;
dispatchEvent(event: 'testFilesChanged', params: { testFiles: string[] }): void; dispatchEvent(event: 'testFilesChanged', params: { testFiles: string[] }): void;
dispatchEvent(event: 'loadTraceRequested', params: { traceUrl: string }): void; dispatchEvent(event: 'loadTraceRequested', params: { traceUrl: string }): void;
} }

View file

@ -27,7 +27,7 @@ import { TestRun, createTaskRunnerForList, createTaskRunnerForTestServer, create
import { open } from 'playwright-core/lib/utilsBundle'; import { open } from 'playwright-core/lib/utilsBundle';
import ListReporter from '../reporters/list'; import ListReporter from '../reporters/list';
import { SigIntWatcher } from './sigIntWatcher'; import { SigIntWatcher } from './sigIntWatcher';
import { Watcher } from '../fsWatcher'; import { type FSEvent, Watcher } from '../fsWatcher';
import type { ReportEntry, TestServerInterface, TestServerInterfaceEventEmitters } from '../isomorphic/testServerInterface'; import type { ReportEntry, TestServerInterface, TestServerInterfaceEventEmitters } from '../isomorphic/testServerInterface';
import { Runner } from './runner'; import { Runner } from './runner';
import type { ConfigCLIOverrides } from '../common/ipc'; import type { ConfigCLIOverrides } from '../common/ipc';
@ -86,15 +86,17 @@ class TestServerDispatcher implements TestServerInterface {
gracefullyProcessExitDoNotHang(0); gracefullyProcessExitDoNotHang(0);
}, },
}; };
this._globalWatcher = new Watcher('deep', () => this._dispatchEvent('listChanged', {})); this._globalWatcher = new Watcher('deep', events => this._checkForChangedTestFiles(events));
this._testWatcher = new Watcher('flat', events => { this._testWatcher = new Watcher('flat', events => this._checkForChangedTestFiles(events));
const collector = new Set<string>();
events.forEach(f => collectAffectedTestFiles(f.file, collector));
this._dispatchEvent('testFilesChanged', { testFiles: [...collector] });
});
this._dispatchEvent = (method, params) => this.transport.sendEvent?.(method, params); this._dispatchEvent = (method, params) => this.transport.sendEvent?.(method, params);
} }
private _checkForChangedTestFiles(events: FSEvent[]) {
const collector = new Set<string>();
events.forEach(f => collectAffectedTestFiles(f.file, collector));
this._dispatchEvent('testFilesChanged', { testFiles: [...collector] });
}
private async _wireReporter(messageSink: (message: any) => void) { private async _wireReporter(messageSink: (message: any) => void) {
return await createReporterForTestServer(this._serializer, messageSink); return await createReporterForTestServer(this._serializer, messageSink);
} }

View file

@ -243,10 +243,6 @@ export const UIModeView: React.FC<{}> = ({
await commandQueue.current; await commandQueue.current;
}, [testServerConnection, teleSuiteUpdater]); }, [testServerConnection, teleSuiteUpdater]);
React.useEffect(() => {
testServerConnection?.onListChanged(updateList);
}, [testServerConnection, updateList]);
// Update project filter default values. // Update project filter default values.
React.useEffect(() => { React.useEffect(() => {
if (!testModel) if (!testModel)