test: skip SharedArrayBuffer on macOS 12 (#31845)

This commit is contained in:
Max Schmitt 2024-07-24 18:45:03 +02:00 committed by GitHub
parent 1e94abb683
commit ca149be154
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 12 additions and 11 deletions

View File

@ -181,7 +181,7 @@ browserTest('should be able to get correct orientation angle on non-mobile devic
it('should set window.screen.orientation.type for mobile devices', async ({ contextFactory, browserName, server, isMac }) => { it('should set window.screen.orientation.type for mobile devices', async ({ contextFactory, browserName, server, isMac }) => {
it.info().annotations.push({ type: 'issue', description: 'https://github.com/microsoft/playwright/issues/31151' }); it.info().annotations.push({ type: 'issue', description: 'https://github.com/microsoft/playwright/issues/31151' });
it.skip(browserName === 'firefox', 'Firefox does not support mobile emulation'); it.skip(browserName === 'firefox', 'Firefox does not support mobile emulation');
it.skip(isMac && parseInt(os.release().split('.')[0], 10) <= 21, 'WebKit on macOS 12 is frozen and does not support orientation.type override'); it.skip(browserName === 'webkit' && isMac && parseInt(os.release().split('.')[0], 10) <= 21, 'WebKit on macOS 12 is frozen and does not support orientation.type override');
const context = await contextFactory(devices['iPhone 14']); const context = await contextFactory(devices['iPhone 14']);
const page = await context.newPage(); const page = await context.newPage();
await page.goto(server.PREFIX + '/index.html'); await page.goto(server.PREFIX + '/index.html');

View File

@ -19,7 +19,8 @@ import url from 'url';
import { contextTest as it, expect } from '../config/browserTest'; import { contextTest as it, expect } from '../config/browserTest';
import { hostPlatform } from '../../packages/playwright-core/src/utils/hostPlatform'; import { hostPlatform } from '../../packages/playwright-core/src/utils/hostPlatform';
it('SharedArrayBuffer should work @smoke', async function({ contextFactory, httpsServer }) { it('SharedArrayBuffer should work @smoke', async function({ contextFactory, httpsServer, isMac, browserName }) {
it.skip(browserName === 'webkit' && isMac && parseInt(os.release().split('.')[0], 10) <= 21, 'WebKit on macOS 12 is frozen and does not support SharedArrayBuffer');
const context = await contextFactory({ ignoreHTTPSErrors: true }); const context = await contextFactory({ ignoreHTTPSErrors: true });
const page = await context.newPage(); const page = await context.newPage();
httpsServer.setRoute('/sharedarraybuffer', (req, res) => { httpsServer.setRoute('/sharedarraybuffer', (req, res) => {

View File

@ -39,7 +39,7 @@ it('should upload the file', async ({ page, server, asset }) => {
it('should upload a folder', async ({ page, server, browserName, headless, browserMajorVersion, isAndroid }) => { it('should upload a folder', async ({ page, server, browserName, headless, browserMajorVersion, isAndroid }) => {
it.skip(isAndroid); it.skip(isAndroid);
it.skip(os.platform() === 'darwin' && parseInt(os.release().split('.')[0], 10) <= 21, 'WebKit on macOS-12 is frozen'); it.skip(browserName === 'webkit' && os.platform() === 'darwin' && parseInt(os.release().split('.')[0], 10) <= 21, 'WebKit on macOS-12 is frozen');
await page.goto(server.PREFIX + '/input/folderupload.html'); await page.goto(server.PREFIX + '/input/folderupload.html');
const input = await page.$('input'); const input = await page.$('input');
@ -70,9 +70,9 @@ it('should upload a folder', async ({ page, server, browserName, headless, brows
} }
}); });
it('should upload a folder and throw for multiple directories', async ({ page, server, isAndroid }) => { it('should upload a folder and throw for multiple directories', async ({ page, server, isAndroid, browserName }) => {
it.skip(isAndroid); it.skip(isAndroid);
it.skip(os.platform() === 'darwin' && parseInt(os.release().split('.')[0], 10) <= 21, 'WebKit on macOS-12 is frozen'); it.skip(browserName === 'webkit' && os.platform() === 'darwin' && parseInt(os.release().split('.')[0], 10) <= 21, 'WebKit on macOS-12 is frozen');
await page.goto(server.PREFIX + '/input/folderupload.html'); await page.goto(server.PREFIX + '/input/folderupload.html');
const input = await page.$('input'); const input = await page.$('input');
@ -89,9 +89,9 @@ it('should upload a folder and throw for multiple directories', async ({ page, s
])).rejects.toThrow('Multiple directories are not supported'); ])).rejects.toThrow('Multiple directories are not supported');
}); });
it('should throw if a directory and files are passed', async ({ page, server, isAndroid }) => { it('should throw if a directory and files are passed', async ({ page, server, isAndroid, browserName }) => {
it.skip(isAndroid); it.skip(isAndroid);
it.skip(os.platform() === 'darwin' && parseInt(os.release().split('.')[0], 10) <= 21, 'WebKit on macOS-12 is frozen'); it.skip(browserName === 'webkit' && os.platform() === 'darwin' && parseInt(os.release().split('.')[0], 10) <= 21, 'WebKit on macOS-12 is frozen');
await page.goto(server.PREFIX + '/input/folderupload.html'); await page.goto(server.PREFIX + '/input/folderupload.html');
const input = await page.$('input'); const input = await page.$('input');
@ -106,9 +106,9 @@ it('should throw if a directory and files are passed', async ({ page, server, is
])).rejects.toThrow('File paths must be all files or a single directory'); ])).rejects.toThrow('File paths must be all files or a single directory');
}); });
it('should throw when uploading a folder in a normal file upload input', async ({ page, server, isAndroid }) => { it('should throw when uploading a folder in a normal file upload input', async ({ page, server, isAndroid, browserName }) => {
it.skip(isAndroid); it.skip(isAndroid);
it.skip(os.platform() === 'darwin' && parseInt(os.release().split('.')[0], 10) <= 21, 'WebKit on macOS-12 is frozen'); it.skip(browserName === 'webkit' && os.platform() === 'darwin' && parseInt(os.release().split('.')[0], 10) <= 21, 'WebKit on macOS-12 is frozen');
await page.goto(server.PREFIX + '/input/fileupload.html'); await page.goto(server.PREFIX + '/input/fileupload.html');
const input = await page.$('input'); const input = await page.$('input');
@ -120,9 +120,9 @@ it('should throw when uploading a folder in a normal file upload input', async (
await expect(input.setInputFiles(dir)).rejects.toThrow('File input does not support directories, pass individual files instead'); await expect(input.setInputFiles(dir)).rejects.toThrow('File input does not support directories, pass individual files instead');
}); });
it('should throw when uploading a file in a directory upload input', async ({ page, server, isAndroid, asset }) => { it('should throw when uploading a file in a directory upload input', async ({ page, server, isAndroid, asset, browserName }) => {
it.skip(isAndroid); it.skip(isAndroid);
it.skip(os.platform() === 'darwin' && parseInt(os.release().split('.')[0], 10) <= 21, 'WebKit on macOS-12 is frozen'); it.skip(browserName === 'webkit' && os.platform() === 'darwin' && parseInt(os.release().split('.')[0], 10) <= 21, 'WebKit on macOS-12 is frozen');
await page.goto(server.PREFIX + '/input/folderupload.html'); await page.goto(server.PREFIX + '/input/folderupload.html');
const input = await page.$('input'); const input = await page.$('input');