Browse Source

test: reenable disabled GHA windows tests (#45075)

* test: renable GHA on Windows disabled tests

Co-authored-by: John Kleinschmidt <[email protected]>

* test: close edge after shell.openExternal

Co-authored-by: John Kleinschmidt <[email protected]>

* test: close edge sync after shell.openExternal

Co-authored-by: John Kleinschmidt <[email protected]>

---------

Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: John Kleinschmidt <[email protected]>
trop[bot] 3 months ago
parent
commit
1ecc57465d
2 changed files with 13 additions and 7 deletions
  1. 10 0
      spec/api-shell-spec.ts
  2. 3 7
      spec/chromium-spec.ts

+ 10 - 0
spec/api-shell-spec.ts

@@ -3,6 +3,7 @@ import { BrowserWindow, app } from 'electron/main';
 
 import { expect } from 'chai';
 
+import { execSync } from 'node:child_process';
 import { once } from 'node:events';
 import * as fs from 'node:fs';
 import * as http from 'node:http';
@@ -17,6 +18,15 @@ describe('shell module', () => {
     let envVars: Record<string, string | undefined> = {};
     let server: http.Server;
 
+    after(function () {
+      this.timeout(60000);
+      if (process.env.CI && process.platform === 'win32') {
+        // Edge may cause issues with visibility tests, so make sure it is closed after testing.
+        const killEdge = 'Get-Process | Where Name -Like "msedge" | Stop-Process';
+        execSync(killEdge, { shell: 'powershell.exe' });
+      }
+    });
+
     beforeEach(function () {
       envVars = {
         display: process.env.DISPLAY,

+ 3 - 7
spec/chromium-spec.ts

@@ -653,9 +653,7 @@ describe('chromium features', () => {
       expect(size).to.be.a('number');
     });
 
-    // TODO: Re-enable for windows on GitHub Actions,
-    // fullscreen tests seem to hang on GHA specifically
-    ifit(process.platform !== 'win32' || process.arch === 'arm64')('should lock the keyboard', async () => {
+    it('should lock the keyboard', async () => {
       const w = new BrowserWindow({ show: true });
       await w.loadFile(path.join(fixturesPath, 'pages', 'modal.html'));
 
@@ -2980,9 +2978,7 @@ describe('iframe using HTML fullscreen API while window is OS-fullscreened', ()
     server.close();
   });
 
-  // TODO: Re-enable for windows on GitHub Actions,
-  // fullscreen tests seem to hang on GHA specifically
-  ifit(process.platform !== 'darwin' && (process.platform !== 'win32' || process.arch === 'arm64'))('can fullscreen from out-of-process iframes (non-macOS)', async () => {
+  ifit(process.platform !== 'darwin')('can fullscreen from out-of-process iframes (non-macOS)', async () => {
     const fullscreenChange = once(ipcMain, 'fullscreenChange');
     const html =
       `<iframe style="width: 0" frameborder=0 src="${crossSiteUrl}" allowfullscreen></iframe>`;
@@ -3037,7 +3033,7 @@ describe('iframe using HTML fullscreen API while window is OS-fullscreened', ()
 
   // TODO: Re-enable for windows on GitHub Actions,
   // fullscreen tests seem to hang on GHA specifically
-  ifit(process.platform !== 'win32' || process.arch === 'arm64')('can fullscreen from in-process iframes', async () => {
+  it('can fullscreen from in-process iframes', async () => {
     if (process.platform === 'darwin') await once(w, 'enter-full-screen');
 
     const fullscreenChange = once(ipcMain, 'fullscreenChange');