Files
gex/test/core/bytes.test.js
velzieandClaude Opus 5.5 a6e7c17f9e Restructure: hosts/, page/, ports/, site/, toolchain/, wine/, scripts/
The tree by what each part is, behind the top-level Makefile:
- shims/ -> hosts/ (the browser, kernel, native and Wayland hosts)
- web/ -> page/ (the page's source, build and serve), ports/mesa,
  ports/xwayland and ports/tint (the ports the page loads), site/ (static
  sites and the eject page)
- tools/gexcc -> toolchain/gexcc, with the sysroot and busybox builds from
  tools/wine-wasm in toolchain/sysroot and toolchain/busybox, and one
  toolchain/pins (musl, the LP64 musl, LLVM, busybox)
- tools/wine-wasm -> wine/: dist.sh (was wine64-dist.sh), wine.pins (64-bit
  Wine, and the 32-bit tree its wineserver builds from), libs.pins (the Unix
  libraries), the 32-bit-only pieces in wine/legacy32 (its own pins and
  legacy.mk, which wine/Makefile includes)
- tools/*.py and tools/*.sh -> scripts/ (the GL generators in scripts/gl)
- wine32/src.sh is scripts/fetch-pinned.sh, which takes the trees the old
  script marked as its own

References follow the moves: paths from the tree's root by the map, paths
from a script's own directory by where their target went.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_e0aa53aa95eb4b86910519b4d14812a5
2026-11-04 17:30:24 -05:00

22 lines
1.0 KiB
JavaScript

// The page lets the shim's and the kernel's bytes go once they are compiled:
// after boot and two programs, the runtime's module state holds neither
// (runtime.js `heldBytes`), and a second program still starts from the
// host's compiled shim.
import { System } from '../../page/runtime/src/index.js';
import { MemoryFilesystem } from '../../page/runtime/src/fs.js';
import { heldBytes } from '../../page/src/runtime.js';
export const meta = { hosts: ['browser', 'node'], images: ['busybox'], timeout: 120 };
export default async function (t) {
const { eq, timeout } = t;
const sys = new System({ baseUrl: t.baseUrl, debug: t.debug() });
const fs = new MemoryFilesystem(sys);
fs.addTar(t.work('bb.tar.zst'));
await timeout(sys.boot(), 60000, 'boot');
const env = { PATH: '/bin:/usr/bin' };
for (const n of [1, 2]) eq(`run ${n}`, (await timeout(sys.run(['echo', `hi ${n}`], { env }), 30000, `run ${n}`)).stdout, `hi ${n}\n`);
eq('the bytes the runtime holds after compiling', heldBytes(), { shim: false, kernel: false });
await sys.shutdown();
}