|
| 1 | +const os = require('os'); |
| 2 | + |
1 | 3 | try {
|
2 | 4 | // Karma configuration for a local run (the default)
|
3 | 5 | const createKarmaConfig = require("./karma.base.conf");
|
|
45 | 47 | // We use the launchers themselves to figure out if the browser exists. It's a bit sneaky, but it works.
|
46 | 48 | tryAddBrowser("ChromeHeadlessNoSandbox", ChromeHeadlessBrowser.prototype);
|
47 | 49 | tryAddBrowser("ChromiumHeadlessIgnoreCert", ChromiumHeadlessBrowser.prototype);
|
48 |
| - if (!tryAddBrowser("FirefoxHeadless", FirefoxHeadlessBrowser.prototype)) { |
49 |
| - tryAddBrowser("FirefoxDeveloperHeadless", FirefoxDeveloperHeadlessBrowser.prototype); |
| 50 | + |
| 51 | + if (os.platform() !== 'darwin') { |
| 52 | + if (!tryAddBrowser("FirefoxHeadless", FirefoxHeadlessBrowser.prototype)) { |
| 53 | + tryAddBrowser("FirefoxDeveloperHeadless", FirefoxDeveloperHeadlessBrowser.prototype); |
| 54 | + } |
| 55 | + } else { |
| 56 | + // https://bugzilla.mozilla.org/show_bug.cgi?id=1871366 |
| 57 | + // https://bugzilla.mozilla.org/show_bug.cgi?id=1871447 |
| 58 | + // It looks like some Entitlements issue with Firefox and macOS, additionally, it seems 'firefox-bin' is being removed which is what the karma firefox launcher uses by default |
| 59 | + tryAddBrowser("FirefoxHeadlessMac", FirefoxHeadlessBrowser.prototype); |
50 | 60 | }
|
51 | 61 |
|
52 | 62 | // We need to receive an argument from the caller, but globals don't seem to work, so we use an environment variable.
|
|
71 | 81 |
|
72 | 82 | // Ignore cert errors to allow our test cert to work (NEVER do this outside of testing)
|
73 | 83 | flags: ["--allow-insecure-localhost", "--ignore-certificate-errors"]
|
| 84 | + }, |
| 85 | + FirefoxHeadlessMac: { |
| 86 | + base: 'FirefoxHeadless', |
| 87 | + |
| 88 | + command: '/Applications/FireFox.app/Contents/MacOS/firefox' |
74 | 89 | }
|
75 | 90 | },
|
76 | 91 | });
|
|
0 commit comments