mirror of
https://github.com/pewdiepie-archdaemon/odysseus.git
synced 2026-10-30 17:52:26 +01:00
- Store Playwright evidence in ignored test-results/ paths by default while preserving env override - Clean up disposable temporary application data directories in /tmp on global teardown and exit signals - Add Chromium mobile and tablet viewport profiles (phone portrait/landscape, tablet) for automated coverage - Add a scoped Chromium mobile layout CI check on shard 1/4 to prevent redundant matrix execution - Reach mobile Settings and Notes views via genuine sidebar navigation controls opened through the hamburger button - Add assertions against live rendered Notes and Documents panes honoring safe-area top and height constraints - Document local WebKit prerequisites and physical iOS/PWA test limitations in tests/e2e/README.md and package.json
29 lines
1.1 KiB
JavaScript
29 lines
1.1 KiB
JavaScript
const fs = require('node:fs');
|
|
const os = require('node:os');
|
|
const path = require('node:path');
|
|
|
|
/**
|
|
* Global teardown for the iOS/mobile layout Playwright test suite.
|
|
* Cleans up only disposable temporary application data directories,
|
|
* preserving diagnostic artifacts (screenshots and failure traces) in test-results/.
|
|
*/
|
|
module.exports = async () => {
|
|
const dataDirectory = process.env.ODYSSEUS_LAYOUT_DATA_DIR;
|
|
if (!dataDirectory || typeof dataDirectory !== 'string') return;
|
|
|
|
try {
|
|
const resolvedData = path.resolve(dataDirectory);
|
|
const allowedTmpBases = [os.tmpdir(), '/var/tmp', '/tmp'].map(b => path.resolve(b));
|
|
const isTmp = allowedTmpBases.some(base => resolvedData.startsWith(base + path.sep));
|
|
const baseName = path.basename(resolvedData);
|
|
|
|
if (isTmp && (baseName.startsWith('odysseus-ios-layout-') || baseName.startsWith('odysseus-pr6396-'))) {
|
|
if (fs.existsSync(resolvedData)) {
|
|
fs.rmSync(resolvedData, { recursive: true, force: true });
|
|
}
|
|
}
|
|
} catch (err) {
|
|
console.warn(`[ios-layout-teardown] Warning: failed to clean temporary runtime dir: ${err.message}`);
|
|
}
|
|
};
|