Test improvements: - Capture titles for all macOS windows, not just the frontmost. - Incorporate missing application log files. - Improve log clarity with enriched context. - Improve application termination on macOS by reducing grace period. - Ensure complete application termination on macOS. - Validate Vue application loading through an initial log. - Support ignoring environment-specific `stderr` errors. - Do not fail the test if working directory cannot be deleted. - Use retry pattern when installing dependencies due to network errors. Refactorings: - Migrate the test code to TypeScript. - Replace deprecated `rmdir` with `rm` for error-resistant directory removal. - Improve sanity checking by shifting from App.vue to Vue bootstrapper. - Centralize environment variable management with `EnvironmentVariables` construct. - Rename infrastructure/Environment to RuntimeEnvironment for clarity. - Isolate WindowVariables and SystemOperations from RuntimeEnvironment. - Inject logging via preloader. - Correct mislabeled RuntimeSanity tests. Configuration: - Introduce `npm run check:desktop` for simplified execution. - Omit `console.log` override due to `nodeIntegration` restrictions and reveal logging functionality using context-bridging.
42 lines
2.1 KiB
TypeScript
42 lines
2.1 KiB
TypeScript
/* eslint-disable vue/max-len */
|
|
|
|
/* Ignore errors specific to host environment, rather than application execution */
|
|
export const STDERR_IGNORE_PATTERNS: readonly RegExp[] = [
|
|
/*
|
|
OS: Linux
|
|
Background:
|
|
GLIBC and libgiolibproxy.so were seen on local Linux (Ubuntu-based) installation.
|
|
Original logs:
|
|
/snap/core20/current/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by /lib/x86_64-linux-gnu/libproxy.so.1)
|
|
Failed to load module: /home/bob/snap/code/common/.cache/gio-modules/libgiolibproxy.so
|
|
[334053:0829/122143.595703:ERROR:browser_main_loop.cc(274)] GLib: Failed to set scheduler settings: Operation not permitted
|
|
*/
|
|
/libstdc\+\+\.so.*?GLIBCXX_.*?not found/,
|
|
/Failed to load module: .*?libgiolibproxy\.so/,
|
|
/\[.*?:ERROR:browser_main_loop\.cc.*?\] GLib: Failed to set scheduler settings: Operation not permitted/,
|
|
|
|
/*
|
|
OS: macOS
|
|
Background:
|
|
Observed when running on GitHub runner, but not on local macOS environment.
|
|
Original logs:
|
|
[1571:0828/162611.460587:ERROR:trust_store_mac.cc(844)] Error parsing certificate:
|
|
ERROR: Failed parsing extensions
|
|
*/
|
|
/ERROR:trust_store_mac\.cc.*?Error parsing certificate:/,
|
|
/ERROR: Failed parsing extensions/,
|
|
|
|
/*
|
|
OS: Linux (GitHub Actions)
|
|
Background:
|
|
Occur during Electron's GPU process initialization. Common in headless CI/CD environments.
|
|
Not indicative of a problem in typical desktop environments.
|
|
Original logs:
|
|
[3548:0828/162502.835833:ERROR:viz_main_impl.cc(186)] Exiting GPU process due to errors during initialization
|
|
[3627:0828/162503.133178:ERROR:viz_main_impl.cc(186)] Exiting GPU process due to errors during initialization
|
|
[3621:0828/162503.420173:ERROR:command_buffer_proxy_impl.cc(128)] ContextResult::kTransientFailure: Failed to send GpuControl.CreateCommandBuffer.
|
|
*/
|
|
/ERROR:viz_main_impl\.cc.*?Exiting GPU process due to errors during initialization/,
|
|
/ERROR:command_buffer_proxy_impl\.cc.*?ContextResult::kTransientFailure: Failed to send GpuControl\.CreateCommandBuffer\./,
|
|
];
|