Skip to content

A kernel directory, symlink and listing entry each have an identity: SYS_STAT by path, and readdir answers the node - #855

Merged
Japabu merged 7 commits into
mainfrom
wt/toyos-dirid
Oct 11, 2026
Merged

Japabu merged 7 commits into
mainfrom
wt/toyos-dirid

Conversation

@Japabu

@Japabu Japabu commented Oct 11, 2026 •

Copy link
Copy Markdown
Collaborator

Every kernel directory and symlink answered (0, 0) for stat's (volume, node), and readdir's d_ino was the entry's offset in the listing. With #854's realpath in, clang found its install directory and then took every kernel include directory for the first (ignoring duplicate directory, 'stdio.h' file not found): its FileManager keys directories on the pair. Now a kernel directory, symlink and listing entry each have a true identity.

Design

  • SYS_STAT (16), toyos_abi::syscall::stat(path, follow): a Stat for any name the kernel serves, a final symlink followed or not, with FileType::Directory (11) and Symlink (12) beside File. A directory or symlink cannot be opened, so asking by path is the only way to its identity. libc's stat, lstat and access and std's stat and lstat are one call each; the readdir probe (is_dir, kernel_is_dir), the readlink probe and the zeroed answers they built are deleted, and libc's realpath resolves a path by the kernel's rules and link bound, which toyos-abi declares, and the kernel's non-POSIX resolution is recorded #854's realpath asks its is_dir through SYS_STAT. Vfs::stat answers the kernel's ops::Stat itself, so no intermediate type stands between it and the copy-out.
  • Volumes are A file's identity: stat answers a volume and a node, through the kernel, the file server, libc and std #851's: a mount's index plus one.
  • Nodes, every one drawn from the count FileIds come from (file_cache::draw_node), so none on a kernel volume is another's:
    • a file's stays its FileId, as A file's identity: stat answers a volume and a node, through the kernel, the file server, libc and std #851 has it;
    • a symlink's, on /tmp, is drawn at its making and carried in its tmpfs entry, so a rename keeps it; on ROOT it is drawn on first ask and kept in the adapter's per-name map as Node::Symlink, beside Node::File(FileId), which an immutable volume bounds; a name the map holds as a symlink that the volume then answers extents for is refused Io rather than opened as a FileId;
    • a directory's is drawn on first ask and kept by absolute path in the VFS (kernel::dirnodes::Directories, host-tested), because neither kernel mount records a directory: one is a prefix its names share, or a name mkdir left in created_dirs. A delete, a rename and an rmdir forget every directory above them that the removal ended; the truncating open deletes with delete_file, which forgets nothing, because it puts its file back at once and the directory never ended;
    • the directory map is bounded as created_dirs is: at most MAX_DIRECTORIES (16384) keys of at most toyos_abi::syscall::MAX_PATH (4096) bytes. A path past MAX_PATH is refused InvalidArgument, as cd and mkdir refuse it; a new directory past the count ResourceExhausted, until one ends; a stat or a listing that would number one answers the refusal. A removal's ancestor walk begins at the longest ancestor within MAX_PATH, since nothing longer is held, so an unlink beneath a 64 KiB name walks at most the 2047 ancestors a key can be;
    • / and an empty mount point are the VFS's own directories, on a volume of their own (NAMESPACE_VOLUME, 2^63 - 1: below a file server's bit 63, above every mount): / is 1 and the root entry at slot i is i + 2.
  • Listings: SYS_READDIR's eight bytes per entry were the entry's size, which nothing read since A file's identity: stat answers a volume and a node, through the kernel, the file server, libc and std #851; they are now its node (Dirent::node), and libc's d_ino is it. FileSystem::list answers names alone, and a new FileSystem::node answers a file's or symlink's number.
  • ROOT mints a file's FileId on first ask, with no reference held, rather than on first open, so a listing can answer an unopened file's node.
  • Vfs::followed is resolve_for_open's link walk, made a loop bounded by libc's realpath resolves a path by the kernel's rules and link bound, which toyos-abi declares, and the kernel's non-POSIX resolution is recorded #854's MAX_LINKS that stops at a mount root rather than refusing it, so stat and open follow links one way.

Roast

  • The directory map is state the kernel keeps because its mounts keep none. It is held true by three forget sites, one deliberate non-forget and the judgement of what still stands, each guarded by a mutation below; a fourth removal path added later that does not call forget_ended_dirs leaks one entry per directory it ends, and a directory made there again keeps the old number (POSIX allows the reuse; the memory is the cost). revoke_selftest deletes through delete_file, an actuator-only top-level /tmp file under no directory.
  • The bound is a cap, not a share. At its worst the map holds 68150016 bytes (65.0 MiB) of kernel heap, measured below, as created_dirs can beside it; once it is full, one process's directories refuse every other's until one ends. Whose to refuse is issues/no-physical-memory-fairness.md's question, which this does not answer.
  • forget_ended_dirs keeps a number when the mount cannot say whether its directory stands (unwrap_or(true)): forgetting one that stands would renumber it. Neither kernel mount can refuse there today (tmpfs answers from memory; ROOT is never written). It splits its borrow with mem::take of the map around the closure.
  • A ROOT listing now makes a page-less cache entry per file it lists, bounded by the image, and pays an is_symlink and a file_extents lookup per name on its first listing; the listing already walks the whole tree (issues/a-listing-still-scans-the-whole-mount.md).
  • /'s listing answers a mounted entry's d_ino as the mounted root's node (Linux answers the covered directory's), so d_ino and st_ino agree, as the issue's exit asks.
  • tmpfs lists no symlinks, and ROOT lists its symlinks as files (DIRENT_FILE, DT_UNKNOWN); both are as they were.
  • Stat is still declared twice (issues/fstats-answer-is-declared-twice.md); SYS_STAT copies out the kernel's existing copy and adds no third.
  • Pipes, consoles, sockets, shared memory and the other non-file objects still answer (0, 0); the closed issue recorded that too, so it is filed on its own: issues/a-pipe-console-socket-or-shared-memory-has-no-identity.md.
  • libc refuses symlink (refused.rs), so the claims about a /tmp link are the Rust case's, through std.
  • Production grows: +428 / −226, net +202; tests +261 / −10; issues/ +28 / −31 (git diff --shortstat origin/main...ed538e73c: 20 files, +717 / −267; kernel/pure/dirnodes.rs is 76 lines of production and 127 of tests). The growth is the syscall (ABI wrapper, dispatch arm, sys_stat), Vfs::stat, the numbering and its bound; libc and std each shrink.

Unsure of: whether / and the empty mount points want a volume of their own or none; whether a node count apart from FileIds would read better than sharing theirs; whether MAX_DIRECTORIES wants to be below created_dirs's cap rather than equal to it.

Checks (filesystems and the ABI)

  • Host: kernel::dirnodes, seven tests, exit 0; eight mutations, each red, exit 101: forgets nothing, judges the parent only, draws on every ask, judges what it holds not, no length bound, no count bound, the count bound one past, and the walk starting one byte short of MAX_PATH (host-mutations).
  • The bound, measured on the host with head's dirnodes.rs included verbatim in a throwaway crate (bound-measurement): full, 16384 keys of 4096 bytes hold 68150016 bytes; a new key on the full map is refused ResourceExhausted in 2.5 µs, a 64 KiB key InvalidArgument in 31 µs; a removal beneath a 65536-byte name, with all 2047 ancestors within MAX_PATH held in a full map, judges 2047 and walks in 1.39 ms, forgets all 2047 in 3.0 ms, and walks a map holding none of them in 0.45 ms. The kernel's exists per judged ancestor (is_mounted_dir: a created_dirs lookup and tmpfs's ordered range lookup) is not in these figures. A host measurement, not a timing verdict.
  • Metal rows: the claims are the running kernel's answers through libc and std, and the C corpus and the Rust test binaries run only as members of the T14's shared boot, so the existing members carry them; no new guest test. tests/testcases/tinycc/210_stat_identity.c gains twelve lines of verdict (two /system directories, one through two paths, a directory against its mount's root and against a file, two ROOT symlinks against each other and against what they name, and d_ino against st_ino for a directory, a file, a link, a mount and two /tmp names). stat_identity (Rust) drops its guard that exempted kernel directories, adds a /tmp symlink's own identity across a rename, an_ended_directory_is_forgotten (rmdir, an unlink and a rename each give an ended directory's number up, and a truncating open of its one file does not), and a_standing_directory_keeps_its_number (a directory a second file still makes one, and one mkdir made whose only file goes, each keep theirs across an unlink beneath them, as /tmp does).
  • QEMU before the T14: neither member runs in the QEMU suite, so a throwaway machine test (never committed, its patch in vfs-mutations) runs 210 and stat_identity.
  • VFS mutations at tree 79abe77b9 (2c645ce; ed538e7 differs from it only in acpiserver reads the battery and AC through AML, on the namespace-found controller, and waits out the firmware's Global Lock #838's acpiserver and harness files) (vfs-mutations): green arm exit 0; each of six reds stat_identity at its own assertion, exit 1: the review's unwrap_or(true) → always false (an unlink beside a second file renumbered /tmp/stat-identity-stands); the forget judging by the mount alone, blind to created_dirs (an unlink of its only file renumbered the made /tmp/stat-identity-stands); the forget removed from delete, rename or rmdir; and delete in the truncating open.
  • Negative control, head's tests (stat_identity.rs blob 072c7e666, head's) on everything else reverted to origin/main 41ad7ec merged with libc's realpath resolves a path by the kernel's rules and link bound, which toyos-abi declares, and the kernel's non-POSIX resolution is recorded #854 6aa7722 (tree 0fa6a201f): 210 stops at /system/bin has no identity and stat_identity at /tmp/stat-identity-ended has no identity: (0, 0), exit 1 (1 2). The one file outside tests/ left differing is the closed issue, re-created untracked, which no build reads.
  • Independent oracles: POSIX's <sys/stat.h> (st_ino and st_dev uniquely identify a file) and <dirent.h> (d_ino is the entry's file serial number) are the specification; clang's FileManager (UniqueRealDirs, keyed on the pair) is a third-party reader; the T14 is the hardware, 6 passed at ed538e7.

Gates

gate head exit log
cargo run -- --ci host ed538e7 0, 79 steps green 1 2 3 4 5 6 7 8 9
cargo test --test toyos-build (guest suite) ed538e7 0, 61 of 61 1 2
--metal --metal-readback <dir> stat_identity 207_libc_names readdir_bound fs_share app_view ed538e7 0, 6 passed and 0 failed over 3 boots, run by the orchestrator: testcases (test_rs_stat_identity, 207_libc_names, 210_stat_identity, 3 of 3 members with both markers), proctreecase (fs_share, app_view PASS) and testcases-readdir (readdir_bound PASS) metal-staged t14-reading

Head 6e022ac differs from ed538e7 only in issues/no-physical-memory-fairness.md, which no build reads; every gate above stands for it.

#854's three conflicts were resolved by hand at 2c645ce: vfs.rs takes MAX_LINKS and MAX_PATH from toyos_abi, posix_io.rs keeps #854's realpath with is_dir through SYS_STAT and drops stat_impl, and toyos-builds-itself.md keeps #854's realpath line without the closed issue (merge-854-resolution).

hosted_clang_hello

Measured at evidence tree 0a9180449 (#830's unpushed 46a27b9, #854 at de5faac and this branch at 7cdd1ec): exit 0, hello.o and hello byte-identical to the host's. #854 landed at 6aa7722, whose later commits rewrite resolve.rs and realpath, the path clang takes, and #830's pushed head is 6b2edd9; so this is no evidence for #830, and it is to be measured again at #830's head once this branch lands.

The issue

issues/the-kernel-numbers-no-directory-symlink-or-listing-entry.md is deleted, its exit being 210's new lines, which pass in a QEMU guest and on the T14 and red on the base. Its two citations in issues/toyos-builds-itself.md go with it. Its line on pipes, consoles and other objects moves to issues/a-pipe-console-socket-or-shared-memory-has-no-identity.md.

issues/no-physical-memory-fairness.md names MAX_DIRECTORIES beside max_windows and places_for: a cap with no owner whose refusal crosses processes, since once /tmp names fill it every process's stat, access, opendir or listing of a directory not yet numbered is refused ResourceExhausted; per-process accounting deletes it.

🤖 Generated with Claude Code

https://claude.ai/code/session_017cSFvbD35xJ2kGANVdm23C

Japabu and others added 2 commits October 11, 2026 08:44
…answers its node

The kernel's directories and symlinks answered `(0, 0)` for stat's
`(volume, node)`, so every one was one file to a program that asked, and
clang's FileManager took every kernel include directory for the first:
`ignoring duplicate directory` and `'stdio.h' file not found` with libc's
realpath in. `readdir`'s `d_ino` was the entry's offset in the listing.

`SYS_STAT` (16) answers a `Stat` for any name the kernel serves, a final
symlink followed or not, with `FileType::Directory` and `Symlink` beside
`File`. libc's `stat`, `lstat` and `access` and std's `stat` and `lstat`
are one call each; the `readdir` and `readlink` probes they stood on, and
the zeroed answers, are deleted.

Numbering, on #851's volumes (a mount's index plus one):
- a file's node stays its `FileId`;
- a symlink's is drawn from the count `FileId`s are drawn from
  (`file_cache::draw_node`), so no node on a kernel volume is another's:
  on `/tmp` at the link's making, carried in its entry across a rename;
  on ROOT on first ask, in the adapter's map, which ROOT's immutability
  bounds;
- a directory's is drawn the same way and kept by absolute path in the
  VFS (`kernel::dirnodes::Directories`), since neither mount keeps a
  record of one. A delete, rename or rmdir forgets every directory above
  it that ended, so what is held is bounded by the directories that exist;
  the truncating open deletes with `delete_file`, which forgets nothing,
  because it puts the file back at once;
- `/` and an empty mount point are the VFS's own directories, on a volume
  of their own below a file server's bit 63.

ROOT now mints a file's `FileId` on first ask rather than first open, with
no reference held, so a listing can answer an unopened file's node.

`SYS_READDIR`'s eight bytes per entry were the entry's size, which no
reader used since #851; they are now its node, and `d_ino` is it.

Tests: `kernel::dirnodes` is host-tested, and four mutations of it red.
The 210 C case and `stat_identity` carry the guest and metal claims; on
origin/main both red, and each of the VFS's four forget sites, mutated,
reds `stat_identity` at its own assertion.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017cSFvbD35xJ2kGANVdm23C
… issue closes

Its exit is the 210 C case's new lines: two kernel directories and two
ROOT symlinks answer two nonzero pairs, and `d_ino` is its entry's
`st_ino` for a directory, a file, a link, a mount and two `/tmp` names.
They pass in a QEMU guest at 7cdd1ec and red on origin/main; the T14
row is staged. Its two citations in `toyos-builds-itself.md` go with it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017cSFvbD35xJ2kGANVdm23C
@Japabu

Japabu commented Oct 11, 2026

Copy link
Copy Markdown
Collaborator Author

ci-host, part 1 of 9, cargo run -- --ci host, exit 0, run on tree 755f3da0 (head 7cdd1ec's)

    Finished `dev` profile [optimized + debuginfo] target(s) in 0.12s
     Running `target/debug/toyos-build --ci host`

06:44:13 === [ci] the build system
    Finished `test` profile [optimized + debuginfo] target(s) in 0.11s
     Running unittests src/lib.rs (target/debug/deps/toyos_build-3f28497007aa9e29)

running 385 tests
test arch::tests::a_guest_of_another_architecture_is_emulated ... ok
test bootlog::tests::a_boot_record_without_the_supervisors_stop_is_not_a_pass ... ok
test bootlog::record_time_tests::a_records_elapsed_field_is_read_past_whatever_tag_precedes_it ... ok
test bootlog::record_time_tests::the_last_record_is_the_last_line_that_carries_a_time ... ok
test arch::tests::every_target_names_its_own_architecture ... ok
test bootlog::tests::a_long_binarys_record_is_the_prefix_the_kernel_keeps ... ok
test bootlog::tests::a_power_off_is_the_supervisors_stop_naming_a_shutdown ... ok
test bootlog::tests::the_boot_record_is_the_kernels_own_line ... ok
test bootlog::tests::a_boot_is_handed_back_by_its_done_and_its_last_word ... ok
test bootlog::tests::only_a_declaration_of_the_whole_value_counts ... ok
test bootlog::record_time_tests::the_panel_census_is_read_off_either_channel ... ok
test bootlog::tests::a_programs_line_is_never_the_kernels ... ok
test bootlog::tests::a_part_whose_rotation_the_log_does_not_hold_is_a_hole ... ok
test bootlog::tests::a_boot_that_lost_parts_of_its_own_log_is_told_from_one_that_is_whole ... ok
test bootlog::tests::the_loaders_file_is_told_from_logkeepers_however_a_driver_spelled_it ... ok
test arch::tests::every_name_parses_back_to_its_arch_and_nothing_else_does ... ok
test build::tests::a_boot_that_asks_for_no_feature_gets_the_shipping_kernel ... ok
test build::tests::a_clean_entry_is_the_shipping_kernels ... ok
test build::tests::a_kernel_of_any_other_feature_set_is_not_judged ... ok
test build::tests::a_hold_is_refused_in_a_shipping_entry_however_its_labels_are_spelled ... ok
test build::tests::a_hold_in_front_of_the_save_is_an_entry_the_judge_refuses_to_read ... ok
test build::tests::a_kernel_that_does_not_name_exactly_one_entry_is_refused ... ok
test build::tests::a_bin_entry_no_name_reaches_is_refused ... ok
test bootlog::tests::the_loader_writes_the_lines_the_host_reads ... ok
test build::tests::a_valued_parameter_is_one_the_kernel_claims_by_prefix ... ok
test build::tests::an_artifact_build_is_not_part_of_a_test_execution_price ... ok
test build::tests::a_boot_config_that_is_not_a_case_is_refused ... ok
test build::tests::debug_mode_declares_only_its_debug_kernel ... ok
test build::tests::a_case_plan_carries_the_config_and_the_parameters ... ok
test bootlog::tests::the_kernel_writes_the_records_the_host_reads ... ok
test build::tests::a_stamp_that_cannot_be_written_panics ... ok
test assets::tests::the_console_font_covers_the_swiss_german_altgr_layer ... ok
test build::tests::every_boot_config_runs_logkeeper ... ok
test build::tests::every_declared_capability_is_one_the_abi_has ... ok
test build::tests::a_provides_name_is_never_also_a_serves_name ... ok
test build::tests::every_device_class_has_at_most_one_claimant ... ok
test build::tests::a_row_starts_only_what_a_launch_can_start ... ok
test build::tests::every_config_renders_its_manifest ... ok
test build::tests::an_installed_app_receives_only_names_the_supervisor_holds ... ok
test build::tests::no_diag_program_claims_the_screen ... ok
test build::tests::no_actuator_is_also_a_cargo_feature ... ok
test build::tests::no_shipped_boot_config_starts_sshserver ... ok
test build::tests::every_modes_crates_and_the_supervisor_ship ... ok
test build::tests::every_started_program_is_declared ... ok
test build::tests::the_check_does_not_reach_a_spawner_that_never_spawns ... ok
test build::tests::every_receives_names_a_provider ... ok
test build::tests::params_read_the_kernels_own_list ... ok
test build::tests::the_actuator_umbrella_is_a_leaf ... ok
test build::tests::the_pre_flash_gate_clears_a_valued_parameter_and_refuses_an_actuator ... ok
test build::tests::only_their_holders_may_hold_the_swap_port_and_the_slots ... ok
test build::tests::the_kernel_declares_only_the_builds_that_earned_one ... ok
test build::tests::the_log_right_doc_names_exactly_the_manifests_holders ... ok
test build::tests::every_model_control_is_run ... ok

running 1 test

running 1 test

running 1 test

running 1 test

running 1 test
06:44:13 [build-lock] waiting for the build lock (exclusive, queued exclusive phase) — held by other builds in this tree
test assets::tests::the_system_fonts_ship_with_their_licence ... ok
test buildlock::tests::child_role ... ignored, the competing process for the tests below; never runs on its own
test buildlock::tests::child_role ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 384 filtered out; finished in 0.01s

test buildlock::tests::a_released_holder_is_gone ... ok

running 1 test

running 1 test

running 1 test
06:44:13 [build-lock] waiting for the build lock (shared, child) — an exclusive phase is queued ahead of it

running 1 test
06:44:13 [build-lock] waiting for the sysroot lock (using sysroot 6ab9f1eb8f7d3388) — held by pid 84903 (building sysroot 6ab9f1eb8f7d3388), 0s so far
test buildlock::tests::child_role ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 384 filtered out; finished in 0.02s


running 1 test
test build::tests::moved_libraries_take_what_was_built_for_them_and_a_moved_compiler_all ... ok
test buildlock::tests::shared_admits_shared ... ok
test ci::tests::a_carried_jobs_step ... ignored, the driver of the test above; never runs on its own
test ci::tests::a_control_is_judged_by_its_verdict_and_not_its_exit_alone ... ok
test buildlock::tests::killed_holder_releases_the_lock ... ok
test ci::tests::a_hung_step ... ignored, the step of the driver above; never runs on its own
test ci::tests::a_hung_steps_child ... ignored, what the step above spawns; never runs on its own
test ci::tests::a_hung_steps_driver ... ignored, the driver of the tests around it; never runs on its own
test ci::tests::a_job_is_named_and_takes_nothing_after_it ... ok
test buildlock::tests::child_role ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 384 filtered out; finished in 0.01s

test buildlock::tests::exclusive_excludes_every_other_acquirer ... ok
test ci::tests::a_steps_cargo ... ignored, the driver of the test above; never runs on its own

running 1 test
test build::tests::every_shipped_boot_config_is_covered ... ok
test ci::tests::an_app_is_judged_for_every_host_its_fails_does_not_name ... ok
06:44:13 [build-lock] waiting for the build lock (exclusive, clean the crate target) — held by other builds in this tree
test ci::tests::an_interrupt_of_the_driver_ends_the_group_its_step_runs_in ... ok
test ci::tests::an_interrupted_drivers_judge ... ignored, the judge of the test above; never runs on its own
test ci::tests::left_behind_refuses_a_tmpdir_that_never_saw_the_lock ... ok
test ci::tests::only_mains_tip_publishes ... ok
test ci::tests::the_declared_version_is_a_version ... ok
test assets::tests::only_its_reader_opens_an_owned_file ... ok
test ci::tests::the_host_job_names_what_its_tests_left_behind ... ok
test ci::tests::the_required_check_is_a_job_on_every_pull_request ... ok
test ci::tests::the_summary_keeps_the_count_and_the_verdicts ... ok
test ci::tests::the_version_parser_takes_what_qemu_prints_and_refuses_the_rest ... ok
test ci::tests::the_job_names_a_short_root_a_step_left_when_it_died ... ok
test ci::tests::workflows_run_against_main_on_hosted_runners ... ok
test assets::tests::an_owned_asset_ships_only_where_its_reader_does ... ok
test assets::tests::root_carries_what_the_repository_declares ... ok
test assets::tests::a_system_font_ships_as_it_is_and_the_console_font_as_its_raster ... ok
test cicache::tests::a_reader_whose_clock_is_not_after_the_entry_is_refused ... ok
test cicache::tests::a_seal_refuses_what_its_save_would_store_above_the_bound ... ok
test cicache::tests::a_seal_dates_every_target_and_refuses_a_written_source ... ok
test cicache::tests::every_spelling_of_code_run_at_build_time_is_found ... ok
test cicache::tests::only_a_driver_built_in_its_own_target_carries_the_cache ... ok
test ci::tests::a_step_of_a_job_that_carries_the_cache_builds_in_its_own_target ... ok
06:44:14 [build-lock] acquired (exclusive, queued exclusive phase) after 305.7ms
06:44:14 [build-lock] acquired (shared, child) after 293.5ms
test buildlock::tests::child_role ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 384 filtered out; finished in 0.31s

test buildlock::tests::child_role ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 384 filtered out; finished in 0.29s

test buildlock::tests::a_queued_exclusive_phase_goes_first ... ok
test clippy::tests::the_adopted_set_expands_into_the_shapes_that_name_it ... ok
test buildlock::tests::child_role ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 384 filtered out; finished in 0.32s

test buildlock::tests::child_role ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 384 filtered out; finished in 0.30s


running 1 test
test buildlock::tests::child_role ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 384 filtered out; finished in 0.01s

test buildlock::tests::a_key_being_built_is_waited_for_and_another_key_is_not ... ok
test clang::tests::a_toolchain_carries_the_clang_of_its_llvm_or_is_refused ... ok
06:44:14 [build-lock] still waiting for the build lock (exclusive, clean the crate target), 302ms so far — the holder left no readable note
test cicache::tests::targets_restored_without_a_manifest_are_refused ... ok
test build::tests::the_kernel_resolves_no_libc_for_either_target ... ok
test ci::tests::a_steps_cargo_finds_fresh_what_the_jobs_cargo_built ... ok
test compiler::tests::child_role ... ignored, the competing process for the test above; never runs on its own
test compiler::tests::every_compiler_is_built_lean_against_the_host_s_llvm ... ok
test build::tests::a_tree_records_its_commit_its_commit_time_and_whether_it_is_dirty ... ok
test buildlock::tests::a_lasting_wait_keeps_saying_so ... ok
test fatformat::tests::an_empty_volume_mounts_free_and_checks_clean ... ok
06:44:14 [build-lock] still waiting for the build lock (exclusive, clean the crate target), 611ms so far — the holder left no readable note
test cicache::tests::an_entry_built_on_another_runner_is_deleted ... ok
test firmware::tests::a_descriptor_that_does_not_parse_is_refused_by_name ... ok
test firmware::tests::a_glob_matches_a_trailing_star_as_a_prefix_and_refuses_anything_else ... ok
test firmware::tests::a_read_only_templates_copy_is_still_writable ... ok
test firmware::tests::an_earlier_directory_hides_a_later_ones_name_and_a_missing_one_holds_nothing ... ok
test firmware::tests::nothing_fitting_is_refused_naming_what_was_read ... ok
test firmware::tests::the_first_non_secure_uefi_flash_descriptor_for_the_machine_wins ... ok
test firmware::tests::the_machine_is_the_versioned_type_its_alias_resolves_to ... ok
test firmware::tests::the_users_and_the_systems_directories_come_before_qemus_own ... ok
test flags::tests::a_declared_flags_value_is_never_read_as_a_flag ... ok
test flags::tests::a_flag_left_without_its_value_is_refused ... ok
test flags::tests::a_flag_that_reads_one_value_is_refused_when_it_is_written_twice ... ok
test flags::tests::a_repeatable_flag_keeps_every_value_it_was_given ... ok
test flags::tests::an_argument_the_declaration_does_not_expect_is_refused_by_name ... ok
test flags::tests::an_inline_value_is_refused_exactly_where_it_would_be_dropped ... ok
test flags::tests::help_is_the_whole_declared_list ... ok
test gptwrite::tests::a_random_guid_is_version_4_of_the_rfc_variant ... ok
06:44:14 [build-lock] acquired (exclusive, clean the crate target) after 694.2ms
test buildlock::tests::child_role ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 384 filtered out; finished in 0.71s

test buildlock::tests::a_clean_cannot_land_inside_a_build ... ok
test gptwrite::tests::toyos_gpt_reads_it_from_either_copy ... ok
test hostedclang::tests::a_product_without_a_binary_or_its_headers_is_not_whole ... ok
test hostedclang::tests::the_key_moves_with_the_llvm_the_sysroot_and_the_options ... ok
test hostedclang::tests::the_suffix_is_what_follows_the_version ... ok
test hostws::tests::every_crate_in_the_tree_joined_the_workspace_or_was_excluded_by_name ... ok
test hostws::tests::every_member_and_every_exclusion_still_names_a_directory ... ok
test cicache::tests::a_file_cargo_was_never_told_about_rebuilds_its_package ... ok
test hostws::tests::the_dead_path_scan_names_the_member_and_ignores_an_excluded_crate ... ok
test hostws::tests::the_dead_path_scan_reads_code_and_not_the_comment_beside_it ... ok
test hostws::tests::the_gate_refuses_a_crate_that_joined_neither_list ... ok
test hostws::tests::the_root_package_is_the_only_default_member ... ok
test gptwrite::tests::the_gpt_crate_writes_the_same_table ... ok
test icons::tests::a_disc_and_a_ring_cover_their_areas ... ok
test icons::tests::a_fill_is_nonzero ... ok
test icons::tests::a_group_is_refused - should panic ... ok
test hostws::tests::nothing_that_runs_names_a_target_directory_a_member_does_not_have ... ok
test icons::tests::a_literal_colour_is_refused - should panic ... ok
test icons::tests::a_square_covers_its_samples ... ok
test icons::tests::a_square_cap_is_refused - should panic ... ok
test icons::tests::an_unpainted_shape_is_refused - should panic ... ok
test icons::tests::an_unread_attribute_is_refused - should panic ... ok
test icons::tests::an_unread_command_is_refused - should panic ... ok
test identity::tests::a_file_that_is_not_rust_is_its_bytes ... ok
test identity::tests::a_literal_is_never_read_as_a_comment ... ok
test identity::tests::a_signature_or_a_value_is_a_change ... ok
test icons::tests::the_icons_are_the_pixels_compared_with_resvg ... ok
test identity::tests::the_doc_fix_that_cost_a_version_and_a_sysroot_is_neither ... ok
test identity::tests::every_doc_comment_in_the_sysroot_crates_is_invisible ... ok
test hostws::tests::the_walk_reaches_the_tree_and_descends_into_it ... ok
test image::tests::a_damaged_image_is_refused_by_the_reader_that_caught_it ... ok
test image::tests::a_second_build_at_the_boundary_does_not_run_out ... ok
test image::tests::every_declared_path_resolves_inside_the_root_partition ... ok
test image::tests::one_ordering_of_one_set_is_one_image ... ok
test image::tests::an_install_makes_its_disk_and_refuses_one_that_exists ... ok
test image::tests::the_esp_and_a_slot_carry_what_the_bootloader_looks_for ... ok
test image::tests::root_carries_less_than_an_alignment_unit_of_free_blocks ... ok
test image::tests::the_volumes_this_build_writes_break_no_format_rule ... ok
test kernelconsole::tests::a_console_that_ends_mid_line_shows_its_last_line ... ok
test kernelconsole::tests::a_port_the_firmware_left_alone_passes_whole ... ok
test image::tests::an_image_s_marked_slot_is_signed_over_exactly_what_it_carries ... ok
test kernelconsole::tests::a_terminal_is_shown_the_firmware_as_it_came_and_the_kernel_in_colour ... ok
test kernelconsole::tests::nothing_before_the_kernel_passes ... ok
test kernelconsole::tests::the_fused_line_is_the_kernels_first_record_wherever_the_chunks_fall ... ok
test kernelkeys::tests::every_declared_row_names_the_minter_of_its_keys ... ok
test image::tests::the_root_partition_reads_back_as_the_files_the_build_put_in_it ... ok
test kernelkeys::tests::the_scan_reads_a_nested_generic_to_its_balanced_close ... ok
test kernelkeys::tests::the_scan_walks_past_four_measured_forms ... ok

running 1 test
test buildlock::tests::child_role ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 384 filtered out; finished in 0.01s

test keystore::tests::a_product_used_again_is_kept ... ok
test keystore::tests::a_stopped_retire_leaves_nothing_at_its_name ... ok
test keystore::tests::a_sweep_leaves_hidden_names_and_refuses_names_no_key_owns ... ok

running 1 test
test buildlock::tests::child_role ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 384 filtered out; finished in 0.01s

test keystore::tests::a_sweep_removes_what_nobody_used_for_the_keep_time_and_nobody_uses ... ok
test keystore::tests::only_what_key_of_gives_is_a_key ... ok
test libc::tests::the_c_sysroot_names_the_empty_libraries ... ok
test licence::tests::a_cfg_edge_is_walked_and_excepted_only_while_every_edge_in_is_under_it ... ok
test licence::tests::a_committed_file_is_judged_by_its_row_when_it_ships ... ok
test licence::tests::a_disallowed_licence_is_refused_by_name ... ok
test licence::tests::a_font_licence_does_not_reach_a_row_that_is_no_font ... ok
test licence::tests::a_git_dependency_is_judged_like_any_other ... ok
test licence::tests::a_graph_is_walked_over_normal_edges_from_the_shipped_root ... ok
test licence::tests::a_malformed_expression_is_refused_not_guessed ... ok
test licence::tests::a_notice_section_is_judged_when_what_no_row_names_ships ... ok
test licence::tests::a_notice_section_that_disagrees_with_a_row_is_refused ... ok
test licence::tests::a_notice_section_without_one_spdx_line_or_without_files_is_refused ... ok
test licence::tests::a_root_the_metadata_does_not_hold_is_refused ... ok
test licence::tests::an_and_passes_only_when_every_part_does ... ok
test licence::tests::an_embed_is_what_a_build_script_or_an_include_names ... ok
test licence::tests::an_exception_matches_by_name_and_licence_and_a_stale_one_reds ... ok
test licence::tests::an_or_passes_when_any_branch_does ... ok
test licence::tests::every_pending_exception_cites_an_issue_that_exists ... ok
test licence::tests::metadata_is_given_the_features_the_build_gives ... ok
test licence::tests::mpl_passes_and_is_named ... ok
test licence::tests::no_guest_target_satisfies_an_only_under_cfg ... ok
test licence::tests::only_a_workspace_member_is_a_documents_own ... ok
test licence::tests::the_trust_roots_pass_only_with_their_crates_licence_text ... ok
test kernelkeys::tests::every_hashed_kernel_container_is_declared_with_a_kernel_minted_key ... ok
test llvm::tests::a_build_directory_keeps_no_llvm_of_its_own ... ok
test fatformat::tests::differs_from_the_fatfs_format_only_in_the_bios_stub ... ok
test kernelconsole::tests::a_relay_waits_out_a_pty_that_would_block ... ok
test compiler::tests::a_compiler_is_keyed_by_its_whole_build ... ok
test compiler::tests::an_uncommitted_llvm_edit_is_refused ... ok
test compiler::tests::a_compiler_whose_sources_moved_while_it_was_built_is_not_stored ... ok
test compiler::tests::a_compiler_s_build_directory_keeps_no_llvm_of_its_own ... ok
test cicache::tests::an_entry_serves_exactly_the_sources_it_was_built_from ... ok
test llvm::tests::a_staged_llvm_gitlink_is_refused ... ok
test compiler::tests::a_build_directory_another_llvm_filled_starts_from_nothing ... ok
test cicache::tests::code_run_at_build_time_runs_again_on_every_read ... ok

running 1 test
06:44:17 Building compiler a364b40fdca86752 in /private/var/folders/gr/mr4_fg4n34jb417sx1g5cgxc0000gp/T/toyos-tmp-84783-0/ci-host-0/toyos-tmp-84811-0/compiler-48/a/rust: nobody on this host has

running 1 test
test llvm::tests::an_llvm_is_stamped_with_what_its_fork_s_commit_names ... ok
test llvm::tests::child_role ... ignored, the competing process for the tests below; never runs on its own
test llvm::tests::keyed_and_built ... ignored, the process the environment test runs; never runs on its own

running 1 test
test compiler::tests::child_role ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 384 filtered out; finished in 0.66s

06:44:18 Building LLVM b35e868eaefa0691 in /private/var/folders/gr/mr4_fg4n34jb417sx1g5cgxc0000gp/T/toyos-tmp-84783-0/ci-host-0/toyos-tmp-84811-0/llvm-sweep-stopped-66/a/rust: nobody on this host has
test llvm::tests::a_placed_llvm_is_read_only ... ok

running 1 test
06:44:18 Building LLVM b35e868eaefa0691 in /private/var/folders/gr/mr4_fg4n34jb417sx1g5cgxc0000gp/T/toyos-tmp-84783-0/ci-host-0/toyos-tmp-84811-0/llvm-made-elsewhere-68/b/rust: nobody on this host has

running 1 test
06:44:18 Building compiler 6321218378aecae7 in /private/var/folders/gr/mr4_fg4n34jb417sx1g5cgxc0000gp/T/toyos-tmp-84783-0/ci-host-0/toyos-tmp-84811-0/compiler-48/a/rust: nobody on this host has
06:44:18 Building LLVM b35e868eaefa0691 in /private/var/folders/gr/mr4_fg4n34jb417sx1g5cgxc0000gp/T/toyos-tmp-84783-0/ci-host-0/toyos-tmp-84811-0/llvm-sweep-71/a/rust: nobody on this host has
test llvm::tests::child_role ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 384 filtered out; finished in 0.71s

test compiler::tests::child_role ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 384 filtered out; finished in 0.35s


running 1 test
test buildlock::tests::child_role ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 384 filtered out; finished in 0.18s

test llvm::tests::child_role ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 384 filtered out; finished in 0.74s

test llvm::tests::a_sweep_after_the_llvm_is_found_whole_fails_no_build ... ok
test llvm::tests::a_stopped_sweep_leaves_no_llvm_that_passes_for_whole ... ok
test llvm::tests::the_key_names_the_host_s_tools ... ok
test llvm::tests::the_llvm_config_turns_every_host_library_off ... ok
test compiler::tests::one_compiler_per_key_whichever_checkout_names_it ... ok
test llvm::tests::a_checkout_behind_its_gitlink_is_built_at_the_gitlink ... ok
test llvm::tests::an_llvm_is_made_only_with_the_worktree_lock_exclusive ... ok
test metal::tests::a_boot_entry_is_matched_on_the_partition_its_path_names ... ok
test metal::tests::a_boot_entry_the_firmware_did_not_name_cannot_be_filled_in ... ok
test metal::tests::a_command_line_that_names_no_image_flashes_none ... ok
test metal::tests::a_create_that_moved_the_boot_order_is_refused ... ok
test metal::tests::a_failed_boot_and_a_loop_that_could_not_run_are_different_answers ... ok
test metal::tests::a_node_is_a_whole_scsi_or_nvme_disk_and_nothing_else ... ok
test metal::tests::a_pass_that_reported_and_booted_nothing_is_named_as_that ... ok
test metal::tests::a_readback_directory_holds_nothing_the_last_run_left ... ok
test metal::tests::a_refusal_is_read_back_off_the_drivers_stderr ... ok
test metal::tests::a_sudoers_word_escapes_what_sudoers_reads ... ok
test metal::tests::an_account_name_that_would_widen_the_rule_is_refused ... ok
test metal::tests::an_arm_with_no_ruling_never_reaches_the_stick ... ok
test metal::tests::an_image_admits_only_the_table_the_installed_rule_names ... ok
test metal::tests::an_image_armed_to_stop_itself_owes_a_record_and_no_reboot ... ok
test metal::tests::an_image_with_no_bound_on_its_own_boot_is_refused ... ok
test llvm::tests::an_llvm_being_made_elsewhere_is_not_made_again ... ok
test metal::tests::dd_is_believed_only_where_it_states_a_count ... ok
test metal::tests::either_bounds_record_is_a_wedged_boots_pass ... ok
test metal::tests::every_arm_that_stops_this_machine_is_cleared_and_judged_as_one ... ok
test metal::tests::every_ruling_names_a_parameter_the_kernel_declares ... ok
test metal::tests::installing_the_rule_is_not_also_a_boot ... ok
test metal::tests::one_table_feeds_the_rule_and_the_argv ... ok
test metal::tests::the_arguments_name_the_t14_by_default ... ok
test metal::tests::the_bound_the_gate_demands_is_a_bound_the_gate_clears ... ok
test metal::tests::the_deadlines_lateness_is_counted_from_its_arm ... ok
test metal::tests::the_foreign_record_arm_reaches_its_judge_through_the_hang_it_stages ... ok
test metal::tests::the_host_clock_crosses_in_the_boot_file ... ok
test metal::tests::the_identity_is_the_stick_or_it_is_refused ... ok
test metal::tests::the_lid_policy_is_systemds_effective_one ... ok
test metal::tests::the_loops_verdict_crosses_in_the_readback ... ok
test metal::tests::the_machine_crosses_in_the_boot_file ... ok
test metal::tests::the_outside_judges_read_can_write_nothing ... ok
test metal::tests::the_phases_cross_in_the_boot_file ... ok
test metal::tests::the_readback_carries_the_verdict_the_loop_returns ... ok
test metal::tests::the_rule_is_the_command_table_rendered ... ok
test metal::tests::the_ssh_line_carries_the_key_and_nothing_interactive ... ok
test metal::tests::the_wait_outlasts_every_watchdog_a_boot_runs_under ... ok
test metaldevices::tests::a_needle_that_only_appears_in_a_comment_is_not_found ... ok
test metaldevices::tests::the_kernel_writes_the_quiesce_lines_the_host_reads ... ok
test metaldevices::tests::the_shutdowns_own_account_is_read_out_of_the_loaders_file ... ok
test metalimage::tests::a_config_with_no_runner_is_refused_by_name ... ok
test metalimage::tests::every_derived_config_ends_its_own_boot ... ok
test metalimage::tests::nothing_the_config_declared_is_dropped ... ok
test metaltimings::tests::a_failing_owners_reading_is_judged_and_not_recorded ... ok
test metaltimings::tests::a_known_machine_outside_its_record_fails_and_keeps_its_record ... ok
test metaltimings::tests::a_known_machine_within_its_record_passes ... ok
test metaltimings::tests::a_machine_is_three_non_empty_lines ... ok
test metaltimings::tests::a_name_recorded_twice_is_refused ... ok
test metaltimings::tests::a_new_name_on_a_known_machine_is_recorded_and_not_failed ... ok
test metaltimings::tests::a_record_survives_the_file_it_is_written_to ... ok
test metaltimings::tests::a_recorded_name_nothing_measured_is_named ... ok
test metaltimings::tests::an_unknown_machine_is_recorded_and_not_judged ... ok
test metaltimings::tests::another_bios_fails_naming_both_and_records_nothing ... ok
test metaltimings::tests::every_committed_record_loads_from_its_own_path ... ok
test metaltimings::tests::two_machines_sharing_a_file_name_are_refused ... ok
test miscompile::tests::an_endless_caller_is_not_one_that_returns_true ... ok
test n2::tests::an_installed_n2_is_not_installed_again ... ok
test publish::tests::a_first_publish_mints_root_one_and_a_machine_accepts_it ... ok
test llvm::tests::the_caller_s_environment_reaches_neither_the_build_nor_the_key ... ok
test publish::tests::a_publish_moves_forward_and_renews_a_root_near_its_expiry ... ok
test publish::tests::a_publish_that_would_move_anything_back_is_refused_by_name ... ok
test publish::tests::a_timestamp_naming_the_last_targets_version_is_refused ... ok
test release::tests::a_job_is_told_each_layer_s_entry_and_path ... ok
test publish::tests::two_rows_naming_one_archive_with_other_bytes_are_refused ... ok
test release::tests::a_job_saves_only_what_it_built ... ok
test release::tests::a_landing_during_the_nightly_puts_nothing_up_and_is_no_failure ... ok
test release::tests::a_layer_that_is_not_whole_is_refused ... ok
test release::tests::a_release_is_made_to_carry_these_bytes_and_no_other ... ok
test release::tests::a_job_lays_out_the_one_sysroot_it_restored ... ok
test release::tests::only_mains_publisher_publishes ... ok
test release::tests::the_glibc_scan_takes_the_newest_version_and_nothing_else ... ok
test llvm::tests::child_role ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 384 filtered out; finished in 2.14s

test release::tests::one_sysroot_packs_to_one_digest_and_unpacks_whole ... ok
test sdkversion::tests::a_changed_crate_takes_the_minor_after_the_newest_and_an_unchanged_one_keeps_it ... ok
test sdkversion::tests::a_dependent_whose_newest_names_a_stale_dependency_goes_up_again ... ok
test llvm::tests::an_llvm_keeps_what_builds_read_and_nothing_else ... ok
test sdkversion::tests::every_lockfile_resolves_the_published_crates_from_the_tree ... ok
test sdkversion::tests::every_row_is_a_crate_the_tree_holds_in_dependency_order ... ok
test llvm::tests::an_uncommitted_bootstrap_names_no_llvm ... ok
test signing::tests::a_checkouts_throwaway_key_is_minted_once_and_read_back ... ok
test signing::tests::an_owner_key_reads_back_and_signs_what_the_loader_verifies ... ok
test signing::tests::an_owner_key_wider_than_0600_is_refused ... ok
test soundfont::tests::doom1_wads_music_selects_the_instruments_it_selects ... ok
test soundfont::tests::the_shipped_bank_carries_nothing_doom_does_not_select ... ok
test soundfont::tests::the_shipped_bank_sounds_every_instrument_the_shipped_wad_selects ... ok
test soundfont::tests::the_shipped_bank_still_carries_its_source_licence ... ok
test sdkversion::tests::the_published_manifests_resolve_as_the_forks_name_them ... ok
test sourcegate::tests::a_value_is_refused_by_its_shape_and_what_resembles_one_is_not ... ok
test sourcegate::tests::a_capability_closing_ends_no_log_poll ... ok
test sourcegate::tests::bus_mastering_is_armed_at_exactly_the_declared_sites ... ok
test sourcegate::tests::every_hand_written_auto_trait_impl_is_declared ... ok
test llvm::tests::an_llvm_is_swept_once_nothing_used_it_for_the_keep_time ... ok
test sourcegate::tests::nmi_does_not_log ... ok
test sourcegate::tests::no_slice_or_exclusive_reference_is_built_over_a_mapped_page ... ok
test sourcegate::tests::every_host_scratch_is_the_guard ... ok
test compiler::tests::every_source_of_a_compiler_moves_its_key ... ok
test sourcegate::tests::the_scan_reaches_the_tree_it_claims_to ... ok
test sourcegate::tests::every_committed_binary_file_is_declared ... ok
test sysroot::tests::a_compiler_made_again_under_its_key_leaves_all_of_a_crate_stale ... ok
test sdkversion::tests::a_key_moves_with_the_crate_and_its_published_dependencies ... ok
test sysroot::tests::a_std_build_downloads_no_llvm_and_asks_for_no_ninja ... ok
test sysroot::tests::a_std_build_under_the_same_compiler_keeps_no_llvm ... ok
test llvm::tests::an_llvm_that_is_not_whole_is_made_again ... ok
test llvm::tests::two_sdk_versions_are_two_keys ... ok
test metal::tests::coming_back_is_ssh_answering_and_not_its_port ... ok
test sysroot::tests::a_switch_that_cannot_remove_records_nothing_and_the_next_one_removes ... ok
test sysroot::tests::a_sysroot_records_the_witness_it_was_built_from ... ok
test sysroot::tests::a_sysroot_is_whole_or_it_is_made_again ... ok
test sysroot::tests::a_sysroot_that_cannot_be_made_whole_is_made_once_and_refused ... ok
test sysroot::tests::a_submodule_named_otherwise_than_by_its_path_is_refused ... ok
test sysroot::tests::another_compiler_s_std_build_goes_and_the_same_one_s_stays ... ok
test sysroot::tests::the_libraries_placed_are_the_ones_the_stamp_names ... ok
test sourcegate::tests::no_tracked_file_identifies_a_machine_or_its_network ... ok
test release::tests::the_layers_are_the_stores_the_build_makes ... ok
test testargs::tests::a_boot_word_names_a_metal_boot_and_nothing_else ... ok
test testargs::tests::a_deleted_flag_is_refused_rather_than_becoming_the_filter ... ok
test testargs::tests::a_flag_left_without_its_value_is_refused_by_name ... ok
test testargs::tests::a_flag_written_twice_is_refused_by_name ... ok
test testargs::tests::a_flags_value_is_not_the_filter ... ok
test testargs::tests::a_readback_directory_alone_selects_no_tier ... ok
test testargs::tests::a_readback_flag_with_no_directory_never_reaches_the_metal_driver ... ok
test testargs::tests::an_inline_value_on_a_flag_that_has_none_is_refused ... ok
test testargs::tests::an_unknown_flag_is_refused_before_metal_decides_a_mode ... ok
test testargs::tests::every_word_that_is_nobodys_value_is_a_filter ... ok
test testargs::tests::metal_and_list_never_drives ... ok
test testargs::tests::metal_list_beside_a_readback_directory_is_refused ... ok
test testargs::tests::metal_refuses_a_filter_that_is_a_flags_name_or_empty ... ok
test testargs::tests::metal_refuses_the_flags_it_reads_nothing_of_by_name ... ok
test testargs::tests::metal_resolves_to_a_mode_that_reaches_the_machine_only_when_asked ... ok
test testargs::tests::the_documented_command_lines_parse ... ok
test testargs::tests::the_filter_is_the_word_that_is_nobodys_value ... ok
test tether::tests::a_tethered_child_dies_with_its_owner ... ok
test tether::tests::owner ... ignored, the owner `a_tethered_child_dies_with_its_owner` kills; never runs on its own
test tether::tests::parked ... ignored, the tethered child of `owner`; never runs on its own
test toolchain::tests::a_bootstrap_run_leaves_both_lockfiles_as_they_were ... ok
test toolchain::tests::a_bootstrap_run_sees_no_ci_variables ... ok
test toolchain::tests::a_compiler_build_finds_the_llvm_s_objcopy_where_rustc_strips_with_it ... ok
test toolchain::tests::a_fake_bootstrap ... ignored, the bootstrap `a_bootstrap_run_leaves_both_lockfiles_as_they_were` runs; never runs on its own
test toolchain::tests::a_fake_bootstrap_that_reads_ci ... ignored, the bootstrap `a_bootstrap_run_sees_no_ci_variables` runs; never runs on its own
test toolchain::tests::a_fake_bootstrap_that_strips ... ignored, the bootstrap `a_compiler_build_finds_the_llvm_s_objcopy_where_rustc_strips_with_it` runs; never runs on its own
test toolchain::tests::a_link_failure_is_not_a_compile_error ... ok
test toolchain::tests::a_restore_that_cannot_write_leaves_the_file_whole ... ok
test toolchain::tests::a_toolchain_bin_without_cargo_is_one_rustup_narrates ... ok
test toolchain::tests::dep_info_names_the_checkout_std_was_really_built_from ... ok
test toolchain::tests::dep_info_that_cannot_be_read_is_refused ... ok
test llvm::tests::the_kept_sources_are_the_commit_s ... ok
test toolchain::tests::the_first_real_error_is_the_one_reported ... ok
test userlandhost::tests::a_host_declaration_is_read_whole_and_refused_by_name ... ok
test userlandhost::tests::a_manifest_that_switches_tests_off_is_named ... ok
test userlandhost::tests::a_test_attribute_is_a_word_and_not_a_substring ... ok
test userlandhost::tests::every_program_the_images_ship_declares_what_it_is_to_a_host ... ok
test toolchain::tests::freestanding_libraries_that_read_the_worktree_are_refused ... ok
test userlandhost::tests::the_survey_gates_what_cargo_test_runs_and_names_the_rest ... ok
test userlandhost::tests::what_could_hide_a_test_is_a_condition ... ok
test userlandhost::tests::every_userland_test_is_in_the_gate ... ok
test llvm::tests::the_key_moves_with_the_llvm_and_only_with_it ... ok
test sysroot::tests::a_comment_is_the_same_sysroot_and_a_signature_is_another ... ok
Preparing worktree (detached HEAD 0992af3)
HEAD is now at 0992af3 C2
test wallpaper::tests::the_wallpaper_is_the_same_on_every_host ... ok
test wallpaper::tests::the_wallpaper_does_not_band ... ok
Preparing worktree (detached HEAD 17498b7)
HEAD is now at 17498b7 backtrace, later
Preparing worktree (detached HEAD 2b94cb4)
HEAD is now at 2b94cb4 C2
Preparing worktree (detached HEAD 17498b7)
HEAD is now at 17498b7 backtrace, later
test sysroot::tests::a_submodule_is_the_commit_its_gitlink_records_checked_out_or_not ... ok
Preparing worktree (detached HEAD d83cfe1)
test llvm::tests::two_compilers_of_one_llvm_make_it_once ... ok
HEAD is now at d83cfe1 C2
Preparing worktree (detached HEAD 17498b7)
HEAD is now at 17498b7 backtrace, later
test sysroot::tests::ensure_shallow_fork_initialises_no_submodule_in_a_linked_worktree ... ok
Preparing worktree (detached HEAD a4f840e)
HEAD is now at a4f840e C2
Preparing worktree (detached HEAD 6004a64)
HEAD is now at 6004a64 backtrace, later
test sysroot::tests::twelve_builds_at_once_make_one_fork_checkout ... ok
test sysroot::tests::a_linked_refusal_s_command_leaves_no_commit_of_the_agent_s ... ok
test sysroot::tests::a_linked_worktree_lacking_a_nested_commit_is_refused_and_the_primary_s_is_not_written ... ok
test llvm::tests::what_the_key_does_not_name_is_never_stored ... ok
test ci::tests::a_step_that_goes_quiet_is_ended_with_what_it_spawned_and_names_its_last_line ... ok
test sysroot::tests::a_worktree_pinning_another_fork_commit_gets_its_own_checkout ... ok
Synchronizing submodule url for 'rust'
From /private/var/folders/gr/mr4_fg4n34jb417sx1g5cgxc0000gp/T/toyos-tmp-84783-0/ci-host-0/toyos-tmp-84811-0/fork-primary-137/fork-moved
   acf2e76..22e7ac6  main       -> origin/main
Submodule path 'rust': checked out '22e7ac6fe9bc3fdfaf4b94b7b7822c4a6969163d'
Synchronizing submodule url for 'rust'
From /private/var/folders/gr/mr4_fg4n34jb417sx1g5cgxc0000gp/T/toyos-tmp-84783-0/ci-host-0/toyos-tmp-84811-0/fork-primary-137/fork-moved
   22e7ac6..f2070c4  main       -> origin/main
Submodule path 'rust': checked out 'f2070c4a4f492f3295477085a09e0cb200a84061'
Synchronizing submodule url for 'library/backtrace'
From /private/var/folders/gr/mr4_fg4n34jb417sx1g5cgxc0000gp/T/toyos-tmp-84783-0/ci-host-0/toyos-tmp-84811-0/fork-primary-137/backtrace-moved
 + 17498b7...bf04a91 main       -> origin/main  (forced update)
Submodule path 'library/backtrace': checked out 'bf04a91c58b4ad4a5b86c6bf6cfdc18d5759a1bb'
test sysroot::tests::the_primary_s_fork_checkout_is_moved_to_its_pin ... ok

test result: ok. 370 passed; 0 failed; 15 ignored; 0 measured; 0 filtered out; finished in 11.44s

06:44:25 [ci] the build system: cargo test --lib

06:44:25 === [ci] the harness's own checks
    Finished `test` profile [optimized + debuginfo] target(s) in 0.11s
     Running tests/checks.rs (target/debug/deps/toyos_checks-b940c1268c2c6df4)

running 39 tests
test checks::a_run_selects_by_filter ... ok
test checks::metal_boots_last_job_is_behind_every_other ... ok
test checks::a_name_registered_twice_is_refused ... ok
test checks::a_shared_chunk_stages_every_binary_its_members_name ... ok
test checks::a_stall_stays_red ... ok
test checks::metal_domains_end_below_the_host_bridges ... ok
test checks::metal_claim_spends_one_remapping_entry ... ok
test checks::irq_census_verdict ... ok
test checks::control_regs_verdict ... ok
test checks::mask_windows_verdict ... ok
test checks::metal_audio_judges ... ok
test checks::metal_list_from_parse_reaches_run_without_the_machine ... ok
test checks::metal_rows_run_before_members_under_a_bound_the_members_widen ... ok
test checks::metal_words_take_rows_members_and_whole_boots ... ok
test checks::metal_usb_judge ... ok
test checks::nvme_image_is_held_by_one_guest ... ok
test checks::metal_judges_read_the_page_for_what_only_the_page_carries ... ok
test checks::psci_power_off_judge ... ok
test checks::run_exit_status ... ok
test checks::nested_nmi_verdict ... ok
test checks::screen_decoder ... ok
test checks::serial_vocabulary ... ok
test checks::suspend_invalidates_a_verdict ... ok
test checks::the_c_corpus_stages_the_expectation_the_host_compares ... ok
test checks::the_foreign_record_judge_demands_the_stop_sealed_done ... ok
test checks::the_xecp_judge_reads_the_t14s_handoff ... ok
test checks::metal_name_measured_twice_is_refused ... ok
test checks::suite_split ... ok
test checks::metal_boot_that_lost_parts_of_its_log_judges_no_row ... ok
test checks::metal_failing_shared_member_fails_itself_alone ... ok
test checks::suspend_detector ... ok
test checks::metal_name_two_owners_measured_is_refused ... ok
test checks::metal_cleared_page_owes_no_panel ... ok
test checks::metal_run_under_another_bios_fails_and_records_nothing ... ok
test checks::metal_reading_past_its_record_fails_and_moves_nothing ... ok
test checks::metal_stop_owes_its_record_and_leaves_no_operation_open ... ok
test checks::metal_number_fails_with_its_owner_alone ... ok
test checks::metal_loader_kernel_and_program_count_from_one_zero ... ok
test checks::metal_bound_fires_within_one_period_of_itself ... ok

test result: ok. 39 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s

06:44:25 [ci] the harness's own checks: cargo test --test toyos-checks

06:44:25 === [ci] the workspace's host members
    Finished `test` profile [optimized + debuginfo] target(s) in 0.21s
     Running unittests src/lib.rs (target/debug/deps/bcachefs-dd31ce931b3f7dd7)

running 72 tests
test block_io::image_bounds::an_empty_image_holds_no_block_at_all ... ok
test block_io::image_bounds::a_block_past_the_end_is_refused_rather_than_read ... ok
test block_io::image_bounds::a_block_number_whose_byte_offset_wraps_is_refused_and_does_not_panic ... ok
test btree::tests::an_entry_larger_than_the_payload_is_refused ... ok
test block_io::image_bounds::a_block_that_starts_inside_and_ends_outside_is_refused ... ok
test btree::tests::a_descent_gives_up_before_it_runs_out_of_stack ... ok
test block_io::image_bounds::every_block_the_image_holds_is_served_whole ... ok
test crc32c::tests::known_vectors ... ok
test btree::tests::a_crafted_entry_count_never_reaches_the_allocator ... ok
test btree::tests::an_interior_child_shorter_than_a_block_number_is_refused ... ok
test btree::tests::an_interior_node_with_no_children_is_refused ... ok
test btree::tests::write_to_refuses_an_overfull_node_instead_of_underflowing ... ok
test btree::tests::a_child_pointer_off_the_device_is_refused ... ok
test btree::tests::pack_fills_each_node_in_order_and_none_past_a_block ... ok
test crc32c::tests::zeroes ... ok
test btree::tests::a_split_short_of_a_sibling_gives_back_the_ones_it_took ... ok
test fs::tests::a_block_allocated_to_bridge_a_gap_reads_as_zeros ... ok
test fs::tests::a_file_ending_in_a_hole_still_reads_as_zeros ... ok
test fs::tests::a_file_naming_more_blocks_than_the_volume_has_is_refused ... ok
test fs::tests::a_bitmap_too_small_to_cover_the_volume_is_refused ... ok
test fs::tests::a_delete_of_a_name_that_is_not_here_destroys_nothing ... ok
test fs::tests::a_page_resolved_against_an_extent_at_the_end_of_the_address_space_is_total ... ok
test fs::tests::a_run_ending_on_the_volumes_last_block_is_accepted ... ok
test fs::tests::a_child_pointer_past_the_end_of_the_device_is_refused ... ok
test fs::tests::a_bitmap_outside_the_volume_is_refused ... ok
test fs::tests::a_size_longer_than_the_volume_never_reaches_the_allocator ... ok
test fs::tests::a_size_inside_the_volume_but_over_the_ceiling_never_reaches_the_allocator ... ok
test fs::tests::a_shortened_record_gives_its_tail_back ... ok
test fs::tests::a_superblock_claiming_more_blocks_than_the_device_has_is_refused ... ok
test fs::tests::an_extent_past_the_end_of_the_volume_is_refused ... ok
test fs::tests::a_volume_copied_onto_a_larger_device_does_not_mount ... ok
test fs::tests::an_interior_value_too_short_for_a_block_number_is_refused ... ok
test fs::tests::an_extent_outside_the_volume_is_refused_before_the_bitmap_is_touched ... ok
test fs::tests::an_untampered_volume_still_mounts_and_reads ... ok
test upstream::bkey::tests::a_field_past_its_unpacked_width_is_refused_not_truncated ... ok
test upstream::bkey::tests::a_key_that_does_not_fit_is_refused ... ok
test upstream::bkey::tests::a_field_wider_than_the_one_it_fills_is_refused ... ok
test upstream::bkey::tests::a_truncated_format_is_refused ... ok
test upstream::bkey::tests::field_fit_vectors ... ok
test upstream::bkey::tests::format_vectors ... ok
test upstream::bkey::tests::the_identity_format_is_the_unpacked_one ... ok
test upstream::bkey::tests::the_identity_format_round_trips_a_position ... ok
test upstream::bkey::tests::unpack_vectors ... ok
test upstream::csum::tests::encryption_csum_types_are_refused_by_name ... ok
test upstream::csum::tests::published_check_values ... ok
test fs::tests::is_dir_over_a_corrupt_node_is_refused ... ok
test upstream::csum::tests::xxh64_covers_every_tail ... ok
test upstream::fs::tests::a_crc_entry_states_the_extent_it_covers ... ok
test upstream::fs::tests::an_entry_this_volume_cannot_size_is_refused ... ok
test upstream::fs::tests::dirent_vectors ... ok
test upstream::fs::tests::an_entry_before_the_checksum_does_not_move_the_pointer ... ok
test upstream::fs::tests::a_file_longer_than_its_device_is_refused_without_allocating_it ... ok
test fs::tests::is_dir_is_a_name_beneath ... ok
test fs::tests::a_root_that_points_at_itself_is_refused_not_followed ... ok
test upstream::raw::tests::a_short_window_refuses_by_name ... ok
test upstream::raw::tests::an_offset_that_would_wrap_refuses ... ok
test upstream::raw::tests::bitmask_matches_upstreams_accessor ... ok
test upstream::sb::fixture::a_huge_u64s_is_refused_without_allocating_it ... ok
test upstream::node::tests::a_bset_this_filesystem_did_not_write_is_refused ... ok
test upstream::sb::fixture::a_volume_without_a_clean_section_is_refused_by_name ... ok
test upstream::sb::fixture::the_crafted_superblock_is_accepted ... ok
test upstream::node::tests::a_key_longer_than_its_bset_is_refused ... ok
test upstream::node::tests::a_node_that_is_not_the_one_asked_for_is_refused ... ok
test upstream::node::tests::the_crafted_node_is_accepted ... ok
test upstream::sb::fixture::a_clean_section_shorter_than_its_header_is_refused ... ok
test upstream::sb::fixture::a_member_bigger_than_its_device_is_refused ... ok
test upstream::sb::fixture::a_superblock_that_is_not_this_ones_is_refused ... ok
test upstream::sb::fixture::the_interim_reader_rejects_bcachefs_s_magic ... ok
test upstream::node::tests::a_bset_longer_than_its_node_is_refused ... ok
test upstream::sb::fixture::every_unsupported_format_feature_is_refused_by_name ... ok
test fs::tests::is_dir_over_a_split_root_finds_every_directory ... ok
test fs::tests::a_tree_past_the_ceiling_is_refused_before_it_materialises ... ok

test result: ok. 72 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.58s

     Running tests/crash.rs (target/debug/deps/crash-e98227d3fa9db16d)

running 2 tests
test a_directory_rename_is_whole_under_one_name_whichever_write_is_refused ... ok
test a_directory_rename_is_whole_under_one_name_wherever_the_device_stops ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 8.46s

     Running tests/integration.rs (target/debug/deps/integration-b9da2c39aca32c0f)

running 57 tests
test a_btree_node_the_device_refuses_is_not_a_node_of_zeros ... ok
test a_refused_sync_stays_refused_through_the_filesystem ... ok
test a_rename_of_a_symlink_stays_a_symlink ... ok
test a_rename_carries_the_file_to_the_new_name ... ok
test a_block_zero_the_device_refuses_does_not_fall_through_to_the_backup ... ok
test a_data_block_the_device_refuses_is_not_a_page_of_zeros ... ok
test a_filesystems_name_round_trips_through_its_superblock ... ok
test a_file_renamed_onto_a_symlink_leaves_one_entry ... ok
test a_file_grown_past_what_the_volume_spares_leaves_the_reserve ... ok
test a_rename_onto_itself_keeps_the_file ... ok
test a_create_that_runs_out_of_space_leaves_the_old_file_where_it_was ... ok
test a_rename_with_no_source_touches_nothing ... ok
test a_file_past_the_old_extent_cap_round_trips ... ok
test a_sparse_write_resolves_inside_the_blocks_it_reserved ... ok
test a_value_too_large_for_any_node_is_an_error_not_a_panic ... ok
test a_sequential_file_needs_one_extent ... ok
test bad_magic_alone_disowns_the_volume ... ok
test a_renamed_file_keeps_every_extent_it_had ... ok
test corrupt_data_block_returns_raw_bytes ... ok
test a_write_the_device_refuses_is_reported_and_gives_its_blocks_back ... ok
test bad_magic_means_no_copy_claims_the_volume ... ok
test crc_verification_on_nodes ... ok
test create_single_small_file ... ok
test dangling_symlink_allowed ... ok
test empty_file ... ok
test every_page_of_a_fragmented_file_owns_a_distinct_block ... ok
test create_multiple_files ... ok
test file_mtime_nonexistent ... ok
test duplicate_filename_overwrites ... ok
test file_not_found ... ok
test format_and_mount_empty ... ok
test large_file_crosses_block_boundary ... ok
test large_file_exact_block_boundary ... ok
test format_mount_unmount_create_mount_roundtrip ... ok
test long_filename_near_entry_limit ... ok
test large_file_single_extent ... ok
test list_includes_symlinks ... ok
test a_rename_onto_an_existing_name_frees_that_file_and_only_it ... ok
test mounted_readwrite_create_and_read ... ok
test mounted_readwrite_overwrite_file ... ok
test mounted_readwrite_double_roundtrip ... ok
test mounted_readwrite_delete ... ok
test filesystem_full_returns_no_space ... ok
test mounted_readwrite_sync_and_reopen ... ok
test mounted_readwrite_overwrite_with_smaller_data ... ok
test mounted_readwrite_symlink ... ok
test zero_length_filename_rejected ... ok
test rename_bounds_the_new_name ... ok
test superblock_backup_recovery ... ok
test read_link ... ok
test a_metadata_update_that_cannot_be_reinserted_leaves_the_entry_alone ... ok
test a_write_that_runs_out_of_space_gives_back_what_it_took ... ok
test many_files_with_large_data ... ok
test entries_of_mixed_size_survive_node_splits ... ok
test a_mount_after_a_stop_counts_the_blocks_its_bitmap_holds ... ok
test a_volume_full_of_empty_names_still_deletes_and_frees ... ok
test incremental_insert_and_read ... ok

test result: ok. 57 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s

     Running tests/upstream_fixture.rs (target/debug/deps/upstream_fixture-d7fa786868950279)

running 2 tests
test a_path_the_volume_does_not_hold_reads_back_as_absent ... ok
test the_upstream_volume_reads_back_as_what_upstream_wrote ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

     Running tests/console_handoff.rs (target/debug/deps/console_handoff-85dd59feb09dc330)

running 1 test
test the_stop_finds_the_wire_free_or_klogd_sees_the_ask ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/counters_round.rs (target/debug/deps/counters_round-11dfc91978c41ece)

running 1 test
test a_cpu_read_as_answered_is_read_with_its_answer ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/device_irq.rs (target/debug/deps/device_irq-f63df1e817bc26b1)

running 3 tests
test an_idle_record_answers_nothing ... ok
test every_message_is_counted_once ... ok
test a_reads_times_are_its_own_messages ... ok

test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

     Running tests/i8042_tally.rs (target/debug/deps/i8042_tally-339ba828634795e9)

running 3 tests
test an_empty_interrupt_is_never_counted_as_one_that_carried ... ok
test a_counted_interrupt_carries_its_bytes_with_it ... ok
test the_split_counters_this_replaced_are_read_torn ... ok

test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/inbox_answer.rs (target/debug/deps/inbox_answer-d8647e410c7f555e)

running 16 tests
test a_full_ring_leaves_a_fired_poll_for_the_next_look ... ok
test a_replaced_poll_is_withdrawn_from_its_watch ... ok
test a_poll_left_standing_still_answers ... ok
test a_ring_torn_down_withdraws_every_poll ... ok
test a_watch_during_a_look_that_finds_bytes_answers_alone ... ok
test a_submitter_parks_only_with_nothing_it_could_answer ... ok
test a_post_that_lands_after_its_bytes_were_read_answers_nothing ... ok
test a_post_with_nothing_to_read_answers_nothing ... ok
test a_watch_during_a_look_that_finds_nothing_is_the_handles_one_poll ... ok
test a_post_answers_for_an_object_with_nothing_to_look_at ... ok
test a_ring_keeps_its_cap_of_polls_and_no_more ... ok
test a_handle_closed_since_its_watch_is_answered_with_the_refusal ... ok
test a_poll_armed_again_does_not_end_the_look ... ok
test a_poll_fired_as_it_is_renewed_waits_for_the_next_look ... ok
test a_watch_replaces_a_poll_a_post_already_fired ... ok
test an_ended_source_is_answered_gone_without_a_look ... ok

test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/log_body_words.rs (target/debug/deps/log_body_words-8dcbe1b063588f6e)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/log_cursor.rs (target/debug/deps/log_cursor-eed329d0c4717dde)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/log_publish.rs (target/debug/deps/log_publish-c6697501cbd6a21f)

running 2 tests
test an_unpublished_slot_answers_for_nothing ... ok
test a_reader_that_finds_a_shard_finds_it_built ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/log_record.rs (target/debug/deps/log_record-a4920ee6befbcd00)

running 7 tests
test the_readable_window_is_exactly_the_last_shard_records ... ok
test a_shard_nothing_has_written_answers_for_nothing ... ok
test a_recycled_slot_does_not_answer_for_the_record_it_replaced ... ok
test a_concurrent_reader_sees_head_grow_and_never_shrink ... ok
test a_committed_record_is_whole_or_absent ... ok
test a_key_and_the_record_it_names_come_from_one_generation ... ok
test a_reader_racing_a_recycle_gets_nothing_rather_than_a_mixture ... ok

test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 12.02s

     Running tests/log_ring.rs (target/debug/deps/log_ring-bbfc48994aa697bc)

running 3 tests
test a_slot_is_reused_only_after_its_record_was_read ... ok
test a_lane_publishes_whole_and_reuses_only_after_a_read ... ok
test a_published_record_is_whole_and_read_once ... ok

test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.36s

     Running tests/log_wake.rs (target/debug/deps/log_wake-12a72c067258506f)

running 2 tests
test exactly_one_producer_owns_a_park ... ok
test a_commit_and_an_arm_cannot_both_miss ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

     Running tests/log_zeroed_init.rs (target/debug/deps/log_zeroed_init-0893d8dc88f9dbcd)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/loom_exploration.rs (target/debug/deps/loom_exploration-952781b90d4b7985)

running 2 tests
test loom_runs_a_store_ahead_of_an_earlier_load ... ok
test loom_runs_a_read_modify_write_ahead_of_an_earlier_load ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/loom_mailbox.rs (target/debug/deps/loom_mailbox-b657564e0022bd63)

running 2 tests
test steal_probe_node_is_never_double_linked ... ok
test preempt_disabled_push_keeps_the_queue_drainable ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.30s

     Running tests/loom_park.rs (target/debug/deps/loom_park-5669bd0546449f50)

running 3 tests
test cancel_and_notify_agree_on_who_won ... ok
test a_pre_park_claim_never_posts_a_message ... ok
test a_notify_ends_exactly_one_iteration ... ok

test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

     Running tests/loom_push.rs (target/debug/deps/loom_push-d59a25112dbf307f)

running 2 tests
test a_push_rings_nobody_when_nobody_is_asleep ... ok
test a_cpu_that_halts_without_seeing_the_surplus_was_pushed ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/loom_retire.rs (target/debug/deps/loom_retire-fedb56bbbe883084)

running 6 tests
test the_retire_chase_reuses_one_node_under_a_racing_migration ... ok
test an_adopting_cpu_always_observes_the_kill_bit ... ok
test a_retire_racing_the_park_commit_always_leaves_someone_to_reap ... ok
test a_wake_and_a_retire_ride_distinct_nodes ... ok
test a_retire_and_a_wake_never_both_claim_a_parked_task ... ok
test the_retire_arm_never_loses_a_parked_task_to_a_racing_wake ... ok

test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s

     Running tests/loom_sleep.rs (target/debug/deps/loom_sleep-f498be1e5fe9034e)

running 2 tests
test a_halted_cpu_with_queued_work_was_kicked ... ok
test a_kicked_cpu_comes_back_and_drains_everything ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.14s

     Running tests/loom_watch.rs (target/debug/deps/loom_watch-ee28bf6faa307918)

running 12 tests
test an_end_racing_a_post_answers_a_poll_once ... ok
test an_end_racing_a_post_in_place_answers_a_poll_once ... ok
test a_bounded_post_racing_a_timeout_reaches_a_live_waiter ... ok
test a_poll_registered_racing_a_post_in_place_completes_exactly_once ... ok
test a_poll_registered_racing_a_post_completes_exactly_once ... ok
test a_revoke_racing_the_wait_loop_ends_it_in_every_arm ... ok
test a_post_racing_a_registration_leaves_nobody_parked ... ok
test a_transition_racing_an_opening_gate_is_never_missed ... ok
test a_poll_on_two_watches_racing_both_posts_completes_exactly_once ... ok
test a_second_post_is_not_lost_to_a_flag_the_waiter_consumed ... ok
test a_fire_racing_a_submitters_park_is_never_lost ... ok
test an_answer_wakes_the_submitter_its_look_hid_the_poll_from ... ok

test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 45.13s

     Running tests/owed_lock.rs (target/debug/deps/owed_lock-82472084fc952815)

running 1 test
test a_turned_away_cpu_holds_the_lock_or_is_answered ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/panic_capture.rs (target/debug/deps/panic_capture-49407ae928806208)

running 5 tests
test a_released_latch_hands_the_snapshot_to_the_next_captor ... ok
test the_owner_refreshes_and_a_second_captor_stays_out ... ok
test two_panicking_cpus_write_one_snapshot ... ok
test the_unlatched_capture_this_replaced_interleaves_two_reports ... ok
test a_reader_and_refresh_never_overlap_on_the_snapshot ... ok

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s

     Running tests/panic_console_publish.rs (target/debug/deps/panic_console_publish-fe37875c6e2f9122)

running 1 test
test a_snapshot_is_one_publication_whole ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.97s

     Running tests/poll_once.rs (target/debug/deps/poll_once-47fa26b617c9cc3b)

running 2 tests
test a_withdrawal_and_a_post_never_both_take_a_poll ... ok
test a_post_and_a_recheck_answer_a_poll_once ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

     Running tests/reap_gate.rs (target/debug/deps/reap_gate-462174cd688180b2)

@Japabu

Japabu commented Oct 11, 2026

Copy link
Copy Markdown
Collaborator Author

ci-host, part 2 of 9, cargo run -- --ci host, exit 0, run on tree 755f3da0 (head 7cdd1ec's)

running 4 tests
test an_unraised_gate_claims_nothing ... ok
test a_claim_sees_the_enrolled_work ... ok
test a_raise_is_never_dropped ... ok
test one_raise_is_claimed_once ... ok

test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/serial_lock.rs (target/debug/deps/serial_lock-fa753c944dbedabc)

running 9 tests
test a_lost_try_lock_leaves_the_lock_held ... ok
test a_seize_gives_up_on_a_holder_that_never_lets_go ... ok
test a_seize_reenters_its_own_cpus_hold ... ok
test a_burst_beneath_its_own_cpus_fatal_path_is_refused - should panic ... ok
test within_asks_a_silent_attempt_exactly_its_tries ... ok
test a_burst_waits_out_another_cpus_fatal_path ... ok
test a_seize_and_a_burst_never_overlap ... ok
test a_seize_takes_a_burst_let_go_inside_the_bound ... ok
test two_writers_never_overlap ... ok

test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

     Running tests/sleep_lock.rs (target/debug/deps/sleep_lock-1a1fca6f3f1ac287)

running 4 tests
test try_lock_observes_the_previous_holders_writes ... ok
test two_holders_never_overlap ... ok
test a_queued_contender_is_served_and_named ... ok
test a_parking_contender_observes_the_holders_writes ... ok

test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s

     Running tests/smp_bringup.rs (target/debug/deps/smp_bringup-cd2a9c8182d7caee)

running 3 tests
test an_ap_that_reads_another_id_is_refused - should panic ... ok
test a_released_machine_is_answering ... ok
test a_committed_count_never_outruns_its_slot ... ok

test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/ticket_lock.rs (target/debug/deps/ticket_lock-2447e48bc2cede20)

running 3 tests
test try_lock_at_the_wrap_boundary_does_not_panic ... ok
test try_lock_observes_the_previous_owners_writes ... ok
test two_try_locks_do_not_both_succeed ... ok

test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/tlb_shootdown.rs (target/debug/deps/tlb_shootdown-52849ef51a0854c1)

running 4 tests
test an_initiator_answers_while_it_waits ... ok
test a_nested_serve_is_not_undone_by_the_one_it_interrupted ... ok
test an_acknowledged_flush_postdates_the_page_table_write ... ok
test one_serve_answers_two_concurrent_shootdowns ... ok

test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.95s

     Running unittests src/lib.rs (target/debug/deps/kernel_sim-ddcd977293e22acb)

running 15 tests
test choice::tests::bytes_are_the_decisions ... ok
test choice::tests::bytes_wide_draw_uses_two_bytes ... ok
test choice::tests::pct_never_starves_a_lone_step ... ok
test choice::tests::bytes_full_range_reachable ... ok
test choice::tests::seeds_differ ... ok
test choice::tests::replay_reproduces_a_recording ... ok
test choice::tests::seeded_is_deterministic ... ok
test latency::tests::a_losing_maximum_becomes_the_runner_up ... ok
test latency::tests::an_empty_distribution_measures_nothing ... ok
test latency::tests::causes_are_kept_apart ... ok
test choice::tests::pct_prefers_the_highest_priority_actor_and_is_stable ... ok
test latency::tests::merging_is_exactly_the_union ... ok
test latency::tests::one_sample_has_no_runner_up ... ok
test latency::tests::the_runner_up_is_the_second_largest_sample ... ok
test choice::tests::zero_options_is_a_bug - should panic ... ok

test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/main.rs (target/debug/deps/kernel_sim-cb04f5b6dbf474b5)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/deadline_claim_race.rs (target/debug/deps/deadline_claim_race-ae5ba098c0dcbdfd)

running 1 test
test a_claim_between_the_drain_and_the_fire_leaves_the_timer_armed_for_what_is_parked ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/policy.rs (target/debug/deps/policy-c8d6313bf8224213)

running 12 tests
test a_stopped_cpu_stops_taking_work ... ok
test per_thread_shares_lose_the_floor ... ok
test the_share_deficit_is_an_offset_and_not_a_drift ... ok
test a_wakeup_storm_drains_without_serializing ... ok
test an_interactive_wake_waits_out_at_most_the_band_it_is_queued_behind ... ok
test the_two_cures_are_priced_against_the_pull_path ... ok
test a_process_cannot_buy_cpu_by_forking ... ok
test a_runnable_task_waits_at_most_one_dispatch_per_rival ... ok
test without_the_balance_path_a_lopsided_machine_stays_lopsided ... ok
test the_balance_path_drains_the_cpu_an_adversary_loaded ... ok
test a_push_on_surplus_reaches_every_cpu_the_pull_path_left_asleep ... ok
test a_bounded_re_arm_reaches_every_cpu_the_pull_path_left_asleep ... ok

test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 4.78s

     Running tests/scenarios.rs (target/debug/deps/scenarios-63544582fcbe5101)

running 25 tests
test corpus_traces_still_do_what_they_were_committed_for ... ok
test old_commit_before_pass_is_caught ... ok
test a_pass_that_overruns_its_budget_is_recorded ... ok
test a_run_replays_exactly ... ok
test blind_spot_needed_the_step_split ... ok
test old_steal_port_is_caught ... ok
test shrinking_keeps_the_failure_and_loses_the_noise ... ok
test a_pass_inside_the_registration_window_is_caught ... ok
test a_retire_inside_the_registration_window_is_honoured_by_the_core ... ok
test the_new_protocol_survives_the_schedule_that_breaks_the_old_one ... ok
test double_charging_a_share_is_caught ... ok
test the_park_sees_claims_that_landed_after_its_commit ... ok
test rt_starving_the_corpse_is_caught ... ok
test per_thread_fair_shares_are_caught ... ok
test a_retire_completes_inside_its_derived_bound ... ok
test old_migrate_keeping_the_corpse_is_caught ... ok
test the_audio_pipeline_holds_on_one_cpu ... ok
test old_park_keeping_the_lend_is_caught ... ok
test the_unwind_gate_lasts_one_chunk_and_not_one_unwind ... ok
test identity_ordering_within_a_share_is_caught ... ok
test the_fairness_storm_is_measured_and_holds ... ok
test invariant_i13_is_measured_and_holds ... ok
test an_identity_tiebreak_changes_the_schedule_and_not_the_sibling_split ... ok
test every_scenario_survives_raw_fuzz_bytes ... ok
test every_scenario_survives_a_seed_sweep ... ok

test result: ok. 25 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.73s

     Running unittests src/lib.rs (target/debug/deps/toyos_abi-fe6fb68be58597b7)

running 53 tests
test boot::tests::a_window_holds_an_extent_and_not_merely_its_first_address ... ok
test boot::tests::the_kernel_is_handed_the_windows_firmware_named_and_none_of_the_array_behind_them ... ok
test boot::tests::the_two_readings_of_a_boot_parameter_partition_it ... ok
test counters::tests::a_present_zero_is_not_an_absent_counter ... ok
test counters::tests::a_word_under_an_absent_counter_is_refused ... ok
test clock::tests::the_formula_is_the_kernels ... ok
test clock::tests::the_page_is_four_words ... ok
test counters::tests::a_flag_no_counter_names_is_refused ... ok
test counters::tests::counters_are_indexed_by_their_place_and_named_once ... ok
test counters::tests::every_shape_of_record_reads_back_as_written ... ok
test counters::tests::what_times_a_program_or_is_power_needs_the_trace_right ... ok
test handle::tests::a_bit_no_right_uses_is_not_a_rights_set ... ok
test handle::tests::a_generation_past_the_field_is_generation_zero_again ... ok
test handle::tests::a_handle_answers_the_slot_and_generation_it_was_made_from ... ok
test boot::tests::a_count_past_the_array_is_refused_rather_than_clamped - should panic ... ok
test handle::tests::every_right_in_all_has_a_name_and_every_name_is_in_all ... ok
test handle::tests::generation_zero_is_the_bare_index ... ok
test handle::tests::nothing_below_the_retirement_generation_can_be_the_invalid_handle ... ok
test handle::tests::rights_only_shrink ... ok
test inbox::tests::the_ring_layout_is_what_both_ends_index_by ... ok
test inventory::tests::a_byte_that_names_nothing_is_refused_by_name ... ok
test inventory::tests::a_record_is_one_fixed_width ... ok
test inventory::tests::every_record_round_trips ... ok
test log::tests::a_fresh_cursor_has_read_nothing ... ok
test log::tests::a_length_past_the_bound_is_clamped_and_not_a_panic ... ok
test log::tests::a_non_utf8_body_renders_what_decoded ... ok
test log::tests::a_record_renders_the_same_line_for_every_consumer ... ok
test log::tests::a_wall_clock_goes_through_the_bracket_and_an_empty_one_changes_nothing ... ok
test log::tests::an_undeclared_severity_byte_decodes_to_nothing ... ok
test log::tests::every_sayer_gets_the_one_head ... ok
test log::tests::its_bytes_are_the_fields_and_nothing_between_them ... ok
test log::tests::severities_are_ordered_from_info_to_alert ... ok
test log::tests::the_record_is_the_size_and_shape_both_sides_assume ... ok
test log::tests::untimed_severity_and_elided_are_in_the_line_rather_than_in_a_convention ... ok
test part::tests::a_guid_is_the_uppercase_registry_form_and_nothing_else ... ok
test part::tests::a_guid_survives_the_wire ... ok
test part::tests::the_esp_type_guid_is_the_specification_s_bytes ... ok
test ring::tests::a_scribbled_header_leaves_the_stream_exact ... ok
test ring::tests::the_pipe_capacity_does_not_divide_the_u32_cursor_space ... ok
test syscall::tests::a_devices_entry_is_a_class_or_one_named_function ... ok
test syscall::tests::a_partition_entry_carries_its_guid_in_both_selector_words ... ok
test syscall::tests::a_dirent_of_another_kind_is_a_broken_kernel - should panic ... ok
test syscall::tests::a_pci_id_is_four_lowercase_hex_digits_each_and_nothing_else ... ok
test syscall::tests::a_request_writes_back_the_name_it_parsed ... ok
test ring::tests::a_read_split_across_the_cursor_wrap_returns_what_was_written ... ok
test syscall::tests::an_isa_entry_survives_the_wire_and_nothing_else_decodes ... ok
test syscall::tests::every_dirent_is_read_back_whatever_its_node_holds ... ok
test syscall::tests::module_info_s_bytes_are_the_fields_and_nothing_between_them ... ok
test syscall::tests::a_short_dirent_is_a_broken_kernel - should panic ... ok
test syscall::tests::modules_decodes_every_record_and_its_path ... ok
test syscall::tests::the_selector_survives_the_wire ... ok
test syscall::tests::modules_refuses_a_path_past_the_answer - should panic ... ok
test ring::tests::a_stream_survives_the_cursor_reaching_two_to_the_thirty_two ... ok

test result: ok. 53 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.42s

     Running unittests src/lib.rs (target/debug/deps/toyos_acpi-ed93591cfd9580f5)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/amd_laptop.rs (target/debug/deps/amd_laptop-c48696c95457d08b)

running 2 tests
test the_fadt_names_a_control_method_power_button ... ok
test the_reset_register_is_smi_cmd_and_its_value_is_one_the_tables_name ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/corpus.rs (target/debug/deps/corpus-c5c16e8fc94021eb)

running 36 tests
test a_dsdt_whose_fadt_could_not_be_read_is_refused_as_unread_and_not_as_absent ... ok
test a_fadt_before_acpi_5_1_says_nothing_about_psci ... ok
test a_fadt_of_the_acpi_1_0_length_is_read_without_its_x_fields ... ok
test a_century_register_outside_cmos_ram_is_told_apart_from_none ... ok
test a_dsdt_that_cannot_be_found_is_the_first_block_refused ... ok
test a_fadt_that_ends_before_arm_boot_arch_is_short ... ok
test a_fadt_too_short_for_the_boot_architecture_flags_is_refused ... ok
test a_length_over_the_ceiling_is_refused_without_walking_it ... ok
test a_length_longer_than_the_mapping_is_refused_before_a_byte_is_read ... ok
test a_length_shorter_than_the_fixed_part_is_refused_with_both_numbers ... ok
test a_length_under_the_header_is_refused_even_when_the_caller_needs_nothing ... ok
test a_madt_entry_of_zero_length_halts_the_walk_instead_of_looping ... ok
test a_madt_entry_running_past_the_list_halts_the_walk ... ok
test a_madt_entry_too_short_for_its_own_type_is_not_decoded_as_that_type ... ok
test a_reset_register_this_kernel_cannot_write_is_refused_by_the_field_that_refused_it ... ok
test a_revision_1_fadt_is_read_at_its_32_bit_fields_alone ... ok
test a_revision_1_fadt_long_enough_to_hold_x_dsdt_is_still_read_at_its_32_bit_field ... ok
test a_revision_that_promises_x_dsdt_over_a_table_that_cannot_hold_it_falls_back ... ok
test a_table_that_does_not_sum_to_zero_is_refused ... ok
test a_trailing_byte_that_cannot_be_an_entry_header_ends_the_walk_quietly ... ok
test an_rsdp_address_the_reader_cannot_reach_is_refused ... ok
test an_xsdt_entry_pointing_at_nothing_is_skipped_and_the_next_one_is_read ... ok
test fixed_hardware_reads_whichever_form_names_a_block ... ok
test fixed_hardware_this_kernel_does_not_serve_is_refused_by_name ... ok
test reset_fields_are_read_only_from_a_revision_that_defines_them ... ok
test the_crafted_fixed_hardware_decodes_before_any_field_is_broken ... ok
test the_definition_blocks_are_the_dsdt_and_then_each_ssdt_in_the_xsdts_order ... ok
test the_psci_conduit_is_read_off_a_fadt_that_defines_it ... ok
test the_root_pointer_is_refused_one_reason_at_a_time ... ok
test the_sci_defaults_to_level_and_active_low_where_nothing_says_otherwise ... ok
test the_shared_reader_refuses_what_it_does_not_hold ... ok
test the_values_the_fadt_names_for_smi_cmd_are_each_read_from_their_own_byte ... ok
test the_xsdt_walk_answers_with_its_first_match_and_tries_no_second ... ok
test two_edits_that_cancel_pass_the_checksum_and_decode_to_the_lie ... ok
test no_single_byte_mutation_of_a_firmwares_descriptor_list_panics_or_runs_away ... ok
test no_single_byte_mutation_of_a_real_table_panics_or_runs_away ... ok

test result: ok. 36 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.13s

     Running tests/facs.rs (target/debug/deps/facs-1619c04409e4ea79)

running 5 tests
test a_structure_that_is_no_facs_is_refused_by_name ... ok
test s4bios_f_is_bit_zero_of_the_flags ... ok
test both_transitions_are_the_specifications_own_sequences ... ok
test a_facs_off_its_sixty_four_byte_boundary_is_refused ... ok
test the_wide_address_wins_where_it_is_not_zero_and_the_narrow_one_serves_where_it_is ... ok

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/fixtures.rs (target/debug/deps/fixtures-4a7f17fb56a60883)

running 14 tests
test the_fadt_names_the_century_register_the_wall_clock_read ... ok
test the_boot_architecture_flags_come_off_a_revision_that_defines_them ... ok
test a_second_firmwares_bytes_decode_to_that_machines_own_windows ... ok
test the_hpet_table_names_the_window_the_timer_driver_mapped ... ok
test the_fadt_names_the_power_block_and_the_dsdt ... ok
test the_definition_blocks_of_qemu_are_its_dsdt_alone ... ok
test the_fadt_names_the_reset_register_qemu_acts_on ... ok
test the_madt_names_the_two_cpus_that_boot_and_the_chip_that_interrupts_them ... ok
test the_mcfg_names_the_ecam_window_the_pci_walk_used ... ok
test the_q35_fadt_names_the_fixed_hardware_its_sci_is_served_through ... ok
test the_q35_fadt_predates_arm_boot_arch ... ok
test the_q35_madt_names_its_sci_level_and_active_high ... ok
test the_windows_a_boot_printed_are_what_that_firmwares_own_bytes_say ... ok
test the_xsdt_walk_reaches_every_entry ... ok

test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/iort.rs (target/debug/deps/iort-41214c1b48b4fa19)

running 31 tests
test a_mapping_carries_an_id_by_its_offset_from_the_input_base_and_ends_at_its_last_id ... ok
test a_node_type_not_decoded_is_answered_by_its_type_and_refuses_nothing ... ok
test a_node_count_that_overruns_the_table_is_refused_where_the_bytes_end ... ok
test a_node_array_past_the_table_is_refused_as_its_first_node ... ok
test a_node_array_inside_the_header_is_refused ... ok
test a_node_longer_than_the_table_or_shorter_than_its_type_is_refused ... ok
test a_root_complex_has_no_mapping_of_its_own ... ok
test a_node_revision_whose_layout_was_not_read_is_refused ... ok
test a_mapping_whose_range_leaves_the_id_space_is_refused ... ok
test a_revision_whose_layout_was_not_read_is_refused ... ok
test a_route_through_an_output_reference_to_a_node_its_source_may_not_reach_is_refused ... ok
test a_route_through_an_output_reference_that_names_no_node_is_refused ... ok
test a_single_mapping_that_is_not_its_smmus_own_is_refused ... ok
test a_revision_4_smmu_indexes_its_own_mapping_whenever_a_control_interrupt_is_not_wired ... ok
test a_stream_the_smmu_maps_nowhere_has_no_its ... ok
test a_stream_another_mapping_puts_out_to_the_same_smmu_is_refused ... ok
test a_table_too_short_for_its_own_header_fields_is_refused ... ok
test a_stream_is_not_judged_alone_past_an_id_array_out_of_its_node ... ok
test an_id_array_lying_over_its_nodes_own_fields_is_refused ... ok
test an_id_array_running_past_its_node_is_refused ... ok
test an_id_two_mappings_claim_is_refused_when_it_is_asked_for ... ok
test an_its_group_of_other_than_one_its_is_refused ... ok
test an_its_node_declaring_an_id_array_is_refused ... ok
test an_smmus_own_mapping_index_at_or_past_its_id_array_is_refused ... ok
test the_hardware_gic_boot_routes_bus_zero_through_the_smmu_and_nothing_to_an_its ... ok
test the_hardware_gic_boots_madt_names_no_its ... ok
test the_its_boot_routes_bus_zero_through_the_smmu_to_the_its_and_the_rest_past_it ... ok
test the_its_boots_madt_names_the_its_the_iort_routes_to ... ok
test the_mapping_a_revision_5_smmu_indexes_is_the_units_own_and_routes_no_stream ... ok
test opening_a_table_and_routing_a_requester_each_read_it_a_bounded_number_of_times ... ok
test no_corruption_of_a_published_iort_panics_or_hangs_the_decoder ... ok

test result: ok. 31 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.36s

     Running tests/ivrs.rs (target/debug/deps/ivrs-ea6d6ca6ea9b2a1c)

running 13 tests
test a_table_too_short_for_its_first_block_is_refused_by_length ... ok
test a_refused_list_refuses_its_walk_and_not_the_table ... ok
test an_ivmd_range_running_backwards_or_past_the_address_space_is_refused ... ok
test qemus_table_is_one_unit_described_twice_and_answered_once_at_its_higher_type ... ok
test qemus_unit_serves_every_function_of_bus_zero_by_one_select_each ... ok
test an_entry_the_block_cannot_hold_is_refused_not_read_past ... ok
test two_ivhds_of_one_type_naming_one_unit_are_refused_and_two_units_are_not ... ok
test a_block_shorter_than_its_header_or_longer_than_the_table_is_refused ... ok
test every_device_entry_decodes_with_its_range_paired_and_its_padding_dropped ... ok
test every_block_type_decodes_and_a_unit_is_answered_once_at_its_highest_type ... ok
test a_walk_that_meets_a_bad_entry_ends_on_its_refusal ... ok
test more_ivhds_than_the_bound_are_refused ... ok
test no_corruption_of_an_ivrs_panics_or_runs_away ... ok

test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s

     Running tests/mapped.rs (target/debug/deps/mapped-55cae07355ade6f9)

running 3 tests
test address_zero_and_a_range_past_every_address_are_refused ... ok
test an_xsdt_entry_past_the_direct_map_is_skipped ... ok
test a_table_past_the_direct_map_is_refused_before_a_byte_is_read ... ok

test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/mcfg.rs (target/debug/deps/mcfg-fca11030e9eb881b)

running 10 tests
test a_malformed_structure_is_refused_and_the_next_is_still_read ... ok
test a_table_ending_inside_a_structure_refuses_the_part ... ok
test a_window_of_sixty_four_buses_decodes_sixty_four_megabytes ... ok
test a_window_ending_on_the_last_byte_is_accepted_and_one_bus_more_wraps ... ok
test a_window_over_memory_is_refused ... ok
test a_window_off_the_grain_is_refused_and_on_it_is_mapped ... ok
test a_window_reaching_the_limit_is_refused ... ok
test a_window_over_another_windows_bytes_is_refused ... ok
test another_segment_and_an_overlap_are_refused ... ok
test a_window_starting_at_bus_0x10_counts_its_functions_from_bus_0x10 ... ok

test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/resource.rs (target/debug/deps/resource-ee037686f3f75096)

running 13 tests
test a_list_that_runs_off_the_end_of_what_can_be_read_is_refused ... ok
test a_descriptor_this_decoder_does_not_read_is_refused_by_its_tag ... ok
test a_maximum_that_is_not_the_minimum_plus_the_length_is_refused ... ok
test a_translated_window_is_refused_rather_than_taken_at_its_minimum ... ok
test a_short_descriptor_is_refused_rather_than_read_past ... ok
test a_list_with_no_end_tag_stops_at_the_bound ... ok
test a_range_the_bridge_consumes_is_not_a_window_it_forwards ... ok
test a_window_of_no_length_is_not_carried ... ok
test a_resource_type_this_decoder_does_not_read_is_refused_by_its_kind ... ok
test an_io_run_that_is_no_fixed_port_is_refused_by_name ... ok
test an_amd_laptops_controller_is_two_fixed_ports_in_the_lists_order ... ok
test more_windows_than_there_is_room_for_is_refused_whole ... ok
test only_the_memory_ranges_of_a_root_bridge_become_windows ... ok

test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/thinkpad_t14.rs (target/debug/deps/thinkpad_t14-6c3f06e6d69b6dfb)

running 2 tests
test the_t14s_fadt_names_the_blocks_linux_served_its_sci_through ... ok
test the_t14s_madt_names_its_sci_level_and_active_high ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_blackbox-233dc461abc742ca)

running 36 tests
test fault_tests::a_fault_round_trips_word_for_word ... ok
test fault_tests::a_fault_survives_the_page_it_is_sealed_into ... ok
test fault_tests::only_a_record_of_the_declared_width_decodes ... ok
test stamp_tests::a_record_belongs_to_the_stick_that_wrote_it ... ok
test stamp_tests::a_records_date_cannot_be_changed_under_it ... ok
test stamp_tests::an_unstamped_page_reads_as_no_date ... ok
test tests::a_length_past_the_page_is_refused ... ok
test tests::a_cleared_page_is_not_harvested_twice ... ok
test tests::a_break_is_told_by_what_the_driver_says_and_by_who_said_it ... ok
test tests::a_page_nobody_wrote_carries_nothing ... ok
test tests::a_boot_with_no_break_says_so_in_one_line ... ok
test tests::a_report_that_fits_carries_no_drop_line ... ok
test tests::a_sealed_page_comes_back_as_what_went_in ... ok
test tests::a_multi_line_record_is_never_entered_part_way ... ok
test tests::a_window_with_no_boundary_keeps_none_of_it ... ok
test tests::an_account_cut_off_mid_line_is_readable_to_the_last_whole_line ... ok
test tests::a_ring_that_moved_between_the_walks_leaves_no_line_out_of_place ... ok
test tests::an_armed_page_with_nothing_in_it_is_still_a_state ... ok
test tests::a_cut_report_says_how_many_records_it_dropped ... ok
test tests::every_line_is_covered_once_its_last_fragment_arrives ... ok
test tests::every_state_has_a_word_of_its_own ... ok
test tests::lines_that_fit_their_room_are_kept_and_nothing_is_said ... ok
test tests::no_state_can_be_read_as_another ... ok
test tests::an_over_long_run_of_records_is_cut_at_a_boundary ... ok
test tests::one_flipped_bit_anywhere_refuses_the_whole_page ... ok
test tests::the_address_is_found_in_a_raw_parameter_buffer ... ok
test tests::a_storm_keeps_the_first_break_and_counts_what_it_dropped ... ok
test tests::the_first_line_that_does_not_fit_drops_itself_and_every_later_one ... ok
test tests::a_report_that_fills_the_page_still_leaves_the_account_its_room ... ok
test tests::the_parameter_round_trips_the_address_it_names ... ok
test tests::the_head_is_kept_and_the_tail_fills_what_is_left ... ok
test tests::the_driver_says_a_break_the_way_the_section_finds_one ... ok
test tests::the_section_is_the_usb_stacks_records_from_the_first_break_on_oldest_first ... ok
test tests::the_section_under_a_sealed_report_leaves_the_account_its_reserve ... ok
test tests::saying_what_was_dropped_never_runs_the_page_over ... ok
test tests::the_line_that_counts_the_dropped_fits_the_room_it_was_given ... ok

test result: ok. 36 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s

     Running unittests src/lib.rs (target/debug/deps/toyos_blockhold-2c59279906453074)

running 9 tests
test tests::a_clean_release_leaves_nothing ... ok
test tests::a_holder_is_the_hold_of_exactly_that_span ... ok
test tests::a_block_has_one_holder ... ok
test tests::a_write_released_unflushed_is_lost_to_the_next_holder ... ok
test tests::a_write_after_the_loss_finds_it ... ok
test tests::a_writer_silent_since_the_loss_is_told_when_another_flushes_first ... ok
test tests::a_loss_outlives_the_hold_that_wrote_it ... ok
test tests::writes_an_earlier_flush_made_durable_are_not_lost ... ok
test tests::every_interleaving_tells_each_loss_to_the_blocks_it_touched ... ok

test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s

     Running unittests src/lib.rs (target/debug/deps/toyos_blockring-e59e68baa3f5367e)

running 23 tests
test entry::tests::a_completion_survives_its_words_and_refuses_what_it_does_not_define ... ok
test entry::tests::a_request_outside_its_bounds_is_refused_by_tag ... ok
test entry::tests::a_request_survives_its_words ... ok
test client::tests::nothing_goes_out_before_a_session ... ok
test client::tests::a_lost_flush_reissues_then_asks_again ... ok
test client::tests::what_was_on_the_wire_at_the_end_is_refused_and_what_was_not_waits ... ok
test client::tests::a_second_answer_for_one_tag_is_a_violation ... ok
test client::tests::overlapping_writes_go_out_again_in_order ... ok
test client::tests::a_write_given_up_poisons_every_later_flush ... ok
test client::tests::read_only_answers_a_write_alone ... ok
test server::tests::a_flush_after_a_loss_answers_lost_once ... ok
test server::tests::a_read_only_session_refuses_a_write_unissued ... ok
test model::tests::a_used_page_reads_fresh_once_a_servers_ends_are_made_over_it ... ok
test server::tests::a_reset_answers_in_the_order_taken ... ok
test server::tests::a_reset_answers_once_and_the_late_device_answer_is_dropped ... ok
test server::tests::a_tag_in_flight_twice_is_refused_unissued ... ok
test wire::tests::a_grant_reaches_its_own_partitions_and_decodes_only_whole ... ok
test wire::tests::opened_and_refusal_survive_their_bytes_and_nothing_else_decodes ... ok
test model::tests::states_named_alike_act_alike ... ok
test model::tests::the_model_reaches_the_end_it_should ... ok
test model::tests::the_model_reaches_a_write_given_up ... ok
test model::tests::what_a_flush_calls_durable_is_on_the_medium ... ok
test model::tests::every_request_is_answered_exactly_once ... ok

test result: ok. 23 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 4.99s

     Running unittests src/lib.rs (target/debug/deps/toyos_bootmap-22b269a37e3ab679)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/aarch64_direct_map.rs (target/debug/deps/aarch64_direct_map-6e4ee97640c4b179)

running 9 tests
test a_reserved_page_inside_ram_is_left_out_of_its_block ... ok
test an_end_below_its_start_is_refused ... ok
test a_page_wholly_memory_is_one_block ... ok
test a_map_with_no_memory_ends_at_zero ... ok
test a_start_off_a_page_is_refused ... ok
test runtime_services_data_is_left_out_and_acpi_tables_are_not ... ok
test past_the_window_is_refused ... ok
test off_a_page_is_refused ... ok
test memory_is_mapped_and_a_register_is_not ... ok

test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/direct_map.rs (target/debug/deps/direct_map-36cb8608940d8e17)

running 11 tests
test acpi_tables_above_the_last_ram_are_mapped ... ok
test an_unsorted_map_is_read_whole ... ok
test a_range_past_the_window_that_is_not_memory_is_not_refused ... ok
test memory_past_the_window_is_refused_by_name ... ok
test every_type_the_pmm_hands_out_is_mapped ... ok
test memory_above_4_gib_is_mapped_to_its_end_in_whole_pages ... ok
test an_empty_map_is_the_boot_map ... ok
test no_other_type_reaches_past_the_boot_map ... ok
test the_captured_map_is_usable_where_its_boot_said ... ok
test the_pmm_hands_out_exactly_the_types_uefi_gives_the_os ... ok
test the_reserved_hole_below_1_tib_is_not_mapped ... ok

test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/plan.rs (target/debug/deps/plan-059f128f59d79140)

running 26 tests
test a_base_off_the_page_is_refused_rather_than_rounded_down ... ok
test a_loader_inside_the_low_map_adds_nothing ... ok
test a_framebuffer_across_512_gib_names_both_second_level_tables ... ok
test a_loader_across_a_page_is_both_pages ... ok
test a_map_typed_scanout_off_a_small_page_is_refused ... ok
test a_range_no_map_can_hold_is_refused_by_name ... ok
test a_framebuffer_that_straddles_the_low_maps_end_is_mapped_from_both_arms ... ok
test a_map_typed_plan_is_memory_where_firmware_says_write_back_and_a_device_elsewhere ... ok
test a_loader_above_the_low_map_adds_its_own_directory_of_plain_memory ... ok
test a_page_that_is_part_memory_is_refused_by_address ... ok
test a_machine_with_no_framebuffer_is_the_low_map_and_nothing_else ... ok
test a_framebuffer_above_the_low_map_adds_its_own_directory ... ok
test the_aarch64_descriptors_carry_the_attribute_index_the_mair_names ... ok
test a_framebuffer_past_512_gib_adds_its_own_second_level_table ... ok
test a_loader_beside_the_scanout_shares_its_directory ... ok
test the_high_half_slot_is_the_top_nine_bits_of_phys_offset ... ok
test uncacheable_is_pat_entry_three_and_plain_memory_is_entry_zero ... ok
test a_framebuffer_inside_the_low_map_adds_no_directory ... ok
test a_map_typed_loader_is_memory ... ok
test a_framebuffer_at_the_boundary_is_outside_the_low_map ... ok
test a_framebuffer_that_straddles_a_gib_claims_both ... ok
test a_range_past_the_window_is_refused_by_name ... ok
test every_second_level_table_the_budget_has_fits_the_pool ... ok
test a_scanout_inside_memory_is_typed_as_the_scanout ... ok
test a_scanout_carved_out_of_ram_splits_the_pages_it_shares ... ok
test a_loader_no_map_can_hold_is_refused_by_name ... ok

test result: ok. 26 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

     Running tests/walk.rs (target/debug/deps/walk-081ee47cc6ddc3fd)

running 3 tests
test the_laptops_scanout_at_1010_gib_translates_in_both_views ... ok
test a_split_page_translates_through_its_table_of_small_leaves ... ok
test every_second_level_table_is_reached_from_its_own_root_slots ... ok

test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_cpuvuln-5700bd7ff46f21af)

running 63 tests
test counters::tests::the_tcg_model_has_none ... ok
test counters::tests::an_amd_with_leaf_6_has_aperf_and_mperf_and_no_smi_count ... ok
test hwp::tests::the_request_is_the_minimum_ratio_the_highest_level_and_the_preference ... ok
test hwp::tests::the_tcg_model_is_refused ... ok
test counters::tests::a_guest_counts_no_smis ... ok
test tests::a_blacklist_row_for_stepping_zero_stands_before_its_any_stepping_row ... ok
test hwp::tests::a_cpu_outside_family_6_is_refused_by_name ... ok
test counters::tests::the_t14_has_what_linux_counted_on_it ... ok
test hwp::tests::the_t14_is_declared_with_its_notification ... ok
test counters::tests::an_intel_model_off_the_list_counts_no_smis ... ok
test tests::a_bad_microcode_row_is_its_model_and_its_stepping ... ok
test hwp::tests::a_missing_register_refuses_the_whole_request_by_name ... ok
test tests::a_comet_lake_guest_cannot_know_its_hosts_smt ... ok
test tests::a_blacklist_row_matches_only_its_steppings ... ok
test tests::a_guest_cannot_know_its_gds_mitigation ... ok
test tests::a_guest_with_verw_clear_mitigates_tsa ... ok
test tests::a_milan_kvm_guest_gives_the_tags_lines ... ok
test tests::a_retpoline_guest_leaves_bhi_to_retpolines_only_with_rrsba_disabled ... ok
test tests::a_retpoline_guest_without_rrsba_leaves_bhi_to_retpolines ... ok
test tests::a_tsa_row_keyed_by_a_model_nibble_of_8_or_more_is_read ... ok
test tests::a_turin_kvm_guest_gives_the_tags_lines ... ok
test tests::a_zen2_guest_has_no_ibpb_brtype ... ok
test tests::alder_lake_mitigates_bhi_in_hardware ... ok
test tests::amd_0x15_to_0x17_take_ssbd_from_the_ls_cfg_probe ... ok
test tests::amd_stibp_always_on_is_strict_without_the_untrained_return_thunk ... ok
test tests::a_native_zen3_without_its_probe_is_a_contradiction - should panic ... ok
test tests::a_hygon_cpu_without_its_ls_cfg_probe_is_a_contradiction - should panic ... ok
test tests::an_intel_guest_cannot_know_its_mitigations_or_its_hosts_smt ... ok
test tests::an_amd_cpu_with_feat_ctl_is_a_contradiction - should panic ... ok
test tests::an_msbds_only_cpu_reports_its_smt_as_mitigated ... ok
test tests::an_unknown_vendors_retbleed_is_unmitigated ... ok
test tests::autoibrs_leaves_stibp_to_select ... ok
test tests::bad_microcode_drops_the_controls_only_beside_one_of_them ... ok
test tests::bad_microcode_is_intel_family_6s ... ok
test tests::centaur_family_5_has_only_itlb_multihit ... ok
test tests::comet_lake_clears_cpu_buffers_by_mds_no_and_fb_clear ... ok
test tests::comet_lake_varies_one_fact_at_a_time ... ok
test tests::family_and_model_are_derived_as_arch_x86_lib_derives_them ... ok
test tests::firmware_can_lock_the_gds_mitigation ... ok
test tests::hygon_decides_as_linux_does ... ok
test tests::hygon_without_smt_and_with_ibpb_brtype_has_srso_smt_disabled ... ok
test tests::itlb_multihit_reads_what_feat_ctl_left_of_vmx ... ok
test tests::only_amd_and_hygon_are_probed ... ok
test tests::rfds_is_cleared_only_with_rfds_clear ... ok
test tests::rtm_absent_from_cpuid_is_rtm_off ... ok
test tests::rtm_always_abort_decides_tsx_first ... ok
test tests::spectre_bad_microcode_includes_its_bound ... ok
test tests::srbds_is_tsx_disabled_only_without_rtm_and_mmio ... ok
test tests::srso_user_kernel_no_mitigates_only_the_vm_exit ... ok
test tests::the_first_matching_blacklist_row_decides ... ok
test tests::the_t14_with_arch_capabilities_read_as_zero ... ok
test tests::the_t14s_facts_give_its_lines_and_its_spec_ctrl ... ok
test tests::the_t14s_no_bits_each_rule_out_their_bug ... ok
test tests::the_t14s_facts_are_linuxs_reading_of_it ... ok
test tests::tsa_is_ruled_out_only_by_both_its_no_bits ... ok
test tests::zen1_by_btc_no_ssb_no_and_ibpb ... ok
test tests::zen1_forces_stibp_from_the_untrained_return_thunk ... ok
test tests::zen2_selects_by_smt ... ok
test tests::zen3_by_srso_no_and_an_enumerated_ibpb_brtype ... ok
test tests::zen3_native_reads_its_probe_and_its_tsa_microcode ... ok
test tests::the_tcg_models_signature_gives_its_lines ... ok
test tests::zen4_reads_its_row_of_the_tsa_microcode_table ... ok
test tests::zhaoxin_without_spectre_v2_sets_up_no_ibpb ... ok

test result: ok. 63 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_device_memory-c371b2b03a73bcf2)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_dhcp-bafcabb9fc8c9713)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/ack.rs (target/debug/deps/ack-49c542e77a101715)

running 8 tests
test s_dhcp_dh_016_an_ack_without_rapid_commit_while_selecting ... ok
test s_dhcp_dh_015_rapid_commit ... ok
test s_dhcp_dh_012_verified_configures ... ok
test s_dhcp_dh_018_the_lease_runs_from_the_first_request ... ok
test s_dhcp_dh_017_a_rapid_ack_answers_a_request_too ... ok
test s_dhcp_dh_011_an_ack_is_probed_first ... ok
test s_dhcp_dh_014_every_decline_waits_ten_seconds ... ok
test s_dhcp_dh_013_a_conflict_declines ... ok

test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/lease.rs (target/debug/deps/lease-35f10df30fc859ed)

running 19 tests
test s_dhcp_dh_031_a_late_timer_rebinds_once ... ok
test s_dhcp_dh_028_a_nak_from_another_server ... ok
test s_dhcp_dh_029_a_nak_while_requesting ... ok
test s_dhcp_dh_023_reconfigured ... ok
test s_dhcp_dh_022_extended ... ok
test s_dhcp_dh_027_a_nak_while_renewing ... ok
test s_dhcp_dh_020_renew_rebind_expire ... ok
test s_dhcp_dh_032_a_later_timer_expires ... ok
test s_dhcp_dh_026_rebinding_takes_any_server ... ok
test s_dhcp_dh_025_an_ack_from_another_server ... ok
test s_dhcp_dh_024_an_ack_for_another_address ... ok
test s_dhcp_dh_019_the_first_renew ... ok
test s_dhcp_dh_021_t2_alone_means_rebinding_at_t1 ... ok
test s_dhcp_dh_030_a_nak_loop_is_slowed ... ok
test s_dhcp_dh_034_an_infinite_lease ... ok
test s_dhcp_dh_033_timer_options ... ok
test s_dhcp_dh_035_a_ten_second_lease ... ok
test s_dhcp_dh_036_a_lease_that_expired_while_probed ... ok
test s_dhcp_dh_037_each_renewal_has_its_own_xid ... ok

test result: ok. 19 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/link.rs (target/debug/deps/link-3206abe1f547eb83)

running 10 tests
test s_dhcp_dh_070_link_up_while_selecting ... ok
test s_dhcp_dh_076_the_link_went_down_while_probing ... ok
test s_dhcp_dh_072_an_address_lost_in_use ... ok
test s_dhcp_dh_071_link_up_while_probing ... ok
test s_dhcp_dh_066_the_reboot_is_refused ... ok
test s_dhcp_dh_067_an_unanswered_reboot_keeps_the_lease ... ok
test s_dhcp_dh_065_the_reboot_is_acknowledged ... ok
test s_dhcp_dh_068_the_lease_expires_while_rebooting ... ok
test s_dhcp_dh_069_a_reboot_ack_for_another_address ... ok
test s_dhcp_dh_064_link_up_with_a_lease ... ok

test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/parse.rs (target/debug/deps/parse-e9d3378615f2ecec)

running 26 tests
test s_dhcp_dh_042_another_transaction ... ok
test s_dhcp_dh_039_not_a_reply ... ok
test s_dhcp_dh_040_the_hardware_type ... ok
test s_dhcp_dh_041_another_clients_reply ... ok
test s_dhcp_dh_043_bootp_is_refused ... ok
test s_dhcp_dh_045_an_option_past_its_field ... ok
test s_dhcp_dh_047_a_repeated_message_type ... ok
test s_dhcp_dh_046_no_end ... ok
test s_dhcp_dh_044_past_end_and_padding ... ok
test s_dhcp_dh_049_split_options_are_joined ... ok
test s_dhcp_dh_050_an_overloaded_file_field ... ok
test s_dhcp_dh_051_overload_misused ... ok
test s_dhcp_dh_048_option_lengths ... ok
test s_dhcp_dh_053_a_foreign_client_identifier ... ok
test s_dhcp_dh_052_message_types ... ok
test s_dhcp_dh_054_the_server_identifier ... ok
test s_dhcp_dh_056_the_lease_time ... ok
test s_dhcp_dh_055_yiaddr_must_be_a_host ... ok
test s_dhcp_dh_058_network_and_broadcast_yiaddr ... ok
test s_dhcp_dh_059_the_first_usable_router ... ok
test s_dhcp_dh_060_at_most_three_resolvers ... ok
test s_dhcp_dh_061_identity_while_requesting ... ok
test s_dhcp_dh_057_the_mask ... ok
test s_dhcp_dh_062_offers_nobody_asked_for ... ok
test s_dhcp_dh_063_a_refused_offer_then_another ... ok
test s_dhcp_dh_038_truncated ... ok

test result: ok. 26 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/props.rs (target/debug/deps/props-ad1dc5ab60e095ea)

running 2 tests
test s_dhcp_dh_074_prop_every_message_is_built_one_way ... ok
test s_dhcp_dh_073_prop_invariants ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s

     Running tests/stack.rs (target/debug/deps/stack-c85f569b53db936f)

running 2 tests
test s_dhcp_dh_007_either_framing_of_the_offer ... ok
test s_dhcp_dh_075_the_acquisition_exception_ends_with_an_address ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/tx.rs (target/debug/deps/tx-76e510ba10e25106)

running 9 tests
test s_dhcp_dh_005_secs_saturates ... ok
test s_dhcp_dh_004_jitter_offsets ... ok
test s_dhcp_dh_002_the_host_name ... ok
test s_dhcp_dh_003_the_discover_schedule ... ok
test s_dhcp_dh_008_the_request_repeats_the_discovers_secs ... ok
test s_dhcp_dh_009_four_requests_then_start_over ... ok
test s_dhcp_dh_010_a_slow_offer_still_counts ... ok
test s_dhcp_dh_001_the_first_discover ... ok
test s_dhcp_dh_006_the_request ... ok

test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_dma-54049e6a6738179b)

running 17 tests
test tests::a_u32_at_size_minus_one_is_refused ... ok
test tests::a_u32_at_size_minus_four_is_allowed ... ok
test tests::a_natural_offset_from_a_natural_base_is_aligned ... ok
test tests::a_refusal_names_its_numbers ... ok
test tests::a_zero_length_access_lands_at_the_end_and_no_further ... ok
test tests::a_refused_register_names_its_numbers ... ok
test tests::an_access_of_no_width_is_refused ... ok
test tests::an_access_that_straddles_two_registers_is_refused ... ok
test tests::an_empty_region_admits_only_an_empty_access ... ok
test tests::an_empty_window_admits_no_register ... ok
test tests::an_offset_inside_the_region_does_not_make_the_access_inside_it ... ok
test tests::an_offset_plus_length_that_wraps_is_refused ... ok
test tests::an_offset_that_wraps_its_own_width_is_refused ... ok
test tests::an_unaligned_volatile_access_is_refused ... ok
test tests::the_base_is_part_of_the_question ... ok
test tests::the_last_whole_register_is_inside_the_window ... ok
test tests::the_whole_region_is_inside_itself ... ok

test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_dns-a0d3e445ce9eaa6c)

running 62 tests
test tests::a_lookup_whose_every_server_failed_says_how ... ok
test tests::a_chain_exactly_at_the_bound_is_followed ... ok
test tests::a_late_answer_to_an_earlier_query_still_ends_the_lookup ... ok
test tests::a_lookup_whose_newest_query_is_not_waited_for_wakes_at_the_next_servers_turn ... ok
test tests::a_server_known_unreached_is_asked_again_a_wait_after_that_and_the_lookup_waits_for_its_turn ... ok
test tests::a_lookup_whose_newest_query_reached_nobody_waits_for_an_older_querys_answer ... ok
test tests::a_lookup_with_no_server_does_not_start ... ok
test tests::a_lookup_whose_last_query_reached_nobody_waits_for_the_answers_still_read ... ok
test tests::a_real_reply_with_two_addresses_gives_both_in_order ... ok
test tests::a_reported_query_the_caller_then_knows_reached_nobody_is_let_go ... ok
test tests::a_loop_of_aliases_ends_at_the_bound ... ok
test tests::a_lookup_that_then_reached_neither_server_waits_for_an_older_querys_answer ... ok
test tests::a_server_named_twice_is_one_server_and_is_asked_once_a_wait_whatever_is_reported ... ok
test tests::a_server_failure_asks_the_next_server_at_once ... ok
test tests::a_server_failure_before_an_alias_is_not_the_aliases_failure ... ok
test tests::a_server_not_reached_is_not_asked_again_at_once_because_another_failed ... ok
test tests::a_server_that_answered_with_a_failure_is_what_a_lookup_that_then_reached_nobody_reports ... ok
test tests::a_truncated_reply_ends_the_lookup_by_name ... ok
test tests::an_older_query_that_reached_nobody_asks_nobody_and_ends_nothing ... ok
test tests::aliases_are_counted_across_the_names_a_lookup_asks ... ok
test tests::an_older_query_that_reached_nobody_does_not_hurry_the_next_server ... ok
test tests::records_of_another_class_or_type_are_passed_over ... ok
test tests::reports_and_another_servers_failures_hurry_no_server_that_has_not_answered_and_end_no_lookup_early ... ok
test tests::rfc1034_3_6_2_a_chain_is_followed_in_any_order ... ok
test tests::rfc1034_5_3_3_a_chain_that_ends_without_an_address_is_asked_again_at_its_end ... ok
test tests::rfc1035_2_3_4_a_label_is_63_bytes_and_a_name_255 ... ok
test tests::rfc1034_3_6_2_a_real_chain_of_aliases_is_followed_to_its_address ... ok
test tests::rfc1035_2_3_4_a_name_built_past_255_bytes_by_pointers_is_refused ... ok
test tests::rfc1035_2_3_4_an_owner_of_255_bytes_is_read_and_one_of_256_is_refused ... ok
test tests::rfc1035_3_3_1_an_alias_record_is_one_name ... ok
test tests::rfc1035_3_4_1_an_address_record_is_four_bytes ... ok
test tests::rfc1035_4_1_1_a_query_is_one_header_and_one_question_for_a_in_in ... ok
test tests::rfc1035_4_1_1_a_query_or_another_opcode_is_no_reply ... ok
test tests::rfc1035_4_1_3_a_record_or_a_count_past_the_end_is_malformed ... ok
test tests::rfc1035_4_1_1_every_rcode_is_named ... ok
test tests::rfc1035_4_1_4_a_pointer_that_does_not_point_back_is_refused ... ok
test tests::rfc1035_4_1_4_a_pointer_to_a_prior_name_is_read ... ok
test tests::rfc1035_4_1_4_the_two_reserved_label_types_are_refused ... ok
test tests::rfc1035_4_2_1_a_query_that_reached_nobody_is_not_waited_for_and_the_next_server_is_asked_at_once ... ok
test tests::rfc1035_4_2_1_a_server_not_reached_is_asked_again_in_its_turn_a_wait_later ... ok
test tests::rfc1035_4_2_1_every_server_is_asked_before_any_again_and_the_lookup_ends_after_its_rounds ... ok
test tests::rfc1035_4_2_1_no_server_is_asked_again_at_once_a_lookup_that_reached_none_ends ... ok
test tests::rfc1035_5_1_a_name_off_the_wire_is_written_with_every_odd_byte_escaped ... ok
test tests::rfc1123_2_1_a_name_is_letters_digits_hyphens_and_nothing_else ... ok
test tests::rfc2181_10_1_two_aliases_for_one_name_are_malformed ... ok
test tests::rfc2181_5_4_1_an_address_for_a_name_not_asked_is_not_read ... ok
test tests::rfc2181_9_a_truncated_reply_is_refused_whatever_it_carries ... ok
test tests::every_prefix_of_a_real_reply_is_dropped_or_reads_as_the_whole ... ok
test tests::rfc2308_2_2_a_name_with_no_address_is_an_empty_answer ... ok
test tests::rfc2308_nxdomain_and_nodata_end_the_lookup_apart ... ok
test tests::rfc4343_names_compare_without_regard_to_case ... ok
test tests::rfc5452_9_1_a_reply_is_read_only_for_its_id_and_its_question ... ok
test tests::rfc5452_9_1_only_the_asked_server_port_and_id_are_read ... ok
test tests::rfc6761_6_4_a_real_invalid_name_does_not_exist ... ok
test tests::rfc5452_9_2_an_id_is_drawn_for_a_query_that_is_sent_and_for_nothing_else ... ok
test tests::rfc8085_5_2_a_report_of_an_older_query_asks_nobody ... ok
test tests::rfc8085_5_2_a_reported_query_is_still_read_and_the_next_server_is_asked_at_once ... ok
test tests::rfc8085_5_2_reports_alone_end_no_lookup_and_ask_no_server_twice_inside_a_wait ... ok
test tests::every_pair_of_bytes_in_the_header_and_question_is_read_soundly ... ok
test tests::random_bytes_are_never_an_answer_to_an_id_they_do_not_carry ... ok
test tests::every_byte_of_a_real_reply_set_to_every_value_is_read_soundly ... ok
test tests::random_answer_sections_behind_a_valid_question_are_read_soundly ... ok

test result: ok. 62 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s

     Running unittests src/lib.rs (target/debug/deps/toyos_elf-1dee33cd8b2d3927)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/crafted.rs (target/debug/deps/crafted-5e6c5e5f64fbcab9)

running 30 tests
test a_file_extent_that_overflows_is_refused ... ok
test a_header_naming_a_vaddr_outside_the_image_is_refused_by_name ... ok
test a_file_with_no_load_segment_is_refused ... ok
test a_header_one_byte_short_is_too_small ... ok
test a_program_header_count_past_the_buffer_is_refused ... ok
test a_program_header_offset_that_overflows_is_refused ... ok
test a_program_header_size_that_is_not_56_is_refused ... ok
test a_program_header_offset_inside_the_file_header_is_refused_by_name ... ok
test a_section_table_the_loader_cannot_index_is_dropped_not_refused ... ok
test a_segment_extent_that_overflows_is_refused ... ok
test a_table_no_segment_holds_whole_is_absent ... ok
test a_tls_template_starting_in_bss_has_no_file_offset ... ok
test a_zero_size_tls_segment_is_present_not_absent ... ok
test an_empty_file_is_too_small ... ok
test an_entry_point_outside_the_image_is_refused ... ok
test an_image_for_the_other_machine_is_refused_and_one_for_this_machine_is_not ... ok
test class_endianness_version_type_and_machine_are_each_refused_by_name ... ok
test filesz_above_memsz_is_refused_for_load_and_for_tls ... ok
test no_program_headers_is_refused ... ok
test only_a_segments_file_bytes_have_a_file_offset ... ok
test only_a_tls_segment_with_bytes_is_occupied ... ok
test segment_flags_survive_the_parse ... ok
test segments_that_share_a_page_are_an_overlap ... ok
test the_load_segment_count_is_bounded_and_the_bound_is_generous ... ok
test the_magic_is_checked ... ok
test the_program_header_table_is_where_its_segment_places_it ... ok
test the_stack_after_an_image_is_aligned_wherever_the_image_ends ... ok
test the_writable_window_spans_every_writable_segment ... ok
test tls_alignment_is_a_power_of_two_within_a_page_or_it_is_refused ... ok
test tls_bss_may_extend_past_the_image ... ok

test result: ok. 30 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/fuzz.rs (target/debug/deps/fuzz-3b69a54ee7aafce0)

running 2 tests
test no_note_segment_panics_the_build_id_read ... ok
test every_derived_address_lies_inside_the_image_or_the_image_is_refused ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.72s

     Running tests/note.rs (target/debug/deps/note-afcd23549fb7d2d4)

running 13 tests
test a_build_id_of_the_wrong_type_is_none ... ok
test a_build_id_under_another_name_is_none ... ok
test a_descriptor_of_0_or_past_32_bytes_is_no_build_id ... ok
test a_header_with_no_readable_table_lists_no_note ... ok
test an_alignment_no_note_section_has_names_none ... ok
test an_eight_aligned_segment_pads_to_eight ... ok
test every_pt_note_is_listed_wherever_its_bytes_are ... ok
test a_note_running_past_its_segment_names_none ... ok
test a_lone_build_id_is_read ... ok
test no_build_id_note_names_none ... ok
test the_build_id_after_an_unpadded_name_is_found ... ok
test the_constant_is_the_gabis ... ok
test the_first_of_two_build_ids_is_the_answer ... ok

test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/real.rs (target/debug/deps/real-405aa2c1d23718ba)

running 2 tests
test an_lld_binarys_build_id_is_what_object_and_readelf_read ... ok
test a_linked_binary_parses_to_what_readelf_says ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/tables.rs (target/debug/deps/tables-c3231c6816106e1a)

running 39 tests
test a_bucket_below_the_symbol_offset_is_the_symbol_offset ... ok
test a_chain_index_below_the_symbol_offset_ends_the_lookup ... ok
test a_bucket_pointing_past_the_chain_array_yields_no_symbol_count ... ok
test a_consistent_table_finds_its_symbol_and_counts_it ... ok
test a_chain_naming_a_symbol_the_table_does_not_hold_resolves_to_nothing ... ok
test a_dynamic_table_with_no_null_terminator_stops_at_the_buffer ... ok
test a_name_offset_past_the_string_table_is_empty ... ok
test a_chain_that_never_terminates_yields_no_symbol_count ... ok
test a_name_that_is_not_utf8_matches_nothing ... ok
test a_read_table_inside_the_write_window_is_refused_by_name ... ok
test a_hash_header_that_cannot_be_used_is_refused ... ok
test a_read_table_on_a_page_of_the_write_window_is_refused ... ok
test a_relocation_form_a_rela_loader_would_not_apply_is_refused ... ok
test a_symbol_index_at_the_edge_of_the_bytes_reads_nothing ... ok
test a_symbol_index_is_bounded_by_the_whole_entries_of_its_table ... ok
test a_symbol_index_past_the_table_is_refused_except_for_relative ... ok
test a_symbol_section_whose_link_names_nothing_is_no_symbol_section ... ok
test a_symbol_table_that_cannot_be_read_names_nothing ... ok
test a_symbol_with_no_size_owns_everything_above_it ... ok
test a_table_needs_both_of_its_tags_and_a_non_zero_size ... ok
test a_tag_is_absent_or_present_never_zero_meaning_absent ... ok
test a_trailing_partial_relocation_is_not_a_relocation ... ok
test a_truncated_section_table_names_the_sections_it_covers ... ok
test an_aarch64_tls_descriptor_is_refused_by_name ... ok
test an_address_resolves_to_the_function_that_contains_it ... ok
test an_alias_pair_resolves_to_the_one_that_carries_a_size ... ok
test an_empty_symbol_table_answers_every_question_with_nothing ... ok
test an_unterminated_name_is_the_rest_of_the_string_table ... ok
test counts_are_per_kind_over_every_table ... ok
test data_symbols_and_zero_valued_ones_name_no_frame ... ok
test dladdr_names_the_symbol_glibc_names ... ok
test each_machine_reads_its_own_relocation_numbers ... ok
test every_written_type_is_validated_and_no_other_is ... ok
test everything_after_dt_null_is_ignored ... ok
test lookups_skip_undefined_symbols_and_the_null_entry ... ok
test one_byte_past_a_sized_symbol_is_not_that_symbol ... ok
test relocation_types_map_to_the_width_the_writers_use ... ok
test the_symbol_count_is_the_hash_tables_or_the_gap ... ok
test validation_refuses_a_write_outside_the_window_by_name ... ok

test result: ok. 39 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/tls.rs (target/debug/deps/tls-d5beb1df92b2f1d9)

running 9 tests
test the_dtv_is_never_overwritten_by_tls_data ... ok
test a_tpoff_no_segment_or_word_holds_is_refused ... ok
test a_size_no_allocation_can_hold_has_no_plan ... ok
test an_alignment_that_is_not_a_power_of_two_has_no_plan ... ok
test the_executables_extent_is_its_size_rounded_to_its_alignment ... ok
test each_machine_has_its_own_variant ... ok
test variant_i_agrees_with_what_lld_linked ... ok
test tpoff_carries_the_addend ... ok
test variant_i_puts_the_module_where_its_linker_put_it ... ok

test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_elide-ec7866da0b8a7d1f)

running 12 tests
test limit::tests::a_storm_is_said_to_its_burst_counted_after_and_reported_once ... ok
test limit::tests::a_quiet_site_is_never_limited ... ok
test tests::a_head_cut_inside_a_character_stops_before_it ... ok
test tests::a_value_that_fits_is_untouched ... ok
test tests::a_tail_cut_inside_a_character_drops_its_remainder ... ok
test tests::a_tail_wider_than_the_value_keeps_all_of_it ... ok
test tests::both_ends_survive_and_the_count_is_exact ... ok
test limit::tests::racing_sites_count_exactly ... ok
test tests::one_byte_past_what_is_kept_elides ... ok
test tests::nothing_renders_wider_than_widest ... ok
test tests::no_length_and_no_width_produces_invalid_utf8 ... ok
test tests::the_chunking_a_value_arrives_in_does_not_change_it ... ok

test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_fat32-9a543f2935caa0c2)

running 18 tests
test dir::tests::a_write_time_keeps_the_even_second ... ok
test name::tests::basis_truncates_and_uppercases ... ok
test name::tests::anything_else_needs_one ... ok
test name::tests::exact_multiple_of_thirteen_has_no_terminator ... ok
test name::tests::groups_pad_with_terminator_then_filler ... ok
test name::tests::checksum_rotates_and_is_not_constant ... ok
test name::tests::lone_surrogates_decode_to_a_name_rather_than_failing ... ok
test name::tests::candidates_are_distinct_and_well_formed ... ok
test name::tests::long_name_comparison_is_ascii_case_insensitive ... ok
test name::tests::plain_uppercase_names_need_no_long_entry ... ok
test name::tests::rejects_names_past_the_format_limit ... ok
test name::tests::rejects_what_fat_cannot_store ... ok
test time::tests::clamps_instead_of_wrapping ... ok
test time::tests::seconds_round_down_to_two ... ok
test time::tests::zero_entry_has_a_time ... ok
test name::tests::hash_tails_differ_between_long_names ... ok
test time::tests::every_bit_pattern_decodes ... ok
test time::tests::every_representable_day_round_trips ... ok

test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/host_read.rs (target/debug/deps/host_read-054ce0316637f8c4)

running 10 tests
test a_four_kib_cluster_volume_reads_the_same ... ok
test the_volume_label_is_not_a_file ... ok
test lowercase_short_names_survive ... ok
test lookup_ignores_case ... ok
test missing_paths_are_not_found_rather_than_anything_else ... ok
test subdirectories_list_independently ... ok
test walk_sees_exactly_what_the_host_wrote ... ok
test extents_cover_the_file_and_point_at_its_bytes ... ok
test every_file_reads_back_byte_for_byte ... ok
test reads_land_correctly_at_every_offset_and_length ... ok

test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

     Running tests/host_write.rs (target/debug/deps/host_write-5850e42c39a4048a)

running 21 tests
test creating_an_existing_name_in_another_case_is_refused ... ok
test empty_directories_are_removable_and_full_ones_are_not ... ok
test our_own_reader_agrees_with_the_host_on_our_own_volume ... ok
test files_crossing_cluster_boundaries_are_intact ... ok
test colliding_short_names_stay_unique ... ok
test a_log_file_written_a_line_at_a_time ... ok
test rename_moves_a_file_between_directories ... ok
test same_entry_is_case_insensitive_identity ... ok
test rename_repoints_a_moved_directorys_parent ... ok
test appending_extends_the_chain ... ok
test a_directory_grows_into_further_clusters ... ok
test every_fat_copy_stays_in_step ... ok
test a_chain_that_outran_its_entry_is_reconciled ... ok
test the_host_sees_the_timestamp_we_stamped ... ok
test the_host_accepts_a_volume_we_populated ... ok

@Japabu

Japabu commented Oct 11, 2026

Copy link
Copy Markdown
Collaborator Author

ci-host, part 3 of 9, cargo run -- --ci host, exit 0, run on tree 755f3da0 (head 7cdd1ec's)

test sparse_writes_zero_the_gap ... ok
test truncation_releases_clusters_and_the_host_agrees ... ok
test four_kib_clusters_write_correctly ... ok
test a_chain_no_entry_reaches_is_reconciled ... ok
test deleted_clusters_come_back ... ok
test a_full_volume_refuses_cleanly ... ok

test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.94s

     Running tests/hostile.rs (target/debug/deps/hostile-c6039959a84466df)

running 33 tests
test a_bad_signature_is_not_a_volume ... ok
test a_crafted_entry_can_still_be_deleted ... ok
test a_directory_entry_pointing_outside_the_volume_is_refused ... ok
test a_directory_tree_cycle_terminates ... ok
test a_stale_handle_is_refused ... ok
test a_fat_too_small_for_its_clusters_is_refused ... ok
test a_long_name_with_a_wrong_checksum_falls_back_to_the_short_one ... ok
test a_refused_flush_is_io ... ok
test a_crafted_zero_size_entry_cannot_write_outside_the_volume ... ok
test a_cluster_that_links_to_itself_is_refused ... ok
test a_longer_cycle_is_bounded_rather_than_endless ... ok
test a_stale_handle_over_a_reused_empty_slot_is_refused ... ok
test a_write_through_a_dead_handle_allocates_nothing ... ok
test impossible_names_are_refused_not_mangled ... ok
test a_device_that_fails_mid_read_reports_it ... ok
test lone_surrogates_in_a_long_name_produce_a_name ... ok
test a_volume_too_small_for_fat32_is_refused ... ok
test the_caller_limit_refuses_rather_than_truncates ... ok
test a_chain_link_outside_the_volume_is_refused ... ok
test a_volume_larger_than_its_device_is_truncated ... ok
test removing_a_cyclic_chain_never_leaves_an_entry_naming_free_clusters ... ok
test writes_past_the_format_limit_are_refused ... ok
test the_caller_limit_is_the_named_directorys_and_not_the_volumes ... ok
test the_corpus_is_a_volume_we_can_read ... ok
test truncating_a_cyclic_chain_does_not_free_the_clusters_it_keeps ... ok
test nonsense_long_name_ordinals_do_not_break_the_scan ... ok
test a_cyclic_directory_chain_terminates ... ok
test every_illegal_bpb_field_is_refused ... ok
test an_empty_file_is_not_a_corrupt_directory ... ok
test a_directory_longer_than_the_entry_bound_is_refused ... ok
test random_damage_to_directory_entries_never_panics ... ok
test random_damage_to_the_metadata_never_panics ... ok
test every_boot_sector_byte_can_be_anything ... ok

test result: ok. 33 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.64s

     Running tests/refused_writes.rs (target/debug/deps/refused_writes-ad10e0710e1ba982)

running 20 tests
test a_remove_reports_a_corrupt_chain_under_the_name_it_erased ... ok
test a_stop_that_refuses_every_retry_for_a_while_leaks_nothing ... ok
test a_remove_whose_free_the_device_fails_answers_ok_and_the_next_call_the_failure ... ok
test every_refused_write_of_a_long_name_create_is_undone ... ok
test a_call_that_refused_nothing_keeps_the_free_count ... ok
test every_refused_write_of_a_rename_is_undone ... ok
test an_unlanded_rollback_is_the_answer ... ok
test every_refused_write_of_a_remove_dir_leaves_nothing_behind ... ok
test every_refused_read_of_a_truncation_is_retried_to_the_same_end ... ok
test every_refused_read_of_a_truncation_to_zero_is_retried_to_the_same_end ... ok
test every_refused_write_of_a_truncation_is_carried_through ... ok
test every_refused_write_of_a_directory_growth_is_undone ... ok
test every_refused_write_of_a_truncation_to_zero_is_carried_through ... ok
test every_refused_write_of_a_first_allocation_is_undone ... ok
test the_deepest_repair_reaches_its_bound_and_no_further ... ok
test every_refused_write_of_a_remove_leaves_nothing_behind ... ok
test every_refused_write_of_a_nested_create_dir_is_undone ... ok
test every_refused_write_of_an_append_and_its_sync_converges ... ok
test every_refused_write_of_an_append_is_undone ... ok
test a_stop_at_any_write_leaves_only_the_named_windows ... ok

test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.45s

     Running tests/replace_rename.rs (target/debug/deps/replace_rename-26aeae76b6ebf7eb)

running 2 tests
test source_move_failure_restores_destination_before_any_free ... ok
test a_failed_rollback_names_where_the_destination_went ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_fat32_check-9b00a76f29be5a2b)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/teeth.rs (target/debug/deps/teeth-e08b231553914a95)

running 66 tests
test a_cluster_past_the_formats_ceiling ... ok
test a_cluster_that_is_not_a_power_of_two_sectors ... ok
test a_boot_sector_that_does_not_jump ... ok
test a_chain_link_into_the_bad_cluster_mark ... ok
test a_directory_entry_carrying_a_size ... ok
test a_chain_link_that_is_not_a_cluster ... ok
test a_chain_that_links_back_into_itself ... ok
test a_directory_entry_naming_no_cluster ... ok
test a_boot_sector_without_its_signature ... ok
test a_dot_dot_naming_the_root_cluster_instead_of_zero ... ok
test a_fat32_volume_counting_sectors_in_the_sixteen_bit_field ... ok
test a_dot_entry_in_the_root_directory ... ok
test a_fat_copy_left_behind_by_a_write ... ok
test a_fat32_volume_claiming_a_fixed_root_directory ... ok
test a_fat_of_no_sectors ... ok
test a_fat32_volume_sizing_its_fat_in_the_sixteen_bit_field ... ok
test a_dot_entry_naming_someone_elses_cluster ... ok
test a_free_count_the_writer_left_unknown ... ok
test a_file_system_version_this_specification_does_not_define ... ok
test a_file_whose_size_needs_more_clusters_than_it_holds ... ok
test a_fat_one_that_is_not_an_end_of_chain_mark ... ok
test a_file_holding_more_clusters_than_its_size_needs ... ok
test a_fat_too_small_for_the_clusters_it_must_describe ... ok
test a_long_name_entry_with_a_type_the_format_reserves ... ok
test a_free_count_that_is_not_the_free_count ... ok
test a_long_name_run_no_short_entry_follows ... ok
test a_long_name_entry_naming_a_cluster ... ok
test a_long_name_run_whose_ordinals_do_not_count_down ... ok
test a_long_name_run_of_more_entries_than_a_long_name_has ... ok
test a_reserved_entry_byte_carrying_something_nothing_defines ... ok
test a_long_name_run_that_does_not_begin_with_the_last_entry_flag ... ok
test a_root_cluster_that_is_not_a_cluster ... ok
test a_long_name_run_whose_checksum_is_not_its_short_names ... ok
test a_media_byte_the_format_does_not_define ... ok
test a_next_free_hint_that_is_not_a_cluster ... ok
test a_long_name_run_that_does_not_reach_ordinal_one ... ok
test a_sector_size_the_format_does_not_define ... ok
test a_long_name_entry_ahead_of_the_dot_entries ... ok
test a_second_volume_label_in_the_root ... ok
test a_subdirectory_that_does_not_begin_with_dot ... ok
test a_volume_flagged_as_having_met_a_disk_error ... ok
test a_report_that_stops_enumerating_says_it_stopped ... ok
test a_volume_of_no_sectors ... ok
test a_volume_shorter_than_its_boot_sector_says ... ok
test a_volume_label_outside_the_root_directory ... ok
test a_volume_flagged_as_not_cleanly_unmounted ... ok
test fewer_bytes_than_a_boot_sector ... ok
test a_volume_that_is_all_metadata ... ok
test a_tree_deeper_than_the_walk_follows ... ok
test an_active_fat_the_volume_does_not_have ... ok
test a_volume_with_too_few_clusters_to_be_fat32 ... ok
test an_entry_naming_a_cluster_outside_the_volume ... ok
test an_fsinfo_without_its_lead_signature ... ok
test a_fat_zero_that_does_not_carry_the_media_byte ... ok
test an_fsinfo_sector_outside_the_reserved_region ... ok
test an_fsinfo_without_its_struct_signature ... ok
test no_fat_at_all ... ok
test no_reserved_sectors_at_all ... ok
test clusters_allocated_and_reachable_from_nothing ... ok
test an_unfinished_fixture_is_not_clean ... ok
test the_fixture_is_clean ... ok
test an_fsinfo_without_its_trail_signature ... ok
test an_orphaned_ring_of_clusters ... ok
test the_lowercase_name_bits_are_not_a_complaint ... ok
test two_files_holding_one_cluster ... ok
test two_entries_in_one_directory_with_the_same_short_name ... ok

test result: ok. 66 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

     Running unittests src/lib.rs (target/debug/deps/toyos_gicv3-85668e2fdba4881c)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/gicv3.rs (target/debug/deps/gicv3-a7593114838353de)

running 9 tests
test sgi_names_aff0_by_range_and_bit ... ok
test sgi_to_cpu_zero_is_bit_zero_of_range_zero ... ok
test sgi_to_every_other_cpu_is_irm_and_the_intid_alone ... ok
test walk_steps_two_frames_without_them ... ok
test unpacking_puts_each_field_back_and_no_flag ... ok
test walk_steps_over_virtual_lpi_frames ... ok
test walk_stops_at_the_last ... ok
test affinity_drops_mpidr_flags_between_aff2_and_aff3 ... ok
test walk_stops_at_the_region_end ... ok

test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_gpt-1688af75d0970822)

running 6 tests
test crc32::tests::not_castagnoli ... ok
test guid::tests::esp_type_guid_round_trips ... ok
test crc32::tests::streaming_matches_one_shot ... ok
test guid::tests::zero_is_zero ... ok
test crc32::tests::catalogue_check_value ... ok
test tests::the_block_sizes_parsed_are_the_declared_range ... ok

test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/mutate.rs (target/debug/deps/mutate-5f160bce851bb0fc)

running 1 test
test a_resealed_table_with_any_value_bent_never_panics_and_hands_back_only_partitions ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.97s

     Running tests/oracle.rs (target/debug/deps/oracle-21195d4b2f2024ba)

running 3 tests
test both_readers_spell_the_types_alike ... ok
test on_tables_uefi_lays_out_both_readers_agree_entry_for_entry ... ok
test on_bent_tables_every_disagreement_is_a_named_difference ... ok

test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.22s

     Running tests/parse.rs (target/debug/deps/parse-7e7c8abeb42665bb)

running 43 tests
test a_device_with_no_room_for_a_table ... ok
test a_backwards_partition_is_refused ... ok
test a_four_kibibyte_block_device_parses ... ok
test a_list_is_every_used_entry_in_order ... ok
test a_list_leaves_no_slot_it_did_not_fill ... ok
test a_damaged_primary_falls_back_to_a_good_backup ... ok
test a_backup_retry_leaves_no_slot_of_the_primary ... ok
test a_partition_outside_the_disk_is_refused ... ok
test a_tiny_entry_array_cannot_buy_the_backup_header ... ok
test a_partition_over_the_table_is_refused ... ok
test a_type_scan_over_a_damaged_array_is_refused ... ok
test a_read_that_does_not_happen_is_an_error ... ok
test a_type_scan_lists_every_entry_of_that_type ... ok
test a_billion_entries_is_refused_not_read ... ok
test a_type_scan_says_how_many_it_could_not_hand_back ... ok
test a_zero_guid_matches_nothing ... ok
test an_array_lba_near_the_top_of_the_range_does_not_wrap ... ok
test absent_guid_is_not_found_and_says_how_many_there_were ... ok
test a_valid_primary_that_lacks_the_guid_is_not_retried_against_the_backup ... ok
test a_usable_range_reaching_the_backup_gpt_is_refused ... ok
test both_copies_damaged_is_refused_by_name ... ok
test an_honest_table_on_a_floored_device_view_parses ... ok
test header_must_claim_lba_one ... ok
test block_sizes_outside_the_supported_range ... ok
test header_reserved_word ... ok
test header_revision ... ok
test finds_the_partition_by_unique_guid ... ok
test an_overlapping_neighbour_is_refused ... ok
test header_signature ... ok
test hybrid_mbr_is_refused ... ok
test one_flipped_bit_in_the_header ... ok
test one_flipped_bit_in_the_entry_array ... ok
test header_size_bounds ... ok
test no_protective_mbr ... ok
test the_array_ends_where_the_header_says ... ok
test each_guid_finds_its_own_entry ... ok
test entry_size_must_be_a_power_of_two_multiple_of_128_that_fits_a_block ... ok
test zero_entries_is_refused ... ok
test the_array_may_not_sit_on_the_header_or_past_the_usable_range ... ok
test two_entries_claiming_the_target_guid_are_refused ... ok
test usable_range_must_be_a_range_inside_the_device ... ok
test the_array_ceiling_is_where_it_says_it_is ... ok
test no_byte_of_the_table_can_panic_the_parser ... ok

test result: ok. 43 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.03s

     Running unittests src/lib.rs (target/debug/deps/toyos_hda-d8e32426ac3fcbc4)

running 88 tests
test caps::tests::a_widget_type_keeps_the_nibble_it_was_decoded_from ... ok
test caps::tests::both_laptop_output_pins_can_power_an_external_amplifier ... ok
test caps::tests::an_unsoldered_pin_still_calls_itself_a_speaker ... ok
test caps::tests::eight_channel_display_audio_decodes_its_channel_count ... ok
test caps::tests::the_converter_amp_has_gain_and_cannot_mute ... ok
test caps::tests::qemu_s_converter_offers_it_too ... ok
test caps::tests::the_internal_speaker_is_fixed_and_the_jack_is_a_jack ... ok
test caps::tests::the_laptop_s_speaker_dac_decodes_as_a_stereo_converter ... ok
test caps::tests::the_laptop_s_speaker_pin_has_a_connection_list_and_an_output_amp ... ok
test caps::tests::the_laptop_s_vendor_widget_is_the_one_with_processing_coefficients ... ok
test caps::tests::the_pin_amp_can_mute_and_has_no_gain ... ok
test config::tests::a_hop_shared_by_two_pins_is_powered_once ... ok
test caps::tests::the_laptop_s_converter_offers_what_this_pipeline_plays ... ok
test config::tests::qemus_path_writes_its_amplifier_on_the_converter_and_none_on_the_pin ... ok
test graph::tests::a_function_type_keeps_the_byte_it_was_decoded_from ... ok
test graph::tests::a_list_shorter_than_it_declared_is_refused ... ok
test fixture::tests::every_pin_in_the_fixture_has_a_configuration_default ... ok
test graph::tests::a_range_entry_expands_from_the_entry_before_it ... ok
test fixture::tests::the_converters_keep_their_rates ... ok
test graph::tests::a_range_longer_than_the_bound_is_refused_rather_than_truncated ... ok
test graph::tests::a_range_that_runs_backwards_is_not_a_range ... ok
test graph::tests::a_range_with_nothing_before_it_is_refused ... ok
test graph::tests::a_six_entry_mixer_list_spans_two_responses ... ok
test graph::tests::the_laptop_s_headphone_pin_names_two_converters ... ok
test graph::tests::the_laptop_s_speaker_pin_names_one ... ok
test path::tests::a_connection_naming_a_node_outside_the_group_is_refused_by_name ... ok
test path::tests::a_cycle_is_a_refusal_and_not_a_hang ... ok
test path::tests::a_selector_on_the_way_is_told_which_input_to_take ... ok
test path::tests::a_speaker_outranks_a_line_out_whatever_order_the_nodes_are_in ... ok
test path::tests::a_speaker_pin_with_no_converter_behind_it_is_refused ... ok
test path::tests::an_unwired_speaker_pin_does_not_win_by_coming_first ... ok
test graph::tests::a_long_form_entry_carries_sixteen_bits ... ok
test graph::tests::a_long_form_node_past_the_node_space_is_refused ... ok
test config::tests::the_converter_learns_the_format_and_the_tag_last ... ok
test path::tests::only_one_of_the_laptop_s_five_speaker_labelled_pins_is_a_candidate ... ok
test path::tests::display_audio_alone_is_a_refusal_naming_it ... ok
test path::tests::the_display_codec_does_not_win_when_it_comes_first ... ok
test probe::tests::a_group_that_is_not_audio_is_kept_and_not_walked ... ok
test probe::tests::a_subordinate_range_running_off_the_node_space_is_refused_by_name ... ok
test probe::tests::a_widget_count_past_the_bound_costs_the_widgets_past_it_and_nothing_else ... ok
test config::tests::the_laptop_s_speaker_is_told_to_power_its_external_amplifier ... ok
test path::tests::qemu_has_no_speaker_and_binds_its_line_out ... ok
test config::tests::both_machines_offer_the_one_rate_this_driver_asks_for ... ok
test config::tests::a_converter_that_does_not_offer_the_rate_is_a_refusal_and_not_a_substitution ... ok
test config::tests::nothing_in_the_sequence_ever_sets_the_mute_bit ... ok
test config::tests::every_widget_on_the_path_that_has_a_power_state_is_told_d0 ... ok
test stream::tests::a_buffer_that_would_wrap_the_address_space_is_refused ... ok
test stream::tests::a_built_format_decodes_back_to_the_rate_it_was_asked_for ... ok
test stream::tests::a_divided_rate_uses_the_divisor_field ... ok
test stream::tests::a_driver_that_slept_a_whole_lap_is_told_the_mask_cannot_place_the_engine ... ok
test stream::tests::a_last_index_outside_the_ring_is_refused ... ok
test stream::tests::a_mask_names_the_period_the_engine_returns_to_first ... ok
test stream::tests::a_mask_that_is_not_one_run_is_refused_rather_than_placed ... ok
test stream::tests::a_multiplied_rate_uses_the_multiplier_field ... ok
test stream::tests::a_period_count_past_the_mask_is_refused_rather_than_masked_short ... ok
test config::tests::the_jack_is_told_to_drive_headphones_and_the_speaker_is_not ... ok
test stream::tests::a_position_inside_the_period_still_being_played_marks_nothing_new ... ok
test stream::tests::a_position_past_the_buffer_is_not_an_index ... ok
test path::tests::the_laptop_picks_its_internal_speaker_and_the_jack_that_shares_a_converter ... ok
test stream::tests::a_rate_the_field_cannot_express_is_refused_and_not_rounded ... ok
test probe::tests::a_codec_statests_named_and_the_link_does_not_carry_is_named_not_skipped ... ok
test stream::tests::a_ring_with_nothing_to_wrap_to_is_refused ... ok
test stream::tests::a_run_that_wraps_does_not_start_at_its_lowest_bit ... ok
test fixture::tests::the_laptop_fixture_carries_both_codecs_and_every_widget ... ok
test fixture::tests::the_speaker_pin_round_trips_through_the_log_format ... ok
test config::tests::the_two_halves_of_the_laptop_s_volume_control_are_written_where_they_exist ... ok
test stream::tests::an_unrepresentable_width_or_channel_count_is_refused ... ok
test path::tests::the_pin_amp_the_laptop_offers_is_the_one_that_can_mute ... ok
test stream::tests::completion_marks_every_period_between_two_positions ... ok
test probe::tests::walking_qemus_two_codecs_binds_the_line_out ... ok
test stream::tests::completion_wraps_the_ring ... ok
test stream::tests::every_rate_linux_tabulates_encodes_to_the_number_linux_tabulates ... ok
test stream::tests::forty_eight_kilohertz_is_the_other_base ... ok
test stream::tests::the_pipeline_s_own_shape_builds_a_ring ... ok
test stream::tests::the_rate_this_pipeline_plays_encodes_as_the_forty_four_one_base ... ok
test stream::tests::widths_and_channel_counts_land_in_their_own_fields ... ok
test verb::tests::a_range_running_past_the_node_space_is_refused ... ok
test verb::tests::all_ones_is_not_a_response ... ok
test verb::tests::an_address_and_a_node_print_the_way_a_dump_names_them ... ok
test probe::tests::the_walked_laptop_binds_the_same_speaker_the_parsed_one_does ... ok
test verb::tests::long_verb_puts_its_payload_under_a_four_bit_verb ... ok
test verb::tests::present_reports_every_codec_and_not_the_first ... ok
test stream::tests::every_position_completed_can_report_reads_back_as_the_run_it_walked ... ok
test verb::tests::short_verb_is_the_probe_s_encoding ... ok
test verb::tests::statests_bit_15_is_not_an_address ... ok
test verb::tests::the_laptop_s_widget_range_decodes_to_its_own_nodes ... ok
test verb::tests::zero_subordinates_is_no_range_at_all ... ok
test probe::tests::walking_the_laptop_reaches_the_graph_its_own_log_describes ... ok

test result: ok. 88 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

     Running unittests src/lib.rs (target/debug/deps/toyos_i219-34ecf7da27a76327)

running 89 tests
test tests::a_flag_the_part_already_let_go_is_not_written_again ... ok
test tests::a_grant_that_never_comes_is_refused_by_name_and_the_request_withdrawn ... ok
test tests::a_flag_that_never_comes_does_not_stop_the_reset ... ok
test tests::a_claim_that_stops_answering_is_handed_up_and_not_read_as_quiet ... ok
test tests::a_frame_goes_out_whole ... ok
test tests::a_frame_longer_than_a_transmit_buffer_is_refused_and_not_truncated ... ok
test tests::a_link_drop_does_not_lose_the_ring ... ok
test tests::a_frame_arrives_whole ... ok
test tests::a_buffer_given_back_out_of_turn_does_not_carry_the_tail_over_an_older_one ... ok
test tests::a_flag_another_agent_holds_is_neither_asked_over_nor_cleared ... ok
test tests::a_lying_length_is_refused_and_the_frames_behind_it_still_arrive ... ok
test tests::a_part_that_does_not_take_ivar_is_refused ... ok
test tests::a_part_is_told_which_vector_each_cause_uses ... ok
test tests::a_part_that_does_not_take_rctl_is_refused ... ok
test tests::a_part_with_no_station_address_is_refused ... ok
test tests::a_partner_on_an_unconfigured_phy_raises_no_link ... ok
test tests::a_phy_in_reach_is_asked_once_and_left_powered ... ok
test tests::a_phy_left_in_loopback_or_configured_by_hand_raises_no_link ... ok
test tests::a_grant_that_comes_late_inside_the_bound_is_taken ... ok
test tests::a_link_that_is_down_has_no_room ... ok
test tests::a_full_transmit_ring_answers_room_0 ... ok
test tests::a_phy_that_is_not_the_one_this_map_describes_is_refused_by_its_identifier ... ok
test tests::a_part_that_grants_over_the_engines_standing_bit_is_brought_up ... ok
test tests::a_phy_left_in_low_power_link_up_links_at_a_gigabit ... ok
test tests::a_refused_descriptor_does_not_carry_the_tail_over_a_frame_still_held ... ok
test tests::a_register_nothing_decodes_is_refused_and_never_written ... ok
test tests::a_master_that_never_goes_quiet_does_not_stop_the_bring_up ... ok
test tests::a_ladder_stopped_on_smbus_leaves_the_mac_off_it ... ok
test tests::a_part_that_takes_none_of_the_datasheets_latitudes_is_brought_up_the_same_way ... ok
test tests::a_multicast_group_sets_the_one_table_bit_its_address_hashes_to ... ok
test tests::a_seeded_workload_loses_nothing_and_invents_nothing ... ok
test tests::a_reset_that_never_finishes_is_refused ... ok
test tests::a_spurious_interrupt_costs_a_pass_and_nothing_else ... ok
test tests::a_window_or_grant_too_small_is_refused ... ok
test tests::a_window_that_reads_ones_is_refused ... ok
test tests::a_phy_reset_restores_the_defaults_and_not_the_state_the_claim_inherited ... ok
test tests::a_platform_that_asks_for_low_power_link_up_in_d0a_gets_it ... ok
test tests::a_release_over_a_window_of_ones_writes_nothing ... ok
test tests::a_phy_left_out_of_reach_is_climbed_to_before_the_reset ... ok
test tests::bring_up_programs_what_the_initialization_sections_name ... ok
test tests::causes_are_acknowledged_by_writing_them_back ... ok
test tests::a_request_registered_while_the_engine_holds_it_is_still_granted ... ok
test tests::a_ring_never_written_back_is_refused ... ok
test tests::every_reading_of_the_other_two_ownership_bits_names_who_stands_beside_the_flag ... ok
test tests::an_mdi_read_the_part_could_not_complete_is_refused_by_name ... ok
test tests::a_ring_a_link_change_left_full_stays_the_parts ... ok
test tests::null_descriptor_padding_is_not_a_frame ... ok
test tests::ones_inside_the_grant_wait_do_not_leave_the_request_standing ... ok
test tests::ones_on_the_way_out_do_not_leave_the_flag_standing ... ok
test tests::ones_through_the_whole_release_bound_write_nothing ... ok
test tests::quiesce_stops_what_a_previous_holder_left_running ... ok
test tests::refusals::a_descriptor_with_nothing_in_it_is_refused ... ok
test tests::refusals::a_descriptor_without_end_of_packet_is_refused ... ok
test tests::refusals::a_frame_the_hardware_reported_an_error_on_is_refused ... ok
test tests::refusals::more_bytes_than_the_buffer_holds_is_refused ... ok
test tests::the_82574s_own_phy_register_map_is_refused_by_name ... ok
test tests::a_phy_reset_the_firmware_blocks_is_never_issued ... ok
test tests::the_driver_and_the_macs_statistics_count_the_same_frames ... ok
test tests::frames_come_up_in_order_under_batched_and_reordered_write_back ... ok
test tests::a_written_back_descriptor_returns_room ... ok
test tests::the_link_going_away_and_coming_back_is_seen ... ok
test tests::the_oem_bits_carry_the_platforms_d0a_policy_and_nothing_else ... ok
test tests::a_mac_that_keeps_its_phy_down_is_a_phy_no_cycle_reaches ... ok
test tests::the_head_register_does_run_ahead_of_memory ... ok
test tests::every_ask_carries_the_parts_own_word_and_keeps_the_pace ... ok
test tests::a_phy_no_rung_reaches_is_refused_after_the_reset ... ok
test tests::an_interconnect_in_transition_is_waited_out_and_never_written_over ... ok
test tests::host_wake_up_left_armed_is_cleared_behind_the_reset ... ok
test tests::the_receiver_reporting_on_itself_is_counted ... ok
test tests::the_refusal_names_each_agent_standing_beside_the_flag ... ok
test tests::the_refusal_names_the_last_reading_before_the_deadline ... ok
test tests::the_ownership_claim_leaves_the_rest_of_the_register_standing ... ok
test tests::the_phy_is_brought_up_and_the_mac_sees_the_link_it_raises ... ok
test tests::transmit_descriptors_are_reclaimed_under_batched_write_back ... ok
test tests::what_one_power_reading_decides ... ok
test tests::what_the_wake_and_the_full_reset_write ... ok
test tests::the_phy_is_found_at_whichever_address_answers_its_identifier ... ok
test tests::the_oem_bits_restart_follows_the_control_restart_where_a_phy_reset_is_allowed ... ok
test tests::the_power_step_is_what_lets_an_mdi_cycle_run_at_all ... ok
test tests::an_mdi_transaction_that_never_reports_ready_is_refused_by_name ... ok
test tests::the_pchs_mac_gets_its_three_registers_and_the_82574_none ... ok
test tests::the_transmit_cause_is_armed_only_when_asked ... ok
test tests::the_word_to_the_firmware_goes_with_the_driver ... ok
test tests::no_two_accesses_to_the_arbitration_are_nearer_than_the_pace ... ok
test tests::a_descriptors_fields_are_read_only_after_an_observe_that_follows_the_load_that_found_dd ... ok
test tests::the_advertised_abilities_are_what_the_link_resolves_to ... ok
test tests::the_interface_is_given_back_on_every_path_that_took_it ... ok
test tests::a_tail_register_is_written_only_after_a_publish_that_follows_the_last_descriptor_store ... ok
test tests::a_burst_past_the_ring_leaves_whole_on_the_room_it_is_told ... ok

test result: ok. 89 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.21s

     Running unittests src/lib.rs (target/debug/deps/toyos_inspect-f58f964bd2fd297e)

running 25 tests
test dev::tests::the_header_is_read_at_the_kernels_offsets ... ok
test invocation::tests::a_command_line_is_one_optional_selector_and_one_optional_flag ... ok
test kernel::tests::a_stale_cpu_says_so_and_an_unread_one_says_only_that ... ok
test kernel::tests::an_absent_counter_has_no_path ... ok
test kernel::tests::every_counter_a_record_carries_is_a_path_the_grammar_accepts ... ok
test render::tests::json_is_one_flat_object_with_typed_values ... ok
test dev::tests::a_star_never_lines_up_the_parts_of_an_address ... ok
test selector::tests::a_malformed_selector_is_refused_by_name ... ok
test path::tests::a_path_is_refused_by_name ... ok
test kernel::tests::a_cpu_two_records_name_is_refused_by_its_path ... ok
test selector::tests::a_pathological_selector_is_answered_in_polynomial_time ... ok
test dev::tests::every_record_renders_to_paths_the_grammar_accepts ... ok
test selector::tests::a_selector_reaches_only_the_owners_it_can_name ... ok
test dev::tests::a_path_two_records_render_to_is_refused_by_name ... ok
test selector::tests::a_star_is_one_or_more_whole_segments ... ok
test render::tests::a_line_is_path_equals_value ... ok
test tests::every_owner_root_is_one_valid_segment_and_distinct ... ok
test wire::tests::a_malformed_answer_is_refused_by_name ... ok
test wire::tests::a_snapshot_round_trips ... ok
test wire::tests::an_answer_for_another_owner_is_refused ... ok
test wire::tests::every_truncation_is_refused ... ok
test wire::tests::an_owner_that_answers_past_one_frame_is_told_so ... ok
test wire::tests::an_owner_cannot_put_a_second_line_in_a_value - should panic ... ok
test wire::tests::an_owner_cannot_put_a_path_outside_the_grammar - should panic ... ok
test wire::tests::an_owner_cannot_answer_one_path_twice - should panic ... ok

test result: ok. 25 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_its-19d0b13c69263954)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/encodings.rs (target/debug/deps/encodings-641e75abe325d634)

running 21 tests
test a_redistributor_is_named_as_the_its_asks_by_number_or_by_address ... ok
test a_collection_is_one_the_its_holds_or_its_table_does ... ok
test a_devices_events_are_at_least_two_and_no_more_than_the_its_has_bits_for ... ok
test a_redistributor_that_reads_other_bits_back_has_no_lpis_of_the_layout ... ok
test a_table_is_given_flat_valid_and_counted_in_its_own_pages ... ok
test a_table_is_sized_in_its_own_pages_for_the_entries_it_must_hold ... ok
test a_table_register_says_what_it_backs_and_how_it_is_read ... ok
test an_event_is_one_its_devices_table_holds ... ok
test an_its_without_physical_lpis_is_refused ... ok
test an_lpi_is_an_intid_from_8192_that_the_tables_and_the_distributor_both_count ... ok
test an_lpi_layout_is_inside_the_distributors_intids ... ok
test an_lpis_configuration_is_its_priority_a_set_bit_and_its_enable ... ok
test an_offset_register_names_a_command_by_its_offset_field_alone ... ok
test each_command_holds_its_number_and_parameters_where_its_figure_has_them ... ok
test inv_and_discard_hold_a_device_and_an_event_and_nothing_else ... ok
test the_command_queue_is_counted_in_4_kib_pages_and_holds_one_command_fewer ... ok
test the_configuration_table_starts_at_intid_8192_and_the_pending_table_at_zero ... ok
test the_its_registers_sit_where_tables_12_33_and_12_34_have_them ... ok
test the_redistributors_base_registers_name_the_two_tables ... ok
test the_redistributors_lpi_registers_sit_where_table_12_27_has_them ... ok
test the_type_register_says_how_wide_an_its_is ... ok

test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_keymap-d6d5366800ae26a6)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/compose.rs (target/debug/deps/compose-85f070a533090403)

running 17 tests
test altgr_layer ... ok
test dead_keys_emit_nothing_when_pressed ... ok
test composition ... ok
test dead_then_space_and_doubled ... ok
test dedicated_umlauts ... ok
test fallthrough ... ok
test dead_then_other_dead ... ok
test german_is_unchanged_by_the_dead_key_work ... ok
test iso_key ... ok
test modifiers_do_not_break_composition ... ok
test only_swiss_german_has_dead_keys ... ok
test qwertz ... ok
test reset_drops_pending ... ok
test swiss_german_mac_is_untouched ... ok
test unknown_layout_is_named_as_unknown ... ok
test us_is_the_default_and_still_types_ascii ... ok
test worst_case_fallthrough_fits_max_emit ... ok

test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/detect.rs (target/debug/deps/detect-0e8242c4002bb92e)

running 9 tests
test candidates_narrow ... ok
test every_layout_is_reachable ... ok
test inconsistent_first_press_is_unrecognized ... ok
test inconsistent_second_press_is_unrecognized ... ok
test question_table_is_well_formed ... ok
test the_qwertz_three_take_two ... ok
test us_takes_one_press ... ok
test legends_are_renderable ... ok
test never_confident_without_evidence ... ok

test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/tables.rs (target/debug/deps/tables-be2af0c72a3f1e53)

running 1 test
test golden ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/translate.rs (target/debug/deps/translate-fefbf29b6fa572e2)

running 10 tests
test a_control_code_is_the_key_position_not_the_letter ... ok
test an_undefined_key_does_not_consume_a_pending_diacritic ... ok
test an_escape_sequence_does_not_depend_on_the_layout ... ok
test an_unknown_name_leaves_the_layout_alone ... ok
test arrows_and_page_keys_send_escape_sequences ... ok
test changing_layout_drops_a_pending_diacritic ... ok
test the_default_layout_is_us ... ok
test ctrl_makes_control_codes_of_the_letter_row ... ok
test the_swiss_german_gates_own_sequence ... ok
test two_translators_do_not_share_a_pending_diacritic ... ok

test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_libc_copies-ee3949aad8583456)

running 54 tests
test alarm_requests::a_due_alarm_ends_the_process_unless_sigalrm_is_ignored ... ok
test alarm_requests::an_alarm_is_due_its_seconds_after_it_is_armed_and_zero_arms_none ... ok
test alarm_requests::the_seconds_left_round_up_and_end_at_zero ... ok
test alarm_requests::sigalrm_is_the_number_signal_h_gives_it ... ok
test descriptor_requests::fcntl_reads_an_int_argument_from_the_lower_half_of_its_register ... ok
test internet_addresses::a_number_past_32_bits_or_without_digits_is_no_address ... ok
test internet_addresses::a_number_with_a_zero_before_another_digit_is_no_dotted_quad ... ok
test exact_hex::tests::the_formats_corners_and_ties_round_to_their_bits ... ok
test fparts_differential::modf_is_the_host_libraries ... ok
test fparts_differential::logb_is_the_host_libraries_and_a_zero_its_pole ... ok
test dladdr_symbols::either_count_reaches_the_symbol_at_its_address ... ok
test descriptor_requests::each_descriptor_keeps_its_own_close_on_exec_mark ... ok
test internet_addresses::a_buffer_too_short_for_the_text_is_refused_as_the_host_refuses_it ... ok
test dladdr_symbols::an_image_holds_its_load_segment_and_starts_at_its_page ... ok
test fparts_differential::round_is_the_host_libraries ... ok
test fparts_differential::lround_is_the_host_libraries_and_out_of_range_its_domain_error ... ok
test internet_addresses::another_family_is_refused_as_the_host_refuses_it ... ok
test errno_codes::every_code_libc_answers_with_is_errno_h_s ... ok
test internet_addresses::an_address_is_truncated_to_the_callers_buffer_as_the_host_truncates_it ... ok
test listing_reader::a_name_fits_d_name_with_its_nul_or_is_refused ... ok
test internet_addresses::a_sockaddr_holds_its_port_and_address_in_network_order ... ok
test link_requests::readlink_refuses_an_empty_buffer_and_one_no_ssize_t_counts ... ok
test memory_refusals::a_length_names_the_pages_it_reaches_into ... ok
test memory_refusals::mmap_refuses_what_the_kernel_cannot_map_and_nothing_else ... ok
test listing_reader::an_answer_is_asked_again_until_it_fits ... ok
test memory_refusals::posix_madvise_takes_its_five_and_only_them ... ok
test poll_requests::a_descriptor_named_twice_is_watched_once_for_both_interests ... ok
test poll_requests::each_descriptor_named_once_has_its_own_watch ... ok
test signal_masks::each_how_changes_the_mask_as_posix_says ... ok
test internet_addresses::an_address_is_written_as_the_host_writes_it ... ok
test memory_refusals::madvise_takes_linuxs_hints_and_refuses_its_discard ... ok
test signal_masks::sigaddset_adds_its_signal_alone ... ok
test signal_masks::the_full_set_holds_every_signal ... ok
test stream_ends::a_read_of_zero_is_the_peers_fin_only_while_the_send_pipe_is_read ... ok
test descriptor_requests::f_dupfd_meets_its_floor_holding_one_duplicate_at_most ... ok
test stream_ends::a_write_the_send_pipe_refuses_for_its_reader_is_a_reset ... ok
test tests::the_square_roots_are_the_correctly_rounded_ones ... ok
test socket_options::an_options_value_crosses_as_the_hosts_does ... ok
test text_differential::every_signal_signal_h_numbers_has_glibcs_text ... ok
test text_differential::strnlen_is_the_host_libraries ... ok
test strtonum_differential::the_grammar_s_corners_read_as_judged ... ok
test utf8_differential::a_refusal_starts_the_next_character_afresh ... ok
test tests::a_disjoint_copy_agrees_either_way ... ok
test tests::every_fill_agrees_with_fill ... ok
test prototypes::every_prototype_is_a_definition_and_every_definition_is_declared ... ok
test long_double::strtold_widens_as_compiler_builtins_does ... ok
test strtonum_differential::random_integers_read_as_the_host_s ... ok
test tests::every_copy_agrees_with_copy_within ... ok
test strtonum_differential::random_decimal_numbers_round_as_the_host_s ... ok
test utf8_differential::every_sequence_to_four_bytes_agrees_with_from_utf8 ... ok
test exact_hex::tests::it_rounds_as_the_machine_does ... ok
test internet_addresses::a_dotted_quad_reads_as_the_host_reads_it ... ok
test internet_addresses::numbers_and_dots_read_as_the_host_reads_them ... ok
test strtonum_differential::random_hexadecimal_numbers_round_as_ieee_754_rounds_them ... ok

test result: ok. 54 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.30s

     Running unittests src/lib.rs (target/debug/deps/toyos_logstream-eba0d135b9885853)

running 19 tests
test tests::a_kernel_record_and_its_continuation_are_no_programs ... ok
test tests::a_continuation_wears_its_kernel_records_severity_across_a_programs_line ... ok
test tests::a_control_byte_is_written_and_never_passed ... ok
test tests::a_head_names_severity_thread_and_process_and_reads_back ... ok
test tests::a_program_line_reads_back_as_it_was_written ... ok
test tests::a_reader_is_never_left_inside_a_line_even_by_an_eviction ... ok
test tests::a_line_past_the_bound_is_let_go_in_pieces_and_nothing_is_lost ... ok
test tests::a_registration_round_trips_and_a_malformed_one_is_refused ... ok
test tests::a_records_time_is_read_inside_its_bracket_and_nowhere_else ... ok
test tests::a_reader_at_any_offset_gets_the_bytes_after_it_in_order ... ok
test tests::a_tag_is_one_word_of_the_names_charset_and_no_other_sayers ... ok
test tests::every_sayers_head_reads_back_and_nothing_else_does ... ok
test tests::a_program_lines_time_is_read_inside_its_head_and_nowhere_else ... ok
test tests::lines_are_whole_however_the_writes_split_them ... ok
test tests::the_colour_is_the_heads_and_the_text_never_acts ... ok
test tests::no_text_makes_a_line_another_writers ... ok
test tests::a_screen_shows_the_consoles_line_from_either_form ... ok
test tests::what_is_let_go_is_whole_lines_and_is_counted ... ok
test tests::the_kernels_first_record_is_found_after_whatever_came_before ... ok

test result: ok. 19 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_manifest-59b28a8000e6c464)

running 28 tests
test launch::tests::what_encode_cannot_have_written_is_refused ... ok
test launch::tests::an_authority_reads_back_as_written ... ok
test package::tests::a_launch_path_names_one_package_or_none ... ok
test tests::a_device_class_name_is_the_abi_s ... ok
test package::tests::a_path_the_normalizer_would_change_is_not_canonical_and_classifies_as_nothing ... ok
test launch::tests::nothing_listed_is_nothing_started_and_apps_names_no_row ... ok
test package::tests::what_the_installer_writes_is_what_the_supervisor_reads ... ok
test launch::tests::a_sessions_launches_spend_its_one_share ... ok
test package::tests::a_field_that_is_not_one_is_refused_by_name ... ok
test package::tests::a_manifest_cannot_name_a_binary_outside_its_own_directory ... ok
test package::tests::what_a_shell_resolves_is_what_the_launcher_accepts ... ok
test tests::a_package_row_is_connectors_and_nothing_else ... ok
test package::tests::a_listing_shows_only_what_the_supervisor_would_start_and_never_more_than_the_bound ... ok
test tests::a_package_named_after_a_declared_row_is_refused ... ok
test tests::a_package_s_home_is_its_own_folder ... ok
test launch::tests::a_caller_starts_what_its_row_lists_and_swap_and_update_only_in_a_login_session ... ok
test tests::a_row_that_serves_a_port_and_is_no_service_is_refused ... ok
test tests::a_package_s_view_is_its_own_directory_read_only_and_its_own_folder ... ok
test tests::a_name_that_would_not_survive_the_round_trip_is_refused ... ok
test tests::a_syscap_set_always_carries_transfer_and_never_an_invented_right ... ok
test tests::a_service_s_home_is_its_state_and_every_other_row_s_the_session_s ... ok
test tests::a_role_is_one_of_the_three_and_its_directories_are_fixed ... ok
test tests::every_declared_row_sees_the_whole_tree_read_write ... ok
test tests::logread_carries_both_halves_of_reading_a_stream_that_never_blocks ... ok
test tests::records_attach_to_the_program_above_them ... ok
test tests::the_process_roster_is_its_own_name_and_its_own_bit ... ok
test tests::the_same_manifest_renders_to_the_same_bytes ... ok
test tests::what_the_build_writes_is_what_the_supervisor_reads ... ok

test result: ok. 28 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_microcode-5176b74db00fc682)

running 16 tests
test tests::a_damaged_extended_table_is_refused ... ok
test tests::a_header_or_loader_version_other_than_1_is_refused ... ok
test tests::a_revision_is_signed ... ok
test tests::a_size_zero_off_its_granule_or_inside_out_is_refused ... ok
test tests::an_empty_file_is_refused ... ok
test tests::an_extended_signature_names_a_cpu_the_header_does_not ... ok
test tests::any_multiple_of_1024_is_a_total_size ... ok
test tests::the_msrs_are_read_where_the_sdm_puts_them ... ok
test tests::a_file_cut_short_is_refused ... ok
test tests::the_t14_runs_intels_newest_update_for_its_cpu ... ok
test tests::a_t14_below_it_loads_its_data_which_follows_the_header ... ok
test tests::another_platform_or_stepping_is_not_named ... ok
test tests::the_newest_update_naming_the_cpu_is_chosen_wherever_it_sits ... ok
test tests::a_malformed_update_after_a_good_one_refuses_the_file ... ok
test tests::a_flipped_bit_anywhere_in_header_or_data_is_refused ... ok
test tests::an_extended_signature_in_intels_file_names_its_cpu ... ok

test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_net_ip-c801da0b197750b4)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/acd.rs (target/debug/deps/acd-be07b930c6f2e90d)

running 18 tests
test s_ip_acd_003_an_answer_to_our_probe ... ok
test s_ip_acd_002_a_tentative_address_is_no_source ... ok
test s_ip_acd_004_an_announcement_of_our_candidate ... ok
test s_ip_acd_014_a_renewal_is_not_probed ... ok
test s_ip_acd_012_a_second_conflict_after_the_interval_is_defended ... ok
test s_ip_acd_006_our_own_probe_reflected ... ok
test s_ip_acd_011_a_second_conflict_inside_the_interval_loses ... ok
test s_ip_acd_010_one_defence ... ok
test s_ip_acd_008_ten_conflicts_rate_limit_new_candidates ... ok
test s_ip_acd_007_the_conflict_window_ends_with_announce_wait ... ok
test s_ip_acd_013_an_announcing_address_answers_probes ... ok
test s_ip_acd_005_a_simultaneous_prober ... ok
test s_ip_acd_001_the_ruled_schedule ... ok
test s_ip_acd_015_link_down_abandons_probing ... ok
test s_ip_acd_009_ten_quiet_minutes_lift_the_limit ... ok
test s_ip_acd_016_link_up_announces_without_probing ... ok
test s_ip_acd_017_detection_starts_at_the_first_announcement ... ok
test s_ip_acd_018_a_full_control_queue_holds_probes_and_announcements ... ok

test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/addr.rs (target/debug/deps/addr-2969d417ac93c511)

running 38 tests
test s_ip_addr_002_prefix_lengths_0_and_33 ... ok
test s_ip_addr_003_not_unicast ... ok
test s_ip_addr_004_network_and_broadcast_forms ... ok
test s_ip_addr_005_one_address_one_interface ... ok
test rfc_3927_2_6_2_a_link_local_source_still_sends_by_the_router_or_nowhere ... ok
test s_ip_addr_006_eight_addresses ... ok
test rfc_3927_2_6_2_a_link_local_destination_is_on_the_link ... ok
test s_ip_addr_001_an_added_address_becomes_a_connected_route ... ok
test rfc_3927_2_6_2_the_edges_of_the_link_local_prefix_are_no_destination ... ok
test rfc_3927_a_link_local_address_is_no_gateway_of_a_routable_interface ... ok
test s_ip_addr_009_the_strong_model ... ok
test s_ip_addr_008_slash_31_and_32 ... ok
test rfc_3927_2_6_2_a_datagram_to_a_link_local_host_is_resolved_and_sent_to_it ... ok
test rfc_3927_the_edges_of_the_link_local_prefix_are_no_source ... ok
test s_ip_addr_010_limited_broadcast_needs_no_address ... ok
test s_ip_addr_007_what_is_for_us ... ok
test s_ip_addr_011_a_tentative_address_is_not_ours_yet ... ok
test s_ip_addr_012_no_classful_broadcast ... ok
test s_ip_addr_013_announcing_is_usable ... ok
test s_ip_addr_014_removal_withdraws_route_and_gateway ... ok
test s_ip_rte_001_a_connected_destination ... ok
test s_ip_rte_002_the_default_gateway ... ok
test s_ip_rte_003_no_gateway ... ok
test s_ip_rte_004_longest_prefix ... ok
test s_ip_rte_005_gateways_are_on_link_unicast_hosts ... ok
test s_ip_rte_006_invalid_and_local_destinations ... ok
test s_ip_rte_007_limited_broadcast_needs_one_interface ... ok
test s_ip_rte_008_multicast_ttl_is_the_callers ... ok
test s_ip_rte_009_subnet_broadcast_needs_no_arp ... ok
test s_ip_rte_010_the_source_of_the_next_hops_prefix ... ok
test s_ip_rte_011_a_bound_source_picks_its_interface ... ok
test s_ip_rte_012_only_the_acquiring_source_is_unspecified ... ok
test s_ip_rte_013_a_failed_gateway_is_passed_over ... ok
test s_ip_rte_014_with_no_good_gateway ... ok
test s_ip_rte_015_what_moves_the_generation ... ok
test s_ip_rte_016_no_forwarding ... ok
test s_udp_us_021_ip_no_link_broadcast_without_the_datagrams_permission ... ok
test s_ip_rte_017_lookups_send_nothing ... ok

test result: ok. 38 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/clk.rs (target/debug/deps/clk-40b80d9643fcd680)

running 10 tests
test s_ip_clk_002_nothing_fires_before_its_deadline ... ok
test s_ip_clk_008_announce_wait_counts_from_the_hand_off ... ok
test s_ip_clk_001_a_send_arms_the_retransmission ... ok
test s_ip_clk_004_a_jump_fires_a_reachable_entry_once ... ok
test s_ip_clk_010_a_deadline_saturates ... ok
test s_ip_clk_005_a_jump_owes_one_request ... ok
test s_ip_clk_007_a_regressed_clock_is_the_latest ... ok
test s_ip_clk_003_firing_more_often_changes_nothing ... ok
test s_ip_clk_009_a_jump_refills_a_bucket_to_its_cap ... ok
test s_ip_clk_006_prop_one_secret_one_run ... ok

test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

     Running tests/icmp.rs (target/debug/deps/icmp-efd627dba5d40261)

running 54 tests
test s_icmp_026_a_timestamp_reply_is_unsupported ... ok
test s_icmp_038_each_error_goes_to_its_transport ... ok
test s_icmp_036_a_quote_from_someone_else ... ok
test s_icmp_023_a_redirect_is_refused ... ok
test s_icmp_032_b_answers_a ... ok
test s_icmp_037_a_quote_of_a_later_fragment ... ok
test s_icmp_041_the_quote_is_as_received ... ok
test s_icmp_039_the_generated_port_unreachable ... ok
test s_icmp_024_a_timestamp_request_is_refused ... ok
test s_icmp_035_record_route_is_not_returned ... ok
test s_icmp_040_576_bytes_at_most ... ok
test s_icmp_033_all_the_data_comes_back ... ok
test an_error_whose_next_hop_became_a_broadcast_is_refused_and_counted ... ok
test s_icmp_034_no_answer_to_a_group ... ok
test s_icmp_042_an_error_for_no_socket_is_not_answered ... ok
test s_icmp_043_no_error_about_a_broadcast ... ok
test s_icmp_044_no_error_about_a_link_broadcast ... ok
test s_icmp_045_no_error_about_a_fragment ... ok
test s_icmp_046_no_error_to_a_source_that_is_no_host ... ok
test s_ip_echo_001_the_mirror_of_the_request ... ok
test s_ip_echo_002_dscp_copied_ecn_cleared ... ok
test s_ip_echo_003_an_off_link_requester_is_answered_through_the_gateway ... ok
test s_ip_echo_004_the_reply_carries_no_options ... ok
test s_ip_echo_006_an_echo_reply_is_counted ... ok
test s_ip_echo_007_a_tentative_address_does_not_answer ... ok
test s_ip_echo_005_sixteen_replies_wait ... ok
test s_ip_echo_008_echo_is_not_rate_limited ... ok
test s_ip_icd_001_a_port_unreachable_for_udp ... ok
test s_ip_icd_002_fragmentation_needed_for_tcp ... ok
test s_ip_icd_003_an_error_to_a_broadcast ... ok
test s_ip_icd_004_a_quote_from_a_tentative_address ... ok
test s_ip_icd_005_a_quote_of_icmp ... ok
test s_ip_icd_006_quotes_of_igmp_and_others ... ok
test s_ip_icd_007_time_exceeded ... ok
test s_ip_icd_008_parameter_problem ... ok
test s_ip_icd_009_an_unassigned_code ... ok
test s_ip_icd_010_a_redirect_moves_no_route ... ok
test s_ip_icg_001_protocol_unreachable ... ok
test s_ip_icd_012_a_resolution_failure_is_local ... ok
test s_ip_icg_002_port_unreachable ... ok
test s_ip_icg_003_suppression_takes_no_token ... ok
test s_ip_icd_011_prop_the_shared_classification ... ok
test s_ip_icg_004_refusals_are_silent ... ok
test s_ip_icg_006_an_unknown_protocol_to_a_broadcast ... ok
test s_ip_icg_007_short_datagrams_are_quoted_whole ... ok
test s_ip_icg_008_a_malformed_router_alert_is_dropped_silently ... ok
test s_ip_rl_001_ten_then_limited ... ok
test s_ip_rl_002_one_token_per_100_ms ... ok
test s_ip_rl_006_prop_colliding_destinations_share_a_bucket ... ok
test s_ip_rl_003_another_destination_has_its_own_bucket ... ok
test s_ip_rl_007_suppressed_requests_spend_nothing ... ok
test s_ip_icg_005_prop_only_echo_replies_and_unreachables ... ok
test s_ip_rl_005_the_global_bucket_refills_at_100_a_second ... ok
test s_ip_rl_004_the_global_burst_is_drawn ... ok

test result: ok. 54 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/igmp.rs (target/debug/deps/igmp-81e84a492f5454e2)

running 35 tests
test s_igmp_029_joining_all_hosts_sends_nothing ... ok
test s_ip_igm_003_a_leave_is_reported_twice ... ok
test s_igmp_024_ttl_2_is_accepted ... ok
test s_ip_igm_006_all_hosts_is_never_reported ... ok
test s_ip_igm_001_a_join_is_reported_twice ... ok
test s_ip_igm_007_a_general_query_is_answered_later ... ok
test s_ip_frg_001_a_fragment_is_refused_and_logged ... ok
test s_ip_igm_008_a_sooner_general_response_suffices ... ok
test s_ip_igm_004_a_leave_replaces_the_join ... ok
test s_igmp_023_no_router_alert_is_refused ... ok
test s_igmp_025_a_general_query_to_our_address ... ok
test s_ip_igm_009_a_group_query ... ok
test s_ip_igm_005_membership_is_counted ... ok
test s_ip_igm_002_joins_before_and_after_the_first_address ... ok
test s_ip_igm_010_a_query_for_a_group_not_joined ... ok
test s_ip_igm_011_a_group_and_source_query ... ok
test s_ip_igm_012_too_many_sources_make_a_group_response ... ok
test s_ip_igm_013_queries_need_router_alert ... ok
test s_ip_igm_014_general_query_destinations ... ok
test s_ip_igm_015_a_group_query_to_another_group ... ok
test s_ip_igm_016_the_robustness_is_learned ... ok
test s_ip_igm_017_a_v2_querier ... ok
test s_ip_igm_018_a_join_in_v2_mode ... ok
test s_ip_igm_019_another_hosts_report_suppresses_ours ... ok
test s_ip_igm_020_a_v1_query_is_refused ... ok
test s_ip_igm_021_v2_mode_ends ... ok
test s_ip_igm_022_a_v2_group_query_in_v3_mode ... ok
test s_ip_igm_023_the_last_reporter_leaves ... ok
test s_ip_igm_024_other_hosts_reports_are_ignored_in_v3 ... ok
test s_ip_igm_025_thirty_two_groups ... ok
test s_ip_igm_026_link_flap ... ok
test s_ip_igm_027_one_report_for_every_group ... ok
test s_ip_igm_028_the_join_byte_for_byte ... ok
test s_ip_mod_001_one_line_per_rule_per_10_s ... ok
test s_ip_mod_002_ordinary_refusals_are_not_logged ... ok

test result: ok. 35 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/io.rs (target/debug/deps/io-ee89e63f3f058ea0)

running 52 tests
test s_eth_014_a_priority_tag_is_untagged ... ok
test s_eth_022_another_hosts_mac ... ok
test s_ip_020_df_and_mf_is_a_fragment ... ok
test s_eth_025_our_own_source ... ok
test s_eth_019_9100_is_not_a_tag ... ok
test s_eth_012_lldp ... ok
test s_eth_023_group_macs_follow_membership ... ok
test s_ip_002_minimal_datagram_is_an_unknown_protocol ... ok
test s_ip_021_first_fragment ... ok
test s_eth_032_broadcast_destinations_go_to_the_broadcast_mac ... ok
test s_eth_011_ipv6 ... ok
test s_eth_033_a_unicast_destination_is_never_link_broadcast ... ok
test s_eth_024_vlans_are_refused ... ok
test s_eth_010_type_0600_is_unknown ... ok
test s_ip_022_last_fragment ... ok
test s_ip_023_largest_offset ... ok
test s_ip_025_ttl_zero_is_delivered ... ok
test s_ip_026_ttl_one_is_delivered ... ok
test s_ip_029_other_protocols ... ok
test s_ip_035_the_mtu_bounds_a_send ... ok
test s_ip_in_001_frame_before_destination ... ok
test s_ip_in_002_unicast_in_a_group_frame ... ok
test s_ip_in_003_a_group_destination_in_our_frame ... ok
test s_ip_in_004_martian_destinations ... ok
test s_ip_in_005_invalid_sources ... ok
test s_ip_in_006_destination_before_source ... ok
test s_ip_in_007_our_own_source_on_any_interface ... ok
test s_ip_in_008_fragments_before_options ... ok
test s_ip_in_009_what_a_transport_is_handed ... ok
test s_ip_out_002_ttl ... ok
test s_ip_out_003_tos ... ok
test s_ip_out_005_link_destinations ... ok
test s_ipo_015_stream_id_is_delivered ... ok
test s_ip_out_004_the_mtu ... ok
test s_ip_out_006_the_control_queue_is_bounded ... ok
test s_ipp_001_loose_source_route ... ok
test s_ipo_016_security_option_is_delivered ... ok
test s_ipp_002_strict_source_route ... ok
test s_ip_out_008_released_datagrams_wait_at_the_head_of_their_queue ... ok
test s_ipp_003_record_route_is_ignored ... ok
test s_ipp_004_our_address_and_another ... ok
test s_ipp_005_broadcast_forms ... ok
test s_ipp_006_joined_groups ... ok
test s_ipp_007_invalid_sources ... ok
test s_ipp_008_unspecified_only_for_igmp ... ok
test s_ipp_009_our_own_source ... ok
test s_ipp_010_loopback_destination ... ok
test s_ipp_011_unicast_in_a_broadcast_frame ... ok
test s_ipp_012_an_unknown_protocol_to_us ... ok
test s_ip_out_001_prop_every_datagram_is_atomic ... ok
test s_ipp_013_an_unknown_protocol_to_all ... ok
test s_udp_022_the_mtu_refuses_1473_bytes ... ok

test result: ok. 52 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/nbr.rs (target/debug/deps/nbr-9caf15a2b2e51d89)

running 23 tests
test s_arp_016_the_sender_mac_is_what_is_learned ... ok
test s_ip_nbr_001_our_own_mac_as_sender ... ok
test s_ip_nbr_006_an_unsolicited_reply ... ok
test s_ip_nbr_004_a_request_for_another_host ... ok
test s_ip_nbr_005_a_known_host_asking_for_another ... ok
test s_ip_nbr_003_a_request_for_us ... ok
test s_ip_nbr_002_prefix_edges_are_no_senders ... ok
test s_ip_nbr_007_an_unknown_router_moving ... ok
test s_arp_017_a_group_sender_mac ... ok
test rfc_3927_2_6_2_a_link_local_sender_is_a_neighbour ... ok
test s_ip_nbr_009_locktime ... ok
test s_ip_nbr_010_a_second_answer_is_locked_out ... ok
test s_ip_nbr_011_an_unsolicited_same_mac_extends_nothing ... ok
test rfc_3927_the_edges_of_the_link_local_prefix_are_no_senders ... ok
test s_arp_018_invalid_sender_addresses ... ok
test s_ip_nbr_012_an_off_link_sender_is_answered_not_cached ... ok
test s_ip_nbr_013_a_probe_is_answered_and_not_cached ... ok
test s_ip_nbr_014_a_reply_for_another_target_asserts ... ok
test s_ip_nbr_015_a_broadcast_reply_is_still_solicited ... ok
test s_ip_nbr_008_a_known_router_moving ... ok
test s_ip_nbr_016_the_strong_model_for_arp ... ok
test s_ip_nbr_017_a_tentative_address_is_not_answered ... ok
test s_ip_nbr_018_fifty_mac_changes_one_line ... ok

test result: ok. 23 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/nud.rs (target/debug/deps/nud-ed41191709b01b0e)

running 35 tests
test s_ip_nud_012_unreachable_is_quiet_without_traffic ... ok
test s_ip_nud_009_advice_ends_delay ... ok
test s_ip_nud_013_a_moved_router_answers ... ok
test s_ip_nud_002_three_requests_then_failed ... ok
test s_ip_nud_007_positive_advice_moves_the_confirmation ... ok
test s_ip_nud_010_a_reply_confirms_probe ... ok
test s_ip_nud_006_reachable_goes_stale_silently ... ok
test s_ip_nud_001_resolution_releases_the_datagram ... ok
test s_ip_nud_008_delay_probe_unreachable ... ok
test s_ip_nud_003_release_keeps_arrival_order ... ok
test s_ip_nud_004_overflow_drops_the_oldest ... ok
test s_ip_nud_014_failed_is_held_down ... ok
test rfc_4861_7_2_2_a_silent_next_hop_holds_up_no_other ... ok
test s_ip_nud_015_an_assertion_revives_failed ... ok
test s_ip_nud_016_requests_are_spaced ... ok
test s_ip_nud_011_unreachable_backs_off_while_traffic_flows ... ok
test s_ip_nud_005_the_interface_holds_at_most_64 ... ok
test s_ip_nud_017_negative_advice_probes ... ok
test s_ip_nud_018_negative_advice_leaves_probe_incomplete_and_failed ... ok
test s_ip_nud_019_positive_advice_needs_a_mac ... ok
test s_ip_nud_020_advice_lands_on_the_gateway ... ok
test s_ip_nud_021_stale_is_deleted_when_idle ... ok
test s_ip_nud_023_link_down_drops_the_table ... ok
test s_ip_nud_024_requests_speak_from_the_prompting_source ... ok
test s_ip_nud_025_a_flow_waits_outside ... ok
test s_ip_nud_026_a_flow_moves_stale_to_delay ... ok
test s_ip_nud_031_a_request_queued_before_the_lifetime_is_not_idle ... ok
test s_ip_nud_030_released_datagrams_keep_their_entry ... ok
test s_ip_nud_031_a_request_queued_after_the_lifetime_is_not_idle ... ok
test s_ip_nud_031_a_request_queued_at_the_backoff_deadline_is_not_idle ... ok
test s_ip_nud_030_an_entry_whose_lifetime_runs_stays_as_it_drains ... ok
test s_ip_nud_027_prop_reachable_time_is_drawn_every_two_hours ... ok
test s_ip_nud_022_a_full_table_evicts_in_order ... ok
test s_ip_nud_029_released_datagrams_are_evicted_last ... ok
test s_ip_nud_022_a_send_a_full_table_refused_is_told_of_room ... ok

test result: ok. 35 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

     Running unittests src/lib.rs (target/debug/deps/toyos_net_shard-0bab575736dd687a)

running 3 tests
test tests::the_head_freed_in_its_turn_ends_the_turn ... ok
test tests::a_resolved_next_hop_wakes_the_senders_that_waited_for_it_and_no_other ... ok

@Japabu

Japabu commented Oct 11, 2026

Copy link
Copy Markdown
Collaborator Author

ci-host, part 4 of 9, cargo run -- --ci host, exit 0, run on tree 755f3da0 (head 7cdd1ec's)

test tests::a_connection_freed_in_the_round_leaves_it ... ok

test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/acquisition.rs (target/debug/deps/acquisition-fbb1627be06dce30)

running 5 tests
test a_second_acquisition_socket_is_refused_its_port ... ok
test the_acquisition_socket_hears_a_datagram_to_an_address_not_yet_held ... ok
test the_acquisition_socket_sends_from_no_address_to_the_limited_broadcast ... ok
test a_removed_address_takes_its_gateway_and_answers_nothing ... ok
test only_the_acquisition_socket_names_its_source ... ok

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/drr.rs (target/debug/deps/drr-acd2166a1bb12cf3)

running 6 tests
test a_sender_leaves_the_round_with_its_last_datagram ... ok
test a_connection_that_takes_a_freed_slot_takes_one_turn ... ok
test s_shard_drr_001_a_turn_spans_opportunities_on_one_quantum ... ok
test s_shard_drr_001_a_negative_deficit_is_repaid ... ok
test s_shard_drr_003_ip_and_owed_resets_go_first_and_the_round_resumes ... ok
test s_shard_drr_002_a_bulk_flow_starves_no_other_beyond_its_quantum ... ok

test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/egress.rs (target/debug/deps/egress-69c0e7315913fa05)

running 19 tests
test s_hs_035_shard_a_directed_broadcast_is_not_a_unicast_remote ... ok
test s_pl_013_shard_a_connect_with_no_route_fails_at_once ... ok
test s_ip_nud_024_shard_a_segments_request_prefers_its_source ... ok
test s_ip_nud_026_shard_a_segment_to_a_stale_neighbour_moves_it_to_delay ... ok
test s_hs_034_shard_a_child_whose_peer_never_answers_gives_up ... ok
test s_pl_012_shard_a_connect_waits_for_its_next_hop_and_then_leaves ... ok
test s_pl_014_shard_an_established_flow_records_host_unreachable ... ok
test s_ip_nud_020_shard_a_stalled_connect_reverifies_the_gateway ... ok
test s_pl_013_shard_a_connect_to_no_one_fails_at_once_as_host_unreachable ... ok
test s_pl_015_shard_a_reset_for_no_socket_waits_for_its_next_hop ... ok
test s_ip_nud_009_shard_an_acknowledgment_ends_delay ... ok
test s_pl_015_shard_a_reset_with_no_route_is_dropped ... ok
test s_pl_014_shard_an_established_flow_with_no_route_records_host_unreachable ... ok
test s_ip_out_007_an_arp_request_goes_before_a_ready_segment ... ok
test s_pl_015_shard_a_reset_to_a_peer_that_never_answers_is_dropped ... ok
test s_pl_014_shard_a_failed_flow_is_asked_once_while_another_sends ... ok
test s_pl_015_shard_a_time_wait_ack_waits_for_its_next_hop ... ok
test s_pl_015_shard_an_owed_reset_waits_for_its_next_hop ... ok
test s_ip_nud_022_shard_a_flow_refused_by_a_full_table_asks_again_once_an_entry_may_go ... ok

test result: ok. 19 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/icmp.rs (target/debug/deps/icmp-7758a870ba217e7d)

running 4 tests
test s_ic_012_shard_fragmentation_needed_without_an_mtu_is_ignored ... ok
test s_ic_008_shard_time_exceeded_is_soft ... ok
test s_ic_001_shard_port_unreachable_refuses_a_connect ... ok
test s_ic_009_shard_parameter_problem_is_soft ... ok

test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/log.rs (target/debug/deps/log-cbca7fafe4805818)

running 3 tests
test s_udp_us_020_shard_sending_to_this_host_is_logged ... ok
test s_ip_mod_001_shard_one_line_per_rule_per_10_s ... ok
test s_mod_005_shard_one_line_per_rule_per_10_s ... ok

test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/net.rs (target/debug/deps/net-382d1f9ee1185812)

running 5 tests
test s_net_006_a_dark_link ... ok
test s_net_003_reordering_below_the_threshold ... ok
test s_net_001_sack_repairs_every_50th ... ok
test s_net_004_duplicates_are_reported_by_dsack ... ok
test s_pl_011_many_up ... ok

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.67s

     Running tests/udp.rs (target/debug/deps/udp-ba243de60f7d2006)

running 12 tests
test a_waiting_datagram_whose_link_returns_before_an_opportunity_waits_anew_and_leaves ... ok
test s_ip_icd_012_shard_a_resolution_failure_reaches_the_connected_socket ... ok
test s_udp_us_021_shard_a_datagram_carries_the_permission_of_its_call ... ok
test s_udp_us_021_shard_a_datagram_accepted_for_the_router_is_no_broadcast_after_a_renewal_widens_the_prefix ... ok
test s_udp_us_026_shard_a_datagram_waits_in_its_socket_for_its_next_hop_and_holds_back_no_other ... ok
test s_udp_us_024_shard_a_waiting_datagram_whose_route_goes_is_dropped ... ok
test s_udp_us_021_shard_a_datagram_that_waited_for_a_host_is_asked_its_route_again_and_keeps_its_permission ... ok
test s_udp_us_027_shard_a_failed_next_hop_drops_what_waited_for_it_and_tells_no_unconnected_socket ... ok
test s_udp_us_035_shard_no_socket_is_a_port_unreachable ... ok
test s_udp_us_046_shard_a_port_unreachable_refuses_the_connected_socket_once ... ok
test s_udp_us_021_shard_a_datagram_accepted_for_a_host_is_no_broadcast_after_a_renewal_narrows_the_prefix ... ok
test s_udp_us_025_shard_what_waits_for_a_next_hop_is_bounded_by_its_sockets_queue ... ok

test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_net_tcp-99e833a79442f590)

running 30 tests
test cc::tests::s_cc_010_congestion_events ... ok
test cc::tests::s_cc_014_flight_not_cwnd_at_a_timeout ... ok
test cc::tests::s_cc_008_the_epoch_after_a_timeout ... ok
test cc::tests::s_cc_013_application_limited_time_is_skipped ... ok
test cc::tests::s_cc_011_reno_friendly_region ... ok
test cc::tests::s_cc_007_slow_start_stops_at_ssthresh ... ok
test cc::tests::s_cc_009_cubic_values ... ok
test cc::tests::s_cc_015_prop_avoidance_growth_is_bounded ... ok
test rtt::tests::s_rt_001_first_sample ... ok
test rtt::tests::s_rt_002_later_sample ... ok
test rtt::tests::s_rt_003_the_200_ms_floor ... ok
test rtt::tests::s_rt_004_the_60_s_ceiling ... ok
test rtt::tests::s_rt_012_appendix_g_weights ... ok
test rx::tests::an_echo_aged_by_the_peers_silence_moves_the_estimate_an_eighth ... ok
test rx::tests::full_sized_is_learned_from_what_arrives ... ok
test rx::tests::without_timestamps_the_least_fill_time_is_kept ... ok
test tx::tests::s_lr_015_the_scoreboard_keeps_the_lowest_64 ... ok
test props::s_op_025_prop_timestamps_on_every_segment ... ok
test props::s_rx_026_prop_sacked_bytes_are_delivered ... ok
test props::s_prop_005_the_scoreboard_stays_above_snd_una ... ok
test props::s_prop_001_snd_una_at_or_before_snd_nxt ... ok
test props::s_prop_008_nothing_happens_before_a_deadline ... ok
test props::s_rt_017_prop_no_retransmission_before_an_rto ... ok
test props::s_mod_004_prop_urgent_is_never_sent ... ok
test props::s_prop_004_the_right_edge_never_retreats ... ok
test props::s_prop_001_snd_una_at_or_before_snd_nxt_whatever_the_next_hop_answers ... ok
test props::s_prop_002_delivered_data_is_a_prefix ... ok
test props::s_prop_007_pipe_is_bounded ... ok
test props::s_prop_006_totality_against_an_adversary ... ok
test props::s_prop_003_end_of_stream_after_every_byte ... ok

test result: ok. 30 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.99s

     Running tests/acceptability.rs (target/debug/deps/acceptability-08bd6146f17e566f)

running 27 tests
test s_ac_001_in_order_text_is_acknowledged_late ... ok
test s_ac_009_exact_rst ... ok
test s_ac_014_syn_beyond_the_window ... ok
test s_ac_011_rst_outside_the_window ... ok
test s_ac_007_front_trim ... ok
test s_ac_010_inexact_rst_is_challenged ... ok
test s_ac_002_at_the_right_edge ... ok
test s_ac_013_syn_is_challenged ... ok
test s_ac_006_empty_segment_beyond_the_window ... ok
test s_ac_012_challenge_acks_are_limited ... ok
test s_ac_003_zero_window_probe ... ok
test s_ac_015_retransmitted_synack ... ok
test s_ac_008_back_trim ... ok
test s_ac_017_rfc5961_lower_bound ... ok
test s_ac_016_ack_of_unsent_data ... ok
test s_ac_019_text_without_ack ... ok
test s_ac_021_a_window_may_shrink ... ok
test s_ac_022_max_snd_wnd ... ok
test s_ac_020_old_segments_do_not_update_the_window ... ok
test s_ac_004_zero_window_pure_ack ... ok
test s_ac_024_text_after_the_peer_fin ... ok
test s_ac_026_rst_with_fin ... ok
test s_ac_005_zero_window_rst ... ok
test s_ac_027_rst_payload_is_ignored ... ok
test s_ac_025_ack_half_the_space_away ... ok
test s_ac_023_one_ack_per_receive_pass ... ok
test s_ac_018_data_with_the_old_ack_is_no_duplicate ... ok

test result: ok. 27 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/close.rs (target/debug/deps/close-90a513e18443bf8e)

running 32 tests
test s_cl_004_fin_acknowledging_ours ... ok
test s_cl_005_the_fin_rides_on_data ... ok
test s_cl_011_an_orphan_in_fin_wait_2 ... ok
test s_cl_009_a_retransmitted_fin_in_close_wait ... ok
test s_cl_006_the_fin_is_retransmitted ... ok
test s_cl_001_active_close ... ok
test s_cl_003_simultaneous_close ... ok
test s_cl_012_the_orphan_bound ... ok
test s_cl_013_an_orphan_behind_a_shut_window ... ok
test s_cl_010_a_retransmitted_fin_restarts_time_wait ... ok
test s_cl_007_half_close ... ok
test s_cl_002_passive_close ... ok
test s_cl_008_sending_in_close_wait ... ok
test s_cl_016_close_with_unread_data ... ok
test s_cl_017_time_wait_is_60_s ... ok
test s_cl_015_data_for_an_orphan ... ok
test s_cl_019_reopening_by_sequence_number ... ok
test s_cl_020_rst_in_time_wait_is_ignored ... ok
test s_cl_018_reopening_from_time_wait_by_timestamp ... ok
test s_cl_022_syn_in_time_wait_without_a_listener ... ok
test s_cl_024_abort ... ok
test s_cl_027_the_reset_stub ... ok
test s_cl_026_no_time_wait_after_a_reset ... ok
test s_cl_028_close_in_syn_sent ... ok
test s_cl_025_abort_without_rst ... ok
test s_cl_029_shutdown_read ... ok
test s_cl_031_rst_in_close_wait ... ok
test s_cl_030_last_ack_waits_for_the_fin ... ok
test s_cl_032_rst_in_last_ack_and_closing ... ok
test s_cl_014_a_user_keeps_a_shut_window_open ... ok
test s_cl_021_a_failed_reopening_returns_to_time_wait ... ok
test s_cl_023_time_wait_is_bounded ... ok

test result: ok. 32 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s

     Running tests/congestion.rs (target/debug/deps/congestion-a0156dbb7474d796)

running 7 tests
test s_cc_006_no_growth_when_not_cwnd_limited ... ok
test s_cc_004_one_segment_after_two_syn_retransmissions ... ok
test s_cc_003_ten_segments_of_536 ... ok
test s_cc_002_ten_segments_with_timestamps ... ok
test s_cc_001_ten_segments ... ok
test s_cc_005_slow_start ... ok
test s_cc_012_restart_after_idle ... ok

test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/egress.rs (target/debug/deps/egress-962cbeb65a3d5e7e)

running 25 tests
test s_hs_034_a_child_whose_synack_cannot_leave_gives_up ... ok
test s_ka_003_probes_that_cannot_leave_still_give_up ... ok
test s_pl_009_give_up_without_credit ... ok
test s_pl_008_resets_go_first ... ok
test s_pl_003_unsent_is_not_in_flight ... ok
test s_pl_009_a_handshake_gives_up_without_credit ... ok
test a_freed_connection_leaves_no_turn_behind ... ok
test s_ka_002_a_segment_cancels_a_probe_still_owed ... ok
test s_pl_001_the_timer_starts_at_hand_off ... ok
test s_pl_007_credit_bounds_an_opportunity ... ok
test s_pl_002_no_expiry_for_a_retransmission_that_never_left ... ok
test s_pl_004_owed_acks_collapse ... ok
test s_pl_006_a_segment_carries_the_state_of_its_moment ... ok
test s_pl_005_at_most_three_duplicate_acks_are_held ... ok
test s_pl_012_a_connection_freed_while_waiting_leaves_no_turn_behind ... ok
test s_pl_010_give_up_before_retransmission ... ok
test s_pl_012_a_window_update_offers_nothing_until_it_leaves ... ok
test s_pl_012_an_ack_owed_in_syn_received_waits_for_its_next_hop ... ok
test s_pl_012_a_flow_builds_nothing_while_its_next_hop_is_pending ... ok
test s_pl_012_an_owed_ack_waits_for_its_next_hop ... ok
test s_pl_013_a_local_host_unreachable_fails_a_connect_at_once ... ok
test s_pl_014_an_owed_ack_outlasts_an_unreachable_next_hop ... ok
test s_pl_014_a_synchronized_connection_records_host_unreachable_soft ... ok
test s_pl_015_what_is_owed_outside_a_connection_waits_for_its_next_hop ... ok
test s_pl_015_resets_waiting_for_their_next_hop_stay_bounded ... ok

test result: ok. 25 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/handshake.rs (target/debug/deps/handshake-0f5451ee5d775226)

running 42 tests
test s_hs_002_active_open_full_peer ... ok
test s_hs_005_simultaneous_open ... ok
test s_hs_012_synsent_ack_without_syn ... ok
test s_hs_010_synsent_rst_without_ack ... ok
test s_hs_003_passive_open_bare_peer ... ok
test s_hs_007_synsent_ack_at_iss ... ok
test s_hs_009_synsent_refused ... ok
test s_hs_004_passive_open_full_peer ... ok
test s_hs_008_synsent_ack_past_snd_nxt ... ok
test s_hs_013_synsent_bad_ack_without_syn ... ok
test s_hs_001_active_open_bare_peer ... ok
test s_hs_011_synsent_rst_with_a_bad_ack ... ok
test s_hs_006_simultaneous_open_synack_lost ... ok
test s_hs_014_synsent_fin ... ok
test s_hs_015_syn_give_up ... ok
test s_hs_016_one_syn_retransmission ... ok
test s_hs_017_two_syn_retransmissions ... ok
test s_hs_018_syn_payload_is_discarded ... ok
test s_hs_019_synack_payload_is_discarded ... ok
test s_hs_020_listen_rst ... ok
test s_hs_021_listen_ack ... ok
test s_hs_022_listen_synack ... ok
test s_hs_023_listen_without_syn ... ok
test s_hs_024_duplicate_syn_in_syn_received ... ok
test s_hs_025_new_syn_in_syn_received ... ok
test s_hs_026_child_bad_ack ... ok
test s_hs_027_child_rst ... ok
test s_hs_028_active_syn_received_rst ... ok
test s_hs_029_child_fin ... ok
test s_hs_030_fin_waits_for_established ... ok
test s_hs_031_child_text_without_ack ... ok
test s_hs_032_child_inexact_rst ... ok
test s_hs_033_child_completes_with_data ... ok
test s_hs_034_synack_give_up ... ok
test s_hs_035_connect_needs_a_unicast_remote ... ok
test s_hs_038_data_queued_in_syn_sent ... ok
test s_hs_037_the_initial_window_is_ten_smss ... ok
test s_hs_039_active_syn_received_bad_ack ... ok
test s_hs_040_synack_retransmitted ... ok
test s_hs_041_no_socket ... ok
test s_hs_042_no_socket_reset_limit ... ok
test s_hs_043_calls_in_the_wrong_state ... ok

test result: ok. 42 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/held.rs (target/debug/deps/held-8a7311b9115459cc)

running 6 tests
test ready_counts_the_connections_accept_has_yet_to_return ... ok
test options_are_the_ones_the_connection_has ... ok
test a_close_that_resets_leaves_no_orphan ... ok
test an_orphan_is_counted_until_both_fins ... ok
test an_orphan_is_counted_until_its_idle_reset ... ok
test a_close_before_the_handshake_ends_leaves_an_orphan_until_it_gives_up ... ok

test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/icmp.rs (target/debug/deps/icmp-8b786e685d8f926e)

running 21 tests
test s_ic_002_a_stale_quote ... ok
test s_ic_001_port_unreachable_refuses_a_connect ... ok
test s_ic_004_administratively_prohibited ... ok
test s_ic_003_host_unreachable_is_soft ... ok
test s_ic_005_soft_in_a_synchronized_state ... ok
test s_ic_013_an_mtu_that_is_no_smaller ... ok
test s_ic_008_time_exceeded_is_soft ... ok
test s_ic_018_a_listener_is_never_addressed ... ok
test s_ic_009_parameter_problem_is_soft ... ok
test s_ic_006_port_unreachable_is_soft_when_synchronized ... ok
test s_ic_012_no_next_hop_mtu ... ok
test s_ic_007_quotes_outside_the_flight ... ok
test s_ic_010_an_unassigned_code_is_soft ... ok
test s_ic_015_an_mtu_not_below_the_refused_datagram ... ok
test s_ic_014_the_mtu_floor ... ok
test s_ic_017_time_wait_is_stale ... ok
test s_ic_019_a_pending_child_is_deleted ... ok
test s_ic_016_one_retransmission_per_lowering ... ok
test s_ic_011_path_mtu_lowered ... ok
test s_ic_021_path_mtu_with_timestamps ... ok
test s_ic_020_progress_clears_a_soft_error ... ok

test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/isn.rs (target/debug/deps/isn-4c2818daebf3af43)

running 9 tests
test s_isn_004_every_field_of_the_tuple_counts ... ok
test s_isn_001_siphash_reference_vectors ... ok
test s_isn_005_the_key_counts ... ok
test s_isn_006_clock_wrap ... ok
test s_isn_003_the_4us_clock ... ok
test s_isn_002_isn_at_clock_zero ... ok
test s_isn_008_timestamp_offset ... ok
test s_isn_009_incarnations_share_the_offset ... ok
test s_isn_007_prop_unpredictable ... ok

test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/listen.rs (target/debug/deps/listen-416005a2d313f4e2)

running 11 tests
test s_ls_001_one_listener_per_endpoint ... ok
test s_ls_006_a_closed_child_is_accepted ... ok
test s_ls_002_connections_do_not_hold_the_port ... ok
test s_ls_011_a_bound_port_without_a_listener ... ok
test s_ls_007_a_reset_child_is_never_returned ... ok
test s_ls_009_the_specific_address_first ... ok
test s_ls_008_closing_a_listener_resets_its_children ... ok
test s_ls_010_children_inherit_options ... ok
test s_ls_005_first_in_first_out ... ok
test s_ls_004_the_ready_bound ... ok
test s_ls_003_the_pending_bound ... ok

test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/modern.rs (target/debug/deps/modern-ac368f3cc82e0909)

running 14 tests
test s_mod_001_syn_with_fin ... ok
test s_mod_002_syn_with_rst ... ok
test s_mod_003_urgent_data_inline ... ok
test s_mod_007_fast_open ... ok
test s_mod_006_tcp_md5 ... ok
test s_div_003_rst_at_snd_nxt_inside_the_window ... ok
test s_mod_008_challenges_are_logged_once ... ok
test s_div_002_rst_below_the_offered_edge_behind_snd_una ... ok
test s_div_001_rst_never_below_snd_una ... ok
test s_mod_009_out_of_range_acks_are_logged_per_10_s ... ok
test s_div_002_rst_at_a_shrunk_edge ... ok
test s_div_001_rst_at_the_right_edge ... ok
test s_mod_005_one_line_per_rule_per_10_s ... ok
test s_mod_005_a_bulk_peer_leaves_room_for_refusals ... ok

test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/net.rs (target/debug/deps/net-b73d1001768f0962)

running 19 tests
test s_net_011_the_fin_overtakes_the_last_data ... ok
test s_ls_012_a_syn_flood ... ok
test s_net_012_a_slow_reader ... ok
test s_net_014_an_abort_is_a_reset ... ok
test s_net_002_newreno_when_one_side_has_no_sack ... ok
test s_net_008_timestamps_wrap ... ok
test s_net_010_a_lost_retransmission ... ok
test s_net_007_sequence_numbers_wrap ... ok
test s_net_009_the_last_segment_of_each_burst ... ok
test s_net_016_a_peer_without_options ... ok
test rfc_8985_7_3_no_probe_without_an_rtt_sample_since_the_last ... ok
test s_net_005_lost_acks ... ok
test rfc_7323_2_2_no_scaling_unless_both_syns_offer_it ... ok
test s_net_015_nagle_and_the_delayed_ack ... ok
test a_receive_buffer_nobody_reads_never_grows ... ok
test the_receive_window_grows_by_what_is_read_per_round_trip ... ok
test a_peer_sending_segments_shorter_than_our_send_mss_still_grows_the_window ... ok
test s_net_013_a_hundred_connections ... ok
test rfc_7323_2_a_scaled_window_carries_more_than_64_kib_in_flight_each_way ... ok

test result: ok. 19 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.59s

     Running tests/options.rs (target/debug/deps/options-3a2766467a740697)

running 30 tests
test s_op_002_synack_to_a_bare_syn ... ok
test s_op_003_synack_to_a_full_syn ... ok
test s_op_013_a_synack_window_is_never_scaled ... ok
test s_op_004_mss_zero_is_raised ... ok
test s_op_010_shift_above_14_is_clamped ... ok
test s_op_009_window_scaling ... ok
test s_op_007_the_interface_bounds_the_mss ... ok
test s_op_006_no_mss_option ... ok
test s_op_005_mss_100_is_raised ... ok
test s_op_011_unscaled_when_the_peer_offers_none ... ok
test s_op_012_window_scale_outside_a_syn_is_ignored ... ok
test s_op_001_the_active_syn ... ok
test s_op_014_sack_unnegotiated ... ok
test s_op_015_timestamps_unnegotiated ... ok
test s_op_008_timestamps_take_twelve_bytes ... ok
test s_op_016_timestamps_on_an_unnegotiated_connection ... ok
test s_op_017_ts_recent_needs_seq_at_or_before_last_ack_sent ... ok
test s_op_018_delayed_ack_echoes_the_earliest ... ok
test s_op_019_ts_across_a_hole ... ok
test s_op_022_no_paws_on_an_rst ... ok
test s_op_020_paws ... ok
test s_op_021_missing_timestamps_are_dropped ... ok
test s_op_024_rst_for_no_socket_echoes_the_timestamp ... ok
test s_op_023_ts_recent_expires_after_24_days ... ok
test s_op_026_mss_outside_a_syn_is_ignored ... ok
test s_op_027_ecn_is_not_negotiated ... ok
test s_op_028_sack_blocks_in_a_syn_are_ignored ... ok
test s_op_029_the_last_mss_wins ... ok
test s_op_031_the_shift_fits_the_buffer ... ok
test s_op_032_tsecr_without_ack_is_ignored ... ok

test result: ok. 30 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/port.rs (target/debug/deps/port-4aecde1497a45557)

running 8 tests
test s_port_002_another_destination_another_counter ... ok
test s_port_007_never_a_self_connection ... ok
test s_port_001_algorithm_4 ... ok
test s_port_003_a_listening_port_is_skipped ... ok
test s_port_004_time_wait_holds_its_4_tuple ... ok
test s_port_006_algorithm_2_for_a_listener ... ok
test s_port_005_exhaustion ... ok
test s_port_008_prop_ports ... ok

test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

     Running tests/receive.rs (target/debug/deps/receive-318f2d6927df8d4d)

running 27 tests
test s_rx_005_a_filled_hole_is_acknowledged_at_once ... ok
test s_rx_007_stored_bytes_win ... ok
test s_rx_010_nothing_after_a_remembered_fin ... ok
test s_rx_002_the_delayed_ack_is_40_ms ... ok
test s_rx_006_a_later_range_remains ... ok
test s_rx_001_every_second_segment ... ok
test s_rx_004_duplicate_acks_are_not_coalesced ... ok
test s_rx_009_a_fin_beyond_a_hole ... ok
test a_sub_unit_window_rounds_up_only_into_free_room ... ok
test s_rx_003_out_of_order_is_acknowledged_at_once ... ok
test s_rx_012_receiver_silly_window_avoidance ... ok
test s_rx_011_unread_bytes_close_the_window ... ok
test s_rx_014_the_edge_holds_while_a_hole_is_open ... ok
test s_rx_016_the_ack_rides_on_data ... ok
test s_rx_013_a_window_update_when_the_window_was_small ... ok
test s_rx_017_sack_blocks ... ok
test s_rx_018_the_triggering_range_first ... ok
test s_rx_008_at_most_32_ranges ... ok
test s_rx_015_the_offered_edge_is_honoured_under_scaling ... ok
test s_rx_020_dsack_below_rcv_nxt ... ok
test s_rx_019_three_blocks_with_timestamps ... ok
test s_rx_021_dsack_inside_a_range ... ok
test s_rx_022_no_sack_unnegotiated ... ok
test s_rx_023_a_reset_comes_after_the_text_before_it ... ok
test s_rx_024_data_then_end ... ok
test s_rx_025_push_is_not_a_boundary ... ok
test s_rx_027_half_close_keeps_receiving ... ok

test result: ok. 27 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/recovery.rs (target/debug/deps/recovery-b574193b8d932082)

running 33 tests
test s_lr_001_newreno_one_loss ... ok
test rfc_8985_7_4_a_duplicate_without_sack_at_the_probes_end_infers_no_loss ... ok
test a_probe_due_when_the_window_shuts_gives_way_to_persist ... ok
test rfc_8985_7_3_the_probe_is_new_data_where_the_window_takes_a_segment ... ok
test rfc_8985_7_4_a_resent_probe_reported_as_a_duplicate_infers_no_loss ... ok
test rfc_8985_7_2_no_probe_in_rto_recovery ... ok
test rfc_8985_7_4_an_ack_that_infers_the_probes_loss_and_enters_recovery_cuts_twice ... ok
test s_lr_002_limited_transmit_and_inflation ... ok
test rfc_8985_7_2_with_one_segment_out_the_probe_stands_in_for_the_first_rto ... ok
test rfc_8985_7_1_fast_recovery_ends_the_probes_episode ... ok
test rfc_8985_7_4_a_dsack_after_the_ack_at_the_probes_end_infers_no_loss ... ok
test s_lr_003_newreno_partial_ack ... ok
test rfc_8985_7_4_a_dsack_of_another_segment_still_infers_the_loss ... ok
test rfc_8985_7_4_a_resent_probe_acknowledged_past_its_end_without_a_dsack_repaired_a_loss ... ok
test s_lr_006_no_fast_retransmit_after_a_timeout ... ok
test s_lr_007_inflation_is_capped ... ok
test s_lr_004_full_ack_after_limited_transmit ... ok
test s_lr_005_what_is_not_a_duplicate ... ok
test s_lr_009_is_lost_on_the_first_ack ... ok
test s_lr_008_sack_recovery ... ok
test s_lr_012_rescue_retransmission ... ok
test s_lr_013_the_recovery_point ... ok
test s_lr_014_invalid_blocks_and_dsack ... ok
test s_lr_017_a_second_timeout ... ok
test s_lr_010_a_second_hole ... ok
test s_lr_016_timeout ... ok
test s_lr_020_sacked_bytes_stay_queued ... ok
test s_lr_018_no_sack_recovery_before_the_timeout_point ... ok
test s_lr_021_pure_duplicates_without_blocks ... ok
test s_lr_019_sacks_after_a_timeout_skip_held_ranges ... ok
test s_lr_022_limited_transmit_by_pipe ... ok
test s_lr_023_a_lost_fast_retransmission ... ok
test s_lr_011_new_data_during_sack_recovery ... ok

test result: ok. 33 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/rtt.rs (target/debug/deps/rtt-d31542d133375b39)

running 11 tests
test s_rt_011_an_echo_from_the_future ... ok
test s_rt_009_timestamp_samples ... ok
test s_rt_010_a_retransmission_echoed ... ok
test s_rt_007_karn ... ok
test s_rt_006_three_seconds_after_a_lost_syn ... ok
test s_rt_014_three_expiries_forget_the_estimate ... ok
test s_rt_015_the_timer_restarts_on_new_acks ... ok
test s_rt_005_the_minimum_is_200_ms ... ok
test s_rt_008_one_segment_timed ... ok
test s_rt_016_no_timer_when_all_is_acknowledged ... ok
test s_rt_013_backoff_doubles ... ok

test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/send.rs (target/debug/deps/send-ac3312157674b9ac)

running 21 tests
test s_tx_001_one_segment_with_push ... ok
test s_tx_004_full_segments_then_wait ... ok
test s_tx_010_the_initial_window_bounds_a_burst ... ok
test s_tx_002_nagle ... ok
test s_tx_008_half_the_largest_window ... ok
test s_tx_013_persist_backs_off ... ok
test s_tx_009_a_shrunk_window ... ok
test s_tx_007_an_opened_window_cancels_the_override ... ok
test s_tx_012_no_send_after_shutdown ... ok
test s_tx_006_silly_window_override ... ok
test s_tx_003_nodelay ... ok
test s_tx_014_an_opened_window_ends_persist ... ok
test s_tx_005_push_only_where_the_queue_empties ... ok
test s_tx_011_the_send_buffer_is_bounded ... ok
test s_tx_015_the_probe_byte_taken ... ok
test s_tx_018_the_fin_as_probe ... ok
test s_tx_019_a_shut_window_stops_the_retransmission_timer ... ok
test s_tx_017_an_unanswered_persist_gives_up ... ok
test s_tx_021_close_pushes ... ok
test s_tx_020_cwnd_does_not_arm_the_override ... ok
test s_tx_016_an_answered_persist_lives ... ok

test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/seq.rs (target/debug/deps/seq-dd3e9ffdeb749621)

running 8 tests
test s_seq_004_ack_range_check ... ok
test s_seq_001_offsets ... ok
test s_seq_002_ordering_across_the_wrap ... ok
test s_seq_003_half_the_space_is_unordered ... ok
test s_seq_007_timestamps_compare_modularly ... ok
test s_seq_006_acceptability_across_the_wrap ... ok
test s_seq_008_sending_across_the_wrap ... ok
test s_seq_005_segment_length ... ok

test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/take.rs (target/debug/deps/take-094ff4230f111b52)

running 5 tests
test with_nothing_held_the_reader_is_not_asked ... ok
test what_the_reader_did_not_take_stays_held_in_order ... ok
test text_unread_when_both_fins_ended_the_connection_is_still_taken ... ok
test a_take_owes_the_window_update_a_read_does ... ok
test text_across_the_rings_wrap_is_shown_in_two_pieces_and_none_is_lost ... ok

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/timers.rs (target/debug/deps/timers-4a1adec2f02af4b0)

running 15 tests
test s_ka_006_the_idle_time_is_settable ... ok
test s_gu_001_three_expiries_raise_advice ... ok
test s_ka_001_off_by_default ... ok
test s_gu_005_user_timeout_ends_an_answered_persist ... ok
test s_ka_005_the_peer_keepalive_is_answered ... ok
test s_gu_006_progress_confirms_the_next_hop ... ok
test s_gu_006_a_confirmation_after_a_reverify_is_kept ... ok
test s_ka_002_a_probe_after_two_hours ... ok
test s_gu_004_user_timeout ... ok
test s_gu_006_b_advice_is_kept_per_address ... ok
test s_gu_002_give_up ... ok
test s_ka_003_nine_unanswered_probes ... ok
test s_ka_004_no_keepalive_with_data_outstanding ... ok
test s_ka_007_close_wait_and_fin_wait_2 ... ok
test s_gu_003_progress_restarts_the_give_up_clock ... ok

test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_net_testnet-e03e671d96866ba0)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/testnet.rs (target/debug/deps/testnet-cc9bd563b04459e9)

running 2 tests
test a_published_reader_decodes_the_capture_as_the_wire_carried_it ... ok
test a_run_repeats_exactly ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

     Running unittests src/lib.rs (target/debug/deps/toyos_net_udp-7a4e951db28da231)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/bind.rs (target/debug/deps/bind-a2984a153b04991f)

running 12 tests
test s_udp_us_003_only_an_assigned_address_binds ... ok
test s_udp_us_010_no_privileged_ports ... ok
test s_udp_us_006_the_candidates_wrap ... ok
test s_udp_us_007_the_draw_is_reduced ... ok
test s_udp_us_001_one_socket_per_port ... ok
test s_udp_us_004_any_needs_no_address ... ok
test s_udp_us_002_whatever_the_address ... ok
test s_udp_us_009_a_numbered_bind_is_skipped ... ok
test s_udp_us_005_algorithm_1 ... ok
test s_udp_us_011_close_frees_the_port_at_once ... ok
test closing_leaves_no_turn_behind ... ok
test s_udp_us_008_exhaustion_spends_one_draw ... ok

test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/recv.rs (target/debug/deps/recv-41702d5029aa9c50)

running 29 tests
test s_udp_018_the_limited_broadcast_reaches_port_68 ... ok
test s_udp_us_036_an_empty_datagram ... ok
test s_udp_us_033_mdns_arrives_with_its_group ... ok
test s_udp_us_034_no_socket_for_a_group_is_no_error ... ok
test s_udp_us_039_a_bad_checksum_is_malformed ... ok
test s_udp_us_031_a_specific_socket_hears_no_broadcast ... ok
test s_udp_017_a_closed_port_is_answered ... ok
test s_udp_us_032_bound_any_hears_both_broadcasts ... ok
test s_udp_us_038_no_checksum_is_delivered ... ok
test s_udp_us_041_arrival_order ... ok
test s_udp_us_035_no_socket_is_a_port_unreachable ... ok
test s_udp_us_030_a_bound_any_socket_receives ... ok
test s_udp_us_037_source_port_zero ... ok
test s_udp_us_042_a_short_buffer_truncates ... ok
test s_udp_us_040_a_full_queue_drops_and_says_nothing ... ok
test s_udp_us_043_a_group_not_joined_never_reaches_udp ... ok
test s_udp_us_044_the_acquisition_exception ... ok
test s_udp_us_045_what_a_datagram_carries ... ok
test s_udp_us_046_refused_once ... ok
test s_udp_us_047_an_unconnected_socket_hears_no_error ... ok
test s_udp_us_048_an_error_for_no_socket ... ok
test s_udp_us_049_hard_and_soft ... ok
test s_udp_us_050_the_latest_error_wins ... ok
test s_udp_us_051_a_send_takes_the_error ... ok
test s_udp_us_052_the_whole_4_tuple_must_match ... ok
test s_udp_us_054_close_discards_what_was_received ... ok
test s_udp_us_056_prop_ip_options_never_surface ... ok
test s_udp_us_053_accepted_datagrams_outlive_close ... ok
test s_udp_us_055_prop_the_demultiplexer ... ok

test result: ok. 29 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

     Running tests/send.rs (target/debug/deps/send-84231b2e4c29ae88)

running 25 tests
test s_udp_us_014_connect_needs_a_source ... ok
test s_udp_us_013_what_connect_refuses ... ok
test s_udp_us_021_broadcast_needs_permission ... ok
test s_udp_us_018_reconnect ... ok
test s_udp_us_024_a_waiting_datagram_whose_route_goes_is_dropped ... ok
test s_udp_us_012_connect_fixes_the_local_address ... ok
test s_udp_us_019_a_bound_socket_sends ... ok
test s_udp_us_022_multicast_ttl ... ok
test s_udp_us_020_what_send_refuses ... ok
test s_udp_us_017_a_connected_socket_sends_to_its_peer ... ok
test s_udp_us_023_payload_sizes ... ok
test s_udp_us_015_a_connected_socket_hears_its_peer_alone ... ok
test s_udp_us_025_a_full_queue_refuses ... ok
test s_udp_us_024_the_source_address_must_be_ours ... ok
test s_udp_us_016_connect_purges_strangers ... ok
test s_udp_us_025_what_waits_for_a_next_hop_is_bounded_by_its_sockets_queue ... ok
test s_udp_us_026_a_datagram_waits_for_its_next_hop_in_its_socket_and_never_in_ip ... ok
test s_udp_us_026_datagrams_to_one_next_hop_leave_in_the_order_they_were_accepted ... ok
test s_udp_us_026_no_head_of_line_blocking ... ok
test s_udp_us_027_a_datagram_for_a_hop_ip_has_given_up_is_ips_refusal_at_its_turn ... ok
test s_udp_us_027_a_failed_next_hop_is_reported_once ... ok
test s_udp_us_027_an_unconnected_socket_is_told_nothing_and_nothing_is_kept_for_another_try ... ok
test s_udp_us_028_only_the_acquisition_socket_sends_from_nowhere ... ok
test s_udp_us_029_the_discover_byte_for_byte ... ok
test s_udp_us_053_a_closed_sockets_datagram_waits_for_its_next_hop_and_holds_back_no_other ... ok

test result: ok. 25 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_net_wire-873a39372d03d4d0)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/checksum.rs (target/debug/deps/checksum-7a13c52b35d9a298)

running 15 tests
test s_ck_003_zeros ... ok
test s_ck_004_odd_length_pads_with_zero ... ok
test s_ck_002_empty_input ... ok
test s_ck_005_streaming_is_split_independent ... ok
test s_ck_001_rfc1071_worked_example ... ok
test s_ck_008_long_pattern_even_and_odd ... ok
test s_ck_009_verification_by_summing ... ok
test s_ck_010_negative_zero_verifies ... ok
test s_ck_017_pseudo_header ... ok
test s_ck_006_carry_of_a_carry ... ok
test s_ck_018_tcp_length_is_the_transport_length ... ok
test s_ck_019_udp_zero_is_sent_as_ffff ... ok
test s_ck_021_every_header_bit_flip_is_caught ... ok
test s_ck_007_many_words_of_ones ... ok
test native_order_sum_matches_the_oracle_at_every_length_and_split ... ok

test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/icmp.rs (target/debug/deps/icmp-d2b0e731040b0b9d)

running 35 tests
test quote_total_length_below_its_header_is_refused ... ok
test s_icmp_001_echo_request ... ok
test s_icmp_002_echo_reply ... ok
test an_error_with_options_still_fits_576_bytes ... ok
test s_icmp_005_checksum_changed ... ok
test s_icmp_004_echo_without_data ... ok
test s_icmp_007_odd_data_length ... ok
test s_icmp_003_seven_bytes ... ok
test s_icmp_006_data_changed ... ok
test s_icmp_008_echo_code_1 ... ok
test s_icmp_010_fragmentation_needed ... ok
test s_icmp_009_port_unreachable ... ok
test s_icmp_011_fragmentation_needed_without_mtu ... ok
test s_icmp_012_rfc4884_length_byte ... ok
test s_icmp_013_unreachable_codes ... ok
test s_icmp_014_quote_of_19_bytes ... ok
test s_icmp_015_quote_short_of_8_payload_bytes ... ok
test s_icmp_016_quote_with_options ... ok
test s_icmp_017_quote_with_options_short ... ok
test s_icmp_018_quote_not_ipv4 ... ok
test s_icmp_019_quoted_checksum_not_verified ... ok
test s_icmp_020_rfc4884_padding_beyond_the_quoted_length ... ok
test s_icmp_021_time_exceeded ... ok
test s_icmp_022_parameter_problem ... ok
test s_icmp_023_redirect ... ok
test s_icmp_024_timestamp_request_refused_by_type ... ok
test s_icmp_025_timestamp_fields_are_never_read ... ok
test s_icmp_026_timestamp_reply_refused_by_type ... ok
test s_icmp_027_source_quench ... ok
test s_icmp_028_deprecated_types ... ok
test s_icmp_029_router_discovery ... ok
test s_icmp_030_unknown_types ... ok
test s_icmp_031_checksum_before_type ... ok
test s_icmp_047_echo_reply_to_odd_data ... ok
test s_icmp_048_unreachable_zeroes_unused_bytes ... ok

test result: ok. 35 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/igmp.rs (target/debug/deps/igmp-76044004b32d0d76)

running 29 tests
test igmp3_is_include_lists_its_sources ... ok
test igmp3_join_frame ... ok
test igmp3_records_layout ... ok
test igmp3_leave_current_and_unspecified_source ... ok
test s_igmp_002_v2_general_query ... ok
test s_igmp_003_v1_query ... ok
test s_igmp_001_v2_report ... ok
test s_igmp_004_v3_general_query ... ok
test s_igmp_005_v3_exponential_code ... ok
test s_igmp_006_v2_codes_are_linear ... ok
test s_igmp_007_v3_largest_code ... ok
test s_igmp_008_group_and_source_query ... ok
test s_igmp_009_sources_overrun ... ok
test s_igmp_010_bytes_after_sources_ignored ... ok
test s_igmp_011_query_of_9_to_11_bytes ... ok
test s_igmp_012_seven_bytes ... ok
test s_igmp_013_checksum_changed ... ok
test s_igmp_014_trailing_bytes_ignored ... ok
test s_igmp_015_checksum_covers_trailing_bytes ... ok
test s_igmp_016_query_group_unicast ... ok
test s_igmp_017_report_group_not_multicast ... ok
test s_igmp_018_leave ... ok
test s_igmp_019_v1_report_max_response_ignored ... ok
test s_igmp_020_v3_report_unsupported ... ok
test s_igmp_021_unknown_types ... ok
test s_igmp_022_checksum_before_type ... ok
test s_igmp_026_emit_join_frame ... ok
test s_igmp_027_emit_leave ... ok
test s_igmp_030_emitted_max_response_is_zero ... ok

test result: ok. 29 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/ipv4.rs (target/debug/deps/ipv4-4e4484d2e12319f3)

running 54 tests
test s_ip_002_minimal_datagram ... ok
test s_ip_003_nineteen_bytes ... ok
test s_ip_005_version_5 ... ok
test s_ip_001_udp_datagram_fields ... ok
test s_ip_004_version_6 ... ok
test s_ip_007_header_overrun ... ok
test s_ip_006_header_length_below_5 ... ok
test s_ip_008_total_below_header ... ok
test s_ip_009_total_zero ... ok
test s_ip_010_total_inside_options ... ok
test s_ip_011_total_overrun ... ok
test s_ip_012_truncated_fragment_is_truncated ... ok
test s_ip_013_link_padding_is_not_payload ... ok
test s_ip_014_padded_igmp_body ... ok
test s_ip_015_checksum_off_by_one ... ok
test s_ip_016_checksum_zero_is_checked ... ok
test s_ip_017_options_are_covered ... ok
test s_ip_018_payload_is_not_covered ... ok
test s_ip_019_reserved_flag_is_kept ... ok
test s_ip_020_df_and_mf ... ok
test s_ip_021_first_fragment ... ok
test s_ip_022_last_fragment ... ok
test s_ip_023_largest_offset ... ok
test s_ip_024_dscp_and_ecn ... ok
test s_ip_027_identification_of_atomic_datagram ... ok
test s_ip_028_largest_datagram ... ok
test s_ip_029_protocol_numbers ... ok
test s_ip_030_emit_udp_datagram ... ok
test s_ip_031_emit_router_alert ... ok
test s_ip_032_option_padding ... ok
test s_ip_033_forty_option_bytes ... ok
test s_ip_036_ttl_zero ... ok
test s_ip_037_invalid_sources ... ok
test s_ip_038_emit_over_junk ... ok
test s_ip_039_atomic_form ... ok
test s_ip_040_emit_dscp_and_ecn ... ok
test s_ipo_001_nops_and_eol_are_not_options ... ok
test s_ipo_002_record_route ... ok
test s_ip_034_largest_total_length ... ok
test s_ipo_003_router_alert ... ok
test s_ipo_004_router_alert_length ... ok
test s_ipo_005_option_length_one ... ok
test s_ipo_006_option_length_zero_terminates ... ok
test s_ipo_007_option_overrun ... ok
test s_ipo_008_kind_in_last_byte ... ok
test s_ipo_009_bytes_after_eol_ignored ... ok
test s_ipo_010_router_alert_without_eol ... ok
test s_ipo_011_unknown_kind_is_opaque ... ok
test s_ipo_012_option_filling_the_area ... ok
test s_ipo_013_option_past_a_full_area ... ok
test s_ipo_014_repeated_options_in_order ... ok
test s_ipo_015_stream_id_exposed ... ok
test s_ipo_016_security_option_exposed ... ok
test source_routes_cannot_be_built ... ok

test result: ok. 54 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/link.rs (target/debug/deps/link-c4da610f133c46bf)

running 43 tests
test s_arp_002_reply ... ok
test s_arp_003_probe ... ok
test s_arp_001_request ... ok
test s_arp_004_announcement ... ok
test s_arp_006_seven_bytes ... ok
test s_arp_009_protocol_ipv6 ... ok
test s_arp_007_ieee802_hardware ... ok
test s_arp_010_hardware_length_7 ... ok
test s_arp_005_twenty_seven_bytes ... ok
test s_arp_008_hardware_zero ... ok
test s_arp_011_protocol_length_16 ... ok
test s_arp_012_types_before_lengths ... ok
test s_arp_013_other_operations ... ok
test s_arp_014_padding_ignored ... ok
test s_arp_015_request_target_mac_exposed ... ok
test s_arp_019_emit_request ... ok
test s_arp_020_emit_reply ... ok
test s_arp_021_emit_probe_and_announcement ... ok
test s_arp_022_interface_mac_is_individual ... ok
test s_eth_001_arp_request_frame ... ok
test s_eth_002_udp_frame_without_padding ... ok
test s_eth_003_thirteen_bytes_truncated ... ok
test s_eth_004_header_alone_has_an_empty_body ... ok
test s_eth_005_short_frame_accepted ... ok
test s_eth_006_length_1500_is_a_length_frame ... ok
test s_eth_007_length_0_is_a_length_frame ... ok
test s_eth_008_type_1501_is_undefined ... ok
test s_eth_009_type_1535_is_undefined ... ok
test s_eth_010_type_0600_is_another_ethertype ... ok
test s_eth_013_customer_tag ... ok
test s_eth_014_priority_tag ... ok
test s_eth_015_service_then_customer_tag ... ok
test s_eth_016_three_tags ... ok
test s_eth_017_truncated_tag ... ok
test s_eth_018_inner_length_field ... ok
test s_eth_019_9100_is_not_a_tag ... ok
test s_eth_020_group_source ... ok
test s_eth_021_destination_classes ... ok
test s_eth_026_emit_arp_request ... ok
test s_eth_027_emit_over_junk ... ok
test s_eth_028_minimum_body_padding ... ok
test s_eth_029_maximum_body ... ok
test s_eth_031_multicast_mac_mapping ... ok

test result: ok. 43 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/roundtrip.rs (target/debug/deps/roundtrip-fc05914cb8bc3882)

running 9 tests
test s_rt_002_canonical_vectors_rebuild ... ok
test s_rt_009_zero_copy ... ok
test s_rt_001_every_vector_reemits_raw ... ok
test s_rt_008_position_independence ... ok
test s_rt_006_truncation_sweep ... ok
test s_rt_007_single_bit_flips ... ok
test s_rt_003_build_then_parse ... ok
test s_rt_004_canonical_idempotence ... ok
test s_rt_005_totality_structured_fuzz ... ok

test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.54s

     Running tests/transport.rs (target/debug/deps/transport-1f8879561150984f)

running 89 tests
test s_tcp_006_rst ... ok
test s_tcp_001_syn ... ok
test s_tcp_002_syn_ack ... ok
test s_tcp_003_data ... ok
test s_tcp_009_nineteen_bytes ... ok
test s_tcp_008_odd_length_verifies ... ok
test s_tcp_007_fin ... ok
test s_tcp_005_three_sack_blocks ... ok
test s_tcp_004_sack ... ok
test s_tcp_011_data_offset_past_the_bytes ... ok
test s_tcp_013_checksum_changed ... ok
test s_tcp_010_data_offset_below_5 ... ok
test s_tcp_012_data_offset_15_on_59_bytes ... ok
test s_tcp_014_checksum_zero_is_checked ... ok
test s_tcp_015_wrong_source_address ... ok
test s_tcp_016_port_zero ... ok
test s_tcp_017_reserved_bits_kept ... ok
test s_tcp_018_acknowledgment_without_ack ... ok
test s_tcp_019_urgent_pointer_only_with_urg ... ok
test s_tcp_020_any_flag_combination ... ok
test s_tcp_021_ece_and_cwr ... ok
test s_tcp_022_syn_with_data ... ok
test s_tcp_024_window_is_unsigned ... ok
test s_tcp_025_data_offset_before_checksum ... ok
test s_tcp_023_largest_segment ... ok
test s_tcp_026_checksum_before_options ... ok
test s_topt_001_no_options ... ok
test s_topt_002_timestamps_alone ... ok
test s_topt_003_mss_at_odd_offset ... ok
test s_topt_004_eol_first ... ok
test s_topt_005_bytes_after_eol_ignored ... ok
test s_topt_006_mss_length ... ok
test s_topt_007_window_scale_length ... ok
test s_topt_008_sack_permitted_length ... ok
test s_topt_009_timestamps_length ... ok
test s_topt_010_sack_lengths ... ok
test s_topt_011_sack_without_blocks ... ok
test s_topt_012_md5_skipped ... ok
test s_topt_013_unknown_kinds_skipped ... ok
test s_topt_014_length_zero ... ok
test s_topt_015_length_one ... ok
test s_topt_016_timestamps_past_the_area ... ok
test s_topt_017_kind_in_last_byte ... ok
test s_topt_018_repeats ... ok
test s_topt_019_window_scale_above_14 ... ok
test s_topt_020_mss_zero ... ok
test s_topt_021_syn_options_outside_a_syn ... ok
test s_topt_022_sack_in_a_syn ... ok
test s_topt_023_timestamps_in_a_syn ... ok
test s_topt_024_forty_nops ... ok
test s_topt_025_syn_without_timestamps ... ok
test s_tser_001_emit_syn ... ok
test s_tser_002_emit_syn_ack ... ok
test s_tser_003_emit_syn_without_timestamps ... ok
test s_tser_004_emit_syn_layouts ... ok
test s_tser_005_emit_data ... ok
test s_tser_006_emit_sack ... ok
test s_tser_007_sack_block_limits ... ok
test s_tser_009_window_shift_limit ... ok
test s_tser_010_emit_rst ... ok
test s_tser_011_emit_rst_with_timestamps ... ok
test s_tser_012_emitted_reserved_and_urgent_are_zero ... ok
test s_tser_013_emit_odd_segment ... ok
test s_tser_014_emit_over_junk ... ok
test s_tser_015_too_long ... ok
test s_udp_001_dns_query ... ok
test s_udp_002_ffff_verifies ... ok
test s_udp_003_seven_bytes ... ok
test s_udp_004_length_below_header ... ok
test s_udp_005_length_overrun ... ok
test s_udp_006_surplus_after_length_ignored ... ok
test s_udp_007_checksum_covers_only_the_length ... ok
test s_udp_008_no_checksum ... ok
test s_udp_009_no_checksum_catches_nothing ... ok
test s_udp_010_wrong_checksum ... ok
test s_udp_011_pseudo_header_catches_misdelivery ... ok
test s_udp_012_destination_port_zero ... ok
test s_udp_013_source_port_zero ... ok
test s_udp_014_largest_datagram ... ok
test s_udp_015_length_checked_before_checksum ... ok
test s_udp_019_emit_dns_query ... ok
test s_udp_020_emit_computed_zero_as_ffff ... ok
test s_udp_021_always_checksummed ... ok
test s_udp_022_too_long ... ok
test s_udp_023_zero_port_cannot_be_built ... ok
test s_udp_024_emit_hi ... ok
test tcp_pseudo_header_names_protocol_6 ... ok
test udp_pseudo_header_names_protocol_17 ... ok
test s_udp_016_the_one_undetectable_bit_flip ... ok

test result: ok. 89 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_osrelease-50dadd189bb5660e)

running 8 tests
test tests::a_dirty_x86_build_reads_so ... ok
test tests::a_file_that_is_not_text_is_refused ... ok
test tests::uname_names_a_dirty_tree ... ok
test tests::a_file_the_build_did_not_write_is_refused ... ok
test tests::what_the_build_writes_is_what_a_reader_reads ... ok
test tests::a_missing_or_doubled_field_is_refused_by_its_name ... ok
test tests::every_file_the_build_writes_is_os_release ... ok
test tests::a_value_the_build_does_not_write_is_refused_by_its_field ... ok

test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_pci-9bdc72ba04228e61)

running 75 tests
test af::tests::a_function_resets_only_with_both_bits ... ok
test aperture::tests::nothing_is_inside_a_machine_that_named_no_window ... ok
test af::tests::pending_is_bit_zero_of_status ... ok
test aperture::tests::the_window_an_extent_is_inside_is_the_one_named ... ok
test bar::tests::a_32_bit_memory_bar_is_its_own_whole_address ... ok
test bar::tests::a_64_bit_memory_bar_takes_the_register_after_it ... ok
test bar::tests::a_placement_moves_the_address_and_keeps_the_devices_own_bits ... ok
test bar::tests::a_sizing_mask_decodes_to_the_spec_size ... ok
test bar::tests::a_sizing_mask_that_describes_no_size_is_refused ... ok
test bar::tests::a_wide_bar_has_no_address_until_the_high_half_arrives ... ok
test bar::tests::a_wide_claim_in_the_last_slot_is_refused_by_name ... ok
test bar::tests::an_address_a_bar_cannot_hold_is_refused_by_name ... ok
test bar::tests::an_io_bar_whose_bit_2_is_clear_is_not_a_32_bit_memory_bar ... ok
test bar::tests::an_io_bar_whose_bit_2_is_set_is_not_a_64_bit_memory_bar ... ok
test bar::tests::an_unassigned_bar_is_refused_rather_than_mapped_at_zero ... ok
test bar::tests::every_io_bar_is_refused_whatever_the_bits_above_it_say ... ok
test bar::tests::prefetchable_is_read_and_is_not_part_of_the_address ... ok
test bar::tests::the_reserved_type_encodings_are_refused_by_name ... ok
test bar::tests::the_shapes_real_controllers_publish_still_decode ... ok
test bridge::tests::a_64_bit_prefetchable_window_is_its_upper_dwords_too ... ok
test bridge::tests::a_disabled_window_is_no_window ... ok
test bridge::tests::the_limit_names_the_last_megabyte_and_not_the_first_free_one ... ok
test bridge::tests::the_type_field_is_not_part_of_the_address ... ok
test caps::tests::a_forward_chain_is_followed_to_its_end ... ok
test caps::tests::a_pointer_below_the_standard_header_is_refused ... ok
test caps::tests::a_pointer_that_is_not_dword_aligned_is_refused ... ok
test caps::tests::a_pointer_to_a_visited_link_ends_the_walk ... ok
test caps::tests::the_terminator_ends_the_walk ... ok
test caps::tests::the_walk_is_bounded_by_the_distinct_offsets_it_can_hold ... ok
test express::tests::initiating_a_reset_preserves_the_rest_of_device_control ... ok
test express::tests::only_a_version_two_structure_holds_device_control_2 ... ok
test express::tests::only_bit_twenty_eight_says_a_function_resets ... ok
test express::tests::restoring_device_control_never_starts_a_reset ... ok
test msi::tests::a_function_without_per_vector_masking_offers_no_mask_register ... ok
test msi::tests::a_narrow_function_has_no_upper_address_register ... ok
test msi::tests::disabling_clears_the_enable_bit_and_nothing_else ... ok
test msi::tests::enabling_keeps_what_the_function_said_about_itself ... ok
test msi::tests::multiple_message_capable_is_an_exponent ... ok
test msi::tests::the_capable_field_is_not_the_enable_field ... ok
test msi::tests::the_layout_moves_with_the_address_width ... ok
test msix::tests::a_reserved_indicator_is_refused_rather_than_indexed ... ok
test msix::tests::a_table_past_the_address_space_is_refused_rather_than_wrapped ... ok
test msix::tests::an_entry_is_four_dwords_in_the_order_the_spec_gives_them ... ok
test msix::tests::an_unassigned_bar_is_refused_rather_than_written_at_its_offset ... ok
test msix::tests::bir_and_offset_share_one_register ... ok
test msix::tests::disabling_masks_as_well_and_keeps_the_size ... ok
test msix::tests::enabling_clears_the_function_wide_mask_and_keeps_the_size ... ok
test msix::tests::table_size_is_encoded_one_less_than_it_is ... ok
test msix::tests::the_control_bits_are_not_part_of_the_size ... ok
test msix::tests::the_indicator_is_not_added_to_the_offset ... ok
test placement::tests::a_released_address_is_offered_again ... ok
test placement::tests::a_reserved_address_is_never_offered_twice ... ok
test placement::tests::a_run_is_free_and_in_one_list_once ... ok
test placement::tests::a_run_is_offered_aligned_to_the_span_and_not_at_its_start ... ok
test placement::tests::a_run_that_straddles_a_windows_edge_offers_the_part_inside_it ... ok
test placement::tests::a_span_that_runs_past_a_window_is_not_inside_it ... ok
test placement::tests::an_extent_inside_another_opens_no_run ... ok
test placement::tests::edk2_offers_a_64_bit_bar_the_window_it_declared ... ok
test placement::tests::edk2s_32_bit_runs_are_the_ones_its_boot_printed ... ok
test placement::tests::edk2s_64_bit_runs_are_the_ones_its_boot_printed ... ok
test placement::tests::every_address_the_t14_offers_is_inside_the_window_its_firmware_named ... ok
test placement::tests::largest_run_first_still_offers_no_address_outside_a_window ... ok
test placement::tests::nothing_is_offered_where_firmware_named_no_window ... ok
test placement::tests::nothing_is_offered_where_nothing_fits ... ok
test placement::tests::taken_is_read_in_any_order_and_overlapping ... ok
test pm::tests::a_transition_changes_the_state_bits_and_clears_no_event ... ok
test pm::tests::no_soft_reset_is_bit_three_and_nothing_else ... ok
test probe::tests::a_function_the_table_knows_nothing_about_is_read_at_its_base ... ok
test probe::tests::a_transitional_virtio_id_is_not_a_modern_one ... ok
test probe::tests::neither_answer_of_an_unanswered_read_is_a_reference ... ok
test slot::tests::a_function_goes_back_to_its_own_residue_ahead_of_a_free_slot ... ok
test slot::tests::a_held_function_is_owned ... ok
test slot::tests::a_release_keeps_the_slot_only_for_a_residue ... ok
test slot::tests::a_second_function_takes_a_free_slot_and_never_anothers_residue ... ok
test slot::tests::other_functions_residues_are_no_free_slot ... ok

test result: ok. 75 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_phys-bbc990ee9e0e741f)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/phys.rs (target/debug/deps/phys-e8eddaefd0071f1e)

running 2 tests
test an_address_off_its_alignment_or_past_48_bits_is_no_address ... ok
test a_words_address_field_is_its_bits_from_the_alignment_to_47 ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_ps2-865fc29c56dec46f)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/decode.rs (target/debug/deps/decode-b9d132b3ab6ece29)

running 20 tests
test a_device_reset_is_reported_and_aa_is_still_a_legal_head_byte ... ok
test a_healthy_stream_discards_nothing_and_leaves_no_byte_unaccounted ... ok
test a_sequence_is_pending_until_the_byte_that_ends_it ... ok
test a_stale_partial_is_abandoned_rather_than_completed ... ok
test an_implausible_byte_at_a_boundary_costs_exactly_itself ... ok
test buttons_are_already_in_hid_order ... ok
test a_stream_truncated_at_any_offset_resyncs_within_two_packets ... ok
test every_usage_the_rest_of_the_tree_names_is_reachable ... ok
test left_shift_break_is_not_read_as_a_reset ... ok
test deltas_are_nine_bit_and_dy_is_inverted ... ok
test make_and_break_and_the_e0_prefix ... ok
test no_legal_head_byte_is_ever_discarded ... ok
test overflow_drops_the_motion_and_keeps_the_buttons ... ok
test overrun_codes_report_lost_and_clear_the_prefix_state ... ok
test page_up_and_down_decode_to_their_hid_usages ... ok
test pause_consumes_exactly_six_bytes_and_emits_nothing ... ok
test printscreen_emits_one_usage_and_no_phantom_shift ... ok
test tables_hold_only_real_usages_and_no_duplicates ... ok
test the_iso_key_is_the_one_the_layouts_carry ... ok
test unmapped_scancodes_emit_nothing ... ok

test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/fuzz.rs (target/debug/deps/fuzz-10bab5efbca8d384)

running 4 tests
test a_lost_scancode_byte_never_wedges_the_prefix_state ... ok
test a_lost_byte_costs_exactly_the_packet_it_landed_in ... ok
test arbitrary_bytes_never_kill_the_mouse_decoder ... ok
test arbitrary_bytes_never_kill_the_key_decoder ... ok

test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s

     Running unittests src/lib.rs (target/debug/deps/toyos_quiesce-b21da58b4db502c9)

running 8 tests
test tests::a_sweep_with_nothing_left_running_ends_the_wait_however_long_it_took ... ok
test tests::a_line_that_is_not_a_record_is_refused_rather_than_half_read ... ok
test tests::an_empty_machine_is_already_stopped ... ok
test tests::every_other_thread_stops_the_log_writer_included ... ok
test tests::the_budget_ends_the_wait_and_the_boundary_is_inclusive ... ok
test tests::the_caller_is_never_stopped_and_its_siblings_always_are ... ok
test tests::every_record_reads_back_as_itself_off_a_line_of_log ... ok
test tests::the_record_names_the_shortfall_only_when_there_is_one ... ok

test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_random-9f6c8470e91e6f4e)

running 12 tests
test tests::a_taken_seed_leaves_zeros_where_it_was_handed ... ok
test tests::a_quarter_round_moves_its_four_words_of_the_state_and_no_other ... ok
test tests::a_stream_does_not_repeat_where_32_bits_of_counter_end ... ok
test tests::a_draw_is_the_blocks_the_module_states ... ok
test tests::a_wipe_leaves_zeros ... ok
test tests::bytes_a_failed_source_leaves_are_no_seed ... ok
test tests::bytes_of_another_length_are_no_seed ... ok
test tests::every_seed_mixed_moves_the_draw_and_none_replaces_another ... ok
test tests::the_block_function_gives_appendix_a_1s_keystreams ... ok
test tests::the_block_function_is_rfc_8439s ... ok
test tests::the_key_a_draw_was_made_under_is_gone_when_it_returns ... ok
test tests::the_quarter_round_is_rfc_8439s ... ok

test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_rootimage-8779a7eb044990fc)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/chunk.rs (target/debug/deps/chunk-da24920ad35d6108)

running 12 tests
test a_chunk_larger_than_the_extent_is_one_request_of_the_extent ... ok
test a_granularity_dividing_the_bound_leaves_it_alone ... ok
test a_granularity_past_the_bound_is_not_taken ... ok
test an_odd_granularity_rounds_the_bound_down_to_a_common_multiple ... ok
test no_granularity_is_the_bound ... ok
test a_chunk_off_the_block_is_refused - should panic ... ok
test a_bound_off_the_alignment_is_refused - should panic ... ok
test four_kib_blocks_advance_the_lba_by_their_own_size ... ok

@Japabu

Japabu commented Oct 11, 2026

Copy link
Copy Markdown
Collaborator Author

ci-host, part 5 of 9, cargo run -- --ci host, exit 0, run on tree 755f3da0 (head 7cdd1ec's)

test a_failing_last_partial_chunk_names_its_own_length ... ok
test a_failing_chunk_is_named_by_its_first_lba_and_nothing_after_it_is_asked ... ok
test the_last_chunk_is_whatever_is_left ... ok
test an_exact_multiple_is_whole_chunks ... ok

test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/handoff.rs (target/debug/deps/handoff-05e3785a6aaf6a77)

running 9 tests
test a_start_that_is_not_block_aligned_is_refused ... ok
test an_extent_ending_one_page_past_the_descriptor_is_refused ... ok
test an_extent_inside_one_descriptor_is_held ... ok
test an_extent_starting_one_page_before_the_descriptor_is_refused ... ok
test a_length_that_is_not_whole_blocks_is_refused ... ok
test an_extent_inside_a_descriptor_of_another_type_is_refused ... ok
test an_extent_straddling_two_adjacent_descriptors_of_the_type_is_refused ... ok
test an_extent_whose_end_overflows_is_refused ... ok
test the_whole_descriptor_is_held ... ok

test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_sha2-6b81ee0d0b8ee801)

running 5 tests
test tests::sha256_byte_vectors ... ok
test tests::sha512_byte_vectors ... ok
test tests::sha256_monte_carlo ... ok
test tests::sha512_monte_carlo ... ok
test tests::every_length_to_4096_in_random_splits_agrees_with_sha2 ... ok

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s

     Running unittests src/lib.rs (target/debug/deps/toyos_sha2_hw-3034dc1b230c78c7)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_smmu-2aa83d2753d47320)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/encodings.rs (target/debug/deps/encodings-1a7c61e22a21a4b2)

running 27 tests
test a_command_error_is_the_cons_registers_err_field_alone ... ok
test a_context_descriptor_walks_ttb0_alone_under_its_own_asid ... ok
test a_descriptor_or_a_mapping_past_the_units_output_size_is_refused ... ok
test a_context_descriptors_ips_is_the_units_output_size_and_no_more_than_48_bits ... ok
test a_queue_is_inside_the_units_size_and_aligned_to_its_own ... ok
test a_descriptor_read_back_is_a_table_only_above_level_3 ... ok
test a_reserved_size_is_refused_and_the_largest_defined_one_is_not ... ok
test a_queues_indexes_say_empty_full_and_slot_as_a_count_would ... ok
test a_stream_table_is_linear_inside_the_units_streams_and_aligned_to_its_size ... ok
test a_table_or_queue_past_the_units_output_size_is_refused ... ok
test a_translation_fault_names_its_stream_its_address_and_whether_it_wrote ... ok
test a_translating_entry_is_stage_1_alone_through_one_context_descriptor ... ok
test a_unit_that_is_not_coherent_is_refused_unless_the_iort_says_it_is ... ok
test a_unit_that_lacks_what_the_configuration_needs_is_refused_by_name ... ok
test a_units_output_size_is_idr5s_and_bounds_what_it_is_given ... ok
test a_units_sizes_are_read_from_their_own_fields ... ok
test an_aborting_entry_is_valid_and_configured_to_pass_nothing ... ok
test an_address_past_the_input_or_off_the_leafs_alignment_has_no_plan ... ok
test an_asid_is_no_wider_than_the_units ... ok
test an_error_is_active_while_the_two_registers_differ_in_its_bit ... ok
test consuming_an_event_acknowledges_an_overflow_and_never_raises_one ... ok
test each_command_holds_its_opcode_and_parameters_where_its_diagram_has_them ... ok
test memory_is_a_level_2_block_only_its_own_context_and_an_unprivileged_device_reach ... ok
test the_control_values_hold_each_field_where_its_register_has_it ... ok
test the_doorbell_is_one_level_3_page_of_device_memory ... ok
test every_event_number_is_its_own_code_and_only_a_fault_carries_an_attempt ... ok
test the_registers_sit_where_the_register_overview_has_them ... ok

test result: ok. 27 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_ssh-566d9a2689c0936e)

running 6 tests
test wire::tests::a_reader_refuses_by_the_fields_name ... ok
test wire::tests::an_mpint_is_written_as_rfc_4251_spells_it ... ok
test base64::tests::rfc_4648_vectors ... ok
test hostkey::tests::a_key_ssh_keygen_minted_reads_with_its_fingerprint ... ok
test hostkey::tests::rfc_8032_vectors ... ok
test hostkey::tests::a_key_that_is_not_one_is_refused_by_name ... ok

test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/fuzz.rs (target/debug/deps/fuzz-8a8e0294ae4a9d94)

running 2 tests
test every_bent_recording_is_total_and_a_bend_before_the_login_prevents_it ... ok
test every_session_is_total_and_none_logs_in_without_a_right_signature ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.71s

     Running tests/refusals.rs (target/debug/deps/refusals-a176d223b719462a)

running 17 tests
test an_identification_line_is_held_to_rfc_4253 ... ok
test an_unlisted_key_is_refused_at_the_offer_and_signed ... ok
test a_listed_key_is_asked_to_sign_and_its_signature_logs_in ... ok
test every_other_method_is_refused_by_name ... ok
test a_channel_serves_one_exec_and_nothing_else ... ok
test six_failures_end_the_session ... ok
test a_closed_channel_is_gone ... ok
test a_signature_over_anything_else_is_refused ... ok
test an_rsa_key_is_refused_by_name ... ok
test the_authorizer_is_asked_again_with_the_signature ... ok
test the_first_exchange_is_held_to_its_rules ... ok
test a_re_exchange_holds_output_until_its_newkeys ... ok
test nothing_but_authentication_is_taken_before_it ... ok
test a_packet_is_held_to_its_caps ... ok
test a_tampered_sealed_packet_is_refused_in_silence ... ok
test the_windows_bound_both_sides ... ok
test a_channel_message_is_held_to_its_channel ... ok

test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

     Running tests/replay.rs (target/debug/deps/replay-817a887ffa660c3d)

running 9 tests
test the_keys_derived_from_a_recorded_exchange_open_what_openssh_sealed ... ok
test a_replay_under_another_seed_does_not_open ... ok
test a_terrapin_injection_into_the_first_exchange_is_refused ... ok
test openssh_holding_only_an_rsa_key_offers_none ... ok
test a_key_the_server_does_not_name_is_refused_at_the_offer ... ok
test a_forwarding_channel_is_refused_by_name ... ok
test an_exec_openssh_ran_replays ... ok
test an_exec_fed_stdin_replays ... ok
test a_session_the_client_rekeyed_three_times_replays ... ok

test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

     Running tests/vectors.rs (target/debug/deps/vectors-ffd56c0623054122)

running 2 tests
test rfc_7748_section_6_1 ... ok
test a_client_key_that_makes_a_zero_secret_is_refused ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_swap-eb86d25b0b4f6df5)

running 5 tests
test tests::every_word_is_spelled_once ... ok
test tests::an_installed_binary_is_named_by_its_service_under_its_digest ... ok
test tests::a_request_round_trips_and_a_path_it_did_not_stage_is_refused ... ok
test tests::the_digest_is_sha256 ... ok
test tests::verify_refuses_other_bytes_and_names_both_digests ... ok

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_symbols-3d77fffbe8378355)

running 6 tests
test tests::file_range_refuses_an_extent_past_the_end ... ok
test tests::locate_refuses_bytes_too_short_for_a_file_header ... ok
test tests::file_range_answers_an_extent_wholly_inside ... ok
test tests::file_range_refuses_an_extent_the_addition_overflows ... ok
test tests::a_short_name_is_untouched ... ok
test tests::a_name_past_head_plus_tail_is_elided ... ok

test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/frame.rs (target/debug/deps/frame-f15e1316f09dd2d3)

running 12 tests
test a_build_id_is_one_to_32_bytes ... ok
test a_line_that_is_no_frame_is_none ... ok
test a_frame_cut_at_any_byte_is_not_that_frame ... ok
test an_escape_no_encoder_writes_is_refused ... ok
test an_offset_is_in_the_files_addresses ... ok
test an_id_that_is_not_lowercase_hex_bytes_is_refused ... ok
test a_name_holding_the_grammars_bytes_reads_back_whole ... ok
test the_kernels_exact_line ... ok
test every_byte_below_space_reads_back ... ok
test an_elided_name_keeps_offset_and_id_and_is_refused ... ok
test a_frame_reads_back_as_written ... ok
test no_line_panics_the_reader ... ok

test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.15s

     Running tests/name.rs (target/debug/deps/name-824dc79ccb12b2ef)

running 7 tests
test a_file_that_cannot_name_says_why ... ok
test a_real_binarys_offset_names_its_function ... ok
test the_build_the_record_names_is_the_one_named ... ok
test a_name_no_build_id_vouches_for_is_marked_unchecked ... ok
test another_build_is_refused_by_name ... ok
test every_function_names_what_object_reads ... ok
test no_corrupted_file_panics_the_namer ... ok

test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s

     Running tests/real.rs (target/debug/deps/real-ab8d37aba9a537d2)

running 3 tests
test locate_finds_the_same_tables_readelf_reports ... ok
test a_file_header_locate_cannot_read_answers_none ... ok
test a_real_binarys_own_functions_resolve_to_their_own_names ... ok

test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_tco-b6266fa91f28306e)

running 2 tests
test tests::the_lockup_bound_follows_the_deadline_the_boot_named ... ok
test tests::a_bound_is_read_a_malformed_one_is_not_silence ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/decode.rs (target/debug/deps/decode-606f992d567079be)

running 11 tests
test a_machine_no_row_names_is_refused_rather_than_guessed ... ok
test a_bound_becomes_the_timer_whose_expiries_do_not_outrun_it ... ok
test an_absent_device_reading_all_ones_names_no_port ... ok
test no_two_rows_name_one_device ... ok
test a_base_the_block_cannot_live_at_is_refused_by_name ... ok
test the_declared_control_words_run_and_halt_the_timer ... ok
test the_loaders_bound_is_exact_under_ten_seconds_and_reaches_the_hardware ... ok
test the_last_register_has_to_end_inside_the_port_space ... ok
test the_q35_row_reaches_the_port_qemu_puts_the_block_at ... ok
test the_register_offsets_are_ich9_tco_hs ... ok
test the_tiger_lake_row_takes_its_base_from_the_smbus_function ... ok

test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_tmpdir-cdc83da0c40509c3)

running 2 tests
test tests::a_directory_the_sweep_cannot_remove_costs_no_process_but_this_one ... ok
test tests::a_held_global_lock_times_out_naming_its_holder ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s

     Running tests/reclaim.rs (target/debug/deps/reclaim-3028b35fdf6e62d7)

running 7 tests
test holder ... ok
test a_directory_goes_on_a_return_and_on_a_panic ... ok
test a_root_without_an_owner_goes_and_nothing_else_is_touched ... ok
test a_killed_process_is_reclaimed_and_a_live_one_is_never_touched ... ok
test an_adopted_root_goes_with_its_adopter ... ok
test making_a_root_waits_for_global ... ok
test removing_a_root_waits_for_global ... ok

test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.11s

     Running unittests src/lib.rs (target/debug/deps/toyos_trace-221dc2a8c8afb444)

running 5 tests
test tests::a_task_event_with_no_task_is_refused ... ok
test tests::a_wake_names_its_task_and_prints_when_on_which_cpu ... ok
test tests::a_kind_the_abi_does_not_name_is_refused_by_its_number ... ok
test tests::thread_zero_is_a_thread_and_no_thread_is_said ... ok
test tests::every_kind_decodes_with_what_its_data_says ... ok

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_transport-6991df383ae0da41)

running 10 tests
test inflight::tests::a_tag_is_answered_once_and_its_slot_takes_a_new_one ... ok
test inflight::tests::an_end_answers_every_tag_once_and_a_late_completion_nothing ... ok
test arena::tests::a_run_a_peer_names_is_inside_the_arena ... ok
test arena::tests::an_arena_is_whole_slots_after_the_header ... ok
test queue::tests::a_head_stepped_past_each_push_is_refused_at_the_depth ... ok
test queue::tests::a_peer_cursor_out_of_reach_is_a_violation ... ok
test queue::tests::a_tail_stepped_past_each_pop_is_refused_at_the_depth ... ok
test queue::tests::an_entry_is_nobodys_before_it_is_published ... ok
test queue::tests::the_ring_wraps_and_counts_its_space ... ok
test inflight::tests::a_slot_refilled_past_sixteen_bits_refuses_its_first_tag ... ok

test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/loom.rs (target/debug/deps/loom-06053d5823929c8c)

running 3 tests
test a_published_entry_is_read_whole ... ok
test a_hostile_producer_yields_entries_or_a_violation ... ok
test a_hostile_consumer_yields_room_or_a_violation ... ok

test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s

     Running unittests src/lib.rs (target/debug/deps/toyos_tsc-9daa5a94cecbaed8)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_untrusted-25e0a33e0225bc57)

running 11 tests
test tests::an_index_is_below_the_table_it_indexes ... ok
test tests::an_empty_table_indexes_nothing ... ok
test tests::a_value_whose_low_bits_are_in_range_is_still_out_of_range ... ok
test tests::a_refusal_says_which_number_and_which_bound ... ok
test tests::a_length_may_equal_its_bound_where_an_index_may_not ... ok
test tests::asking_whether_it_is_a_known_value_is_not_an_exit ... ok
test tests::decoding_keeps_the_provenance ... ok
test tests::every_width_widens_rather_than_wrapping ... ok
test tests::exactly_refuses_by_naming_both_numbers ... ok
test tests::it_is_the_integer_it_wraps ... ok
test tests::two_untrusted_values_compare_with_each_other ... ok

test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_update-bbc583537f05424f)

running 42 tests
test floor::tests::a_runtime_variable_that_stays_is_refused ... ok
test floor::tests::only_not_found_is_no_variable ... ok
test floor::tests::only_the_loaders_own_variable_is_a_floor_and_nothing_else_is_none ... ok
test policy::tests::the_floor_admits_its_own_version_and_above_and_only_rises ... ok
test policy::tests::an_update_must_be_newer_than_what_runs ... ok
test policy::tests::a_boot_tries_the_marked_slot_first_and_the_other_only_if_there_is_one ... ok
test record::tests::a_hang_kills_only_an_unproven_image ... ok
test record::tests::a_record_reads_back_and_anothers_is_refused ... ok
test record::tests::how_a_boot_ended_is_what_it_is_recorded_as ... ok
test floor::tests::a_floor_is_named_for_its_key_and_scope ... ok
test image::tests::an_image_splits_into_exactly_its_sections ... ok
test policy::tests::every_word_is_one_parameter_token ... ok
test image::tests::a_header_reads_back_as_it_was_written ... ok
test floor::tests::a_loader_deletes_the_stale_floors_of_its_scope_and_never_the_owners ... ok
test record::tests::the_first_write_credits_no_image ... ok
test image::tests::a_bent_header_is_refused_by_name ... ok
test repo::tests::a_time_is_one_that_exists_and_reads_back ... ok
test repo::tests::a_document_that_is_not_the_format_is_refused_by_line ... ok
test repo::tests::a_machines_root_at_the_images_version_with_other_bytes_is_refused ... ok
test repo::tests::a_repository_the_renderer_writes_is_one_the_client_accepts ... ok
test repo::tests::an_archive_past_its_length_or_not_its_hash_is_refused ... ok
test repo::tests::base64_has_one_spelling ... ok
test repo::tests::a_machines_newer_root_holds_though_the_mirror_withholds_it ... ok
test sig::tests::the_message_is_sshsigs_signed_data ... ok
test slots::tests::a_grant_claims_only_an_idle_slot_on_the_running_disk ... ok
test slots::tests::a_table_reads_back_and_a_bent_one_is_refused ... ok
test slots::tests::moving_the_mark_is_atomic_against_a_torn_copy ... ok
test slots::tests::the_checksum_is_crc32 ... ok
test slots::tests::the_idle_slot_is_the_one_whose_root_the_kernel_does_not_hold ... ok
test repo::tests::a_root_not_signed_by_the_previous_threshold_is_refused ... ok
test repo::tests::a_document_past_its_cap_is_refused_unread ... ok
test sig::tests::rfc_8032_vectors_verify_and_a_flipped_bit_does_not ... ok
test repo::tests::a_rotated_root_is_walked_and_drops_the_old_keys_floors ... ok
test repo::tests::targets_not_matching_the_timestamp_are_refused ... ok
test repo::tests::a_root_at_the_last_version_is_refused ... ok
test repo::tests::a_duplicated_signature_does_not_meet_a_threshold ... ok
test repo::tests::a_signature_in_another_namespace_is_refused ... ok
test repo::tests::a_role_version_below_the_held_one_is_refused ... ok
test repo::tests::the_same_version_with_other_bytes_is_refused ... ok
test repo::tests::a_lower_sequence_or_a_reissued_one_is_refused ... ok
test repo::tests::expired_metadata_is_refused_with_both_times ... ok
test repo::tests::a_chain_past_the_walk_bound_is_refused ... ok

test result: ok. 42 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s

     Running tests/repo_oracle.rs (target/debug/deps/repo_oracle-c7401d7067e4c004)

running 1 test
test a_repository_ssh_keygen_signed_is_accepted_and_a_bent_one_is_not ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/sshsig_oracle.rs (target/debug/deps/sshsig_oracle-33c7c42a93fce810)

running 1 test
test a_header_ssh_keygen_signed_verifies_and_a_bent_one_does_not ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_usbhid-58f44a93ce34affd)

running 15 tests
test keyboard::tests::a_report_is_a_set_of_keys_and_not_a_list_of_slots ... ok
test keyboard::tests::a_fault_usage_is_refused_and_the_keys_held_stay_held ... ok
test keyboard::tests::a_keyboard_leaving_releases_everything_it_held_and_nothing_else ... ok
test pointer::tests::a_mouse_report_is_read_as_appendix_b_lays_it_out ... ok
test keyboard::tests::modifiers_come_first_then_releases_then_presses ... ok
test pointer::tests::a_tablet_position_off_the_surface_is_refused ... ok
test pointer::tests::a_tablet_report_is_its_position_little_endian ... ok
test keyboard::tests::a_rollover_report_believes_its_modifiers_and_not_its_slots ... ok
test keyboard::tests::reports_qemu_sent_read_as_the_keys_that_were_pressed ... ok
test pointer::tests::a_report_of_a_length_its_layout_does_not_have_is_refused ... ok
test keyboard::tests::a_report_is_read_as_appendix_b_lays_it_out ... ok
test pointer::tests::reports_qemu_sent_read_as_the_motion_that_was_sent ... ok
test keyboard::tests::a_report_of_any_other_length_is_refused ... ok
test pointer::tests::every_report_is_read_or_refused_and_nothing_else ... ok
test keyboard::tests::every_report_is_believed_or_refused_and_nothing_else ... ok

test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s

     Running unittests src/lib.rs (target/debug/deps/toyos_userbound-e5ac5a06375726fd)

running 43 tests
test fault::tests::a_ring_is_only_ever_what_cs_said ... ok
test place::tests::a_length_near_the_top_of_u64_is_refused_and_not_summed ... ok
test place::tests::a_hole_between_regions_takes_exactly_span_and_guard ... ok
test place::tests::a_full_window_is_a_refusal_for_a_span_that_could_fit ... ok
test place::tests::a_region_at_or_above_the_ceiling_bounds_nothing ... ok
test place::tests::a_span_from_a_wider_window_is_refused_by_a_narrower_one ... ok
test place::tests::a_span_is_whole_pages ... ok
test place::tests::a_zero_length_is_refused ... ok
test place::tests::nothing_is_placed_below_the_floor ... ok
test place::tests::placement_is_top_down_with_the_guard_above ... ok
test place::tests::the_largest_span_is_the_window_less_one_guard ... ok
test port::tests::a_declared_run_refuses_every_run_that_shares_a_port_with_it ... ok
test place::tests::a_window_not_2_mib_aligned_is_a_kernel_bug - should panic ... ok
test place::tests::a_window_without_room_for_its_guard_is_a_kernel_bug - should panic ... ok
test place::tests::a_window_reaching_the_last_page_of_the_user_half_is_a_kernel_bug - should panic ... ok
test port::tests::a_full_declaration_refuses_one_more_run ... ok
test port::tests::a_fresh_bitmap_refuses_every_port_and_ends_in_ones ... ok
test port::tests::a_run_is_never_empty_and_never_past_the_last_port ... ok
test port::tests::a_refused_access_names_the_first_port_it_may_not_touch ... ok
test port::tests::a_held_row_opens_its_ports_and_no_other ... ok
test port::tests::the_last_port_of_the_space_opens_without_touching_the_end_byte ... ok
test port::tests::a_switch_to_a_process_holding_nothing_closes_the_row ... ok
test segment::tests::an_empty_or_kernel_window_is_refused_before_the_walk ... ok
test span::tests::a_kernel_address_is_not_a_user_address ... ok
test span::tests::a_vaddr_min_above_the_base_cannot_rebase ... ok
test span::tests::a_range_ending_past_the_bound_is_refused_and_a_wrapping_one_too ... ok
test segment::tests::a_read_only_page_between_writable_ones_refuses_a_write_only ... ok
test segment::tests::a_run_that_cannot_be_pinned_refuses_the_window_and_leaves_nothing_pinned ... ok
test span::tests::a_zero_sized_object_is_nothing_to_dereference ... ok
test span::tests::an_entry_is_an_address_of_the_user_half_and_nothing_else ... ok
test span::tests::an_image_at_vaddr_zero_rebases_to_the_base_itself ... ok
test span::tests::an_object_is_refused_for_its_alignment_before_anything_else ... ok
test span::tests::an_object_may_not_end_past_the_bound ... ok
test span::tests::an_image_that_reaches_the_last_page_of_the_user_half_is_refused ... ok
test segment::tests::frames_in_reverse_are_one_segment_per_leaf ... ok
test span::tests::no_type_may_cross_a_2_mib_boundary ... ok
test segment::tests::a_range_is_looked_up_once_per_leaf ... ok
test segment::tests::frames_in_order_are_one_segment ... ok
test segment::tests::an_absent_page_anywhere_refuses_the_window ... ok
test segment::tests::the_segments_are_the_maximal_runs_and_cover_the_window_exactly ... ok
test segment::tests::every_run_is_pinned_until_the_window_is_dropped ... ok
test segment::tests::a_read_across_shuffled_frames_gets_the_bytes_at_their_addresses ... ok
test segment::tests::a_write_across_shuffled_frames_lands_where_a_ring_3_load_reads_it ... ok

test result: ok. 43 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.61s

     Running tests/firmware.rs (target/debug/deps/firmware-875dcd7c709e4339)

running 26 tests
test a_later_window_is_held_as_the_first_is ... ok
test a_port_answers_as_its_declaration_says ... ok
test a_configuration_read_is_held_to_the_window_and_to_one_register ... ok
test a_smi_cmd_that_is_the_reset_register_keeps_the_resets_byte ... ok
test a_byte_for_smi_cmd_is_a_firmware_call_unless_the_fadt_names_it ... ok
test a_memory_bar_is_refused_where_firmware_types_its_range_as_its_own ... ok
test a_sleep_type_is_three_bits_and_lands_only_in_its_field ... ok
test a_wide_access_is_held_to_every_port_it_spans ... ok
test a_write_that_reaches_smi_cmd_and_is_no_byte_to_it_is_refused ... ok
test an_address_in_the_ecam_window_is_a_configuration_access_whatever_the_map_types_it ... ok
test an_unlisted_address_below_1_mib_is_refused_whatever_the_range_registers_answer ... ok
test an_unlisted_register_is_read_where_it_is_uncached_and_never_written ... ok
test every_other_type_and_an_unlisted_address_is_refused_with_its_type ... ok
test every_configuration_write_is_refused_by_one_name ... ok
test every_page_a_window_the_kernel_drives_lies_in_is_refused_inside_any_type ... ok
test memory_any_usable_range_holds_is_refused_whatever_lists_it_first ... ok
test memory_past_what_the_kernel_maps_is_refused ... ok
test no_unlisted_address_is_read_where_a_cpus_range_registers_differ ... ok
test nvs_and_reserved_memory_pass_both_ways_to_their_last_byte_and_no_further ... ok
test ram_is_refused_both_ways_whatever_usable_type_it_is ... ok
test runtime_services_code_is_refused_both_ways ... ok
test runtime_services_data_is_read_as_the_tables_memory_is_and_never_written ... ok
test the_facs_is_read_and_its_bytes_are_never_written ... ok
test the_lock_word_is_exchanged_only_where_all_four_bytes_are_the_firmwares_own ... ok
test the_kernel_admits_a_fixed_few_firmware_calls_in_any_period ... ok
test the_tables_memory_is_read_and_never_written ... ok

test result: ok. 26 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_virtio-7636a0b5fd96be30)

running 39 tests
test tests::a_chain_is_whole_before_its_index_and_its_index_before_its_notification ... ok
test tests::a_device_missing_a_structure_is_refused_by_its_name ... ok
test tests::a_device_that_does_not_keep_features_ok_is_refused_and_told_so ... ok
test tests::a_device_that_never_finishes_its_reset_is_refused_and_written_nothing_more ... ok
test tests::a_descriptor_table_the_device_rewrote_into_a_loop_is_never_followed ... ok
test tests::a_32_bit_field_is_read_32_bits_wide_and_only_inside_the_structure ... ok
test tests::a_device_without_version_1_is_refused_and_told_so ... ok
test tests::a_field_past_the_device_structure_is_refused_and_not_read ... ok
test tests::a_function_without_a_capability_list_has_no_vendor_capability ... ok
test tests::a_head_past_the_table_is_refused ... ok
test tests::a_head_with_no_chain_in_flight_is_refused ... ok
test tests::a_link_into_the_header_or_round_the_list_is_refused ... ok
test tests::a_new_queue_zeroes_its_parts_and_nothing_else ... ok
test tests::a_chain_on_a_queue_the_device_was_never_given_is_the_drivers_mistake - should panic ... ok
test tests::a_chain_past_the_table_is_the_drivers_mistake - should panic ... ok
test tests::a_chain_over_a_descriptor_in_flight_is_the_drivers_mistake - should panic ... ok
test tests::a_notification_is_the_queues_index_at_the_queues_address ... ok
test tests::a_notify_offset_outside_the_notification_structure_is_refused ... ok
test tests::a_published_chain_is_what_the_device_reads ... ok
test tests::a_part_off_its_alignment_is_the_drivers_mistake - should panic ... ok
test tests::a_queue_shallower_than_the_drivers_rings_is_refused ... ok
test tests::a_refused_element_does_not_hide_the_ones_behind_it ... ok
test tests::a_queue_size_that_is_no_power_of_two_is_the_drivers_mistake - should panic ... ok
test tests::a_refused_read_ends_the_walk_by_the_claims_own_word ... ok
test tests::a_readable_element_after_a_writable_one_is_the_drivers_mistake - should panic ... ok
test tests::a_structure_its_bar_does_not_hold_is_refused_and_never_reached ... ok
test tests::a_used_element_is_read_after_the_index_that_counts_it ... ok
test tests::a_ring_past_the_grant_is_the_drivers_mistake - should panic ... ok
test tests::a_used_index_past_what_was_made_available_is_refused_and_nothing_is_read ... ok
test tests::a_vector_the_device_does_not_map_is_refused_and_its_queue_stays_disabled ... ok
test tests::every_link_is_masked_of_its_two_reserved_bits_before_it_is_an_offset ... ok
test tests::more_bytes_than_the_chain_may_be_written_is_refused ... ok
test tests::only_what_the_device_offers_is_accepted ... ok
test tests::structures_in_two_bars_are_refused ... ok
test tests::the_first_capability_of_each_type_in_a_real_bar_is_the_one_used ... ok
test tests::the_initialisation_is_the_sequence_the_specification_orders ... ok
test tests::the_walk_answers_every_vendor_capability_in_the_lists_order ... ok
test tests::both_indices_wrap_at_65536 ... ok
test tests::a_hostile_device_is_believed_only_where_the_model_agrees ... ok

test result: ok. 39 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s

     Running unittests src/lib.rs (target/debug/deps/toyos_wallclock-d4ec3af8b5280ad4)

running 6 tests
test tests::an_impossible_instant_is_refused_and_a_leap_day_is_not ... ok
test tests::every_time_of_day_this_renders_is_one_it_reads_back ... ok
test tests::every_stem_this_renders_is_one_it_reads_back ... ok
test tests::only_logkeepers_own_names_are_logkeepers ... ok
test tests::the_calendar_round_trips_through_the_dates_that_break_one ... ok
test tests::a_part_is_its_stem_and_number ... ok

test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_xhci-64cc3df6bec03b92)

running 163 tests
test bot::tests::a_byte_no_phase_publishes_reads_as_closed ... ok
test bot::tests::a_break_says_where_it_left_the_device_and_which_event_ended_it ... ok
test bot::tests::a_cbw_is_laid_out_as_the_class_defines_it ... ok
test bot::tests::a_command_or_status_block_that_moved_short_breaks ... ok
test bot::tests::a_csw_is_believed_only_when_it_is_valid_and_meaningful ... ok
test bot::tests::a_data_phase_runs_on_the_pipe_its_command_names ... ok
test bot::tests::a_data_phase_whose_pipe_will_not_restart_breaks_as_a_stall ... ok
test bot::tests::a_command_with_no_data_is_its_command_block_and_its_status ... ok
test bot::tests::a_leg_that_fails_breaks_the_round_trip_where_it_failed ... ok
test bot::tests::a_stalled_data_phase_delivers_what_both_the_controller_and_the_device_say_arrived ... ok
test bot::tests::a_stalled_data_phase_is_restarted_and_its_status_read ... ok
test bot::tests::a_stalled_status_is_asked_for_again_once ... ok
test bot::tests::a_status_stalled_after_a_data_stall_is_still_asked_for_again ... ok
test bot::tests::every_phase_but_the_closed_one_is_a_device_holding_a_command ... ok
test bot::tests::every_phase_survives_the_byte_it_is_published_as ... ok
test bot::tests::no_two_phases_are_named_the_same_thing ... ok
test bot::tests::what_is_delivered_is_what_both_the_controller_and_the_device_say_arrived ... ok
test call::tests::a_call_that_enters_the_ladder_a_rung_up_finds_that_rung_whole ... ok
test call::tests::a_call_whose_transport_has_not_broken_is_clipped_and_refused_nothing ... ok
test call::tests::a_command_sent_again_after_a_hold_leaves_the_last_rung_its_bound ... ok
test call::tests::a_command_sent_again_is_clipped_to_where_the_next_rung_begins ... ok
test bot::tests::a_restart_answered_with_a_transfer_is_a_driver_bug - should panic ... ok
test call::tests::a_read_whose_wait_spent_the_operation_goes_out_again_after_the_port_reset_took ... ok
test call::tests::a_rung_entered_early_gets_its_own_bound_and_not_the_calls ... ok
test call::tests::a_rung_is_never_starved_by_what_was_spent_before_it ... ok
test call::tests::a_second_break_in_the_same_call_does_not_extend_it ... ok
test call::tests::a_silent_controller_is_sent_no_command_in_any_rung_and_its_port_is_still_reset ... ok
test call::tests::a_wait_is_cut_only_when_its_window_ended_it ... ok
test call::tests::nothing_but_the_command_sent_again_outlives_the_operations_budget ... ok
test configure::tests::a_bind_adds_and_drops_nothing ... ok
test configure::tests::a_binds_slot_context_names_the_speed_and_the_port ... ok
test configure::tests::a_recovery_drops_and_adds_both_endpoints ... ok
test configure::tests::a_recoverys_slot_context_is_context_entries_and_zeroes ... ok
test configure::tests::an_endpoint_context_carries_the_descriptors_own_numbers ... ok
test configure::tests::context_entries_is_the_higher_index_of_the_pair ... ok
test configure::tests::nothing_but_the_pair_is_ever_dropped ... ok
test configure::tests::the_recovery_describes_the_endpoints_exactly_as_the_bind_did ... ok
test descriptor::tests::a_configuration_names_its_interfaces_and_steps_over_its_endpoints ... ok
test descriptor::tests::a_device_descriptor_names_its_maker_its_product_and_its_class ... ok
test descriptor::tests::a_length_that_would_not_move_the_walk_is_refused ... ok
test descriptor::tests::a_short_answer_or_another_type_is_refused_by_name ... ok
test descriptor::tests::only_alternate_setting_zero_is_named ... ok
test descriptor::tests::the_walk_is_bounded_by_the_total_and_by_what_arrived ... ok
test enumerate::tests::a_boot_keyboard_is_addressed_described_configured_and_bound ... ok
test enumerate::tests::a_configuration_with_nothing_to_bind_is_refused_where_it_is_read ... ok
test enumerate::tests::a_device_that_answered_set_protocol_recovers_nothing ... ok
test enumerate::tests::a_device_that_states_another_packet_size_has_its_ep0_evaluated ... ok
test enumerate::tests::a_stalled_set_protocol_recovers_ep0_before_the_endpoints_are_configured ... ok
test enumerate::tests::a_stated_packet_size_a_device_of_that_speed_cannot_have_is_refused ... ok
test enumerate::tests::every_route_configures_its_endpoints_last ... ok
test enumerate::tests::every_speed_has_one_control_packet_size_or_none ... ok
test enumerate::tests::only_an_interface_with_a_boot_protocol_is_asked_for_one ... ok
test flush::tests::a_device_with_no_cache_owes_nothing_and_keeps_the_count ... ok
test flush::tests::a_loss_is_counted_once_and_never_uncounted ... ok
test flush::tests::a_write_is_owed_until_a_flush_that_succeeded_and_not_after ... ok
test identity::tests::a_device_that_differs_in_any_field_is_a_new_disk ... ok
test identity::tests::a_device_with_no_readable_serial_is_never_adopted ... ok
test identity::tests::a_disk_is_waited_for_only_after_a_reset_of_ours_and_only_inside_the_window ... ok
test identity::tests::a_language_is_read_only_from_a_string_descriptor_that_carries_one ... ok
test identity::tests::a_serial_prints_as_the_characters_it_carries_and_nothing_else ... ok
test identity::tests::a_string_descriptor_is_read_only_whole_and_well_formed ... ok
test identity::tests::the_same_device_is_the_same_disk ... ok
test job::tests::a_cancelled_operation_leaves_the_slot_free ... ok
test job::tests::a_completion_for_another_trb_is_not_this_one ... ok
test job::tests::a_data_stage_does_not_end_a_transfer_that_still_owes_its_status ... ok
test job::tests::a_failing_stage_ends_the_transfer_whatever_is_still_owed ... ok
test job::tests::a_failing_status_stage_is_the_answer ... ok
test job::tests::a_late_completion_from_an_abandoned_transfer_answers_nobody ... ok
test job::tests::a_stage_is_answered_by_its_own_trb_and_in_its_own_order ... ok
test job::tests::a_transfer_matches_on_its_trb_and_on_both_halves_of_its_endpoint ... ok
test job::tests::a_transfer_moved_what_its_residue_did_not_leave ... ok
test job::tests::a_transfer_that_answers_one_stage_and_stops_is_silent ... ok
test job::tests::an_answer_outlives_the_deadline ... ok
test job::tests::an_empty_slot_is_not_busy_and_has_no_deadline ... ok
test job::tests::only_the_first_answer_counts ... ok
test job::tests::the_deadline_produces_silence_and_nothing_else ... ok
test job::tests::submitting_over_an_outstanding_operation_panics - should panic ... ok
test job::tests::the_residue_is_the_first_stages_and_the_code_is_the_last ... ok
test ladder::tests::a_break_before_a_data_out_phase_is_done_leaves_the_device_owed_it ... ok
test ladder::tests::a_break_elsewhere_climbs_every_rung ... ok
test ladder::tests::a_device_is_addressed_again_only_as_what_it_was_enumerated_as ... ok
test ladder::tests::a_device_owed_data_out_is_never_given_the_class_reset ... ok
test ladder::tests::a_run_climbs_one_rung_per_break_until_a_round_trip_ends_it ... ok
test ladder::tests::a_rung_that_did_not_verify_left_exactly_where_its_port_no_longer_holds_the_device ... ok
test ladder::tests::every_run_of_breaks_climbs_strictly_and_ends_offline_after_a_port_reset ... ok
test ladder::tests::only_a_quiesce_that_failed_lets_the_rung_go_on ... ok
test ladder::tests::only_a_run_that_begins_owed_data_out_skips_the_class_reset ... ok
test ladder::tests::the_port_rung_resets_then_addresses_then_configures_then_asks ... ok
test late::tests::a_ring_that_keeps_producing_is_given_up_on_one_ring_past_the_deadline ... ok
test late::tests::an_answer_posted_before_the_deadline_passed_is_taken_after_it ... ok
test late::tests::before_the_deadline_nothing_is_given_up ... ok
test late::tests::past_the_deadline_the_first_empty_read_ends_the_wait ... ok
test port::tests::a_device_found_at_bring_up_is_never_enumerated_without_a_reset ... ok
test port::tests::a_device_its_class_reset_did_not_bring_back_gets_the_most_reset_its_port_has ... ok
test port::tests::a_port_whose_belief_moved_is_outstanding_until_it_is_read ... ok
test port::tests::a_warm_reset_is_finished_only_once_the_controller_has_cleared_pr ... ok
test port::tests::an_adopted_port_is_enumerated_by_its_reset_and_not_by_its_link ... ok
test portsc::tests::a_port_holds_its_device_only_while_it_reads_connected_with_no_change_unconsumed ... ok
test portsc::tests::a_write_never_carries_ped ... ok
test portsc::tests::a_write_never_sets_ped_and_pr_together ... ok
test portsc::tests::an_unseen_change_survives_the_acknowledge ... ok
test portsc::tests::bits_are_where_the_table_puts_them ... ok
test portsc::tests::neutral_keeps_exactly_the_bits_that_are_safe_to_write_back ... ok
test portsc::tests::powering_a_port_down_moves_that_bit_and_no_other ... ok
test protocol::tests::a_conformant_pair_covers_the_machine ... ok
test protocol::tests::a_port_claimed_twice_keeps_the_first_claim ... ok
test protocol::tests::a_range_that_would_wrap_is_refused_rather_than_folded ... ok
test protocol::tests::firmware_that_makes_no_sense_is_refused_by_name ... ok
test recovery::tests::a_halted_endpoint_is_reset_and_then_cleared_at_the_device ... ok
test recovery::tests::a_running_endpoint_is_stopped_and_never_cleared ... ok
test recovery::tests::a_stopped_endpoint_only_needs_its_ring_back ... ok
test recovery::tests::an_endpoint_in_error_only_needs_its_ring_back ... ok
test recovery::tests::disabled_and_reserved_states_are_refused_by_name ... ok
test recovery::tests::every_recovery_rebuilds_the_ring_exactly_once ... ok
test recovery::tests::only_a_halted_endpoint_is_cleared_at_the_device ... ok
test recovery::tests::the_bus_is_reached_only_after_every_command ... ok
test recovery::tests::the_endpoint_state_field_decodes_to_every_value_three_bits_can_hold ... ok
test reset_recovery::tests::a_command_that_took_is_not_issued_again_over_a_field_that_lags ... ok
test reset_recovery::tests::a_context_state_error_is_followed_by_the_command_for_where_the_pipe_went ... ok
test reset_recovery::tests::a_disabled_or_reserved_endpoint_refuses_the_whole_recovery ... ok
test reset_recovery::tests::a_halting_completion_code_outranks_a_field_that_still_reads_running ... ok
test reset_recovery::tests::a_pipe_refused_from_every_state_is_given_up_on_by_name ... ok
test reset_recovery::tests::a_refusal_that_is_not_about_state_and_a_silence_both_end_the_quiesce ... ok
test reset_recovery::tests::a_slot_goes_back_only_over_a_stopped_pair ... ok
test reset_recovery::tests::a_stopped_pair_is_asked_nothing ... ok
test reset_recovery::tests::every_command_is_defined_for_the_state_it_was_chosen_from ... ok
test reset_recovery::tests::every_pair_is_stopped_inside_the_bound_however_it_moves_and_however_the_field_lags ... ok
test reset_recovery::tests::only_a_halt_condition_or_a_trb_error_speaks_for_the_endpoint ... ok
test reset_recovery::tests::only_a_pair_a_reset_device_disabled_has_nothing_to_stop ... ok
test reset_recovery::tests::the_bound_is_the_worst_case ... ok
test reset_recovery::tests::the_in_pipe_is_quiesced_before_the_out_pipe ... ok
test ring::tests::a_controller_that_has_caught_up_has_nothing_pending ... ok
test ring::tests::a_pointer_that_is_no_position_on_this_ring_is_refused_by_name ... ok
test ring::tests::an_enqueue_point_past_the_end_of_the_ring_is_refused ... ok
test ring::tests::no_two_refusals_read_the_same ... ok
test ring::tests::the_count_is_the_wrapped_distance_between_the_two ... ok
test ring::tests::the_low_four_bits_of_the_field_are_not_address ... ok
test scan::tests::a_broken_endpoint_is_recovered_until_the_silence_bound_passes ... ok
test scan::tests::a_free_slot_and_nothing_broken_is_the_end_of_the_scan ... ok
test scan::tests::a_silent_controller_ends_the_scan_at_the_operations_deadline ... ok
test scan::tests::an_outstanding_operation_is_never_given_up_on ... ok
test scsi::tests::a_device_field_prints_as_the_characters_it_carries_and_nothing_else ... ok
test scsi::tests::a_device_that_is_not_a_disk_this_driver_serves_is_refused_by_name ... ok
test scsi::tests::a_disk_spinning_up_is_asked_for_its_sense_and_then_again ... ok
test scsi::tests::a_disk_that_never_becomes_ready_is_given_up_on_at_its_budget ... ok
test scsi::tests::a_disk_too_big_for_read_capacity_10_is_asked_the_16_byte_form ... ok
test scsi::tests::a_flush_the_device_does_not_implement_is_no_failure_and_every_other_refusal_is ... ok
test scsi::tests::a_question_unanswered_or_answered_short_refuses_the_device ... ok
test scsi::tests::a_ready_attempt_that_breaks_is_recovered_and_one_taken_offline_ends_it ... ok
test scsi::tests::a_ready_disk_is_asked_what_it_is_and_how_big_and_nothing_else ... ok
test scsi::tests::a_transfer_cdb_is_laid_out_as_sbc_defines_it ... ok
test scsi::tests::a_transfer_is_its_batches_in_order_and_only_a_whole_one_advances ... ok
test scsi::tests::a_transfer_past_the_disk_is_refused_and_an_empty_one_is_nothing ... ok
test scsi::tests::every_fixed_cdb_carries_its_own_length_direction_and_allocation ... ok
test scsi::tests::an_answer_to_something_not_asked_is_a_driver_bug - should panic ... ok
test scsi::tests::only_the_first_batch_may_answer_ask_again ... ok
test scsi::tests::sense_is_believed_only_when_its_ascq_arrived ... ok
test xecp::tests::a_list_that_leaves_the_window_or_never_ends_is_refused ... ok
test xecp::tests::every_smi_goes_off_and_every_latched_one_is_cleared ... ok
test xecp::tests::the_handoff_is_named_by_firmwares_semaphore_before_and_after ... ok
test xecp::tests::the_walk_finds_each_capability_of_an_id_in_order ... ok
test descriptor::tests::no_answer_panics_the_decoder ... ok
test call::tests::every_path_through_a_call_ends_inside_its_bounds ... ok

test result: ok. 163 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s

     Running unittests src/lib.rs (target/debug/deps/toyos_xhci_sim-63d09615301ce01b)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/enumerate.rs (target/debug/deps/enumerate-fb375b5fc15e3b74)

running 7 tests
test a_slot_the_controller_has_not_named_yet_is_waited_for_even_when_the_port_goes ... ok
test a_device_pulled_while_enable_slot_goes_unanswered_is_torn_down ... ok
test a_device_with_no_boot_protocol_is_never_asked_for_one ... ok
test an_enumeration_takes_one_act_per_pass_and_reports_once ... ok
test an_enumeration_is_abandoned_when_its_port_goes ... ok
test an_enumeration_that_stops_being_answered_still_reports_its_slot ... ok
test gate_an_enumeration_that_outlives_its_port_costs_a_deadline ... ok

test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/explore.rs (target/debug/deps/explore-2578a12a7d6446f1)

running 1 test
test no_sequence_breaks_an_invariant ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.22s

     Running tests/scenarios.rs (target/debug/deps/scenarios-2caebc991fe326a0)

running 15 tests
test a_device_with_no_slot_settles_anyway ... ok
test a_device_that_bounces_back_out_is_never_enumerated ... ok
test a_device_plugged_in_is_enumerated_once ... ok
test gate_acknowledging_before_deciding_hides_a_replug ... ok
test a_replug_inside_one_debounce_is_seen ... ok
test a_device_replugged_inside_a_hot_reset_given_up_on_is_enumerated ... ok
test gate_dropping_the_reset_deadline_wedges_the_port ... ok
test gate_ignoring_the_connect_change_hides_a_replug ... ok
test gate_stepping_from_inside_an_effect_is_caught ... ok
test a_port_that_never_finishes_its_reset_is_given_up_on_and_left_alone ... ok
test gate_writing_back_what_was_read_disables_the_port ... ok
test the_debounce_is_actually_waited_out ... ok
test repeated_replugs_stay_balanced ... ok
test unplugging_tears_the_device_down ... ok
test gate_restarting_the_debounce_never_enumerates ... ok

test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/superspeed.rs (target/debug/deps/superspeed-efbd8582fe9f60c1)

running 13 tests
test a_device_pulled_during_the_warm_retrain_is_not_enumerated ... ok
test a_device_pulled_as_its_enumeration_begins_is_torn_down ... ok
test a_completed_failure_that_stays_failed_is_refused_by_name ... ok
test a_link_a_hot_reset_kills_is_recovered_warm ... ok
test a_port_of_unknown_protocol_is_still_reset ... ok
test a_link_already_inactive_is_warm_reset_at_once ... ok
test a_trained_superspeed_link_is_not_reset ... ok
test a_port_given_up_on_is_not_reset_again_until_its_device_is_pulled ... ok
test a_reset_that_completes_failed_is_warm_reset ... ok
test a_usb2_completed_failure_is_refused_not_warm_reset ... ok
test a_link_that_never_trains_is_refused_by_its_own_name ... ok
test a_usb2_port_is_reset_as_before ... ok
test a_usb2_port_is_never_warm_reset ... ok

test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/teardown.rs (target/debug/deps/teardown-55cdc3cdc8a2e577)

running 9 tests
test a_recovery_the_controller_refuses_lets_the_device_go ... ok
test a_halted_endpoint_is_reset_cleared_and_delivering_again ... ok
test a_running_endpoint_is_stopped_rather_than_reset ... ok
test a_teardown_gives_the_slot_and_the_block_back ... ok
test gate_freeing_the_block_before_the_slot_is_caught ... ok
test gate_acting_with_an_answer_outstanding_is_caught ... ok
test a_recovery_is_abandoned_when_its_port_goes ... ok
test a_controller_that_never_answers_still_releases_the_port ... ok
test gate_a_recovery_that_outlives_its_port_costs_a_second_deadline ... ok

test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/teeth.rs (target/debug/deps/teeth-389f5d40c3cdea55)

running 1 test
test every_flaw_changes_an_outcome ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests bcachefs

running 2 tests
test bcachefs/src/block_io.rs - block_io::DeviceError (line 66) - compile fail ... ok
test bcachefs/src/block_io.rs - block_io::DeviceError (line 62) - compile fail ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s

   Doc-tests kernel_loom

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests kernel_sim

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_abi

running 4 tests
test toyos-abi/src/usersafe.rs - usersafe::user_safe (line 53) - compile fail ... ok
test toyos-abi/src/usersafe.rs - usersafe::user_safe (line 70) - compile fail ... ok
test toyos-abi/src/usersafe.rs - usersafe::user_safe (line 63) ... ok
test toyos-abi/src/usersafe.rs - usersafe::user_safe (line 46) ... ok

test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.40s

   Doc-tests toyos_acpi

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_blackbox

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_blockhold

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_blockring

running 2 tests
test toyos-blockring/src/wire.rs - wire::Opened (line 56) - compile fail ... ok
test toyos-blockring/src/wire.rs - wire::Opened (line 47) ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.28s

   Doc-tests toyos_bootmap

running 1 test
test toyos-bootmap/src/lib.rs - DirectMapEnd (line 70) - compile fail ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s

   Doc-tests toyos_cpuvuln

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_device_memory

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_dhcp

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_dma

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_dns

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_elf

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_elide

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_fat32

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_fat32_check

running 1 test
test toyos-fat32/check/src/lib.rs - (line 30) - compile ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s

   Doc-tests toyos_gicv3

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_gpt

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_hda

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_i219

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_inspect

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_its

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_keymap

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_libc_copies

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_logstream

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_manifest

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_microcode

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_net_ip

running 8 tests
test toyos-net-ip/src/lib.rs - compile_fail::s_ip_nud_028_a_state_holds_only_its_own_fields (line 478) - compile fail ... ok
test toyos-net-ip/src/lib.rs - compile_fail::s_ip_nud_028_a_state_holds_only_its_own_fields (line 463) - compile fail ... ok
test toyos-net-ip/src/lib.rs - compile_fail::s_ip_nud_028_a_state_holds_only_its_own_fields (line 468) - compile fail ... ok
test toyos-net-ip/src/lib.rs - compile_fail::s_ip_nud_028_a_state_holds_only_its_own_fields (line 483) - compile fail ... ok
test toyos-net-ip/src/lib.rs - compile_fail::s_ip_nud_028_a_state_holds_only_its_own_fields (line 488) - compile fail ... ok
test toyos-net-ip/src/lib.rs - compile_fail::s_ip_nud_028_a_state_holds_only_its_own_fields (line 493) - compile fail ... ok
test toyos-net-ip/src/lib.rs - compile_fail::s_ip_nud_028_a_state_holds_only_its_own_fields (line 473) - compile fail ... ok
test toyos-net-ip/src/lib.rs - compile_fail::s_ip_nud_028_a_state_holds_only_its_own_fields (line 436) ... ok

test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.34s

   Doc-tests toyos_net_shard

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_net_tcp

running 5 tests
test toyos-net-shard/tcp/src/lib.rs - compile_fail::s_op_030_tcp_cannot_choose_dscp_ecn_or_df (line 354) - compile fail ... ok
test toyos-net-shard/tcp/src/lib.rs - compile_fail::s_hs_036_a_connection_cannot_connect_again (line 335) - compile fail ... ok
test toyos-net-shard/tcp/src/lib.rs - compile_fail::s_hs_036_a_connection_cannot_connect_again (line 328) - compile fail ... ok
test toyos-net-shard/tcp/src/lib.rs - compile_fail::s_op_030_tcp_cannot_choose_dscp_ecn_or_df (line 347) ... ok
test toyos-net-shard/tcp/src/lib.rs - compile_fail::s_hs_036_a_connection_cannot_connect_again (line 321) ... ok

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.29s

   Doc-tests toyos_net_testnet

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_net_udp

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_net_wire

running 18 tests
test toyos-net-wire/src/lib.rs - compile_fail::s_rt_010_transport_parse_takes_only_its_ipv4_view (line 255) - compile fail ... ok
test toyos-net-wire/src/lib.rs - compile_fail::write_payload_and_write_frame_body_are_sealed (line 325) - compile fail ... ok
test toyos-net-wire/src/lib.rs - compile_fail::s_tser_008_established_builder_cannot_hold_syn_only_options (line 234) - compile fail ... ok
test toyos-net-wire/src/lib.rs - compile_fail::s_rt_010_transport_parse_takes_only_its_ipv4_view (line 248) - compile fail ... ok
test toyos-net-wire/src/lib.rs - compile_fail::s_tser_008_established_builder_cannot_hold_syn_only_options (line 229) - compile fail ... ok
test toyos-net-wire/src/lib.rs - compile_fail::raw_payload_takes_no_transport_protocol_and_no_payload_is_forged (line 275) - compile fail ... ok
test toyos-net-wire/src/lib.rs - compile_fail::raw_payload_takes_no_transport_protocol_and_no_payload_is_forged (line 270) - compile fail ... ok
test toyos-net-wire/src/lib.rs - compile_fail::s_tser_008_established_builder_cannot_hold_syn_only_options (line 224) - compile fail ... ok
test toyos-net-wire/src/lib.rs - compile_fail::s_eth_030_builder_ethertype_admits_only_ipv4_and_arp (line 212) - compile fail ... ok
test toyos-net-wire/src/lib.rs - compile_fail::write_payload_and_write_frame_body_are_sealed (line 340) - compile fail ... ok
test toyos-net-wire/src/lib.rs - compile_fail::write_payload_and_write_frame_body_are_sealed (line 390) - compile fail ... ok
test toyos-net-wire/src/lib.rs - compile_fail::write_payload_and_write_frame_body_are_sealed (line 372) - compile fail ... ok
test toyos-net-wire/src/lib.rs - compile_fail::write_payload_and_write_frame_body_are_sealed (line 357) - compile fail ... ok
test toyos-net-wire/src/lib.rs - compile_fail::s_rt_010_transport_parse_takes_only_its_ipv4_view (line 241) ... ok
test toyos-net-wire/src/lib.rs - compile_fail::s_eth_030_builder_ethertype_admits_only_ipv4_and_arp (line 207) ... ok
test toyos-net-wire/src/lib.rs - compile_fail::s_tser_008_established_builder_cannot_hold_syn_only_options (line 219) ... ok
test toyos-net-wire/src/lib.rs - compile_fail::write_payload_and_write_frame_body_are_sealed (line 293) ... ok
test toyos-net-wire/src/lib.rs - compile_fail::raw_payload_takes_no_transport_protocol_and_no_payload_is_forged (line 264) ... ok

test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.68s

   Doc-tests toyos_osrelease

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_pci

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_phys

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_ps2

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_quiesce

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_random

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_rootimage

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_sha2

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_sha2_hw

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_smmu

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_ssh

running 0 tests

@Japabu

Japabu commented Oct 11, 2026

Copy link
Copy Markdown
Collaborator Author

ci-host, part 6 of 9, cargo run -- --ci host, exit 0, run on tree 755f3da0 (head 7cdd1ec's)

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_swap

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_symbols

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_tco

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_tmpdir

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_trace

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_transport

running 4 tests
test toyos-blockring/transport/src/queue.rs - queue::Place (line 43) - compile fail ... ok
test toyos-blockring/transport/src/queue.rs - queue::Place (line 53) - compile fail ... ok
test toyos-blockring/transport/src/queue.rs - queue::Place (line 48) - compile fail ... ok
test toyos-blockring/transport/src/queue.rs - queue::Place (line 36) ... ok

test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.27s

   Doc-tests toyos_tsc

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_untrusted

running 5 tests
test toyos-untrusted/src/lib.rs - Untrusted (line 107) - compile fail ... ok
test toyos-untrusted/src/lib.rs - Untrusted (line 126) - compile fail ... ok
test toyos-untrusted/src/lib.rs - Untrusted (line 113) - compile fail ... ok
test toyos-untrusted/src/lib.rs - Untrusted (line 119) - compile fail ... ok
test toyos-untrusted/src/lib.rs - Untrusted (line 134) ... ok

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.31s

   Doc-tests toyos_update

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_usbhid

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_userbound

running 6 tests
test toyos-userbound/src/firmware.rs - firmware::MemoryAt (line 134) - compile fail ... ok
test toyos-userbound/src/firmware.rs - firmware::SleepType (line 478) - compile fail ... ok
test toyos-userbound/src/firmware.rs - firmware::LockWordAt (line 242) - compile fail ... ok
test toyos-userbound/src/firmware.rs - firmware::FirmwareCall (line 329) - compile fail ... ok
test toyos-userbound/src/firmware.rs - firmware::PortAt (line 308) - compile fail ... ok
test toyos-userbound/src/firmware.rs - firmware::ConfigAt (line 428) - compile fail ... ok

test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s

   Doc-tests toyos_virtio

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_wallclock

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_xhci

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_xhci_sim

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

06:46:36 [ci] the workspace's host members: cargo test --workspace --exclude toyos-build --exclude bootloader --exclude kernel --exclude toyos --exclude acpiserver --exclude acpiserver-api --exclude toyos-aml --exclude calc --exclude compositor --exclude toyos-desktop --exclude console --exclude diskserver --exclude doom --exclude editor --exclude filepicker --exclude filepicker-api --exclude files --exclude fileserver --exclude host --exclude inspect --exclude kernelprobe --exclude logkeeper --exclude logkeeper-api --exclude metalprobe --exclude netstack --exclude toyos-mdns --exclude toyos-net-node --exclude paint --exclude pkg --exclude proctest --exclude shell --exclude snake --exclude soundserver --exclude toyos-mixer --exclude toyos-virtio-sound --exclude sprite --exclude sshserver --exclude supervisor --exclude swap --exclude symbolize --exclude terminal --exclude test-runner --exclude toybox --exclude toyfetch --exclude toyos-font --exclude toyos-pci-claim --exclude toyos-window --exclude trace --exclude update --exclude usbd

06:46:36 === [ci] the kernel's library
    Finished `test` profile [optimized + debuginfo] target(s) in 0.08s
     Running unittests pure/lib.rs (target/debug/deps/kernel-c59cf369e40e4e77)

running 186 tests
test bootwrite::tests::a_handler_that_holds_the_span_has_outlasted_it_on_either_cpu ... ok
test bootwrite::tests::a_handlers_time_is_not_the_kicks_and_the_kicks_is_not_the_handlers ... ok
test bootwrite::tests::a_kick_not_taken_in_the_span_is_a_deaf_boot_processor ... ok
test bootwrite::tests::a_take_the_clock_has_not_reached_is_waited_for ... ok
test bootwrite::tests::a_write_that_has_retired_is_never_judged_by_the_clock ... ok
test clock::tests::a_reading_after_boot_is_carried_back_to_it ... ok
test clock::tests::a_reading_at_boot_is_boot ... ok
test clock::tests::a_reading_before_boot_is_carried_forward_to_it ... ok
test clock::tests::a_tick_is_counted_at_its_period ... ok
test mtrr::tests::a_mask_with_no_address_bit_and_a_region_at_the_top_decide_without_overflow ... ok
test mtrr::tests::a_default_or_a_covering_register_of_no_defined_encoding_is_unknown ... ok
test mtrr::tests::a_range_no_register_covers_has_the_default_type ... ok
test mtrr::tests::registers_that_are_off_and_not_the_boot_processors_are_off ... ok
test mtrr::tests::a_register_types_its_region_to_the_last_byte_and_no_further ... ok
test mtrr::tests::registers_that_are_off_type_nothing_uncacheable ... ok
test mtrr::tests::registers_that_are_on_and_not_the_boot_processors_are_different ... ok
test mtrr::tests::registers_that_are_word_for_word_the_boot_processors_are_the_same ... ok
test mtrr::tests::two_registers_over_one_range_answer_as_the_architecture_orders_them ... ok
test dirnodes::tests::only_a_held_number_is_judged ... ok
test dirnodes::tests::a_removal_forgets_every_directory_it_ended_and_no_other ... ok
test dirnodes::tests::a_directory_is_one_number_and_two_are_two ... ok
test dirnodes::tests::a_number_lasts_exactly_as_long_as_its_directory ... ok
test pcid::oracle::tests::a_flush_between_two_owners_clears_the_alias ... ok
test pcid::oracle::tests::the_model_flags_a_live_reissue ... ok
test pcid::tests::a_freed_tag_waits_for_a_flush_before_it_is_reissued ... ok
test pipe::tests::an_end_dropped_with_the_ring_neither_empty_nor_full_is_gone ... ok
test pipe::tests::an_end_whose_other_end_is_held_is_not_told_it_is_gone ... ok
test pipe::tests::an_end_with_a_second_holder_outlives_the_first ... ok
test pipe::tests::readable_and_writable_say_nothing_of_the_other_end ... ok
test pipe::tests::the_last_holder_of_the_pipe_ends_it ... ok
test pcid::tests::two_live_address_spaces_never_share_a_pcid ... ok
test proclife::interleave::tests::a_process_that_kills_itself_ends ... ok
test proclife::interleave::tests::a_sibling_join_is_answered_however_the_two_interleave ... ok
test pcid::tests::churn_never_aliases_two_live_tags ... ok
test proclife::interleave::tests::a_kill_racing_a_spawn_leaves_no_unretired_thread ... ok
test proclife::interleave::tests::a_join_racing_the_kill_that_takes_its_target ... ok
test proclife::interleave::tests::a_spawn_racing_a_kill_and_the_pass_that_reaps_it ... ok
test proclife::interleave::tests::the_last_one_out_is_in_its_process_until_its_teardown_is_done ... ok
test proclife::interleave::tests::the_refusal_that_dropped_without_unmapping_is_the_leak_l5_reports ... ok
test proclife::interleave::tests::a_published_exit_leaves_no_unretired_thread ... ok
test proclife::interleave::tests::an_exit_and_a_kill_never_both_tear_a_process_down ... ok
test proclife::join::tests::a_join_asked_after_it_collected_keeps_its_answer ... ok
test proclife::join::tests::a_live_thread_answers_wait_and_stays_in_the_table ... ok
test proclife::join::tests::a_process_being_torn_down_gives_up_no_thread ... ok
test proclife::join::tests::a_settled_join_does_not_take_the_table_again ... ok
test proclife::join::tests::a_zombie_is_answered_once_and_the_second_join_finds_nothing ... ok
test proclife::join::tests::the_two_refusals_are_told_apart ... ok
test proclife::pids::tests::a_pid_given_back_is_taken_again ... ok
test proclife::pids::tests::pids_are_issued_in_order_from_zero ... ok
test proclife::pids::tests::the_last_pid_is_one_below_max_and_none_follows_it ... ok
test proclife::interleave::tests::a_reap_racing_a_teardown_and_a_join_breaks_no_law ... ok
test proclife::reap::tests::nothing_is_taken_from_a_table_of_live_processes ... ok
test proclife::reap::tests::only_the_published_are_taken_and_they_come_back_in_pid_order ... ok
test proclife::spawn::tests::a_claimed_process_refuses_at_the_insert_too ... ok
test proclife::spawn::tests::a_claimed_process_refuses_at_the_start_in_both_arms ... ok
test proclife::spawn::tests::a_live_process_admits_a_thread_at_both_moments ... ok
test proclife::spawn::tests::a_missing_entry_is_refused_by_name_and_not_by_the_teardown_flag ... ok
test proclife::spawn::tests::a_full_process_refuses_at_the_start_until_a_join_collects ... ok
test proclife::teardown::tests::a_main_threads_exit_is_the_processs ... ok
test proclife::teardown::tests::a_process_that_is_gone_grants_no_claim ... ok
test proclife::teardown::tests::a_sibling_join_is_released_by_the_sibling_it_named ... ok
test proclife::interleave::tests::a_sibling_exit_a_spawn_and_the_processs_own_exit ... ok
test proclife::teardown::tests::exactly_one_claimant_wins_however_many_arrive ... ok
test proclife::teardown::tests::only_the_thread_that_empties_a_claimed_process_tears_it_down ... ok
test proclife::teardown::tests::the_retire_set_is_every_thread_still_in_but_the_caller ... ok
test proclife::interleave::tests::a_kill_chain_of_three_ends ... ok
test proclife::tree::tests::a_child_landed_under_a_place_claimed_since_its_admission_is_claimed_with_it ... ok
test proclife::teardown::tests::a_thread_leaves_once - should panic ... ok
test proclife::tree::tests::a_chain_is_refused_at_max_depth_plus_one_below_the_supervisor ... ok
test proclife::spawn::tests::the_insert_refuses_the_spawn_a_sibling_filled_the_process_under ... ok
test proclife::tree::tests::a_place_being_torn_down_admits_nothing ... ok
test proclife::tree::tests::a_published_child_leaves_its_parents_children ... ok
test proclife::tree::tests::a_spawn_past_the_last_pid_is_refused_and_a_refused_spawn_spends_none ... ok
test sched::cpu::pass_cost_tests::a_bucket_is_a_power_of_two_wide ... ok
test sched::cpu::pass_cost_tests::a_quantile_follows_the_mass_and_not_the_tail ... ok
test sched::cpu::pass_cost_tests::the_recorder_counts_what_it_was_given ... ok
test sched::cpu::tests::a_cpu_does_not_hand_over_the_context_it_is_still_standing_on ... ok
test sched::cpu::tests::a_corpse_is_not_starved_for_ever_by_a_spinning_rt_task ... ok
test sched::cpu::tests::a_dying_task_is_picked_before_the_fair_queue ... ok
test sched::cpu::tests::a_dying_task_resumes_when_the_rt_band_empties ... ok
test sched::cpu::tests::a_dying_task_that_exits_is_released_by_its_own_death ... ok
test sched::cpu::tests::a_killed_rt_thread_unwinds_in_the_normal_band ... ok
test sched::cpu::tests::a_killed_task_does_not_starve_a_ready_rt_task ... ok
test sched::cpu::tests::a_killed_task_loses_the_cpu_before_its_quantum_expires ... ok
test sched::cpu::tests::a_killed_task_that_expires_its_quantum_goes_back_to_the_dying_list ... ok
test sched::cpu::tests::a_killed_task_that_expires_its_quantum_yields_to_a_ready_rt_task ... ok
test sched::cpu::tests::a_killed_task_that_yields_goes_back_to_the_dying_list ... ok
test sched::cpu::tests::a_live_fair_task_loses_the_cpu_to_a_ready_rt_task ... ok
test sched::cpu::tests::a_retire_moves_a_ready_task_to_the_dying_list ... ok
test sched::cpu::tests::a_retire_of_the_running_task_asks_for_a_safe_point ... ok
test sched::cpu::tests::a_retire_that_loses_the_claim_leaves_the_wake_in_flight ... ok
test sched::cpu::tests::a_retire_wakes_a_parked_task_so_it_can_unwind ... ok
test sched::cpu::tests::a_running_task_refuses_the_parked_mark ... ok
test sched::cpu::tests::a_spawned_task_is_adopted_and_dispatched ... ok
test sched::cpu::tests::a_steal_probe_goes_to_surplus_and_not_to_a_cpu_full_of_corpses ... ok
test sched::cpu::tests::a_stopped_task_is_never_picked_again ... ok
test sched::cpu::tests::a_wake_for_a_stopped_task_lands_in_the_band_and_not_the_run_queue ... ok
test sched::cpu::tests::a_stopped_task_is_not_published_as_load ... ok
test sched::cpu::tests::an_adopt_of_a_killed_task_dispatches_it_on_arrival ... ok
test sched::cpu::tests::an_unwind_under_saturated_rt_is_stretched_by_the_age_ratio ... ok
test sched::cpu::tests::placement_believes_a_cpu_that_answers_and_no_other ... ok
test sched::cpu::tests::an_aged_grant_is_not_undone_by_a_pass_inside_its_chunk ... ok
test sched::cpu::tests::stopping_outranks_killing ... ok
test sched::cpu::tests::the_balance_path_keeps_a_killed_task_rather_than_migrating_it ... ok
test sched::cpu::tests::the_dying_list_is_served_oldest_first ... ok
test sched::cpu::tests::the_pick_dispatches_a_killed_task_so_it_can_unwind ... ok
test sched::fair::tests::charge_accumulates_and_saturates ... ok
test sched::fair::tests::charge_nonrunnable_is_a_bug ... ok
test sched::fair::tests::frontier_is_monotonic ... ok
test sched::fair::tests::lag_clamps_in_both_directions ... ok
test sched::fair::tests::leave_stores_lag_and_wake_rederives_vruntime ... ok
test sched::fair::tests::leave_when_nonrunnable_is_a_noop ... ok
test sched::fair::tests::new_process_starts_at_frontier_with_zero_lag ... ok
test sched::fair::tests::nonrunnable_vruntime_tracks_the_live_frontier ... ok
test sched::fair::tests::refcount_tracks_runnable_threads ... ok
test sched::mailbox::tests::a_node_carries_one_message_at_a_time ... ok
test sched::mailbox::tests::doorbell_kick_policy ... ok
test sched::mailbox::tests::fifo_across_nodes_and_recycling ... ok
test sched::mailbox::tests::dropping_a_queued_node_is_loud - should panic ... ok
test sched::mailbox::tests::releasing_an_unposted_claim_frees_the_node ... ok
test sched::mailbox::tests::sleep_needs_an_empty_mailbox_and_a_quiet_doorbell ... ok
test sched::park::tests::a_boosted_notify_always_kicks ... ok
test sched::park::tests::a_kill_beats_a_pre_park_claim_to_the_commit ... ok
test sched::park::tests::a_kill_that_lands_before_the_commit_refuses_the_park ... ok
test sched::park::tests::a_notify_before_phase_one_refuses_it ... ok
test sched::park::tests::a_notify_before_the_commit_refuses_the_park_and_sends_nothing ... ok
test sched::park::tests::an_uncancellable_ticket_parks_a_killed_task ... ok
test sched::park::tests::cancel_reports_a_claim_it_lost ... ok
test sched::park::tests::one_wake_node_serves_the_whole_lifecycle ... ok
test sched::park::tests::park_then_notify_delivers_exactly_one_message ... ok
test sched::park::tests::dropping_a_ticket_is_loud - should panic ... ok
test sched::retire::tests::a_wake_and_a_retire_ride_distinct_nodes ... ok
test sched::retire::tests::retire_goes_to_the_home_cpu_and_always_kicks ... ok
test sched::retire::tests::retiring_a_dead_task_posts_nothing ... ok
test sched::retire::tests::a_second_retirer_fails_fast - should panic ... ok
test sched::retire::tests::the_chase_reuses_the_same_node ... ok
test sched::retire::tests::the_kill_bit_is_set_before_the_kick_and_before_the_chase_kick ... ok
test sched::task::tests::a_dead_task_takes_no_post ... ok
test sched::task::tests::a_post_before_the_commit_refuses_it ... ok
test sched::task::tests::a_post_claims_a_waiter_it_finds_parked_or_committing ... ok
test sched::task::tests::a_second_retirer_is_refused ... ok
test sched::task::tests::a_stale_generation_cannot_park_the_task ... ok
test sched::task::tests::a_wake_between_registration_and_commit_refuses_the_park ... ok
test sched::task::tests::cancel_reports_a_claim_it_lost ... ok
test sched::task::tests::claims_on_anything_but_a_waiter_are_lost ... ok
test sched::task::tests::an_edge_outside_the_table_panics - should panic ... ok
test sched::task::tests::park_then_wake_is_the_ordinary_path ... ok
test sched::task::tests::registration_forgets_a_post_or_revoke_to_an_earlier_wait ... ok
test sched::task::tests::sticky_bits_survive_transitions ... ok
test sched::task::tests::stopping_outranks_killing_at_a_safe_point ... ok
test sched::task::tests::wait_membership_is_single_watch ... ok
test sched::task::tests::word_roundtrips_every_state ... ok
test sched::watch::tests::a_bounded_post_skips_a_waiter_that_was_not_parked ... ok
test sched::watch::tests::a_post_between_registration_and_park_is_not_lost ... ok
test sched::watch::tests::a_post_in_place_fires_and_drops_nothing ... ok
test sched::watch::tests::a_post_wakes_every_parked_thread_and_fires_every_ring ... ok
test sched::watch::tests::a_registration_sweeps_the_entries_that_can_no_longer_fire ... ok
test sched::watch::tests::a_revoke_takes_the_registration_out_before_it_wakes ... ok
test sched::watch::tests::a_revoked_waiter_cannot_park_again ... ok
test sched::watch::tests::a_sweep_drops_what_it_took_out_with_the_list_lock_let_go ... ok
test sched::watch::tests::a_waiter_revoked_before_it_parks_cannot_park ... ok
test sched::watch::tests::a_waiter_revoked_while_it_commits_cannot_park ... ok
test sched::watch::tests::a_second_registration_is_loud - should panic ... ok
test sched::watch::tests::cancel_and_drop_answer_every_live_poll_as_gone ... ok
test sched::watch_list::a_list_outgrowing_the_buffer_sized_for_it_is_not_moved_into_it ... ok
test sched::watch_list::a_post_of_one_entry_past_its_stack_fires_each_once_and_frees_none_under_the_lock ... ok
test sched::watch_list::a_re_arm_after_a_post_of_few_entries_is_one_section ... ok
test sched::watch_list::nothing_allocates_or_frees_under_the_list_lock_and_a_post_in_place_frees_nothing ... ok
test sched::windows::tests::a_pass_ends_the_preemption_off_window_and_starts_the_next ... ok
test sched::windows::tests::a_start_counts_from_how_the_cpu_stands ... ok
test sched::windows::tests::a_whole_set_opens_or_closes_only_across_zero ... ok
test sched::windows::tests::an_interrupts_off_window_is_mask_to_unmask_and_the_longest_is_taken_once ... ok
test sched::windows::tests::an_untracked_cpu_records_and_refuses_nothing ... ok
test sched::windows::tests::every_transition_nothing_reported_before_is_named ... ok
test sched::windows::tests::only_a_crossing_of_zero_opens_or_closes_a_preemption_off_window ... ok
test sched::windows::tests::the_idle_halt_inside_a_pass_is_no_window ... ok
test proclife::interleave::tests::an_exit_whose_sibling_kills_the_process_killing_it ... ok
test proclife::interleave::tests::two_spawns_race_one_teardown ... ok
test proclife::interleave::tests::two_processes_killing_each_other_both_end ... ok
test pcid::oracle::tests::the_owned_allocator_admits_no_cross_space_read ... ok
test proclife::interleave::tests::a_sibling_closing_a_spawns_handle_before_the_spawn_returns ... ok
test proclife::interleave::tests::a_spawn_racing_the_kill_of_its_own_spawner ... ok
test proclife::interleave::tests::a_childs_exit_racing_its_parents_kill ... ok
test proclife::interleave::tests::a_spawn_racing_its_places_kill_leaves_nothing_under_it_and_publishes_it ... ok
test proclife::interleave::tests::an_exit_publishes_after_every_end_below_it ... ok
test proclife::interleave::tests::a_spawn_under_an_unrelated_process_lands_between_two_claims_of_one_walk ... ok

test result: ok. 186 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s

06:46:37 [ci] the kernel's library: cargo test -p kernel --lib --features sched-check

06:46:37 === [ci] the licences of what ships
06:46:38   NOTICE section tests/testcases/ (LGPL-2.1-or-later AND BSD-3-Clause AND (MIT OR Apache-2.0)) is not shipped
06:46:38   NOTICE section "Rust crates and the forks" names no files: every crate, fork or not, is judged by the crate half of this gate
06:46:38   NOTICE section "licenses/CDLA-Permissive-2.0-webpki-root-certs.txt — the Mozilla roots, CDLA-Permissive-2.0" names no files: the roots the build writes out of a crate are judged, with this text beside them, by `judge_trust_roots`
06:46:38   NOTICE section tests/cavp/ (NIST-PD) is not shipped
06:46:38   crate fortanix-sgx-abi 0.6.1 (registry+https://github.com/rust-lang/crates.io-index) is MPL-2.0, via std → fortanix-sgx-abi [x86_64-fortanix-unknown-sgx]
06:46:38   crate doom 0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/userland/doom/Cargo.toml) is "GPL-2.0-only": not allowed: GPL-2.0-only; pulled in by doom
    EXCEPTED, pending the owner, issues/a-package-is-a-directory-under-apps-and-the-installer-is-a-program.md: /system/bin/doom links doomgeneric, id's Doom source by way of Chocolate Doom (NOTICE); it leaves the image as a package at the stage where the apps leave this repository
06:46:38   crate windows-sys 0.61.100 (/Users/<user>/Dev/jan/toyos-dirid/rust/library/windows-sys/Cargo.toml) is "": declares no licence; pulled in by std → dlmalloc [cfg(any(all(target_family = "wasm", not(any(unix, target_os = "wasi"))), target_os = "xous", target_os = "vexos", target_os = "toyos", all(target_vendor = "fortanix", target_env = "sgx")))] → windows-sys [cfg(target_os = "windows")]
    EXCEPTED, reached only under cfg(target_os = "windows"): std's empty in-tree stand-in for windows-sys, which declares no licence
06:46:38   crate windows-link 0.0.0 (/Users/<user>/Dev/jan/toyos-dirid/rust/library/windows_link/Cargo.toml) is "": declares no licence; pulled in by std → windows-link [cfg(any(windows, target_os = "cygwin"))]
    EXCEPTED, reached only under cfg(any(windows, target_os = "cygwin")): std's in-tree stand-in for windows-link, which declares no licence
06:46:38   file assets/DOOM1.WAD is "LicenseRef-id-Software-DOOM1-Shareware": not allowed: LicenseRef-id-Software-DOOM1-Shareware; pulled in by COMMITTED_FILES
    EXCEPTED, pending the owner, issues/a-package-is-a-directory-under-apps-and-the-installer-is-a-program.md: id's shareware terms: redistributable unmodified and not for consideration, so an image carrying it may not be sold (NOTICE); it leaves with doom
06:46:38   file assets/soundfont.sf2 is "LicenseRef-GeneralUser-GS-2.0": not allowed: LicenseRef-GeneralUser-GS-2.0; pulled in by COMMITTED_FILES
    EXCEPTED, pending the owner, issues/a-package-is-a-directory-under-apps-and-the-installer-is-a-program.md: GeneralUser GS's own permissive licence, no standard one, with its author's caveat on where the samples came from (NOTICE); doom alone opens it, and it leaves with doom
06:46:38   NOTICE section userland/doom is "GPL-2.0-or-later": not allowed: GPL-2.0-or-later; pulled in by NOTICE
    EXCEPTED, pending the owner, issues/a-package-is-a-directory-under-apps-and-the-installer-is-a-program.md: doomgeneric, the C half of the doom crate, fetched at build time and compiled into it; it leaves with doom
06:46:38 [ci] the licences of what ships: 6 exception(s) stand, and nothing else is refused

06:46:38 === [ci] clippy and the bare targets
info: component clippy is up to date
info: component rust-std for target x86_64-unknown-none is up to date
info: component rust-std for target x86_64-unknown-uefi is up to date
info: component rust-std for target aarch64-unknown-none-softfloat is up to date
info: component rust-std for target aarch64-unknown-uefi is up to date
06:46:38 [ci] clippy and the bare targets: installed

06:46:38 === [ci] clippy, warnings denied
06:46:38 === clippy: cargo clippy --workspace $GUESTS --all-targets --keep-going -- $ADOPTED -D warnings
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.29s
06:46:39 === clippy: cargo clippy --workspace $GUESTS --all-targets --keep-going --features $CONTROLS -- $ADOPTED -D warnings
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.14s
06:46:39 === clippy: cargo clippy -p kernel --lib --tests --features sched-check -- $ADOPTED -D warnings
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.07s
06:46:39 === clippy: cargo clippy -p kernel --lib --tests --features sched-check,protocol-port --features $KERNEL_CONTROLS -- $ADOPTED -D warnings
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.07s
06:46:39 === clippy: cargo clippy -p kernel --target x86_64-unknown-none -- $ADOPTED -D warnings
    Checking kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel)
    Finished `dev` profile [optimized + debuginfo] target(s) in 2.17s
06:46:41 === clippy: cargo clippy -p kernel --target x86_64-unknown-none --features boot-actuators,test-actuators -- $ADOPTED -D warnings
    Checking kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel)
    Finished `dev` profile [optimized + debuginfo] target(s) in 2.23s
06:46:44 === clippy: cargo clippy -p kernel --target x86_64-unknown-none --features boot-actuators -- $ADOPTED -D warnings
    Checking kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel)
    Finished `dev` profile [optimized + debuginfo] target(s) in 2.09s
06:46:46 === clippy: cargo clippy -p kernel --target x86_64-unknown-none --features debug-wait,sched-check,sched-tripwire,heap-tripwire,heap-sweep,pass-spin,stack-witness,switch-witness,switch-witness-mutate-frame,switch-witness-mutate-rsp,df-witness,df-witness-mutate,entry-df-unclean,mask-windows -- $ADOPTED -D warnings
    Checking kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel)
    Finished `dev` profile [optimized + debuginfo] target(s) in 1.99s
06:46:48 === clippy: cargo clippy -p kernel --target x86_64-unknown-none --features heap-band-notail,heap-lockspin -- $ADOPTED -D warnings
    Checking kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel)
    Finished `dev` profile [optimized + debuginfo] target(s) in 1.98s
06:46:50 === clippy: cargo clippy -p kernel --target x86_64-unknown-none --features heap-band-nohead -- $ADOPTED -D warnings
    Checking kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel)
    Finished `dev` profile [optimized + debuginfo] target(s) in 2.04s
06:46:52 === clippy: cargo clippy -p kernel --target aarch64-unknown-none-softfloat -- $ADOPTED -D warnings
    Checking kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel)
    Finished `dev` profile [optimized + debuginfo] target(s) in 1.96s
06:46:54 === clippy: cargo clippy -p kernel --target aarch64-unknown-none-softfloat --features boot-actuators,test-actuators -- $ADOPTED -D warnings
    Checking kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel)
    Finished `dev` profile [optimized + debuginfo] target(s) in 1.89s
06:46:56 === clippy: cargo clippy -p kernel --target aarch64-unknown-none-softfloat --features boot-actuators -- $ADOPTED -D warnings
    Checking kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel)
    Finished `dev` profile [optimized + debuginfo] target(s) in 1.88s
06:46:58 === clippy: cargo clippy -p kernel --target aarch64-unknown-none-softfloat --features debug-wait,sched-check,sched-tripwire,heap-tripwire,heap-sweep,pass-spin,stack-witness,switch-witness,switch-witness-mutate-frame,switch-witness-mutate-rsp,mask-windows -- $ADOPTED -D warnings
    Checking kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel)
    Finished `dev` profile [optimized + debuginfo] target(s) in 1.83s
06:47:00 === clippy: cargo clippy -p bootloader --target x86_64-unknown-uefi -- $ADOPTED -W clippy::undocumented_unsafe_blocks -D warnings
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.11s
06:47:00 === clippy: cargo clippy -p bootloader --target aarch64-unknown-uefi -- $ADOPTED -W clippy::undocumented_unsafe_blocks -D warnings
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.10s
06:47:00 === clippy: cargo clippy -p toyos-xhci --all-targets -- $ADOPTED -D warnings
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.07s
06:47:00 === clippy: cargo clippy -p toyos-pci-claim --all-targets --features host-grant --no-deps --target-dir target/clippy-pci-claim -- $ADOPTED -D warnings
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.07s
06:47:01 === clippy: cargo clippy -p kernel-loom --test loom_mailbox --features victim-retires-mid-probe -- $ADOPTED -D warnings
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.08s
06:47:01 === clippy: cargo clippy -p toyos-abi --all-targets --keep-going --target-dir target/clippy-abi -- -W clippy::undocumented_unsafe_blocks -D warnings
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.07s
06:47:01 === clippy: cargo clippy --manifest-path userland/acpiserver/aml/Cargo.toml --all-targets -- $ADOPTED -D warnings
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.07s
06:47:01 === clippy: cargo clippy --manifest-path userland/compositor/desktop/Cargo.toml --all-targets -- $ADOPTED -D warnings
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.07s
06:47:01 === clippy: cargo clippy --manifest-path userland/netstack/mdns/Cargo.toml --all-targets -- $ADOPTED -D warnings
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.07s
06:47:01 === clippy: cargo clippy --manifest-path userland/netstack/node/Cargo.toml --all-targets -- $ADOPTED -D warnings
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.11s
06:47:01 === clippy: cargo clippy --manifest-path userland/soundserver/mixer/Cargo.toml --all-targets -- $ADOPTED -D warnings
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.10s
06:47:02 === clippy: cargo clippy --manifest-path userland/soundserver/virtio-sound/Cargo.toml --all-targets -- $ADOPTED -D warnings
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.19s
06:47:02 [ci] clippy, warnings denied: clean

06:47:02 === [ci] kernel-loom without loom
    Finished `test` profile [optimized + debuginfo] target(s) in 0.39s
     Running tests/log_body_words.rs (target/debug/deps/log_body_words-ba761697c24e5cd1)

running 2 tests
test a_shorter_record_does_not_inherit_the_longer_one_it_replaced ... ok
test every_field_survives_the_word_packing ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/log_cursor.rs (target/debug/deps/log_cursor-b3271d086aa5f722)

running 2 tests
test a_cursor_ahead_of_a_shard_is_refused ... ok
test a_cursors_loss_claim_is_not_read ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/log_zeroed_init.rs (target/debug/deps/log_zeroed_init-f65a416c9f0ef2f9)

running 1 test
test a_zero_allocated_ap_shard_issues_first_seq_first ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

06:47:03 [ci] kernel-loom without loom: cargo test -p kernel-loom --no-default-features --test log_zeroed_init --test log_body_words --test log_cursor

06:47:03 === [ci] control `wake-fence-off`
    Finished `test` profile [optimized + debuginfo] target(s) in 0.08s
     Running tests/log_wake.rs (target/debug/deps/log_wake-fd96f3dce4f325b5)

running 1 test
test a_commit_and_an_arm_cannot_both_miss ... FAILED

failures:

---- a_commit_and_an_arm_cannot_both_miss stdout ----

thread 'a_commit_and_an_arm_cannot_both_miss' (279766561) panicked at kernel/loom/tests/log_wake.rs:98:9:
the producer posted nothing and the reader decided to park: a committed record is left with a parked reader, and only a missing fence can produce it
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    a_commit_and_an_arm_cannot_both_miss

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 1 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel-loom --test log_wake`
06:47:03 [ci] control `wake-fence-off`: 1 verdict(s) reached

06:47:03 === [ci] control `lock-acquire-off`
    Finished `test` profile [optimized + debuginfo] target(s) in 0.08s
     Running tests/ticket_lock.rs (target/debug/deps/ticket_lock-1441b3e0d5540721)

running 1 test
test try_lock_observes_the_previous_owners_writes ... FAILED

failures:

---- try_lock_observes_the_previous_owners_writes stdout ----

thread 'try_lock_observes_the_previous_owners_writes' (279766616) panicked at /Users/<user>/.cargo/git/checkouts/loom-906f299ec1581ba6/dfe3797/src/rt/location.rs:115:9:
Causality violation: Concurrent write accesses to `UnsafeCell`.

note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    try_lock_observes_the_previous_owners_writes

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 2 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel-loom --test ticket_lock`
06:47:03 [ci] control `lock-acquire-off`: 1 verdict(s) reached

06:47:03 === [ci] control `owed-fence-off`
    Finished `test` profile [optimized + debuginfo] target(s) in 0.08s
     Running tests/owed_lock.rs (target/debug/deps/owed_lock-2028f07743415783)

running 1 test
test a_turned_away_cpu_holds_the_lock_or_is_answered ... FAILED

failures:

---- a_turned_away_cpu_holds_the_lock_or_is_answered stdout ----

thread 'a_turned_away_cpu_holds_the_lock_or_is_answered' (279766665) panicked at kernel/loom/tests/owed_lock.rs:52:9:
cpu 3 was turned away and nobody answered it
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    a_turned_away_cpu_holds_the_lock_or_is_answered

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel-loom --test owed_lock`
06:47:03 [ci] control `owed-fence-off`: 1 verdict(s) reached

06:47:03 === [ci] control `seqlock-writer-fence-off`
    Finished `test` profile [optimized + debuginfo] target(s) in 0.08s
     Running tests/panic_console_publish.rs (target/debug/deps/panic_console_publish-f3e00ff7db7a9c08)

running 1 test
test a_snapshot_is_one_publication_whole ... FAILED

failures:

---- a_snapshot_is_one_publication_whole stdout ----

thread 'a_snapshot_is_one_publication_whole' (279766710) panicked at kernel/loom/tests/panic_console_publish.rs:28:13:
a snapshot kept two publications' words: [1, 1, 1, 2]
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    a_snapshot_is_one_publication_whole

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel-loom --test panic_console_publish`
06:47:03 [ci] control `seqlock-writer-fence-off`: 1 verdict(s) reached

06:47:03 === [ci] control `serial-try-lock-then-some`
    Finished `test` profile [optimized + debuginfo] target(s) in 0.08s
     Running tests/serial_lock.rs (target/debug/deps/serial_lock-f65ea87dbf3a7210)

running 2 tests
test a_lost_try_lock_leaves_the_lock_held ... FAILED
test two_writers_never_overlap ... FAILED

failures:

---- a_lost_try_lock_leaves_the_lock_held stdout ----

thread 'a_lost_try_lock_leaves_the_lock_held' (279766756) panicked at kernel/loom/tests/serial_lock.rs:24:9:
a lost try_lock released the lock its holder still has
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

---- two_writers_never_overlap stdout ----

thread 'two_writers_never_overlap' (279766757) panicked at /Users/<user>/.cargo/git/checkouts/loom-906f299ec1581ba6/dfe3797/src/rt/location.rs:115:9:
Causality violation: Concurrent write accesses to `UnsafeCell`.



failures:
    a_lost_try_lock_leaves_the_lock_held
    two_writers_never_overlap

test result: FAILED. 0 passed; 2 failed; 0 ignored; 0 measured; 7 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel-loom --test serial_lock`
06:47:04 [ci] control `serial-try-lock-then-some`: 2 verdict(s) reached

06:47:04 === [ci] control `reap-raise-relaxed`
    Finished `test` profile [optimized + debuginfo] target(s) in 0.08s
     Running tests/reap_gate.rs (target/debug/deps/reap_gate-a6fae9c43f3f99ca)

running 1 test
test a_claim_sees_the_enrolled_work ... FAILED

failures:

---- a_claim_sees_the_enrolled_work stdout ----

thread 'a_claim_sees_the_enrolled_work' (279766831) panicked at kernel/loom/tests/reap_gate.rs:97:13:
assertion `left == right` failed: a claimed gate handed the reaper an unpublished exit — the raise did not carry the work it was raised for
  left: 0
 right: 1
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    a_claim_sees_the_enrolled_work

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 3 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel-loom --test reap_gate`
06:47:04 [ci] control `reap-raise-relaxed`: 1 verdict(s) reached

06:47:04 === [ci] control `shootdown-serve-relaxed`
    Finished `test` profile [optimized + debuginfo] target(s) in 0.08s
     Running tests/tlb_shootdown.rs (target/debug/deps/tlb_shootdown-a2e346343d56fb12)

running 2 tests
test an_acknowledged_flush_postdates_the_page_table_write ... FAILED
test one_serve_answers_two_concurrent_shootdowns ... FAILED

failures:

---- an_acknowledged_flush_postdates_the_page_table_write stdout ----

thread 'an_acknowledged_flush_postdates_the_page_table_write' (279766880) panicked at kernel/loom/tests/tlb_shootdown.rs:142:13:
assertion `left == right` failed: cpu 1 acknowledged the shootdown while still holding a translation for the page the initiator is about to free
  left: 1
 right: 0
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

---- one_serve_answers_two_concurrent_shootdowns stdout ----

thread 'one_serve_answers_two_concurrent_shootdowns' (279766881) panicked at kernel/loom/tests/tlb_shootdown.rs:181:13:
assertion `left == right` failed: the first initiator freed a page cpu 1 could still reach
  left: 1
 right: 0


failures:
    an_acknowledged_flush_postdates_the_page_table_write
    one_serve_answers_two_concurrent_shootdowns

test result: FAILED. 0 passed; 2 failed; 0 ignored; 0 measured; 2 filtered out; finished in 0.16s

error: test failed, to rerun pass `-p kernel-loom --test tlb_shootdown`
06:47:04 [ci] control `shootdown-serve-relaxed`: 2 verdict(s) reached

06:47:04 === [ci] control `shootdown-served-relaxed`
    Finished `test` profile [optimized + debuginfo] target(s) in 0.07s
     Running tests/counters_round.rs (target/debug/deps/counters_round-2f4dae6a97ddac0b)

running 1 test
test a_cpu_read_as_answered_is_read_with_its_answer ... FAILED

failures:

---- a_cpu_read_as_answered_is_read_with_its_answer stdout ----

thread 'a_cpu_read_as_answered_is_read_with_its_answer' (279766933) panicked at kernel/loom/tests/counters_round.rs:57:17:
assertion `left == right` failed: cpu 1 read as having answered the round, and its block did not copy out that answer
  left: None
 right: Some([2, 2])
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    a_cpu_read_as_answered_is_read_with_its_answer

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel-loom --test counters_round`
06:47:04 [ci] control `shootdown-served-relaxed`: 1 verdict(s) reached

06:47:04 === [ci] control `roster-commit-relaxed`
    Finished `test` profile [optimized + debuginfo] target(s) in 0.08s
     Running tests/smp_bringup.rs (target/debug/deps/smp_bringup-890aba1ad9e2e955)

running 1 test
test a_committed_count_never_outruns_its_slot ... FAILED

failures:

---- a_committed_count_never_outruns_its_slot stdout ----

thread 'a_committed_count_never_outruns_its_slot' (279766978) panicked at kernel/loom/tests/smp_bringup.rs:50:17:
assertion `left == right` failed: a reader saw cpu1 counted while its hardware-id slot was still unfilled
  left: 4294967295
 right: 7
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    a_committed_count_never_outruns_its_slot

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 2 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel-loom --test smp_bringup`
06:47:04 [ci] control `roster-commit-relaxed`: 1 verdict(s) reached

06:47:04 === [ci] control `smp-ready-split`
    Finished `test` profile [optimized + debuginfo] target(s) in 0.08s
     Running tests/smp_bringup.rs (target/debug/deps/smp_bringup-12b06e12df4049d5)

running 1 test
test a_released_machine_is_answering ... FAILED

failures:

---- a_released_machine_is_answering stdout ----

thread 'a_released_machine_is_answering' (279767023) panicked at kernel/loom/tests/smp_bringup.rs:83:21:
a CPU saw the machine released but not answering: a shootdown here is local-only and skips an AP that may already have joined
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    a_released_machine_is_answering

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 2 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel-loom --test smp_bringup`
06:47:05 [ci] control `smp-ready-split`: 1 verdict(s) reached

06:47:05 === [ci] control `log-commit-release-off`
    Finished `test` profile [optimized + debuginfo] target(s) in 0.08s
     Running tests/log_record.rs (target/debug/deps/log_record-8901e25c649904e8)

running 2 tests
test a_committed_record_is_whole_or_absent ... FAILED
test a_key_and_the_record_it_names_come_from_one_generation ... FAILED

failures:

---- a_committed_record_is_whole_or_absent stdout ----

thread 'a_committed_record_is_whole_or_absent' (279767071) panicked at kernel/loom/tests/log_record.rs:82:5:
assertion `left == right` failed: torn: at_ns is another record's
  left: 0
 right: 1007
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

---- a_key_and_the_record_it_names_come_from_one_generation stdout ----

thread 'a_key_and_the_record_it_names_come_from_one_generation' (279767072) panicked at kernel/loom/tests/log_record.rs:355:13:
assertion `left == right` failed: a key from the generation the slot used to hold
  left: 1007
 right: 5007


failures:
    a_committed_record_is_whole_or_absent
    a_key_and_the_record_it_names_come_from_one_generation

test result: FAILED. 0 passed; 2 failed; 0 ignored; 0 measured; 5 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel-loom --test log_record`
06:47:05 [ci] control `log-commit-release-off`: 2 verdict(s) reached

06:47:05 === [ci] control `shard-publish-relaxed`
    Finished `test` profile [optimized + debuginfo] target(s) in 0.07s
     Running tests/log_publish.rs (target/debug/deps/log_publish-69909270b5c9854c)

running 1 test
test a_reader_that_finds_a_shard_finds_it_built ... FAILED

failures:

---- a_reader_that_finds_a_shard_finds_it_built stdout ----

thread 'a_reader_that_finds_a_shard_finds_it_built' (279767117) panicked at /Users/<user>/.cargo/git/checkouts/loom-906f299ec1581ba6/dfe3797/src/rt/location.rs:115:9:
Causality violation: Concurrent load and mut accesses.

note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    a_reader_that_finds_a_shard_finds_it_built

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 1 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel-loom --test log_publish`
06:47:05 [ci] control `shard-publish-relaxed`: 1 verdict(s) reached

06:47:05 === [ci] control `log-ring-publish-relaxed`
    Finished `test` profile [optimized + debuginfo] target(s) in 0.08s
     Running tests/log_ring.rs (target/debug/deps/log_ring-fd5970f45225a9ad)

running 3 tests
test a_lane_publishes_whole_and_reuses_only_after_a_read ... FAILED
test a_slot_is_reused_only_after_its_record_was_read ... FAILED
test a_published_record_is_whole_and_read_once ... FAILED

failures:

---- a_lane_publishes_whole_and_reuses_only_after_a_read stdout ----

thread 'a_lane_publishes_whole_and_reuses_only_after_a_read' (279767199) panicked at /Users/<user>/.cargo/git/checkouts/loom-906f299ec1581ba6/dfe3797/src/rt/location.rs:115:9:
Causality violation: Concurrent read and write accesses.

note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

---- a_slot_is_reused_only_after_its_record_was_read stdout ----

thread 'a_slot_is_reused_only_after_its_record_was_read' (279767201) panicked at /Users/<user>/.cargo/git/checkouts/loom-906f299ec1581ba6/dfe3797/src/rt/location.rs:115:9:
Causality violation: Concurrent read and write accesses.


---- a_published_record_is_whole_and_read_once stdout ----

thread 'a_published_record_is_whole_and_read_once' (279767200) panicked at /Users/<user>/.cargo/git/checkouts/loom-906f299ec1581ba6/dfe3797/src/rt/location.rs:115:9:
Causality violation: Concurrent read and write accesses.



failures:
    a_lane_publishes_whole_and_reuses_only_after_a_read
    a_published_record_is_whole_and_read_once
    a_slot_is_reused_only_after_its_record_was_read

test result: FAILED. 0 passed; 3 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

error: test failed, to rerun pass `-p kernel-loom --test log_ring`
06:47:05 [ci] control `log-ring-publish-relaxed`: 3 verdict(s) reached

06:47:05 === [ci] control `log-ring-tail-relaxed`
    Finished `test` profile [optimized + debuginfo] target(s) in 0.08s
     Running tests/log_ring.rs (target/debug/deps/log_ring-65fb5473d901dbfd)

running 3 tests
test a_slot_is_reused_only_after_its_record_was_read ... FAILED
test a_lane_publishes_whole_and_reuses_only_after_a_read ... FAILED
test a_published_record_is_whole_and_read_once ... FAILED

failures:

---- a_slot_is_reused_only_after_its_record_was_read stdout ----

thread 'a_slot_is_reused_only_after_its_record_was_read' (279767248) panicked at /Users/<user>/.cargo/git/checkouts/loom-906f299ec1581ba6/dfe3797/src/rt/location.rs:115:9:
Causality violation: Concurrent read and write accesses to `UnsafeCell`.


---- a_lane_publishes_whole_and_reuses_only_after_a_read stdout ----

thread 'a_lane_publishes_whole_and_reuses_only_after_a_read' (279767246) panicked at /Users/<user>/.cargo/git/checkouts/loom-906f299ec1581ba6/dfe3797/src/rt/location.rs:115:9:
Causality violation: Concurrent read and write accesses to `UnsafeCell`.

note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

---- a_published_record_is_whole_and_read_once stdout ----

thread 'a_published_record_is_whole_and_read_once' (279767247) panicked at kernel/loom/tests/log_ring.rs:119:45:
assertion `left == right` failed
  left: Refused
 right: Written


failures:
    a_lane_publishes_whole_and_reuses_only_after_a_read
    a_published_record_is_whole_and_read_once
    a_slot_is_reused_only_after_its_record_was_read

test result: FAILED. 0 passed; 3 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

error: test failed, to rerun pass `-p kernel-loom --test log_ring`
06:47:05 [ci] control `log-ring-tail-relaxed`: 3 verdict(s) reached

06:47:05 === [ci] control `log-ring-loads-swapped`
    Finished `test` profile [optimized + debuginfo] target(s) in 0.08s
     Running tests/log_ring.rs (target/debug/deps/log_ring-17a1cc881f842c98)

running 1 test
test a_published_record_is_whole_and_read_once ... FAILED

failures:

---- a_published_record_is_whole_and_read_once stdout ----

thread 'a_published_record_is_whole_and_read_once' (279767293) panicked at kernel/loom/tests/log_ring.rs:119:45:
assertion `left == right` failed
  left: Refused
 right: Written
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    a_published_record_is_whole_and_read_once

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 2 filtered out; finished in 0.01s

error: test failed, to rerun pass `-p kernel-loom --test log_ring`
06:47:05 [ci] control `log-ring-loads-swapped`: 1 verdict(s) reached

06:47:05 === [ci] control `post-is-an-answer`
    Finished `test` profile [optimized + debuginfo] target(s) in 0.08s
     Running tests/inbox_answer.rs (target/debug/deps/inbox_answer-bf78819351e10b6a)

running 3 tests
test a_post_that_lands_after_its_bytes_were_read_answers_nothing ... FAILED
test a_poll_armed_again_does_not_end_the_look ... FAILED
test a_post_with_nothing_to_read_answers_nothing ... FAILED

failures:

---- a_post_that_lands_after_its_bytes_were_read_answers_nothing stdout ----

thread 'a_post_that_lands_after_its_bytes_were_read_answers_nothing' (279767349) panicked at kernel/loom/tests/inbox_answer.rs:276:9:
assertion `left == right` failed: the payload's late post was answered
  left: [(7, 1)]
 right: []

---- a_poll_armed_again_does_not_end_the_look stdout ----

thread 'a_poll_armed_again_does_not_end_the_look' (279767348) panicked at kernel/loom/tests/inbox_answer.rs:310:9:
assertion `left == right` failed
  left: [(3, 1), (4, 1)]
 right: [(4, 1)]
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

---- a_post_with_nothing_to_read_answers_nothing stdout ----

thread 'a_post_with_nothing_to_read_answers_nothing' (279767350) panicked at kernel/loom/tests/inbox_answer.rs:247:9:
assertion `left == right` failed: a post with nothing behind it was answered
  left: [(7, 1)]
 right: []


failures:
    a_poll_armed_again_does_not_end_the_look
    a_post_that_lands_after_its_bytes_were_read_answers_nothing
    a_post_with_nothing_to_read_answers_nothing

test result: FAILED. 0 passed; 3 failed; 0 ignored; 0 measured; 13 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel-loom --test inbox_answer`
06:47:06 [ci] control `post-is-an-answer`: 3 verdict(s) reached

06:47:06 === [ci] control `poll-fire-load-store`
    Finished `test` profile [optimized + debuginfo] target(s) in 0.08s
     Running tests/poll_once.rs (target/debug/deps/poll_once-e7936a3e2ec155dd)

running 2 tests
test a_post_and_a_recheck_answer_a_poll_once ... FAILED
test a_withdrawal_and_a_post_never_both_take_a_poll ... FAILED

failures:

---- a_post_and_a_recheck_answer_a_poll_once stdout ----

thread 'a_post_and_a_recheck_answer_a_poll_once' (279767397) panicked at kernel/loom/tests/poll_once.rs:49:9:
assertion `left == right` failed: a ready poll is answered exactly once
  left: 2
 right: 1

---- a_withdrawal_and_a_post_never_both_take_a_poll stdout ----

thread 'a_withdrawal_and_a_post_never_both_take_a_poll' (279767398) panicked at kernel/loom/tests/poll_once.rs:72:9:
answered=true withdrawn=true
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    a_post_and_a_recheck_answer_a_poll_once
    a_withdrawal_and_a_post_never_both_take_a_poll

test result: FAILED. 0 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel-loom --test poll_once`
06:47:06 [ci] control `poll-fire-load-store`: 2 verdict(s) reached

06:47:06 === [ci] control `sleeplock-acquire-off`
    Finished `test` profile [optimized + debuginfo] target(s) in 0.08s
     Running tests/sleep_lock.rs (target/debug/deps/sleep_lock-f3b193adf2ee818c)

running 2 tests
test two_holders_never_overlap ... FAILED
test a_parking_contender_observes_the_holders_writes ... FAILED

failures:

---- two_holders_never_overlap stdout ----

thread 'two_holders_never_overlap' (279767445) panicked at /Users/<user>/.cargo/git/checkouts/loom-906f299ec1581ba6/dfe3797/src/rt/location.rs:115:9:
Causality violation: Concurrent write accesses to `UnsafeCell`.


---- a_parking_contender_observes_the_holders_writes stdout ----

thread 'a_parking_contender_observes_the_holders_writes' (279767444) panicked at /Users/<user>/.cargo/git/checkouts/loom-906f299ec1581ba6/dfe3797/src/rt/location.rs:115:9:
Causality violation: Concurrent write accesses to `UnsafeCell`.

note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    a_parking_contender_observes_the_holders_writes
    two_holders_never_overlap

test result: FAILED. 0 passed; 2 failed; 0 ignored; 0 measured; 2 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel-loom --test sleep_lock`
06:47:06 [ci] control `sleeplock-acquire-off`: 2 verdict(s) reached

06:47:06 === [ci] control `device-irq-lossy`
    Finished `test` profile [optimized + debuginfo] target(s) in 0.08s
     Running tests/device_irq.rs (target/debug/deps/device_irq-9fe67f32f4d3986f)

running 1 test
test every_message_is_counted_once ... FAILED

failures:

---- every_message_is_counted_once stdout ----

thread 'every_message_is_counted_once' (279767493) panicked at kernel/loom/tests/device_irq.rs:49:9:
assertion `left == right` failed: two interrupts arrived, the reader took 1 and 2 were left: a driver that misses one waits for a device that has already spoken
  left: 3
 right: 2
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    every_message_is_counted_once

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 2 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel-loom --test device_irq`
06:47:06 [ci] control `device-irq-lossy`: 1 verdict(s) reached

06:47:06 === [ci] control `no-preempt-guard`
    Finished `test` profile [optimized + debuginfo] target(s) in 0.08s
     Running tests/loom_mailbox.rs (target/debug/deps/loom_mailbox-a88193098a4b07bc)

running 1 test

thread 'preempted_producer_strands_suffix' (279767538) panicked at kernel/loom/tests/loom_mailbox.rs:76:9:
I2: this CPU halted while its own interrupted context is inside a push. That context cannot resume while the CPU sleeps, so every message queued behind its unlinked node stays invisible with no doorbell edge left to raise. Drained so far: []
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
test preempted_producer_strands_suffix ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.30s

06:47:07 [ci] control `no-preempt-guard`: 1 verdict(s) reached

06:47:07 === [ci] control `doorbell-kick-relaxed`
    Finished `test` profile [optimized + debuginfo] target(s) in 0.07s
     Running tests/loom_sleep.rs (target/debug/deps/loom_sleep-c38cbcf547a528eb)

running 1 test

thread 'a_halted_cpu_with_queued_work_was_kicked' (279767584) panicked at kernel/loom/tests/loom_sleep.rs:104:13:
halted with 2 of 2 messages queued and no IPI in flight — a sleep-through
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

thread 'a_halted_cpu_with_queued_work_was_kicked' (279767584) panicked at kernel/loom/src/../../pure/sched/mailbox.rs:178:9:
mailbox node dropped with a message in flight
stack backtrace:
   0:        0x100805edc - std[5d97c59e5e5fafcc]::backtrace_rs::backtrace::libunwind::trace
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
   1:        0x100805edc - std[5d97c59e5e5fafcc]::backtrace_rs::backtrace::trace_unsynchronized::<std[5d97c59e5e5fafcc]::sys::backtrace::_print_fmt::{closure#1}>
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
   2:        0x100805edc - std[5d97c59e5e5fafcc]::sys::backtrace::_print_fmt
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/std/src/sys/backtrace.rs:74:9
   3:        0x100805edc - <<std[5d97c59e5e5fafcc]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[663bb9e1522ba5ef]::fmt::Display>::fmt
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/std/src/sys/backtrace.rs:44:26
   4:        0x10081725c - <core[663bb9e1522ba5ef]::fmt::rt::Argument>::fmt
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/core/src/fmt/rt.rs:152:76
   5:        0x10081725c - core[663bb9e1522ba5ef]::fmt::write
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/core/src/fmt/mod.rs:1687:22
   6:        0x100809a54 - std[5d97c59e5e5fafcc]::io::default_write_fmt::<alloc[cc4db322bb1ac55d]::vec::Vec<u8>>
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/std/src/io/mod.rs:626:11
   7:        0x100809a54 - <alloc[cc4db322bb1ac55d]::vec::Vec<u8> as std[5d97c59e5e5fafcc]::io::Write>::write_fmt
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/std/src/io/mod.rs:1730:13
   8:        0x1007ecbd4 - <std[5d97c59e5e5fafcc]::sys::backtrace::BacktraceLock>::print
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/std/src/sys/backtrace.rs:47:25
   9:        0x1007ecbd4 - std[5d97c59e5e5fafcc]::panicking::default_hook::{closure#0}
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/std/src/panicking.rs:292:27
  10:        0x1007ff694 - std[5d97c59e5e5fafcc]::panicking::default_hook
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/std/src/panicking.rs:316:9
  11:        0x100797c70 - <alloc[cc4db322bb1ac55d]::boxed::Box<dyn for<'a, 'b> core[663bb9e1522ba5ef]::ops::function::Fn<(&'a std[5d97c59e5e5fafcc]::panic::PanicHookInfo<'b>,), Output = ()> + core[663bb9e1522ba5ef]::marker::Sync + core[663bb9e1522ba5ef]::marker::Send> as core[663bb9e1522ba5ef]::ops::function::Fn<(&std[5d97c59e5e5fafcc]::panic::PanicHookInfo,)>>::call
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/alloc/src/boxed.rs:2333:9
  12:        0x100797c70 - test[4aa3eea2f4983582]::test_main_inner::<test[4aa3eea2f4983582]::test_main_static::{closure#0}>::{closure#0}

@Japabu

Japabu commented Oct 11, 2026

Copy link
Copy Markdown
Collaborator Author

ci-host, part 7 of 9, cargo run -- --ci host, exit 0, run on tree 755f3da0 (head 7cdd1ec's)

                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/test/src/lib.rs:155:21
  13:        0x1007d9c4c - <alloc[cc4db322bb1ac55d]::boxed::Box<dyn for<'a, 'b> core[663bb9e1522ba5ef]::ops::function::Fn<(&'a std[5d97c59e5e5fafcc]::panic::PanicHookInfo<'b>,), Output = ()> + core[663bb9e1522ba5ef]::marker::Sync + core[663bb9e1522ba5ef]::marker::Send> as core[663bb9e1522ba5ef]::ops::function::Fn<(&std[5d97c59e5e5fafcc]::panic::PanicHookInfo,)>>::call
                               at /Users/<user>/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/alloc/src/boxed.rs:2333:9
  14:        0x1007d9c4c - generator[50749e7e4996c531]::detail::gen::catch_unwind_filter::<generator[50749e7e4996c531]::detail::gen::gen_init_impl::{closure#0}, ()>::{closure#0}::{closure#0}
                               at /Users/<user>/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generator-0.8.9/src/detail/gen.rs:19:13
  15:        0x1007ffbd4 - <alloc[cc4db322bb1ac55d]::boxed::Box<dyn for<'a, 'b> core[663bb9e1522ba5ef]::ops::function::Fn<(&'a std[5d97c59e5e5fafcc]::panic::PanicHookInfo<'b>,), Output = ()> + core[663bb9e1522ba5ef]::marker::Sync + core[663bb9e1522ba5ef]::marker::Send> as core[663bb9e1522ba5ef]::ops::function::Fn<(&std[5d97c59e5e5fafcc]::panic::PanicHookInfo,)>>::call
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/alloc/src/boxed.rs:2333:9
  16:        0x1007ffbd4 - std[5d97c59e5e5fafcc]::panicking::panic_with_hook
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/std/src/panicking.rs:823:13
  17:        0x1007ecc88 - std[5d97c59e5e5fafcc]::panicking::panic_handler::{closure#0}
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/std/src/panicking.rs:681:13
  18:        0x1007e3d60 - std[5d97c59e5e5fafcc]::sys::backtrace::__rust_end_short_backtrace::<std[5d97c59e5e5fafcc]::panicking::panic_handler::{closure#0}, !>
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/std/src/sys/backtrace.rs:182:18
  19:        0x1007ed3f4 - __rustc[100742bb89c490cb]::rust_begin_unwind
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/std/src/panicking.rs:679:5
  20:        0x100825ff4 - core[663bb9e1522ba5ef]::panicking::panic_fmt
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/core/src/panicking.rs:80:14
  21:        0x10078b104 - <kernel_loom[69df8da3d8035e49]::sched::mailbox::MailboxNode<kernel_loom[69df8da3d8035e49]::sched_model::Msg> as core[663bb9e1522ba5ef]::ops::drop::Drop>::drop
                               at /Users/<user>/Dev/jan/toyos-dirid/kernel/loom/src/../../pure/sched/mailbox.rs:178:9
  22:        0x10078b104 - core[663bb9e1522ba5ef]::ptr::drop_glue::<kernel_loom[69df8da3d8035e49]::sched::mailbox::MailboxNode<kernel_loom[69df8da3d8035e49]::sched_model::Msg>>
                               at /Users/<user>/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:823:1
  23:        0x10078b104 - core[663bb9e1522ba5ef]::ptr::drop_glue::<[kernel_loom[69df8da3d8035e49]::sched::mailbox::MailboxNode<kernel_loom[69df8da3d8035e49]::sched_model::Msg>]>
                               at /Users/<user>/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:823:1
  24:        0x10078b104 - core[663bb9e1522ba5ef]::ptr::drop_glue::<[kernel_loom[69df8da3d8035e49]::sched::mailbox::MailboxNode<kernel_loom[69df8da3d8035e49]::sched_model::Msg>; 2usize]>
                               at /Users/<user>/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:823:1
  25:        0x10078b104 - core[663bb9e1522ba5ef]::ptr::drop_glue::<loom_sleep[8e8d7a68dd6c3415]::World>
                               at /Users/<user>/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:823:1
  26:        0x10078316c - core[663bb9e1522ba5ef]::ptr::drop_in_place::<loom_sleep[8e8d7a68dd6c3415]::World>
                               at /Users/<user>/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:818:14
  27:        0x10078316c - <alloc[cc4db322bb1ac55d]::sync::Arc<loom_sleep[8e8d7a68dd6c3415]::World>>::drop_slow
                               at /Users/<user>/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/alloc/src/sync.rs:2143:18
  28:        0x100786040 - loom_sleep[8e8d7a68dd6c3415]::a_halted_cpu_with_queued_work_was_kicked::{closure#0}
                               at /Users/<user>/Dev/jan/toyos-dirid/kernel/loom/tests/loom_sleep.rs:121:5
  29:        0x100786040 - <loom[709ac591f2027ef2]::model::Builder>::check::<loom_sleep[8e8d7a68dd6c3415]::a_halted_cpu_with_queued_work_was_kicked::{closure#0}>::{closure#0}
                               at /Users/<user>/.cargo/git/checkouts/loom-906f299ec1581ba6/dfe3797/src/model.rs:194:17
  30:        0x100786040 - <<loom[709ac591f2027ef2]::model::Builder>::check<loom_sleep[8e8d7a68dd6c3415]::a_halted_cpu_with_queued_work_was_kicked::{closure#0}>::{closure#0} as core[663bb9e1522ba5ef]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
                               at /Users/<user>/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/ops/function.rs:250:5
  31:        0x1007cf1d4 - <alloc[cc4db322bb1ac55d]::boxed::Box<dyn core[663bb9e1522ba5ef]::ops::function::FnOnce<(), Output = ()>> as core[663bb9e1522ba5ef]::ops::function::FnOnce<()>>::call_once
                               at /Users/<user>/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/alloc/src/boxed.rs:2319:9
  32:        0x1007cf1d4 - loom[709ac591f2027ef2]::rt::scheduler::spawn_thread::{closure#0}
                               at /Users/<user>/.cargo/git/checkouts/loom-906f299ec1581ba6/dfe3797/src/rt/scheduler.rs:142:17
  33:        0x1007cf1d4 - <loom[709ac591f2027ef2]::rt::scheduler::spawn_thread::{closure#0} as core[663bb9e1522ba5ef]::ops::function::FnOnce<()>>::call_once
                               at /Users/<user>/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/ops/function.rs:250:5
  34:        0x1007cf1d4 - <generator[50749e7e4996c531]::gen_impl::GeneratorImpl<core[663bb9e1522ba5ef]::option::Option<alloc[cc4db322bb1ac55d]::boxed::Box<dyn core[663bb9e1522ba5ef]::ops::function::FnOnce<(), Output = ()>>>, ()>>::init_code::<loom[709ac591f2027ef2]::rt::scheduler::spawn_thread::{closure#0}>::{closure#0}
                               at /Users/<user>/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generator-0.8.9/src/gen_impl.rs:357:21
  35:        0x1007cf1d4 - <generator[50749e7e4996c531]::stack::StackBox<<generator[50749e7e4996c531]::gen_impl::GeneratorImpl<core[663bb9e1522ba5ef]::option::Option<alloc[cc4db322bb1ac55d]::boxed::Box<dyn core[663bb9e1522ba5ef]::ops::function::FnOnce<(), Output = ()>>>, ()>>::init_code<loom[709ac591f2027ef2]::rt::scheduler::spawn_thread::{closure#0}>::{closure#0}>>::call_once
                               at /Users/<user>/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generator-0.8.9/src/stack/mod.rs:137:13
  36:        0x100820bdc - <generator[50749e7e4996c531]::stack::Func>::call_once
                               at /Users/<user>/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generator-0.8.9/src/stack/mod.rs:119:9
  37:        0x100820bdc - generator[50749e7e4996c531]::detail::gen::gen_init_impl::{closure#0}
                               at /Users/<user>/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generator-0.8.9/src/detail/gen.rs:35:14
  38:        0x100820bdc - <generator[50749e7e4996c531]::detail::gen::gen_init_impl::{closure#0} as core[663bb9e1522ba5ef]::ops::function::FnOnce<()>>::call_once
                               at /Users/<user>/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/ops/function.rs:250:5
  39:        0x100820bdc - std[5d97c59e5e5fafcc]::panicking::catch_unwind::do_call::<generator[50749e7e4996c531]::detail::gen::gen_init_impl::{closure#0}, ()>
                               at /Users/<user>/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/std/src/panicking.rs:576:43
  40:        0x100820bdc - std[5d97c59e5e5fafcc]::panicking::catch_unwind::<(), generator[50749e7e4996c531]::detail::gen::gen_init_impl::{closure#0}>
                               at /Users/<user>/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/std/src/panicking.rs:544:19
  41:        0x100820bdc - std[5d97c59e5e5fafcc]::panic::catch_unwind::<generator[50749e7e4996c531]::detail::gen::gen_init_impl::{closure#0}, ()>
                               at /Users/<user>/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/std/src/panic.rs:359:14
  42:        0x100820bdc - generator[50749e7e4996c531]::detail::gen::catch_unwind_filter::<generator[50749e7e4996c531]::detail::gen::gen_init_impl::{closure#0}, ()>
                               at /Users/<user>/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generator-0.8.9/src/detail/gen.rs:23:5
  43:        0x100820bdc - generator[50749e7e4996c531]::detail::gen::gen_init_impl
                               at /Users/<user>/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generator-0.8.9/src/detail/gen.rs:50:25
  44:        0x100820b6c - generator[50749e7e4996c531]::detail::asm::gen_init
                               at /Users/<user>/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generator-0.8.9/src/detail/aarch64_unix.rs:22:5

thread 'a_halted_cpu_with_queued_work_was_kicked' (279767584) panicked at kernel/loom/src/../../pure/sched/mailbox.rs:178:9:
mailbox node dropped with a message in flight
stack backtrace:
   0:        0x100805edc - std[5d97c59e5e5fafcc]::backtrace_rs::backtrace::libunwind::trace
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
   1:        0x100805edc - std[5d97c59e5e5fafcc]::backtrace_rs::backtrace::trace_unsynchronized::<std[5d97c59e5e5fafcc]::sys::backtrace::_print_fmt::{closure#1}>
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
   2:        0x100805edc - std[5d97c59e5e5fafcc]::sys::backtrace::_print_fmt
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/std/src/sys/backtrace.rs:74:9
   3:        0x100805edc - <<std[5d97c59e5e5fafcc]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[663bb9e1522ba5ef]::fmt::Display>::fmt
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/std/src/sys/backtrace.rs:44:26
   4:        0x10081725c - <core[663bb9e1522ba5ef]::fmt::rt::Argument>::fmt
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/core/src/fmt/rt.rs:152:76
   5:        0x10081725c - core[663bb9e1522ba5ef]::fmt::write
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/core/src/fmt/mod.rs:1687:22
   6:        0x100809a54 - std[5d97c59e5e5fafcc]::io::default_write_fmt::<alloc[cc4db322bb1ac55d]::vec::Vec<u8>>
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/std/src/io/mod.rs:626:11
   7:        0x100809a54 - <alloc[cc4db322bb1ac55d]::vec::Vec<u8> as std[5d97c59e5e5fafcc]::io::Write>::write_fmt
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/std/src/io/mod.rs:1730:13
   8:        0x1007ecbd4 - <std[5d97c59e5e5fafcc]::sys::backtrace::BacktraceLock>::print
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/std/src/sys/backtrace.rs:47:25
   9:        0x1007ecbd4 - std[5d97c59e5e5fafcc]::panicking::default_hook::{closure#0}
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/std/src/panicking.rs:292:27
  10:        0x1007ff694 - std[5d97c59e5e5fafcc]::panicking::default_hook
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/std/src/panicking.rs:316:9
  11:        0x100797c70 - <alloc[cc4db322bb1ac55d]::boxed::Box<dyn for<'a, 'b> core[663bb9e1522ba5ef]::ops::function::Fn<(&'a std[5d97c59e5e5fafcc]::panic::PanicHookInfo<'b>,), Output = ()> + core[663bb9e1522ba5ef]::marker::Sync + core[663bb9e1522ba5ef]::marker::Send> as core[663bb9e1522ba5ef]::ops::function::Fn<(&std[5d97c59e5e5fafcc]::panic::PanicHookInfo,)>>::call
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/alloc/src/boxed.rs:2333:9
  12:        0x100797c70 - test[4aa3eea2f4983582]::test_main_inner::<test[4aa3eea2f4983582]::test_main_static::{closure#0}>::{closure#0}
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/test/src/lib.rs:155:21
  13:        0x1007d9c4c - <alloc[cc4db322bb1ac55d]::boxed::Box<dyn for<'a, 'b> core[663bb9e1522ba5ef]::ops::function::Fn<(&'a std[5d97c59e5e5fafcc]::panic::PanicHookInfo<'b>,), Output = ()> + core[663bb9e1522ba5ef]::marker::Sync + core[663bb9e1522ba5ef]::marker::Send> as core[663bb9e1522ba5ef]::ops::function::Fn<(&std[5d97c59e5e5fafcc]::panic::PanicHookInfo,)>>::call
                               at /Users/<user>/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/alloc/src/boxed.rs:2333:9
  14:        0x1007d9c4c - generator[50749e7e4996c531]::detail::gen::catch_unwind_filter::<generator[50749e7e4996c531]::detail::gen::gen_init_impl::{closure#0}, ()>::{closure#0}::{closure#0}
                               at /Users/<user>/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generator-0.8.9/src/detail/gen.rs:19:13
  15:        0x1007ffbd4 - <alloc[cc4db322bb1ac55d]::boxed::Box<dyn for<'a, 'b> core[663bb9e1522ba5ef]::ops::function::Fn<(&'a std[5d97c59e5e5fafcc]::panic::PanicHookInfo<'b>,), Output = ()> + core[663bb9e1522ba5ef]::marker::Sync + core[663bb9e1522ba5ef]::marker::Send> as core[663bb9e1522ba5ef]::ops::function::Fn<(&std[5d97c59e5e5fafcc]::panic::PanicHookInfo,)>>::call
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/alloc/src/boxed.rs:2333:9
  16:        0x1007ffbd4 - std[5d97c59e5e5fafcc]::panicking::panic_with_hook
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/std/src/panicking.rs:823:13
  17:        0x1007ecc88 - std[5d97c59e5e5fafcc]::panicking::panic_handler::{closure#0}
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/std/src/panicking.rs:681:13
  18:        0x1007e3d60 - std[5d97c59e5e5fafcc]::sys::backtrace::__rust_end_short_backtrace::<std[5d97c59e5e5fafcc]::panicking::panic_handler::{closure#0}, !>
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/std/src/sys/backtrace.rs:182:18
  19:        0x1007ed3f4 - __rustc[100742bb89c490cb]::rust_begin_unwind
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/std/src/panicking.rs:679:5
  20:        0x100825ff4 - core[663bb9e1522ba5ef]::panicking::panic_fmt
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/core/src/panicking.rs:80:14
  21:        0x10078a7c8 - <kernel_loom[69df8da3d8035e49]::sched::mailbox::MailboxNode<kernel_loom[69df8da3d8035e49]::sched_model::Msg> as core[663bb9e1522ba5ef]::ops::drop::Drop>::drop
                               at /Users/<user>/Dev/jan/toyos-dirid/kernel/loom/src/../../pure/sched/mailbox.rs:178:9
  22:        0x10078a7c8 - core[663bb9e1522ba5ef]::ptr::drop_glue::<kernel_loom[69df8da3d8035e49]::sched::mailbox::MailboxNode<kernel_loom[69df8da3d8035e49]::sched_model::Msg>>
                               at /Users/<user>/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:823:1
  23:        0x10078b144 - core[663bb9e1522ba5ef]::ptr::drop_glue::<[kernel_loom[69df8da3d8035e49]::sched::mailbox::MailboxNode<kernel_loom[69df8da3d8035e49]::sched_model::Msg>]>
                               at /Users/<user>/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:823:1
  24:        0x10078b144 - core[663bb9e1522ba5ef]::ptr::drop_glue::<[kernel_loom[69df8da3d8035e49]::sched::mailbox::MailboxNode<kernel_loom[69df8da3d8035e49]::sched_model::Msg>; 2usize]>
                               at /Users/<user>/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:823:1
  25:        0x10078b144 - core[663bb9e1522ba5ef]::ptr::drop_glue::<loom_sleep[8e8d7a68dd6c3415]::World>
                               at /Users/<user>/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:823:1
  26:        0x10078316c - core[663bb9e1522ba5ef]::ptr::drop_in_place::<loom_sleep[8e8d7a68dd6c3415]::World>
                               at /Users/<user>/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:818:14
  27:        0x10078316c - <alloc[cc4db322bb1ac55d]::sync::Arc<loom_sleep[8e8d7a68dd6c3415]::World>>::drop_slow
                               at /Users/<user>/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/alloc/src/sync.rs:2143:18
  28:        0x100786040 - loom_sleep[8e8d7a68dd6c3415]::a_halted_cpu_with_queued_work_was_kicked::{closure#0}
                               at /Users/<user>/Dev/jan/toyos-dirid/kernel/loom/tests/loom_sleep.rs:121:5
  29:        0x100786040 - <loom[709ac591f2027ef2]::model::Builder>::check::<loom_sleep[8e8d7a68dd6c3415]::a_halted_cpu_with_queued_work_was_kicked::{closure#0}>::{closure#0}
                               at /Users/<user>/.cargo/git/checkouts/loom-906f299ec1581ba6/dfe3797/src/model.rs:194:17
  30:        0x100786040 - <<loom[709ac591f2027ef2]::model::Builder>::check<loom_sleep[8e8d7a68dd6c3415]::a_halted_cpu_with_queued_work_was_kicked::{closure#0}>::{closure#0} as core[663bb9e1522ba5ef]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
                               at /Users/<user>/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/ops/function.rs:250:5
  31:        0x1007cf1d4 - <alloc[cc4db322bb1ac55d]::boxed::Box<dyn core[663bb9e1522ba5ef]::ops::function::FnOnce<(), Output = ()>> as core[663bb9e1522ba5ef]::ops::function::FnOnce<()>>::call_once
                               at /Users/<user>/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/alloc/src/boxed.rs:2319:9
  32:        0x1007cf1d4 - loom[709ac591f2027ef2]::rt::scheduler::spawn_thread::{closure#0}
                               at /Users/<user>/.cargo/git/checkouts/loom-906f299ec1581ba6/dfe3797/src/rt/scheduler.rs:142:17
  33:        0x1007cf1d4 - <loom[709ac591f2027ef2]::rt::scheduler::spawn_thread::{closure#0} as core[663bb9e1522ba5ef]::ops::function::FnOnce<()>>::call_once
                               at /Users/<user>/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/ops/function.rs:250:5
  34:        0x1007cf1d4 - <generator[50749e7e4996c531]::gen_impl::GeneratorImpl<core[663bb9e1522ba5ef]::option::Option<alloc[cc4db322bb1ac55d]::boxed::Box<dyn core[663bb9e1522ba5ef]::ops::function::FnOnce<(), Output = ()>>>, ()>>::init_code::<loom[709ac591f2027ef2]::rt::scheduler::spawn_thread::{closure#0}>::{closure#0}
                               at /Users/<user>/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generator-0.8.9/src/gen_impl.rs:357:21
  35:        0x1007cf1d4 - <generator[50749e7e4996c531]::stack::StackBox<<generator[50749e7e4996c531]::gen_impl::GeneratorImpl<core[663bb9e1522ba5ef]::option::Option<alloc[cc4db322bb1ac55d]::boxed::Box<dyn core[663bb9e1522ba5ef]::ops::function::FnOnce<(), Output = ()>>>, ()>>::init_code<loom[709ac591f2027ef2]::rt::scheduler::spawn_thread::{closure#0}>::{closure#0}>>::call_once
                               at /Users/<user>/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generator-0.8.9/src/stack/mod.rs:137:13
  36:        0x100820bdc - <generator[50749e7e4996c531]::stack::Func>::call_once
                               at /Users/<user>/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generator-0.8.9/src/stack/mod.rs:119:9
  37:        0x100820bdc - generator[50749e7e4996c531]::detail::gen::gen_init_impl::{closure#0}
                               at /Users/<user>/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generator-0.8.9/src/detail/gen.rs:35:14
  38:        0x100820bdc - <generator[50749e7e4996c531]::detail::gen::gen_init_impl::{closure#0} as core[663bb9e1522ba5ef]::ops::function::FnOnce<()>>::call_once
                               at /Users/<user>/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/ops/function.rs:250:5
  39:        0x100820bdc - std[5d97c59e5e5fafcc]::panicking::catch_unwind::do_call::<generator[50749e7e4996c531]::detail::gen::gen_init_impl::{closure#0}, ()>
                               at /Users/<user>/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/std/src/panicking.rs:576:43
  40:        0x100820bdc - std[5d97c59e5e5fafcc]::panicking::catch_unwind::<(), generator[50749e7e4996c531]::detail::gen::gen_init_impl::{closure#0}>
                               at /Users/<user>/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/std/src/panicking.rs:544:19
  41:        0x100820bdc - std[5d97c59e5e5fafcc]::panic::catch_unwind::<generator[50749e7e4996c531]::detail::gen::gen_init_impl::{closure#0}, ()>
                               at /Users/<user>/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/std/src/panic.rs:359:14
  42:        0x100820bdc - generator[50749e7e4996c531]::detail::gen::catch_unwind_filter::<generator[50749e7e4996c531]::detail::gen::gen_init_impl::{closure#0}, ()>
                               at /Users/<user>/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generator-0.8.9/src/detail/gen.rs:23:5
  43:        0x100820bdc - generator[50749e7e4996c531]::detail::gen::gen_init_impl
                               at /Users/<user>/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generator-0.8.9/src/detail/gen.rs:50:25
  44:        0x100820b6c - generator[50749e7e4996c531]::detail::asm::gen_init
                               at /Users/<user>/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generator-0.8.9/src/detail/aarch64_unix.rs:22:5

thread 'a_halted_cpu_with_queued_work_was_kicked' (279767584) panicked at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/core/src/panicking.rs:233:5:
panic in a destructor during cleanup
thread caused non-unwinding panic. aborting.
error: test failed, to rerun pass `-p kernel-loom --test loom_sleep`

Caused by:
  process didn't exit successfully: `/Users/<user>/Dev/jan/toyos-dirid/target/debug/deps/loom_sleep-c38cbcf547a528eb --exact a_halted_cpu_with_queued_work_was_kicked` (signal: 6, SIGABRT: process abort signal)
06:47:07 [ci] control `doorbell-kick-relaxed`: 1 verdict(s) reached

06:47:07 === [ci] control `push-fence-relaxed`
    Finished `test` profile [optimized + debuginfo] target(s) in 0.07s
     Running tests/loom_push.rs (target/debug/deps/loom_push-9be859ddff6561a3)

running 1 test
test a_cpu_that_halts_without_seeing_the_surplus_was_pushed ... FAILED

failures:

---- a_cpu_that_halts_without_seeing_the_surplus_was_pushed stdout ----

thread 'a_cpu_that_halts_without_seeing_the_surplus_was_pushed' (279767652) panicked at kernel/loom/tests/loom_push.rs:143:9:
cpu1 halted with cpu0's surplus of 2 published and no push behind it — both sides of the store-buffer pair missed, which is the pull path's slept-before-the-surplus defect back again, in a window a fence would have closed
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    a_cpu_that_halts_without_seeing_the_surplus_was_pushed

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 1 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel-loom --test loom_push`
06:47:07 [ci] control `push-fence-relaxed`: 1 verdict(s) reached

06:47:07 === [ci] control `commit-ignores-notify`
    Finished `test` profile [optimized + debuginfo] target(s) in 0.08s
     Running tests/loom_watch.rs (target/debug/deps/loom_watch-f13a59174a717cf0)

running 2 tests
test a_post_racing_a_registration_leaves_nobody_parked ... FAILED
test a_fire_racing_a_submitters_park_is_never_lost ... FAILED

failures:

---- a_post_racing_a_registration_leaves_nobody_parked stdout ----

thread 'a_post_racing_a_registration_leaves_nobody_parked' (279767717) panicked at kernel/loom/tests/loom_watch.rs:244:13:
assertion `left == right` failed: parked with the condition true and no wake owed: the post was lost
  left: []
 right: [Wake(TaskKey(1), Woken)]
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

---- a_fire_racing_a_submitters_park_is_never_lost stdout ----

thread 'a_fire_racing_a_submitters_park_is_never_lost' (279767716) panicked at kernel/loom/tests/loom_watch.rs:850:13:
assertion `left == right` failed: parked over a fired poll and no wake owed: a fire was lost
  left: []
 right: [Wake(TaskKey(1), Woken)]


failures:
    a_fire_racing_a_submitters_park_is_never_lost
    a_post_racing_a_registration_leaves_nobody_parked

test result: FAILED. 0 passed; 2 failed; 0 ignored; 0 measured; 10 filtered out; finished in 0.08s

error: test failed, to rerun pass `-p kernel-loom --test loom_watch`
06:47:07 [ci] control `commit-ignores-notify`: 2 verdict(s) reached

06:47:07 === [ci] control `notify-flag-load-only`
    Finished `test` profile [optimized + debuginfo] target(s) in 0.08s
     Running tests/loom_watch.rs (target/debug/deps/loom_watch-804d50fe30374251)

running 1 test
test a_second_post_is_not_lost_to_a_flag_the_waiter_consumed ... FAILED

failures:

---- a_second_post_is_not_lost_to_a_flag_the_waiter_consumed stdout ----

thread 'a_second_post_is_not_lost_to_a_flag_the_waiter_consumed' (279767766) panicked at kernel/loom/tests/loom_watch.rs:454:13:
assertion `left == right` failed: parked with both conditions true and no wake owed: a post answered off a load
  left: []
 right: [Wake(TaskKey(1), Woken)]
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    a_second_post_is_not_lost_to_a_flag_the_waiter_consumed

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 11 filtered out; finished in 2.23s

error: test failed, to rerun pass `-p kernel-loom --test loom_watch`
06:47:10 [ci] control `notify-flag-load-only`: 1 verdict(s) reached

06:47:10 === [ci] control `gate-fence-off`
    Finished `test` profile [optimized + debuginfo] target(s) in 0.08s
     Running tests/loom_watch.rs (target/debug/deps/loom_watch-2dd86f2d566d30a7)

running 1 test
test a_transition_racing_an_opening_gate_is_never_missed ... FAILED

failures:

---- a_transition_racing_an_opening_gate_is_never_missed stdout ----

thread 'a_transition_racing_an_opening_gate_is_never_missed' (279767868) panicked at kernel/loom/tests/loom_watch.rs:602:13:
assertion `left == right` failed: the stop parked over a thread that had parked, and nothing posted it
  left: []
 right: [Wake(TaskKey(1), Woken)]
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    a_transition_racing_an_opening_gate_is_never_missed

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 11 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel-loom --test loom_watch`
06:47:10 [ci] control `gate-fence-off`: 1 verdict(s) reached

06:47:10 === [ci] control `poll-fire-load-store`
    Finished `test` profile [optimized + debuginfo] target(s) in 0.08s
     Running tests/loom_watch.rs (target/debug/deps/loom_watch-c3e0e112b9250e74)

running 3 tests
test a_poll_on_two_watches_racing_both_posts_completes_exactly_once ... FAILED
test a_poll_registered_racing_a_post_in_place_completes_exactly_once ... FAILED
test a_poll_registered_racing_a_post_completes_exactly_once ... FAILED

failures:

---- a_poll_on_two_watches_racing_both_posts_completes_exactly_once stdout ----

thread 'a_poll_on_two_watches_racing_both_posts_completes_exactly_once' (279767913) panicked at kernel/loom/tests/loom_watch.rs:658:9:
assertion `left == right` failed: a poll over a ready object completes once
  left: 2
 right: 1
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

---- a_poll_registered_racing_a_post_in_place_completes_exactly_once stdout ----

thread 'a_poll_registered_racing_a_post_in_place_completes_exactly_once' (279767915) panicked at kernel/loom/tests/loom_watch.rs:351:5:
assertion `left == right` failed: a poll over a ready object completes once
  left: 2
 right: 1

---- a_poll_registered_racing_a_post_completes_exactly_once stdout ----

thread 'a_poll_registered_racing_a_post_completes_exactly_once' (279767914) panicked at kernel/loom/tests/loom_watch.rs:351:5:
assertion `left == right` failed: a poll over a ready object completes once
  left: 2
 right: 1


failures:
    a_poll_on_two_watches_racing_both_posts_completes_exactly_once
    a_poll_registered_racing_a_post_completes_exactly_once
    a_poll_registered_racing_a_post_in_place_completes_exactly_once

test result: FAILED. 0 passed; 3 failed; 0 ignored; 0 measured; 9 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel-loom --test loom_watch`
06:47:10 [ci] control `poll-fire-load-store`: 3 verdict(s) reached

06:47:10 === [ci] control `fault-posted-before-it-is-set`
    Finished `test` profile [optimized + debuginfo] target(s) in 0.08s
     Running tests/loom_watch.rs (target/debug/deps/loom_watch-342ffd79d5171796)

running 2 tests
test a_poll_registered_racing_a_post_in_place_completes_exactly_once ... FAILED
test a_poll_registered_racing_a_post_completes_exactly_once ... FAILED

failures:

---- a_poll_registered_racing_a_post_in_place_completes_exactly_once stdout ----

thread 'a_poll_registered_racing_a_post_in_place_completes_exactly_once' (279767962) panicked at kernel/loom/tests/loom_watch.rs:350:5:
assertion `left != right` failed: a poll over a ready object was completed by neither
  left: 0
 right: 0
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

---- a_poll_registered_racing_a_post_completes_exactly_once stdout ----

thread 'a_poll_registered_racing_a_post_completes_exactly_once' (279767961) panicked at kernel/loom/tests/loom_watch.rs:350:5:
assertion `left != right` failed: a poll over a ready object was completed by neither
  left: 0
 right: 0


failures:
    a_poll_registered_racing_a_post_completes_exactly_once
    a_poll_registered_racing_a_post_in_place_completes_exactly_once

test result: FAILED. 0 passed; 2 failed; 0 ignored; 0 measured; 10 filtered out; finished in 0.01s

error: test failed, to rerun pass `-p kernel-loom --test loom_watch`
06:47:10 [ci] control `fault-posted-before-it-is-set`: 3 verdict(s) reached

06:47:10 === [ci] control `victim-retires-mid-probe`
    Finished `test` profile [optimized + debuginfo] target(s) in 0.08s
     Running tests/loom_mailbox.rs (target/debug/deps/loom_mailbox-854161e9182e6318)

running 1 test

thread 'a_probe_outstanding_when_its_victim_retires_is_never_reclaimed' (279768010) panicked at kernel/loom/tests/loom_mailbox.rs:254:5:
assertion `left == right` failed: the victim retired with a probe still linked in its queue, so the node stays claimed for the rest of the boot and every later `claim()` by its thief answers `None` — one CPU stopping costs a second CPU its pull half permanently
  left: 1
 right: 0
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
caught the verdict: the victim retired with a probe still linked in its queue
test a_probe_outstanding_when_its_victim_retires_is_never_reclaimed ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out; finished in 0.00s

06:47:11 [ci] control `victim-retires-mid-probe`: 1 verdict(s) reached

06:47:11 === [ci] control `counting-allocator`
    Finished `test` profile [optimized + debuginfo] target(s) in 0.08s
     Running unittests pure/lib.rs (target/debug/deps/kernel-6097f575e1539c4c)

running 2 tests
test pcid::oracle::tests::the_counting_allocator_produces_a_cross_space_read ... ok
test pcid::tests::two_live_address_spaces_never_share_a_pcid ... FAILED

failures:

---- pcid::tests::two_live_address_spaces_never_share_a_pcid stdout ----

thread 'pcid::tests::two_live_address_spaces_never_share_a_pcid' (279768065) panicked at kernel/pure/pcid/mod.rs:171:21:
the allocator reissued tag 1, still held by a live address space
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    pcid::tests::two_live_address_spaces_never_share_a_pcid

test result: FAILED. 1 passed; 1 failed; 0 ignored; 0 measured; 179 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel --lib`
06:47:11 [ci] control `counting-allocator`: 2 verdict(s) reached

06:47:11 === [ci] control `mutate-spawn-skips-the-insert-recheck`
    Finished `test` profile [optimized + debuginfo] target(s) in 0.07s
     Running unittests pure/lib.rs (target/debug/deps/kernel-0678184e0e5d49cf)

running 2 tests
test proclife::interleave::tests::a_kill_racing_a_spawn_leaves_no_unretired_thread ... FAILED
test proclife::interleave::tests::a_published_exit_leaves_no_unretired_thread ... FAILED

failures:

---- proclife::interleave::tests::a_kill_racing_a_spawn_leaves_no_unretired_thread stdout ----

thread 'proclife::interleave::tests::a_kill_racing_a_spawn_leaves_no_unretired_thread' (279768120) panicked at kernel/pure/proclife/interleave.rs:544:27:
a lifecycle law broke:
pid 0 was claimed for teardown and never published an exit
  schedule: spawn_thread#1 -> kill#0 -> kill#0 -> spawn_thread#1 -> spawn_thread#1 -> out 0/0 -> out 0/0
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

---- proclife::interleave::tests::a_published_exit_leaves_no_unretired_thread stdout ----

thread 'proclife::interleave::tests::a_published_exit_leaves_no_unretired_thread' (279768121) panicked at kernel/pure/proclife/interleave.rs:544:27:
a lifecycle law broke:
pid 0 was claimed for teardown and never published an exit
  schedule: spawn_thread#1 -> exit#0 -> exit#0 -> spawn_thread#1 -> spawn_thread#1 -> out 0/0 -> out 0/0 -> out 0/1 -> out 0/1


failures:
    proclife::interleave::tests::a_kill_racing_a_spawn_leaves_no_unretired_thread
    proclife::interleave::tests::a_published_exit_leaves_no_unretired_thread

test result: FAILED. 0 passed; 2 failed; 0 ignored; 0 measured; 180 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel --lib`
06:47:11 [ci] control `mutate-spawn-skips-the-insert-recheck`: 2 verdict(s) reached

06:47:11 === [ci] control `mutate-claim-teardown-always-wins`
    Finished `test` profile [optimized + debuginfo] target(s) in 0.07s
     Running unittests pure/lib.rs (target/debug/deps/kernel-6e184e18194cdfe1)

running 1 test
test proclife::interleave::tests::an_exit_and_a_kill_never_both_tear_a_process_down ... FAILED

failures:

---- proclife::interleave::tests::an_exit_and_a_kill_never_both_tear_a_process_down stdout ----

thread 'proclife::interleave::tests::an_exit_and_a_kill_never_both_tear_a_process_down' (279768170) panicked at kernel/pure/proclife/interleave.rs:544:27:
a lifecycle law broke:
pid 0: 2 teardown claims succeeded
  schedule: exit#0 -> exit#0 -> kill#1
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    proclife::interleave::tests::an_exit_and_a_kill_never_both_tear_a_process_down

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 182 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel --lib`
06:47:11 [ci] control `mutate-claim-teardown-always-wins`: 1 verdict(s) reached

06:47:11 === [ci] control `mutate-kill-waits-for-its-victims`
    Finished `test` profile [optimized + debuginfo] target(s) in 0.07s
     Running unittests pure/lib.rs (target/debug/deps/kernel-cafdcd0f4db5baa9)

running 2 tests
test proclife::interleave::tests::two_processes_killing_each_other_both_end ... FAILED
test proclife::interleave::tests::a_kill_chain_of_three_ends ... FAILED

failures:

---- proclife::interleave::tests::two_processes_killing_each_other_both_end stdout ----

thread 'proclife::interleave::tests::two_processes_killing_each_other_both_end' (279768218) panicked at kernel/pure/proclife/interleave.rs:544:27:
a lifecycle law broke:
a kill waits on pid 1's teardown
  schedule: kill#0 -> kill#0

---- proclife::interleave::tests::a_kill_chain_of_three_ends stdout ----

thread 'proclife::interleave::tests::a_kill_chain_of_three_ends' (279768217) panicked at kernel/pure/proclife/interleave.rs:544:27:
a lifecycle law broke:
a kill waits on pid 1's teardown
  schedule: kill#0 -> kill#0
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    proclife::interleave::tests::a_kill_chain_of_three_ends
    proclife::interleave::tests::two_processes_killing_each_other_both_end

test result: FAILED. 0 passed; 2 failed; 0 ignored; 0 measured; 181 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel --lib`
06:47:11 [ci] control `mutate-kill-waits-for-its-victims`: 2 verdict(s) reached

06:47:11 === [ci] control `mutate-first-out-tears-down`
    Finished `test` profile [optimized + debuginfo] target(s) in 0.08s
     Running unittests pure/lib.rs (target/debug/deps/kernel-20f5b15b9e4ec2b0)

running 1 test
test proclife::interleave::tests::an_exit_and_a_kill_never_both_tear_a_process_down ... FAILED

failures:

---- proclife::interleave::tests::an_exit_and_a_kill_never_both_tear_a_process_down stdout ----

thread 'proclife::interleave::tests::an_exit_and_a_kill_never_both_tear_a_process_down' (279768268) panicked at kernel/pure/proclife/interleave.rs:544:27:
a lifecycle law broke:
pid 0 was torn down with tid 1 still in it
  schedule: exit#0 -> exit#0 -> kill#1 -> out 0/0 -> out 0/0
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    proclife::interleave::tests::an_exit_and_a_kill_never_both_tear_a_process_down

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 181 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel --lib`
06:47:12 [ci] control `mutate-first-out-tears-down`: 1 verdict(s) reached

06:47:12 === [ci] control `mutate-join-collects-in-a-teardown`
    Finished `test` profile [optimized + debuginfo] target(s) in 0.07s
     Running unittests pure/lib.rs (target/debug/deps/kernel-f021dcce956c5b5a)

running 1 test
test proclife::interleave::tests::a_join_racing_the_kill_that_takes_its_target ... FAILED

failures:

---- proclife::interleave::tests::a_join_racing_the_kill_that_takes_its_target stdout ----

thread 'proclife::interleave::tests::a_join_racing_the_kill_that_takes_its_target' (279768320) panicked at kernel/pure/proclife/interleave.rs:544:27:
a lifecycle law broke:
pid 0 tid 1: its entry and its mapped TLS went while a sibling was still in the process
  schedule: kill#0 -> kill#0 -> thread_join#1 -> out 0/0 -> out 0/0 -> out 0/1 -> thread_join#1
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    proclife::interleave::tests::a_join_racing_the_kill_that_takes_its_target

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 181 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel --lib`
06:47:12 [ci] control `mutate-join-collects-in-a-teardown`: 1 verdict(s) reached

06:47:12 === [ci] control `mutate-last-out-leaves-before-its-teardown`
    Finished `test` profile [optimized + debuginfo] target(s) in 0.07s
     Running unittests pure/lib.rs (target/debug/deps/kernel-9a2779cc48b5db37)

running 2 tests
test proclife::teardown::tests::only_the_thread_that_empties_a_claimed_process_tears_it_down ... FAILED
test proclife::interleave::tests::the_last_one_out_is_in_its_process_until_its_teardown_is_done ... FAILED

failures:

---- proclife::teardown::tests::only_the_thread_that_empties_a_claimed_process_tears_it_down stdout ----

thread 'proclife::teardown::tests::only_the_thread_that_empties_a_claimed_process_tears_it_down' (279768371) panicked at kernel/pure/proclife/teardown.rs:219:9:
assertion `left == right` failed: the last one out is in its process until its teardown is done
  left: Some(Zombie(-1))
 right: Some(Scheduled)
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

---- proclife::interleave::tests::the_last_one_out_is_in_its_process_until_its_teardown_is_done stdout ----

thread 'proclife::interleave::tests::the_last_one_out_is_in_its_process_until_its_teardown_is_done' (279768370) panicked at kernel/pure/proclife/interleave.rs:544:27:
a lifecycle law broke:
pid 0 tid 0 is tearing its process down and the table has it out, so a stop would not wait for it
  schedule: exit#0 -> exit#0 -> out 0/0


failures:
    proclife::interleave::tests::the_last_one_out_is_in_its_process_until_its_teardown_is_done
    proclife::teardown::tests::only_the_thread_that_empties_a_claimed_process_tears_it_down

test result: FAILED. 0 passed; 2 failed; 0 ignored; 0 measured; 181 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel --lib`
06:47:12 [ci] control `mutate-last-out-leaves-before-its-teardown`: 2 verdict(s) reached

06:47:12 === [ci] control `mutate-place-skips-the-insert-recheck`
    Finished `test` profile [optimized + debuginfo] target(s) in 0.07s
     Running unittests pure/lib.rs (target/debug/deps/kernel-b6048955f34d9084)

running 1 test
test proclife::interleave::tests::a_spawn_racing_its_places_kill_leaves_nothing_under_it_and_publishes_it ... FAILED

failures:

---- proclife::interleave::tests::a_spawn_racing_its_places_kill_leaves_nothing_under_it_and_publishes_it stdout ----

thread 'proclife::interleave::tests::a_spawn_racing_its_places_kill_leaves_nothing_under_it_and_publishes_it' (279768417) panicked at kernel/pure/proclife/interleave.rs:544:27:
a lifecycle law broke:
pid 3 landed unclaimed under a place whose end was already claimed
  schedule: spawn_under#1 -> kill#0 -> kill#0 -> kill#0 -> kill#0 -> spawn_under#1 -> spawn_under#1
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    proclife::interleave::tests::a_spawn_racing_its_places_kill_leaves_nothing_under_it_and_publishes_it

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 182 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel --lib`
06:47:12 [ci] control `mutate-place-skips-the-insert-recheck`: 1 verdict(s) reached

06:47:12 === [ci] control `mutate-refused-spawn-keeps-the-count`
    Finished `test` profile [optimized + debuginfo] target(s) in 0.07s
     Running unittests pure/lib.rs (target/debug/deps/kernel-f3f33b9b59a9f859)

running 1 test
test proclife::interleave::tests::a_spawn_racing_its_places_kill_leaves_nothing_under_it_and_publishes_it ... FAILED

failures:

---- proclife::interleave::tests::a_spawn_racing_its_places_kill_leaves_nothing_under_it_and_publishes_it stdout ----
a spawn racing its place's kill: 1641 states

thread 'proclife::interleave::tests::a_spawn_racing_its_places_kill_leaves_nothing_under_it_and_publishes_it' (279768486) panicked at kernel/pure/proclife/interleave.rs:544:27:
a lifecycle law broke:
pid 1 was claimed for teardown and never published an exit
  schedule: spawn_under#1 -> kill#0 -> kill#0 -> kill#0 -> kill#0 -> spawn_under#1 -> out 1/0 -> out 1/0 -> out 1/0 -> out 1/0 -> out 2/0 -> out 2/0 -> out 2/0 -> out 2/0 -> out 2/0 -> out 2/0
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    proclife::interleave::tests::a_spawn_racing_its_places_kill_leaves_nothing_under_it_and_publishes_it

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 182 filtered out; finished in 0.01s

error: test failed, to rerun pass `-p kernel --lib`
06:47:12 [ci] control `mutate-refused-spawn-keeps-the-count`: 1 verdict(s) reached

06:47:12 === [ci] control `mutate-landed-child-retires-nothing`
    Finished `test` profile [optimized + debuginfo] target(s) in 0.07s
     Running unittests pure/lib.rs (target/debug/deps/kernel-fc90b694e79e1ca6)

running 2 tests
test proclife::tree::tests::a_child_landed_under_a_place_claimed_since_its_admission_is_claimed_with_it ... FAILED
test proclife::interleave::tests::a_spawn_racing_its_places_kill_leaves_nothing_under_it_and_publishes_it ... FAILED

failures:

---- proclife::tree::tests::a_child_landed_under_a_place_claimed_since_its_admission_is_claimed_with_it stdout ----

thread 'proclife::tree::tests::a_child_landed_under_a_place_claimed_since_its_admission_is_claimed_with_it' (279768534) panicked at kernel/pure/proclife/tree.rs:274:9:
assertion `left == right` failed: the child's spawner was not answered its thread to retire
  left: []
 right: [Tid(0)]
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

---- proclife::interleave::tests::a_spawn_racing_its_places_kill_leaves_nothing_under_it_and_publishes_it stdout ----

thread 'proclife::interleave::tests::a_spawn_racing_its_places_kill_leaves_nothing_under_it_and_publishes_it' (279768533) panicked at kernel/pure/proclife/interleave.rs:544:27:
a lifecycle law broke:
pid 1 was claimed for teardown and never published an exit
pid 3 was claimed for teardown and never published an exit
pid 3 outlived the end of pid 1 above it
  schedule: spawn_under#1 -> kill#0 -> kill#0 -> kill#0 -> kill#0 -> spawn_under#1 -> spawn_under#1 -> spawn_under#1 -> out 1/0 -> out 1/0 -> out 1/0 -> out 1/0 -> out 2/0 -> out 2/0 -> out 2/0 -> out 2/0 -> out 2/0 -> out 2/0


failures:
    proclife::interleave::tests::a_spawn_racing_its_places_kill_leaves_nothing_under_it_and_publishes_it
    proclife::tree::tests::a_child_landed_under_a_place_claimed_since_its_admission_is_claimed_with_it

test result: FAILED. 0 passed; 2 failed; 0 ignored; 0 measured; 181 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel --lib`
06:47:12 [ci] control `mutate-landed-child-retires-nothing`: 2 verdict(s) reached

06:47:12 === [ci] control `mutate-publish-before-the-children`
    Finished `test` profile [optimized + debuginfo] target(s) in 0.07s
     Running unittests pure/lib.rs (target/debug/deps/kernel-eced1954074bce19)

running 1 test
test proclife::interleave::tests::an_exit_publishes_after_every_end_below_it ... FAILED

failures:

---- proclife::interleave::tests::an_exit_publishes_after_every_end_below_it stdout ----

thread 'proclife::interleave::tests::an_exit_publishes_after_every_end_below_it' (279768579) panicked at kernel/pure/proclife/interleave.rs:544:27:
a lifecycle law broke:
pid 1 was published with pid 2 still unpublished below it
pid 1 was published with pid 4 still unpublished below it
  schedule: exit#0 -> exit#0 -> exit#0 -> exit#0 -> exit#0 -> exit#0 -> exit#0 -> exit#0 -> out 1/0 -> out 1/0 -> out 1/0 -> out 1/0
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    proclife::interleave::tests::an_exit_publishes_after_every_end_below_it

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 182 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel --lib`
06:47:13 [ci] control `mutate-publish-before-the-children`: 1 verdict(s) reached

06:47:13 === [ci] control `mutate-walk-in-one-hold`
    Finished `test` profile [optimized + debuginfo] target(s) in 0.07s
     Running unittests pure/lib.rs (target/debug/deps/kernel-29ba8b7ce3d370b6)

running 1 test
test proclife::interleave::tests::a_spawn_under_an_unrelated_process_lands_between_two_claims_of_one_walk ... FAILED

failures:

---- proclife::interleave::tests::a_spawn_under_an_unrelated_process_lands_between_two_claims_of_one_walk stdout ----

thread 'proclife::interleave::tests::a_spawn_under_an_unrelated_process_lands_between_two_claims_of_one_walk' (279768624) panicked at kernel/pure/proclife/interleave.rs:894:9:
no ordering landed the unrelated spawn between the walk's two claims below the end: the walk holds the table across its claims
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    proclife::interleave::tests::a_spawn_under_an_unrelated_process_lands_between_two_claims_of_one_walk

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 182 filtered out; finished in 0.03s

error: test failed, to rerun pass `-p kernel --lib`
06:47:13 [ci] control `mutate-walk-in-one-hold`: 1 verdict(s) reached

06:47:13 === [ci] control `mutate-spawner-handle-after-the-landing`
    Finished `test` profile [optimized + debuginfo] target(s) in 0.07s
     Running unittests pure/lib.rs (target/debug/deps/kernel-2483b96922d9df2a)

running 2 tests
test proclife::interleave::tests::a_spawn_racing_the_kill_of_its_own_spawner ... FAILED
test proclife::interleave::tests::a_spawn_racing_its_places_kill_leaves_nothing_under_it_and_publishes_it ... FAILED

failures:

---- proclife::interleave::tests::a_spawn_racing_the_kill_of_its_own_spawner stdout ----

thread 'proclife::interleave::tests::a_spawn_racing_the_kill_of_its_own_spawner' (279768671) panicked at kernel/pure/proclife/interleave.rs:544:27:
a lifecycle law broke:
pid 3: a handle to it was minted after its last one had gone
  schedule: spawn_under#1 -> kill#0 -> kill#0 -> kill#0 -> kill#0 -> spawn_under#1 -> spawn_under#1 -> spawn_under#1 -> out 2/0 -> out 2/0 -> out 2/0 -> out 2/0 -> out 2/0 -> out 2/0 -> out 3/0 -> out 3/0 -> spawn_under#1
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

---- proclife::interleave::tests::a_spawn_racing_its_places_kill_leaves_nothing_under_it_and_publishes_it stdout ----

thread 'proclife::interleave::tests::a_spawn_racing_its_places_kill_leaves_nothing_under_it_and_publishes_it' (279768670) panicked at kernel/pure/proclife/interleave.rs:544:27:
a lifecycle law broke:
pid 3: a handle to it was minted after its last one had gone
  schedule: spawn_under#1 -> kill#0 -> kill#0 -> kill#0 -> kill#0 -> spawn_under#1 -> spawn_under#1 -> spawn_under#1 -> out 1/0 -> out 1/0 -> out 1/0 -> out 1/0 -> out 2/0 -> out 2/0 -> out 2/0 -> out 2/0 -> out 2/0 -> out 2/0 -> out 3/0 -> out 3/0 -> spawn_under#1


failures:
    proclife::interleave::tests::a_spawn_racing_its_places_kill_leaves_nothing_under_it_and_publishes_it
    proclife::interleave::tests::a_spawn_racing_the_kill_of_its_own_spawner

test result: FAILED. 0 passed; 2 failed; 0 ignored; 0 measured; 181 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel --lib`
06:47:13 [ci] control `mutate-spawner-handle-after-the-landing`: 2 verdict(s) reached

06:47:13 === [ci] control `mutate-spawner-handle-before-the-childs-own`
    Finished `test` profile [optimized + debuginfo] target(s) in 0.07s
     Running unittests pure/lib.rs (target/debug/deps/kernel-68c27e53bbdb2954)

running 1 test
test proclife::interleave::tests::a_sibling_closing_a_spawns_handle_before_the_spawn_returns ... FAILED

failures:

---- proclife::interleave::tests::a_sibling_closing_a_spawns_handle_before_the_spawn_returns stdout ----

thread 'proclife::interleave::tests::a_sibling_closing_a_spawns_handle_before_the_spawn_returns' (279768716) panicked at kernel/pure/proclife/interleave.rs:544:27:
a lifecycle law broke:
pid 2: a handle to it was minted after its last one had gone
  schedule: spawn_under#0 -> spawn_under#0 -> close#1 -> spawn_under#0
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    proclife::interleave::tests::a_sibling_closing_a_spawns_handle_before_the_spawn_returns

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 182 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel --lib`
06:47:13 [ci] control `mutate-spawner-handle-before-the-childs-own`: 1 verdict(s) reached

06:47:13 === [ci] control `placement-ignores-staleness`
    Finished `test` profile [optimized + debuginfo] target(s) in 0.08s
     Running tests/policy.rs (target/debug/deps/policy-fb61fd9cdbfa04f7)

running 1 test
test a_stopped_cpu_stops_taking_work ... FAILED

failures:

---- a_stopped_cpu_stops_taking_work stdout ----
stopped_cpu: worst never_ran 10, total 114 over 16 seeds, bound 4 of 24

thread 'a_stopped_cpu_stops_taking_work' (279768762) panicked at kernel/sim/tests/policy.rs:1419:5:
a stopped cpu took 10 of 24 programs, against the 4 its published numbers are believed for
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    a_stopped_cpu_stops_taking_work

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 11 filtered out; finished in 0.02s

error: test failed, to rerun pass `-p kernel-sim --test policy`
06:47:13 [ci] control `placement-ignores-staleness`: 1 verdict(s) reached

06:47:13 === [ci] control `mutate-session-end-forgets`
    Finished `test` profile [optimized + debuginfo] target(s) in 0.07s
     Running unittests src/lib.rs (target/debug/deps/toyos_blockring-c60f1ce9c5880c03)

running 1 test
test model::tests::every_request_is_answered_exactly_once ... FAILED

failures:

---- model::tests::every_request_is_answered_exactly_once stdout ----
Failures { resets: 0, crashes: 0, errors: 0 }: 28 end states, 0 with a flush given up, None
Failures { resets: 1, crashes: 0, errors: 0 }: 492 end states, 0 with a flush given up, None
Failures { resets: 0, crashes: 1, errors: 0 }: 4 end states, 0 with a flush given up, Some((Answers, "ticket 3 ended answered None, after ask 0 > ask 1 > ask 2 > take Write { run: Run { first: 0, count: 1 }, lba: 0 }#4 > take Write { run: Run { first: 1, count: 1 }, lba: 1 }#5 > take Flush#6 > done Write { run: Run { first: 0, count: 1 }, lba: 0 }#4 > done Write { run: Run { first: 1, count: 1 }, lba: 1 }#5 > done Flush#6 > read #4 Ok > ask 3 > ask 4 > take Write { run: Run { first: 3, count: 1 }, lba: 0 }#8 > take Flush#7 > done Write { run: Run { first: 3, count: 1 }, lba: 0 }#8 > done Flush#7 > read #5 Ok > read #6 Ok > crash([None, None] [3, 2]) > notice > reconnect > take Write { run: Run { first: 0, count: 1 }, lba: 0 }#12 > take Write { run: Run { first: 1, count: 1 }, lba: 1 }#9 > done Write { run: Run { first: 0, count: 1 }, lba: 0 }#12 > done Write { run: Run { first: 1, count: 1 }, lba: 1 }#9 > read #12 Ok > read #9 Ok > take Flush#16 > done Flush#16 > read #16 Ok"))

thread 'model::tests::every_request_is_answered_exactly_once' (279768808) panicked at toyos-blockring/src/model.rs:722:17:
Failures { resets: 0, crashes: 1, errors: 0 }: ticket 3 ended answered None, after ask 0 > ask 1 > ask 2 > take Write { run: Run { first: 0, count: 1 }, lba: 0 }#4 > take Write { run: Run { first: 1, count: 1 }, lba: 1 }#5 > take Flush#6 > done Write { run: Run { first: 0, count: 1 }, lba: 0 }#4 > done Write { run: Run { first: 1, count: 1 }, lba: 1 }#5 > done Flush#6 > read #4 Ok > ask 3 > ask 4 > take Write { run: Run { first: 3, count: 1 }, lba: 0 }#8 > take Flush#7 > done Write { run: Run { first: 3, count: 1 }, lba: 0 }#8 > done Flush#7 > read #5 Ok > read #6 Ok > crash([None, None] [3, 2]) > notice > reconnect > take Write { run: Run { first: 0, count: 1 }, lba: 0 }#12 > take Write { run: Run { first: 1, count: 1 }, lba: 1 }#9 > done Write { run: Run { first: 0, count: 1 }, lba: 0 }#12 > done Write { run: Run { first: 1, count: 1 }, lba: 1 }#9 > read #12 Ok > read #9 Ok > take Flush#16 > done Flush#16 > read #16 Ok
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    model::tests::every_request_is_answered_exactly_once

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 22 filtered out; finished in 3.07s

error: test failed, to rerun pass `-p toyos-blockring --lib`
06:47:17 [ci] control `mutate-session-end-forgets`: 1 verdict(s) reached

06:47:17 === [ci] control `mutate-abort-keeps-inflight`
    Finished `test` profile [optimized + debuginfo] target(s) in 0.07s
     Running unittests src/lib.rs (target/debug/deps/toyos_blockring-9da8b607da72767a)

running 1 test
test model::tests::every_request_is_answered_exactly_once ... FAILED

failures:

---- model::tests::every_request_is_answered_exactly_once stdout ----
Failures { resets: 0, crashes: 0, errors: 0 }: 28 end states, 0 with a flush given up, None

@Japabu

Japabu commented Oct 11, 2026

Copy link
Copy Markdown
Collaborator Author

ci-host, part 8 of 9, cargo run -- --ci host, exit 0, run on tree 755f3da0 (head 7cdd1ec's)

Failures { resets: 1, crashes: 0, errors: 0 }: 2 end states, 0 with a flush given up, Some((Answers, "the client met a second completion for tag 7, after ask 0 > ask 1 > ask 2 > take Write { run: Run { first: 0, count: 1 }, lba: 0 }#4 > take Write { run: Run { first: 1, count: 1 }, lba: 1 }#5 > take Flush#6 > done Write { run: Run { first: 0, count: 1 }, lba: 0 }#4 > done Write { run: Run { first: 1, count: 1 }, lba: 1 }#5 > done Flush#6 > read #4 Ok > ask 3 > ask 4 > take Write { run: Run { first: 3, count: 1 }, lba: 0 }#8 > take Flush#7 > done Write { run: Run { first: 3, count: 1 }, lba: 0 }#8 > read #5 Ok > read #6 Ok > read #8 Ok > reset([7] [None, None] [3, 2]) > read #7 Device > take Write { run: Run { first: 0, count: 1 }, lba: 0 }#12 > take Write { run: Run { first: 1, count: 1 }, lba: 1 }#9 > done Write { run: Run { first: 0, count: 1 }, lba: 0 }#12 > done Write { run: Run { first: 1, count: 1 }, lba: 1 }#9 > read #12 Ok > take Write { run: Run { first: 3, count: 1 }, lba: 0 }#16 > done Write { run: Run { first: 3, count: 1 }, lba: 0 }#16 > read #9 Ok > read #16 Ok > take Flush#20 > done Flush#20 > read #20 Lost > take Write { run: Run { first: 0, count: 1 }, lba: 0 }#24 > take Write { run: Run { first: 1, count: 1 }, lba: 1 }#13 > done Write { run: Run { first: 0, count: 1 }, lba: 0 }#24 > done Write { run: Run { first: 1, count: 1 }, lba: 1 }#13 > read #24 Ok > take Write { run: Run { first: 3, count: 1 }, lba: 0 }#28 > done Write { run: Run { first: 3, count: 1 }, lba: 0 }#28 > read #13 Ok > read #28 Ok > take Flush#32 > done Flush#32 > read #32 Ok > posted #7 > read #7 Ok"))

thread 'model::tests::every_request_is_answered_exactly_once' (279768908) panicked at toyos-blockring/src/model.rs:722:17:
Failures { resets: 1, crashes: 0, errors: 0 }: the client met a second completion for tag 7, after ask 0 > ask 1 > ask 2 > take Write { run: Run { first: 0, count: 1 }, lba: 0 }#4 > take Write { run: Run { first: 1, count: 1 }, lba: 1 }#5 > take Flush#6 > done Write { run: Run { first: 0, count: 1 }, lba: 0 }#4 > done Write { run: Run { first: 1, count: 1 }, lba: 1 }#5 > done Flush#6 > read #4 Ok > ask 3 > ask 4 > take Write { run: Run { first: 3, count: 1 }, lba: 0 }#8 > take Flush#7 > done Write { run: Run { first: 3, count: 1 }, lba: 0 }#8 > read #5 Ok > read #6 Ok > read #8 Ok > reset([7] [None, None] [3, 2]) > read #7 Device > take Write { run: Run { first: 0, count: 1 }, lba: 0 }#12 > take Write { run: Run { first: 1, count: 1 }, lba: 1 }#9 > done Write { run: Run { first: 0, count: 1 }, lba: 0 }#12 > done Write { run: Run { first: 1, count: 1 }, lba: 1 }#9 > read #12 Ok > take Write { run: Run { first: 3, count: 1 }, lba: 0 }#16 > done Write { run: Run { first: 3, count: 1 }, lba: 0 }#16 > read #9 Ok > read #16 Ok > take Flush#20 > done Flush#20 > read #20 Lost > take Write { run: Run { first: 0, count: 1 }, lba: 0 }#24 > take Write { run: Run { first: 1, count: 1 }, lba: 1 }#13 > done Write { run: Run { first: 0, count: 1 }, lba: 0 }#24 > done Write { run: Run { first: 1, count: 1 }, lba: 1 }#13 > read #24 Ok > take Write { run: Run { first: 3, count: 1 }, lba: 0 }#28 > done Write { run: Run { first: 3, count: 1 }, lba: 0 }#28 > read #13 Ok > read #28 Ok > take Flush#32 > done Flush#32 > read #32 Ok > posted #7 > read #7 Ok
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    model::tests::every_request_is_answered_exactly_once

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 22 filtered out; finished in 0.02s

error: test failed, to rerun pass `-p toyos-blockring --lib`
06:47:17 [ci] control `mutate-abort-keeps-inflight`: 1 verdict(s) reached

06:47:17 === [ci] control `mutate-no-reissue-after-loss`
    Finished `test` profile [optimized + debuginfo] target(s) in 0.07s
     Running unittests src/lib.rs (target/debug/deps/toyos_blockring-05042003800e3648)

running 1 test
test model::tests::what_a_flush_calls_durable_is_on_the_medium ... FAILED

failures:

---- model::tests::what_a_flush_calls_durable_is_on_the_medium stdout ----
Failures { resets: 0, crashes: 0, errors: 0 }: 28 end states, 0 with a flush given up, None
Failures { resets: 1, crashes: 0, errors: 0 }: 20 end states, 0 with a flush given up, Some((Durable, "flush 4 was answered durable with block 0 holding 1, not the 3 acknowledged before it (or a later one of [3]), after ask 0 > ask 1 > ask 2 > take Write { run: Run { first: 0, count: 1 }, lba: 0 }#4 > take Write { run: Run { first: 1, count: 1 }, lba: 1 }#5 > take Flush#6 > done Write { run: Run { first: 0, count: 1 }, lba: 0 }#4 > done Write { run: Run { first: 1, count: 1 }, lba: 1 }#5 > done Flush#6 > read #4 Ok > ask 3 > take Write { run: Run { first: 3, count: 1 }, lba: 0 }#8 > done Write { run: Run { first: 3, count: 1 }, lba: 0 }#8 > read #5 Ok > read #6 Ok > read #8 Ok > ask 4 > take Flush#12 > reset([] [None, None] [1, 2]) > read #12 Device > take Flush#16 > done Flush#16 > read #16 Lost > take Flush#20 > done Flush#20 > read #20 Ok"))

thread 'model::tests::what_a_flush_calls_durable_is_on_the_medium' (279768962) panicked at toyos-blockring/src/model.rs:733:17:
Failures { resets: 1, crashes: 0, errors: 0 }: flush 4 was answered durable with block 0 holding 1, not the 3 acknowledged before it (or a later one of [3]), after ask 0 > ask 1 > ask 2 > take Write { run: Run { first: 0, count: 1 }, lba: 0 }#4 > take Write { run: Run { first: 1, count: 1 }, lba: 1 }#5 > take Flush#6 > done Write { run: Run { first: 0, count: 1 }, lba: 0 }#4 > done Write { run: Run { first: 1, count: 1 }, lba: 1 }#5 > done Flush#6 > read #4 Ok > ask 3 > take Write { run: Run { first: 3, count: 1 }, lba: 0 }#8 > done Write { run: Run { first: 3, count: 1 }, lba: 0 }#8 > read #5 Ok > read #6 Ok > read #8 Ok > ask 4 > take Flush#12 > reset([] [None, None] [1, 2]) > read #12 Device > take Flush#16 > done Flush#16 > read #16 Lost > take Flush#20 > done Flush#20 > read #20 Ok
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    model::tests::what_a_flush_calls_durable_is_on_the_medium

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 22 filtered out; finished in 0.02s

error: test failed, to rerun pass `-p toyos-blockring --lib`
06:47:17 [ci] control `mutate-no-reissue-after-loss`: 1 verdict(s) reached

06:47:17 === [ci] control `publish-relaxed`
    Finished `test` profile [optimized + debuginfo] target(s) in 0.08s
     Running tests/loom.rs (target/debug/deps/loom-24a430a1f85efe05)

running 1 test
test a_published_entry_is_read_whole ... FAILED

failures:

---- a_published_entry_is_read_whole stdout ----

thread 'a_published_entry_is_read_whole' (279769009) panicked at toyos-blockring/transport/tests/loom.rs:76:9:
assertion `left == right` failed: an entry was read before its words
  left: [[0, 0], [0, 0]]
 right: [[100, 3], [101, 10]]
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    a_published_entry_is_read_whole

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 2 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p toyos-transport --test loom`
06:47:17 [ci] control `publish-relaxed`: 1 verdict(s) reached

06:47:17 === [ci] control `no-clamp`
    Finished `test` profile [optimized + debuginfo] target(s) in 0.08s
     Running tests/loom.rs (target/debug/deps/loom-eb33bfc56f80c86a)

running 1 test
test a_hostile_producer_yields_entries_or_a_violation ... FAILED

failures:

---- a_hostile_producer_yields_entries_or_a_violation stdout ----

thread 'a_hostile_producer_yields_entries_or_a_violation' (279769056) panicked at toyos-blockring/transport/tests/loom.rs:107:9:
took 3 entries from a ring of 2 without releasing one
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    a_hostile_producer_yields_entries_or_a_violation

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 2 filtered out; finished in 0.01s

error: test failed, to rerun pass `-p toyos-transport --test loom`
06:47:17 [ci] control `no-clamp`: 1 verdict(s) reached

06:47:17 === [ci] control `end-keeps-inflight`
    Finished `test` profile [optimized + debuginfo] target(s) in 0.08s
     Running unittests src/lib.rs (target/debug/deps/toyos_transport-ed091dbee8d19249)

running 1 test
test inflight::tests::an_end_answers_every_tag_once_and_a_late_completion_nothing ... FAILED

failures:

---- inflight::tests::an_end_answers_every_tag_once_and_a_late_completion_nothing stdout ----

thread 'inflight::tests::an_end_answers_every_tag_once_and_a_late_completion_nothing' (279769104) panicked at toyos-blockring/transport/src/inflight.rs:150:9:
assertion `left == right` failed
  left: []
 right: [(4, 0), (6, 2)]
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    inflight::tests::an_end_answers_every_tag_once_and_a_late_completion_nothing

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 9 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p toyos-transport --lib`
06:47:18 [ci] control `end-keeps-inflight`: 1 verdict(s) reached

06:47:18 === [ci] userland/acpiserver
    Finished `test` profile [optimized + debuginfo] target(s) in 0.07s
     Running unittests src/main.rs (target/debug/deps/acpiserver-c834e39970f9f7ec)

running 37 tests
test devices::tests::an_eisa_id_is_its_three_letters_and_four_digits ... ok
test aml::tests::every_refusals_kind_is_free_of_what_the_firmware_chose ... ok
test aml::tests::tables_the_kernel_will_not_read_are_refused_by_its_name_for_it ... ok
test aml::tests::a_machine_that_stops_mid_load_ends_it_with_nothing_refused ... ok
test aml::tests::tables_in_memory_of_a_type_the_kernel_keeps_are_refused_by_that_name_and_type ... ok
test ec::tests::a_query_writes_its_command_once_the_input_is_empty_and_reads_once_the_output_is_full ... ok
test aml::tests::a_refused_dsdt_leaves_no_namespace_and_loads_no_ssdt ... ok
test host::tests::a_lock_the_firmware_holds_is_denied_by_name_and_counted ... ok
test host::tests::a_lock_the_kernel_cannot_take_is_denied_and_never_reported_held ... ok
test host::tests::a_page_the_firmware_lists_nowhere_is_counted_under_a_name_of_its_own ... ok
test aml::tests::an_s5_that_is_no_package_of_two_integers_is_refused_by_kind ... ok
test aml::tests::a_refused_ssdt_is_one_block_refused_and_the_rest_load ... ok
test aml::tests::only_an_s5_the_kernel_kept_is_a_power_off ... ok
test aml::tests::a_lock_field_read_at_load_takes_the_lock_and_a_held_lock_refuses_the_table ... ok
test host::tests::a_read_is_the_kernels_in_each_space_and_counted_by_space_and_page ... ok
test host::tests::a_stopping_machine_denies_everything_and_is_no_refusal_of_the_firmwares ... ok
test host::tests::a_read_the_kernel_refuses_is_denied_under_the_kernels_name_and_counted ... ok
test host::tests::only_a_forwarded_port_write_is_asked_of_the_kernel ... ok
test host::tests::only_a_notify_of_a_press_to_a_served_button_is_a_press ... ok
test host::tests::the_lock_is_taken_and_given_back_through_the_kernel ... ok
test ec::tests::a_byte_before_the_command_is_refused - should panic ... ok
test ledger::tests::a_thing_is_new_once_and_counted_every_time ... ok
test sci::tests::a_press_and_the_controllers_gpe_are_both_read_off_one_sci ... ok
test sci::tests::a_status_set_with_its_enable_clear_is_no_event ... ok
test sci::tests::an_enabled_event_outside_the_served_set_is_refused_by_name ... ok
test sci::tests::only_a_press_on_a_machine_handed_no_sleep_type_is_dropped ... ok
test tables::tests::a_range_is_fetched_whole_in_qwords_and_then_bytes_and_kept ... ok
test tables::tests::a_stopping_machine_reads_no_table ... ok
test tables::tests::a_range_the_kernel_refuses_any_byte_of_is_not_readable_and_says_why ... ok
test tests::a_controller_port_the_kernel_refuses_ends_the_controller ... ok
test tests::no_namespace_leaves_the_button_and_the_controller_unserved_and_keeps_the_claim ... ok
test devices::tests::a_query_whose_write_the_kernel_refuses_is_no_press ... ok
test devices::tests::an_amd_laptops_controller_and_button_are_found_in_its_dsdt ... ok
test devices::tests::query_0x28_on_an_amd_laptop_is_a_press_of_its_power_button ... ok
test devices::tests::a_controller_this_server_cannot_serve_is_none ... ok
test aml::tests::qemus_tables_load_and_s5_is_what_its_kernel_decoded ... ok
test tests::a_querys_method_runs_only_where_a_control_method_button_is_served ... ok

test result: ok. 37 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

06:47:18 [ci] userland/acpiserver: cargo test --manifest-path userland/acpiserver/Cargo.toml

06:47:18 === [ci] userland/acpiserver/aml
    Finished `test` profile [optimized + debuginfo] target(s) in 0.08s
     Running unittests src/lib.rs (target/debug/deps/toyos_aml-f74bbb7a41540e23)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/evaluate.rs (target/debug/deps/evaluate-9d6f462fe5ccdee5)

running 27 tests
test break_and_continue_outside_a_while_are_refused ... ok
test events_count_signals_and_a_wait_without_one_times_out ... ok
test an_arg_holding_a_reference_stores_through_it ... ok
test index_reaches_into_buffers_strings_and_packages ... ok
test a_method_without_return_returns_nothing_usable ... ok
test bcd_converts_both_ways_and_refuses_what_is_not_bcd ... ok
test divide_stores_remainder_and_quotient_and_refuses_zero ... ok
test logical_operators_answer_ones_or_zero ... ok
test buffers_and_packages_are_sized_as_declared ... ok
test comparisons_follow_the_first_operands_type ... ok
test if_else_and_while_with_break_and_continue ... ok
test concatenate_takes_the_first_operands_type ... ok
test mid_takes_what_lies_within ... ok
test s5_evaluates_to_its_sleep_types ... ok
test notify_sleep_stall_and_fatal_reach_the_host ... ok
test mutexes_follow_sync_levels_and_are_released_by_the_end ... ok
test resource_templates_join_under_one_end_tag ... ok
test references_are_made_followed_and_asked_about ... ok
test methods_take_their_declared_arguments_and_return_a_copy ... ok
test osi_answers_like_windows ... ok
test the_debug_object_takes_writes_and_refuses_reads ... ok
test match_finds_the_first_element_both_tests_accept ... ok
test integer_arithmetic_wraps_at_the_integer_width ... ok
test store_converts_to_the_named_type_and_copy_object_does_not ... ok
test explicit_conversions_follow_their_definitions ... ok
test source_operands_convert_by_the_conversion_rules ... ok
test recursion_runs_until_its_bound ... ok

test result: ok. 27 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/heap.rs (target/debug/deps/heap-1073d2dccd4a0b58)

running 19 tests
test a_nest_of_mids_holds_one_copy ... ok
test a_nest_of_concatenates_holds_one_buffers_copy ... ok
test a_returned_value_of_buffers_is_held_while_it_is_built ... ok
test a_nest_of_to_strings_holds_one_copy ... ok
test buffers_of_a_mebibyte_fill_it_to_the_bound ... ok
test fields_read_through_each_other_are_held_while_they_are_read ... ok
test a_nest_of_concatenates_holds_one_strings_copy ... ok
test a_returned_value_of_packages_is_held_while_it_is_built ... ok
test a_returned_value_is_given_back_when_it_is_the_callers ... ok
test field_units_fill_it_to_the_bound ... ok
test a_refused_load_gives_back_what_it_took ... ok
test package_elements_naming_nothing_yet_fill_it_to_the_bound ... ok
test a_nest_of_packages_is_held_while_it_is_read ... ok
test a_walk_is_held_against_the_bound_while_it_lasts ... ok
test empty_buffers_fill_it_to_the_bound ... ok
test a_parent_whose_last_child_is_unwound_holds_no_map ... ok
test a_full_interpreter_reads_a_field_that_fits_an_integer ... ok
test references_into_a_buffer_fill_it_to_the_bound ... ok
test devices_of_one_child_each_fill_it_to_the_bound ... ok

test result: ok. 19 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s

     Running tests/hostile.rs (target/debug/deps/hostile-cdadefcf70eaf473)

running 24 tests
test a_caller_value_is_refused_where_it_is_malformed ... ok
test a_field_beyond_what_is_held_is_refused ... ok
test a_reference_outliving_its_object_names_nothing ... ok
test a_package_length_that_leaves_its_package_is_refused ... ok
test a_loop_that_sleeps_is_bounded_in_time_asked ... ok
test an_alias_goes_with_what_created_it ... ok
test a_reference_to_a_local_ends_with_its_method ... ok
test a_reference_chain_cannot_form ... ok
test names_and_strings_hold_only_what_their_encoding_allows ... ok
test the_wait_limit_is_exact_and_a_loads_too ... ok
test a_resource_template_join_is_bounded ... ok
test objects_are_bounded_in_size ... ok
test a_conversion_is_bounded_in_what_it_constructs ... ok
test what_is_held_live_is_bounded_in_sum ... ok
test waits_and_stalls_are_bounded_in_time_asked ... ok
test every_truncation_yields_a_value_or_a_refusal ... ok
test usage_is_each_calls_own_and_a_refusals_too ... ok
test a_string_stored_to_a_field_is_bounded_as_it_is_written ... ok
test a_loop_without_end_is_bounded_in_steps ... ok
test tables_and_names_are_held_against_the_live_bound ... ok
test work_in_one_step_is_charged_in_proportion ... ok
test nesting_is_bounded_before_the_stack ... ok
test mutated_tables_yield_a_value_or_a_refusal ... ok
test a_walk_or_a_read_a_table_sizes_is_charged_for_all_of_it ... ok

test result: ok. 24 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.17s

     Running tests/namespace.rs (target/debug/deps/namespace-be3e867676d2ee7e)

running 18 tests
test an_external_defines_nothing ... ok
test a_dsdt_loads_first_and_then_ssdts ... ok
test a_prefix_above_the_root_finds_nothing ... ok
test a_collision_refuses_the_table_and_leaves_none_of_it ... ok
test an_alias_acts_exactly_as_its_source ... ok
test a_dsdt_below_revision_2_makes_every_integer_32_bits ... ok
test definition_block_level_code_runs_at_load ... ok
test a_definition_needs_every_segment_but_its_last ... ok
test a_processor_parses_opens_a_scope_and_takes_notify ... ok
test a_caller_names_only_absolute_paths_and_passes_the_declared_arguments ... ok
test a_lone_name_is_searched_for_toward_the_root_and_a_path_is_not ... ok
test a_package_names_its_elements ... ok
test a_scope_opens_only_what_has_one ... ok
test names_a_method_creates_go_when_it_exits ... ok
test parent_prefixes_climb_one_scope_each ... ok
test the_predefined_objects_are_there_before_any_table ... ok
test qemus_dsdt_loads_and_its_s5_is_what_its_boot_logged ... ok
test qemus_methods_run_against_the_registers_they_read ... ok

test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/regions.rs (target/debug/deps/regions-8ea02fd76c87c2af)

running 18 tests
test a_lock_field_holds_the_global_lock_across_its_access ... ok
test an_access_past_its_region_is_refused ... ok
test a_bank_field_selects_its_bank_first ... ok
test a_pci_config_region_addresses_its_devices_function ... ok
test a_buffer_field_over_a_conversion_and_a_conversion_into_one ... ok
test a_field_wider_than_an_integer_is_a_buffer ... ok
test an_index_field_writes_its_offset_then_reaches_the_data ... ok
test a_field_store_writes_its_source_as_it_was_when_firmware_changes_it ... ok
test a_field_is_read_shifted_and_masked_from_its_units ... ok
test a_host_refusal_and_a_space_not_carried_are_refused_by_name ... ok
test an_access_type_sets_the_unit_and_anyacc_takes_the_narrowest_natural_one ... ok
test an_address_out_of_its_form_is_refused ... ok
test a_pci_config_region_below_bridges_is_on_the_nearest_ones_secondary_bus ... ok
test copy_object_into_a_field_writes_an_integer_or_buffer_alone ... ok
test system_io_and_the_embedded_controller_are_addressed_by_offset ... ok
test buffer_fields_read_and_write_their_buffer ... ok
test the_update_rule_completes_a_unit_the_field_covers_in_part ... ok
test a_pci_config_region_below_more_bridges_than_buses_is_refused ... ok

test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/walk.rs (target/debug/deps/walk-42edf53a674c656b)

running 6 tests
test an_alias_is_not_walked ... ok
test siblings_are_read_in_the_order_they_were_declared ... ok
test every_object_is_walked_as_what_it_is ... ok
test a_parent_of_thousands_is_walked_in_their_order ... ok
test a_namespace_nested_deep_is_walked_whole ... ok
test a_walk_takes_its_links_and_its_deepest_path_from_the_bound ... ok

test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s

06:47:19 [ci] userland/acpiserver/aml: cargo test --manifest-path userland/acpiserver/aml/Cargo.toml

06:47:19 === [ci] userland/calc
    Finished `test` profile [optimized + debuginfo] target(s) in 0.11s
     Running unittests src/lib.rs (target/debug/deps/calc-7a1d2621a9ccb550)

running 64 tests
test app::tests::prog_reads_digits_in_the_active_base_and_refuses_the_others ... ok
test bigint::tests::addition_crosses_the_limb_boundary ... ok
test app::tests::the_hex_letters_are_live_only_in_hex ... ok
test app::tests::the_expression_line_is_a_text_field ... ok
test app::tests::a_whole_number_crosses_into_prog_and_back ... ok
test app::tests::the_sign_button_flips_the_number_it_stands_after ... ok
test bigint::tests::conversions_refuse_what_does_not_fit ... ok
test app::tests::typing_previews_and_equals_commits ... ok
test app::tests::every_button_reaches_the_same_place_a_key_does ... ok
test bigint::tests::gcd_is_non_negative_and_divides_both ... ok
test bigint::tests::radix_parsing_and_lengths ... ok
test bigint::tests::multiplication_matches_a_known_product ... ok
test bigint::tests::zero_has_one_representation ... ok
test bigint::tests::division_is_exact_over_many_shapes ... ok
test bigint::tests::powers_and_roots_agree ... ok
test app::tests::a_fraction_is_cleared_on_the_way_into_prog_rather_than_rounded ... ok
test app::tests::a_caret_in_the_middle_of_a_wide_character_is_unreachable ... ok
test dec::tests::arithmetic_survives_a_wide_exponent_gap ... ok
test dec::tests::root_two_matches_its_published_digits ... ok
test dec::tests::the_refusals_are_named_rather_than_taken ... ok
test dec::tests::rounding_is_half_to_even_and_canonical ... ok
test num::tests::division_by_zero_is_refused_on_both_paths ... ok
test num::tests::exact_arithmetic_stays_exact ... ok
test num::tests::a_non_terminating_exact_value_is_shown_rounded_and_marked ... ok
test num::tests::percent_is_an_exact_hundredth ... ok
test num::tests::rendering_switches_to_a_scientific_form_rather_than_dropping_digits ... ok
test num::tests::the_marker_propagates_once_it_is_earned ... ok
test num::tests::powers_are_exact_while_that_is_worth_doing ... ok
test app::tests::every_button_of_both_layouts_is_pressable_from_any_state ... ok
test parser::tests::every_refusal_is_named_and_none_is_a_crash ... ok
test app::tests::a_field_that_is_full_says_so_rather_than_growing ... ok
test dec::tests::ln_two_matches_its_published_digits ... ok
test dec::tests::a_whole_power_works_on_a_negative_base ... ok
test parser::tests::precedence_and_associativity ... ok
test parser::tests::the_four_operations_stay_exact ... ok
test prog::tests::a_fractional_division_is_refused_rather_than_rounded ... ok
test prog::tests::arithmetic_wraps_at_the_word ... ok
test prog::tests::digits_are_read_in_the_active_base ... ok
test parser::tests::values_side_by_side_multiply ... ok
test prog::tests::shifts_saturate_rather_than_wrap_the_count ... ok
test prog::tests::the_logic_operators_have_c_precedence ... ok
test num::tests::a_whole_power_of_an_approximation_does_not_need_a_positive_base ... ok
test dec::tests::sine_and_cosine_of_one_match_their_published_digits ... ok
test prog::tests::the_panes_show_the_same_bits_three_ways ... ok
test rational::tests::a_decimal_terminates_only_on_twos_and_fives ... ok
test dec::tests::e_matches_its_published_digits_and_the_factorial_series ... ok
test rational::tests::a_tenth_plus_two_tenths_is_three_tenths ... ok
test rational::tests::a_third_times_three_is_one ... ok
test rational::tests::construction_normalizes ... ok
test rational::tests::division_by_zero_is_the_only_refusal ... ok
test rational::tests::exact_roots_only_where_both_halves_are_squares ... ok
test rational::tests::ordering_is_by_value ... ok
test rational::tests::parsing_takes_what_a_literal_may_be ... ok
test rational::tests::powers_include_the_reciprocal ... ok
test num::tests::degrees_are_converted_at_the_call ... ok
test parser::tests::degrees_are_a_toggle_and_nothing_else ... ok
test app::tests::the_angle_button_says_which_one_it_is ... ok
test dec::tests::pi_matches_its_published_digits_and_machin ... ok
test parser::tests::an_application_finishes_before_a_power_does ... ok
test parser::tests::a_negative_base_under_a_fractional_power_is_named ... ok
test prog::tests::nothing_typeable_panics_here_either ... ok
test parser::tests::functions_are_typeable_by_name ... ok
test dec::tests::the_identities_hold_to_the_displayed_precision ... ok
test parser::tests::no_string_over_the_alphabet_panics ... ok

test result: ok. 64 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s

     Running unittests src/main.rs (target/debug/deps/calc-d3e4f49f042c74be)

running 6 tests
test tests::hit_testing_follows_the_layout_at_every_size ... ok
test tests::the_keys_tile_the_panel_at_every_size ... ok
test tests::tracks_never_lose_a_pixel ... ok
test tests::every_key_face_fits_its_key ... ok
test tests::every_face_the_panel_shows_was_baked ... ok
test tests::the_longest_answer_is_never_cut ... ok

test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/parser_identities.rs (target/debug/deps/parser_identities-a0fd5819088424fa)

running 6 tests
test the_rest_of_the_table_is_where_it_was ... ok
test the_typo_is_refused_by_name ... ok
test a_logarithm_round_trips_through_the_parser ... ok
test the_reported_expressions_have_the_values_they_should ... ok
test the_pythagorean_identity_holds_through_the_parser ... ok
test a_power_after_a_call_squares_what_the_call_returned ... ok

test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

06:47:19 [ci] userland/calc: cargo test --manifest-path userland/calc/Cargo.toml

06:47:19 === [ci] userland/compositor/desktop
    Finished `test` profile [optimized + debuginfo] target(s) in 0.07s
     Running unittests src/lib.rs (target/debug/deps/toyos_desktop-a34f95729f9983c3)

running 95 tests
test budget::tests::capacity_is_checked_before_size ... ok
test budget::tests::a_client_that_names_no_size_is_never_too_large ... ok
test budget::tests::a_window_larger_than_the_screen_is_refused_by_name ... ok
test damage::tests::an_empty_rect_is_not_damage ... ok
test damage::tests::take_clips_to_the_screen_and_drops_what_falls_outside ... ok
test damage::tests::two_distant_rects_stay_two ... ok
test budget::tests::a_machine_with_almost_no_memory_still_gets_one_window ... ok
test budget::tests::the_poller_ceiling_binds_before_memory_does ... ok
test damage::tests::a_bridging_rect_collapses_both_it_joins ... ok
test budget::tests::a_window_costs_whole_pages ... ok
test damage::tests::a_contained_rect_changes_nothing ... ok
test budget::tests::a_bigger_screen_affords_fewer_windows ... ok
test hit::tests::nothing_under_the_pointer_is_the_desktop ... ok
test damage::tests::the_bound_holds_and_the_list_stays_disjoint ... ok
test hit::tests::an_open_launcher_covers_the_window_beneath_it ... ok
test hit::tests::each_button_answers_for_exactly_the_rect_it_is_drawn_in ... ok
test hit::tests::the_bar_past_its_own_buttons_is_desktop ... ok
test hit::tests::the_front_window_wins_an_overlap_and_a_minimized_one_never_does ... ok
test hit::tests::the_launcher_is_only_hit_while_it_is_open ... ok
test hit::tests::the_resize_corner_belongs_to_normal_windows_only ... ok
test hit::tests::the_taskbar_takes_precedence_over_a_window_reaching_into_it ... ok
test input::tests::a_batch_folds_to_its_transitions_and_its_last_position ... ok
test input::tests::a_button_already_down_is_not_a_press ... ok
test input::tests::a_click_on_a_maximized_title_bar_does_not_unmaximize_it ... ok
test input::tests::a_press_on_a_normal_title_bar_drags_at_once ... ok
test input::tests::a_release_is_always_the_window_s ... ok
test input::tests::a_resize_grab_changes_the_size_and_not_the_origin ... ok
test input::tests::a_resize_in_progress_keeps_the_resize_cursor_wherever_the_pointer_went ... ok
test input::tests::a_tab_click_reveals_minimizes_or_raises ... ok
test input::tests::a_truncated_report_is_not_decoded_from_what_follows_it ... ok
test input::tests::a_window_closed_mid_drag_ends_the_grab_instead_of_panicking_or_moving_another ... ok
test input::tests::alt_tab_cycles_even_with_nothing_focused_and_ctrl_n_spawns ... ok
test input::tests::an_unclaimed_super_chord_reaches_the_window ... ok
test input::tests::dragging_reports_both_the_rect_it_left_and_the_one_it_took ... ok
test input::tests::dragging_survives_a_lower_window_closing_and_still_moves_the_right_one ... ok
test input::tests::escape_closes_the_launcher_only_while_it_is_open ... ok
test input::tests::no_window_means_no_super_chord_does_anything ... ok
test input::tests::releasing_a_drag_at_an_edge_snaps_and_anywhere_else_does_not ... ok
test input::tests::releasing_a_resize_asks_for_the_buffer_and_never_snaps ... ok
test input::tests::the_cursor_belongs_to_the_window_under_it_and_not_to_the_focused_one ... ok
test input::tests::the_super_chords_toggle_against_the_mode_the_window_is_in ... ok
test input::tests::the_tablet_range_maps_onto_the_screen_and_never_off_it ... ok
test input::tests::travelling_past_the_threshold_restores_the_window_under_the_pointer ... ok
test layout::tests::a_drag_cannot_put_a_title_bar_off_the_top ... ok
test layout::tests::a_maximized_frame_is_exactly_the_work_area ... ok
test layout::tests::a_normal_window_has_no_mode_frame ... ok
test layout::tests::a_requested_window_is_centred_in_the_work_area ... ok
test layout::tests::a_resize_floors_at_the_minimum_and_never_moves_the_origin ... ok
test layout::tests::an_unmaximized_window_keeps_the_pointer_at_the_same_fraction_of_its_title ... ok
test layout::tests::buttons_sit_inside_the_title_bar_and_do_not_overlap ... ok
test layout::tests::frame_and_content_are_inverses ... ok
test layout::tests::reflow_keeps_the_size_and_brings_the_frame_back_on_screen ... ok
test layout::tests::reflow_leaves_a_window_that_already_fits_where_it_is ... ok
test layout::tests::restoring_under_a_pointer_at_the_left_edge_keeps_the_title_bar_reachable ... ok
test layout::tests::snapped_halves_never_overlap_and_never_reach_the_taskbar ... ok
test layout::tests::successive_unsized_windows_cascade_and_wrap ... ok
test layout::tests::the_layout_follows_the_metrics_it_is_given ... ok
test plan::tests::a_blit_never_reads_outside_the_buffer ... ok
test plan::tests::a_clip_that_misses_the_window_blits_nothing ... ok
test plan::tests::a_minimized_window_is_not_drawn_and_does_not_hide_the_wallpaper ... ok
test plan::tests::a_region_wholly_inside_the_taskbar_plans_only_the_bar ... ok
test plan::tests::a_window_mid_resize_does_not_cover_the_wallpaper_it_cannot_paint ... ok
test plan::tests::an_empty_desktop_is_wallpaper_and_the_bar ... ok
test plan::tests::an_opaque_window_covering_the_region_costs_no_wallpaper ... ok
test plan::tests::no_region_is_left_with_nothing_to_draw_in_it ... ok
test plan::tests::the_launcher_is_planned_over_every_window ... ok
test plan::tests::the_wallpaper_never_reaches_under_the_taskbar ... ok
test plan::tests::windows_are_planned_bottom_to_top_and_only_where_they_reach ... ok
test rect::tests::a_point_on_the_far_edge_is_outside ... ok
test rect::tests::a_wire_rect_cannot_wrap_into_the_whole_screen ... ok
test rect::tests::confine_brings_a_window_back_onto_a_smaller_screen ... ok
test rect::tests::containment_and_overlap_agree_on_touching_edges ... ok
test rect::tests::extents_never_go_negative ... ok
test rect::tests::union_ignores_an_empty_operand ... ok
test stack::tests::a_topmost_window_raises_above_every_other_topmost_one ... ok
test stack::tests::an_ordinary_window_opened_after_a_topmost_one_goes_under_it ... ok
test stack::tests::cycling_leaves_a_topmost_window_on_top ... ok
test stack::tests::cycling_needs_two_ordinary_windows ... ok
test stack::tests::cycling_sends_the_top_window_to_the_bottom_and_reveals_the_next ... ok
test stack::tests::focus_is_the_topmost_window_that_is_not_minimized ... ok
test stack::tests::raising_an_ordinary_window_cannot_lift_it_over_a_topmost_one ... ok
test stack::tests::raising_the_window_already_on_top_leaves_it_there ... ok
test taskbar::tests::a_crowded_bar_has_no_gap_rather_than_a_backwards_one ... ok
test taskbar::tests::a_narrow_screen_keeps_the_status_box_on_it ... ok
test taskbar::tests::a_tab_face_stays_inside_its_tab ... ok
test taskbar::tests::tabs_are_adjacent_and_the_new_button_follows_the_last ... ok
test taskbar::tests::the_gap_is_exactly_what_the_tabs_and_the_status_box_leave ... ok
test taskbar::tests::the_launcher_sits_on_the_bar_and_grows_upward ... ok
test taskbar::tests::the_strip_is_the_bottom_of_the_screen_and_nothing_else ... ok
test window::tests::a_client_cannot_damage_more_than_its_own_window ... ok
test window::tests::a_minimized_window_is_never_opaque ... ok
test window::tests::a_window_mid_resize_is_not_opaque_and_its_backing_is_the_buffer ... ok
test window::tests::a_window_shrunk_below_its_buffer_is_still_opaque ... ok
test window::tests::only_the_first_departure_from_normal_is_saved ... ok
test damage::tests::coverage_survives_a_random_stream ... ok

test result: ok. 95 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

06:47:19 [ci] userland/compositor/desktop: cargo test --manifest-path userland/compositor/desktop/Cargo.toml

06:47:19 === [ci] userland/diskserver
    Finished `test` profile [optimized + debuginfo] target(s) in 0.07s
     Running unittests src/lib.rs (target/debug/deps/diskserver-2e5dc1c785f21dcd)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/main.rs (target/debug/deps/diskserver-388b5f963aa1f320)

running 3 tests
test tests::an_unusable_or_unclaimed_controller_is_refused_and_an_absent_one_lists_nothing ... ok
test tests::a_listing_names_only_what_its_grant_admits ... ok
test tests::an_open_reaches_only_what_its_grant_admits ... ok

test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

06:47:19 [ci] userland/diskserver: cargo test --manifest-path userland/diskserver/Cargo.toml

06:47:19 === [ci] userland/fileserver
    Finished `test` profile [optimized + debuginfo] target(s) in 0.08s
     Running unittests src/lib.rs (target/debug/deps/fileserver-eb78af729d24b848)

running 44 tests
test cache::tests::a_write_reaches_the_disk_at_the_flush_and_not_before ... ok
test cache::tests::a_write_past_the_disk_is_refused ... ok
test cache::tests::contiguous_misses_are_one_request_and_a_second_read_is_none ... ok
test cache::tests::dirty_runs_go_out_in_runs ... ok
test data::tests::a_file_reads_back_what_was_written_across_pages_and_holes ... ok
test data::tests::a_file_unlinked_while_open_answers_gone ... ok
test data::tests::a_closed_file_keeps_its_length_across_a_remount ... ok
test data::tests::data_is_one_partition_counted_over_both_sources ... ok
test data::tests::a_shrink_zeroes_what_it_cut_and_regrowth_reads_zeros ... ok
test fat::tests::a_device_error_is_io_and_not_not_found ... ok
test data::tests::directories_are_listed_and_refuse_what_posix_refuses ... ok
test data::tests::a_file_is_one_number_across_renames_and_another_files_is_another ... ok
test data::tests::an_entry_refused_costs_only_its_own_file ... ok
test data::tests::a_rename_moves_an_open_file_and_a_directory_with_its_contents ... ok
test fat::tests::a_partial_write_over_an_unreadable_block_writes_nothing ... ok
test fat::tests::a_refused_read_is_an_error_and_never_zeros ... ok
test resolve::tests::a_link_that_stays_inside_by_going_up_and_back_resolves ... ok
test resolve::tests::a_cycle_is_refused_and_not_followed_for_ever ... ok
test resolve::tests::a_plain_path_lands_under_the_root ... ok
test resolve::tests::a_relative_link_is_read_against_its_own_directory ... ok
test resolve::tests::an_absolute_link_is_handed_back_with_the_rest_of_the_path ... ok
test resolve::tests::an_empty_target_names_nothing ... ok
test resolve::tests::no_link_climbs_out_of_the_root ... ok
test resolve::tests::the_last_link_is_left_alone_when_asked ... ok
test rights::tests::a_request_the_wire_does_not_have_is_neither ... ok
test rights::tests::an_open_changes_the_directory_by_every_flag_but_read ... ok
test rights::tests::every_request_that_writes_changes_the_directory_and_none_that_reads_does ... ok
test volume::tests::a_directory_moves_with_everything_beneath_it ... ok
test volume::tests::a_number_follows_its_file_and_is_never_another_files ... ok
test volume::tests::the_anchor_is_the_kernels ... ok
test writeback::tests::a_sync_that_left_a_file_unwritten_is_due_again ... ok
test volume::tests::a_clock_that_always_straddles_is_refused_by_name - should panic ... ok
test data::tests::a_directory_rename_the_format_refuses_part_way_moves_nothing ... ok
test data::tests::a_refused_rename_over_an_open_file_keeps_its_unsynced_writes ... ok
test data::tests::a_write_its_entry_could_not_name_is_refused_and_every_accepted_one_kept ... ok
test cache::tests::at_the_dirty_limit_a_refused_flush_refuses_the_write_and_the_cache_grows_no_larger ... ok
test fat::tests::a_read_only_volume_never_writes_its_disk ... ok
test fat::tests::a_file_is_one_number_through_spellings_and_renames ... ok
test cache::tests::clean_blocks_are_bounded_and_dirty_ones_are_kept ... ok
test data::tests::every_file_reads_back_as_a_plain_map_of_its_accepted_writes ... ok
test fat::tests::an_unreadable_entry_is_io_and_not_undated ... ok
test fat::tests::a_file_that_will_not_level_costs_only_its_own_file ... ok
test data::tests::a_directory_rename_is_whole_under_one_name_wherever_the_server_is_killed ... ok
test data::tests::a_directory_rename_is_whole_under_one_name_whichever_write_is_refused ... ok

test result: ok. 44 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.13s

     Running unittests src/main.rs (target/debug/deps/fileserver-1f58d9b70a9fbdc1)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

06:47:21 [ci] userland/fileserver: cargo test --manifest-path userland/fileserver/Cargo.toml

06:47:21 === [ci] userland/logkeeper
    Finished `test` profile [optimized + debuginfo] target(s) in 0.07s
     Running unittests src/main.rs (target/debug/deps/logkeeper-d1443c6ba5f4ad71)

running 9 tests
test origin::tests::a_stamp_ahead_of_the_clock_is_read_as_now ... ok
test origin::tests::a_closing_record_ends_its_writers_line_and_nothing_else ... ok
test origin::tests::a_writers_pieces_are_its_line_whoever_wrote_between_them ... ok
test origin::tests::what_is_held_is_bounded_and_said ... ok
test tests::readers_and_inspect_share_one_port_and_never_one_request ... ok
test policy::tests::every_step_names_itself ... ok
test store::tests::nothing_goes_while_there_is_room ... ok
test store::tests::a_flooding_boot_costs_its_own_middle_and_nobody_elses_start ... ok
test store::tests::whole_old_boots_go_first_then_earlier_continuations ... ok

test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

06:47:21 [ci] userland/logkeeper: cargo test --manifest-path userland/logkeeper/Cargo.toml

06:47:21 === [ci] userland/netstack
    Finished `test` profile [optimized + debuginfo] target(s) in 0.08s
     Running unittests src/main.rs (target/debug/deps/netstack-b9f6960c17cc7664)

running 6 tests
test virtio_net::tests::a_full_transmit_queue_has_no_room_until_the_device_gives_heads_back ... ok
test virtio_net::tests::a_used_index_past_every_frame_offered_ends_the_driver - should panic ... ok
test virtio_net::tests::a_used_length_past_the_chains_writable_bytes_ends_the_driver - should panic ... ok
test virtio_net::tests::a_used_head_past_the_table_ends_the_driver - should panic ... ok
test virtio_net::tests::a_frame_offered_to_a_full_transmit_queue_is_not_taken - should panic ... ok
test virtio_net::tests::a_used_head_with_no_chain_in_flight_ends_the_driver - should panic ... ok

test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

06:47:21 [ci] userland/netstack: cargo test --manifest-path userland/netstack/Cargo.toml

06:47:21 === [ci] userland/netstack/mdns
    Finished `test` profile [optimized + debuginfo] target(s) in 0.07s
     Running unittests src/lib.rs (target/debug/deps/toyos_mdns-aa5c41f3fcc05721)

running 36 tests
test tests::a_host_name_is_one_label ... ok
test tests::a_legacy_resolver_gets_its_id_its_question_and_a_short_ttl ... ok
test tests::a_links_return_under_a_lost_name_probes_at_once_in_place_of_the_retry ... ok
test tests::a_name_is_matched_whatever_its_case_and_any_asks_for_it_too ... ok
test tests::a_question_spelled_by_a_pointer_is_read ... ok
test tests::a_query_for_this_name_is_answered_to_the_group ... ok
test tests::a_retry_no_host_answers_claims_and_announces_the_name ... ok
test tests::a_retry_the_holder_answers_loses_again_and_the_next_is_a_minute_after_it ... ok
test tests::a_name_under_probe_is_answered_to_nobody ... ok
test tests::a_query_from_off_the_link_is_not_answered ... ok
test tests::a_question_that_is_not_this_hosts_is_not_answered ... ok
test tests::an_address_after_none_is_probed_for_and_a_new_one_under_a_held_name_is_announced ... ok
test tests::rfc6762_8_1_a_probe_asks_any_for_the_name_with_the_unicast_bit_and_proposes_its_record_in_the_authority_section ... ok
test tests::rfc6762_6_a_probe_for_a_held_name_is_answered_at_once_by_unicast_or_250_ms_after_the_records_last_multicast ... ok
test tests::rfc6762_8_1_a_conflicting_response_received_as_the_last_250_ms_end_takes_the_name ... ok
test tests::a_malformed_message_is_no_question ... ok
test tests::rfc6762_8_1_a_probe_attempt_within_ten_seconds_of_a_conflict_waits_five_seconds_first ... ok
test tests::a_flapping_link_restarts_the_probe_and_nothing_is_announced_until_one_runs_whole ... ok
test tests::rfc6762_8_1_nothing_heard_before_the_first_probe_is_sent_is_a_conflict ... ok
test tests::rfc6762_8_2_the_lexicographically_later_data_wins_a_simultaneous_probe_and_the_earlier_waits_a_second ... ok
test tests::rfc6762_8_1_three_probes_250_ms_apart_follow_the_drawn_delay_and_the_name_is_announced_250_ms_after_the_third ... ok
test tests::the_group_address_maps_to_its_ethernet_address ... ok
test tests::rfc6762_8_a_link_that_returns_is_probed_on_before_the_name_is_announced_or_answered_with_again ... ok
test tests::a_lost_name_is_probed_for_again_a_minute_after_the_loss_and_not_before ... ok
test tests::forged_probes_that_win_every_tiebreak_cost_one_probe_in_five_seconds_and_the_name_is_claimed_when_they_stop ... ok
test tests::no_cut_of_a_conflicting_response_or_of_a_winning_probe_is_one ... ok
test tests::rfc6762_9_a_held_name_another_host_answers_for_under_the_new_probe_is_lost ... ok
test tests::the_unicast_bit_sends_the_answer_back_to_the_asker ... ok
test tests::the_record_is_multicast_at_most_once_a_second_and_a_query_inside_it_waits ... ok
test tests::rfc6762_8_2_a_probe_is_compared_by_class_then_type_then_data_and_a_longer_list_wins ... ok
test tests::rfc6762_8_1_a_conflicting_response_under_the_probe_takes_the_name_and_nothing_else_does ... ok
test tests::rfc6762_9_a_conflicting_response_resets_a_held_name_to_probing_and_nothing_else_does ... ok
test tests::a_storm_of_forged_answers_costs_one_probe_and_the_name ... ok
test tests::forged_probes_that_win_every_tiebreak_at_a_lost_name_cost_one_probe_a_minute ... ok
test tests::a_storm_of_forged_conflicts_at_a_lost_name_costs_one_probe_a_minute ... ok
test tests::forged_answers_that_spare_every_probe_cost_one_probing_in_five_seconds_and_the_name_is_held_when_they_stop ... ok

test result: ok. 36 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

06:47:21 [ci] userland/netstack/mdns: cargo test --manifest-path userland/netstack/mdns/Cargo.toml

06:47:21 === [ci] userland/netstack/node
    Finished `test` profile [optimized + debuginfo] target(s) in 0.08s
     Running unittests src/lib.rs (target/debug/deps/toyos_net_node-aa2c64cc625e7067)

running 1 test
test lease::tests::the_log_lines_are_taken_and_the_report_before_them_keeps_its_turn ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/datagram.rs (target/debug/deps/datagram-e86a84e5f5c26267)

running 9 tests
test a_refusal_is_logged_by_the_call_that_met_it ... ok
test a_datagram_leaves_as_the_call_named_it ... ok
test a_socket_holds_the_port_it_named_or_the_one_its_draw_picked ... ok
test a_datagram_accepted_for_a_host_is_no_broadcast_after_the_server_renews_a_narrower_prefix ... ok
test a_broadcast_needs_its_permission ... ok
test a_clients_datagram_for_a_host_nobody_answers_for_is_dropped_and_the_client_is_told_nothing ... ok
test a_closed_socket_frees_its_port_and_what_it_accepted_still_leaves ... ok
test a_datagram_for_a_bound_port_is_handed_over_with_where_it_came_from ... ok
test each_refusal_is_answered_in_the_pipes_word_for_it ... ok

test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/host.rs (target/debug/deps/host-803046cba786c7e9)

running 1 test
test a_host_gives_a_connection_the_nodelay_its_listener_had_when_it_began ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/lease.rs (target/debug/deps/lease-b278d53b751b0a1a)

running 21 tests
test a_link_that_returns_with_no_lease_starts_discovery_over_at_once ... ok
test a_message_with_no_link_is_counted_and_not_sent ... ok
test a_reply_without_the_cookie_is_refused_by_name ... ok
test a_router_ip_refuses_is_no_router ... ok
test a_renewed_prefix_reaches_ip_before_its_router ... ok
test a_renewal_without_a_router_takes_the_route_and_keeps_the_address ... ok
test a_conflict_under_the_probe_declines_and_holds_nothing ... ok
test a_probe_the_link_drops_under_is_abandoned ... ok
test a_link_that_returns_keeps_a_held_lease_and_announces_it ... ok
test a_nak_takes_address_route_and_resolvers_in_one_step ... ok
test a_renewal_for_a_server_nobody_answers_for_waits_and_is_dropped_and_the_client_is_told_nothing ... ok
test a_lease_that_runs_out_under_the_probe_leaves_no_address ... ok
test a_hundred_refused_replies_are_one_line_and_a_count ... ok
test a_second_conflict_takes_a_held_lease_and_declines_it ... ok
test expiry_takes_address_route_and_resolvers_in_one_step ... ok
test next_deadline_is_the_earliest_of_the_clients_and_the_stacks ... ok
test no_frame_is_from_the_address_before_it_is_verified ... ok
test the_lease_end_to_end ... ok
test no_cut_of_the_ack_is_an_ack ... ok
test a_listener_stands_while_its_address_is_lost_and_answers_when_it_is_back ... ok
test no_flipped_bit_of_the_ack_yields_another_lease ... ok

test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s

     Running tests/listeners.rs (target/debug/deps/listeners-0155aace57c521d2)

running 31 tests
test a_connect_past_the_places_is_refused_and_sends_nothing ... ok
test a_listen_at_every_address_takes_no_port_held_at_the_machines_address ... ok
test a_connect_between_two_accepts_is_queued_not_reset ... ok
test a_listener_is_at_the_address_it_named_and_only_one_the_machine_holds ... ok
test a_datagram_socket_holds_a_place_and_a_bind_without_one_makes_nothing ... ok
test a_listener_holds_the_option_its_listen_named_from_its_first_connection ... ok
test a_listen_on_a_taken_port_is_refused_and_a_drawn_port_listens ... ok
test a_listener_holds_a_place_and_a_listen_without_one_makes_nothing ... ok
test a_listener_ended_for_its_wake_gives_its_place_to_another_in_the_same_pass ... ok
test a_handshake_nobody_finishes_leaves_the_port_open_and_is_given_up ... ok
test a_listener_answers_a_syn_and_wakes_its_owner_when_the_handshake_ends ... ok
test a_handshake_reset_before_it_ends_leaves_the_next_connection_its_listeners_option ... ok
test a_listen_at_the_machines_address_takes_no_port_held_at_every_address ... ok
test a_second_listen_at_the_machines_address_takes_no_port_held_there ... ok
test a_stream_reset_for_its_pipe_gives_its_place_to_a_connection_that_waits ... ok
test a_wake_is_owed_only_for_a_connection_there_is_a_place_for ... ok
test a_stream_starts_with_the_options_its_connection_took_from_its_listener ... ok
test a_departed_clients_connection_holds_its_place_until_it_is_cut ... ok
test a_wake_left_by_a_connection_its_peer_reset_stands_for_the_next ... ok
test an_accept_answers_the_option_of_a_stream_its_own_pass_let_go ... ok
test an_accept_spends_a_wake_whatever_it_answers ... ok
test closing_a_connect_gives_its_place_to_a_connection_that_waits ... ok
test a_wake_the_owners_pipe_refuses_ends_the_listener ... ok
test closing_a_listener_gives_its_place_to_a_connection_that_waits_at_another ... ok
test closing_a_listener_resets_what_waits_and_frees_its_port ... ok
test more_places_wake_the_owner_of_a_connection_that_waits ... ok
test no_cut_of_a_syn_is_a_syn ... ok
test a_request_for_a_stream_that_was_cut_names_nothing ... ok
test peers_at_more_addresses_than_there_are_places_hold_no_stream_past_them ... ok
test an_accepted_stream_is_one_of_its_peers_addresss_sixteen ... ok
test no_flipped_bit_of_a_syn_wakes_an_owner_or_ends_a_listener ... ok

test result: ok. 31 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

     Running tests/name.rs (target/debug/deps/name-8c603c20311b1485)

running 21 tests
test a_conflicting_response_received_as_the_probing_ends_takes_the_name ... ok
test an_answer_udp_refuses_is_counted_and_dropped ... ok
test a_later_probe_of_another_hosts_makes_the_node_wait_a_second_and_probe_again ... ok
test a_lost_name_is_probed_for_again_a_minute_after_each_loss_and_claimed_once_no_host_answers ... ok
test a_name_has_no_link_while_the_link_is_down_and_the_links_return_is_probed_on ... ok
test an_answer_to_a_link_local_asker_goes_to_its_own_link_address ... ok
test a_query_in_a_frame_to_the_groups_address_reaches_the_responder ... ok
test a_held_name_is_probed_for_again_when_the_link_returns_and_announced_only_then ... ok
test a_query_from_off_the_link_is_not_answered ... ok
test an_answer_goes_to_the_group_or_to_the_asker_as_the_query_asked ... ok
test a_held_lease_is_probed_for_three_times_and_its_name_announced_only_then ... ok
test a_held_name_is_defended_and_probed_for_again_when_another_host_answers_for_it ... ok
test a_second_query_inside_a_second_waits_for_the_second_to_end ... ok
test a_links_return_under_a_lost_name_is_probed_on_at_once_and_no_retry_follows_it ... ok
test every_message_leaves_with_ttl_255 ... ok
test the_group_is_joined_and_its_membership_reported ... ok
test another_hosts_answer_under_the_probe_takes_the_name_and_the_node_says_so ... ok
test the_first_probe_follows_the_delay_the_callers_draw_gives ... ok
test no_cut_of_a_query_is_answered ... ok
test the_names_port_is_held_by_one_socket ... ok
test the_name_is_answered_only_while_its_lease_is_held ... ok

test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/resolve.rs (target/debug/deps/resolve-94085b0fb47f9deb)

running 33 tests
test a_lookup_udp_refuses_every_resolver_of_ends_in_the_call_that_started_it ... ok
test a_query_is_rfc_1035s_octets_from_a_port_and_with_an_id_of_its_own_draws ... ok
test a_query_for_a_resolver_ip_has_given_up_ends_its_lookup_in_the_opportunity_that_would_have_carried_it ... ok
test a_lookup_with_no_resolver_to_ask_is_refused_as_not_connected ... ok
test a_lookup_ends_when_its_leases_resolvers_change ... ok
test a_lookup_ends_when_its_lease_is_lost ... ok
test a_forged_report_of_the_querys_own_addresses_and_ports_ends_nothing_and_the_answer_behind_it_is_taken ... ok
test a_lookup_let_go_after_it_ended_takes_its_answer_with_it ... ok
test a_lookup_outlives_a_renewal_that_names_the_same_resolvers ... ok
test a_lookup_is_not_carried_by_a_later_ones_schedule ... ok
test a_query_holds_its_port_while_its_answer_is_read_and_an_ended_lookup_holds_none ... ok
test a_burst_at_a_resolver_not_yet_resolved_is_on_the_wire_once_the_resolver_answers_arp ... ok
test a_query_its_resolver_refuses_by_icmp_is_counted_and_the_next_resolver_is_asked_at_once ... ok
test a_clients_datagrams_behind_the_burst_wait_in_their_own_socket_and_take_no_querys_place ... ok
test a_lookup_let_go_frees_its_ports_and_its_place_at_once ... ok
test a_query_the_network_reports_unreachable_is_counted_and_ends_a_lookup_with_no_other_resolver ... ok
test a_query_udp_refuses_is_counted_holds_no_port_and_the_next_resolver_is_asked_at_once ... ok
test a_recorded_reply_of_a_public_resolver_answers_the_nodes_query ... ok
test a_reply_from_port_0_is_not_read ... ok
test a_reply_is_read_only_at_the_address_its_query_left_from ... ok
test a_reply_is_read_only_from_port_53 ... ok
test a_reply_is_read_only_from_the_resolver_its_query_went_to ... ok
test a_reply_on_another_querys_port_is_not_read ... ok
test a_report_that_is_not_about_the_query_or_is_a_hint_ends_no_wait ... ok
test a_resolver_that_never_answers_is_asked_at_each_waits_end ... ok
test a_resolver_the_lease_names_twice_is_asked_once_a_wait_whatever_it_reports ... ok
test an_alias_answered_late_restarts_the_lookup_and_lets_the_old_names_queries_go ... ok
test forged_reports_and_another_resolvers_failures_end_nothing_and_the_answer_behind_them_is_taken ... ok
test reports_alone_end_no_lookup_and_ask_no_resolver_twice_inside_a_wait ... ok
test nothing_but_its_answer_ends_a_lookup ... ok
test the_query_asked_in_a_dropped_querys_place_leaves_in_the_same_opportunity ... ok
test the_lookup_past_the_cap_is_refused_until_an_answer_is_taken ... ok
test a_query_with_no_port_to_leave_from_ends_its_lookup_by_name ... ok

test result: ok. 33 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

     Running tests/slirp.rs (target/debug/deps/slirp-093165c007ff89fc)

running 3 tests
test slirps_offer_is_answered_with_a_request_for_what_it_offered ... ok
test the_lease_is_read_from_the_acks_own_mask ... ok
test slirps_ack_is_the_lease_its_bytes_name ... ok

test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/streams.rs (target/debug/deps/streams-1e6b36f14ca6826f)

running 44 tests
test a_connect_before_the_lease_is_refused_and_sends_nothing ... ok
test a_connect_nobody_answers_arp_for_fails_when_tcp_knows ... ok
test a_connect_closed_before_its_answer_is_answered_closed ... ok
test a_connect_past_its_deadline_is_timed_out_at_the_deadline ... ok
test a_connect_is_a_handshake_and_its_answer_names_the_port ... ok
test a_batch_of_frames_moves_an_established_stream_once_with_no_opportunity_after_it ... ok
test a_close_sends_what_the_pipe_held_and_then_the_fin ... ok
test a_client_that_left_is_finished_by_the_stack ... ok
test a_batch_stops_at_its_bound_and_says_a_pass_is_owed ... ok
test a_close_with_text_unread_resets ... ok
test a_full_pipe_keeps_the_rest_in_the_stack_and_is_watched_for_room ... ok
test a_finished_send_pipe_goes_with_its_reader ... ok
test a_deadline_moves_an_established_stream_with_no_opportunity_after_it ... ok
test a_refused_connect_is_answered_with_the_refusal ... ok
test a_pipe_that_is_no_pipe_resets_its_connection ... ok
test a_reader_that_left_is_not_written_to_again ... ok
test a_reset_after_the_clients_shutdown_lets_the_send_pipe_go_first ... ok
test a_refused_watch_resets_only_a_stream_that_holds_the_end ... ok
test a_reset_after_the_peers_fin_ends_the_send_pipe ... ok
test a_reset_ends_both_pipes_and_the_stream ... ok
test a_client_done_writing_after_the_peers_fin_has_100_seconds_without_progress ... ok
test a_reset_in_the_batch_of_the_text_before_it_ends_the_pipes_after_the_text ... ok
test a_send_pipe_found_empty_is_read_again_only_once_the_kernel_says_it_holds_bytes ... ok
test a_shutdown_sends_what_the_pipe_held_and_then_the_fin ... ok
test an_established_streams_connect_deadline_is_gone ... ok
test a_shutdown_after_the_peers_fin_keeps_the_send_pipe_past_the_connections_end ... ok
test a_writer_that_leaves_after_the_shutdown_leaves_the_stream_to_its_reader ... ok
test a_live_client_that_is_done_writing_is_not_timed ... ok
test nodelay_reaches_the_stack ... ok
test text_the_pipe_had_no_room_for_outlives_both_fins ... ok
test text_the_pipe_had_no_room_for_outlives_the_reset ... ok
test the_end_of_the_clients_writing_is_a_fin_and_the_peer_still_sends ... ok
test the_peers_fin_after_the_clients_shutdown_leaves_the_send_pipe_to_its_writer ... ok
test room_in_the_pipe_opens_the_window_at_the_next_opportunity ... ok
test the_peers_fin_ends_the_clients_reading_and_not_its_writing ... ok
test a_departed_clients_unsent_bytes_have_100_seconds ... ok
test nothing_leaves_the_pipe_that_the_stack_will_not_take ... ok
test nothing_leaves_the_stack_that_the_pipe_did_not_take ... ok
test a_departed_clients_tail_arrives_whole_while_its_peer_takes_it ... ok
test no_cut_of_a_segment_is_a_segment ... ok
test a_peer_at_another_address_keeps_its_own_sixteen ... ok
test no_flipped_bit_of_a_segment_delivers_other_bytes ... ok
test a_departed_clients_connection_past_the_sixteen_is_one_of_them_once_one_is_done ... ok
test a_peer_keeps_sixteen_departed_clients_connections_alive_and_no_more ... ok

test result: ok. 44 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s

06:47:22 [ci] userland/netstack/node: cargo test --manifest-path userland/netstack/node/Cargo.toml

@Japabu

Japabu commented Oct 11, 2026

Copy link
Copy Markdown
Collaborator Author

ci-host, part 9 of 9, cargo run -- --ci host, exit 0, run on tree 755f3da0 (head 7cdd1ec's)

06:47:22 === [ci] userland/pkg
    Finished `test` profile [optimized + debuginfo] target(s) in 0.08s
     Running unittests src/lib.rs (target/debug/deps/pkg-aae35b984c0b2b4f)

running 12 tests
test archive::tests::a_directory_and_two_files_come_back_whole ... ok
test archive::tests::a_header_that_does_not_sum_and_a_size_past_the_end_are_both_refused ... ok
test archive::tests::a_name_that_leaves_the_archive_is_refused ... ok
test sums::tests::the_one_line_for_this_asset_is_the_answer ... ok
test tests::a_digest_the_manifest_cannot_carry_stops_the_install ... ok
test sums::tests::hex_is_the_spelling_the_file_uses ... ok
test sums::tests::a_line_that_is_not_one_and_a_name_given_twice_are_both_refused ... ok
test tests::a_file_name_that_states_no_version_is_refused ... ok
test tests::a_path_the_archive_names_as_both_a_file_and_a_directory_is_refused ... ok
test tests::an_archive_that_is_not_one_directory_installs_nothing ... ok
test archive::tests::every_type_but_a_file_and_a_directory_is_refused ... ok
test tests::the_real_asset_plans_the_directory_the_track_describes ... ok

test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/main.rs (target/debug/deps/pkg-e7580b8474ba38da)

running 3 tests
test tests::an_archive_that_inflates_past_the_ceiling_is_refused_unread ... ok
test tests::an_install_that_cannot_finish_takes_its_directory_back_down ... ok
test tests::a_tree_of_any_depth_comes_off_and_leaves_no_directory ... ok

test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s

06:47:22 [ci] userland/pkg: cargo test --manifest-path userland/pkg/Cargo.toml

06:47:22 === [ci] userland/soundserver
    Finished `test` profile [optimized + debuginfo] target(s) in 0.08s
     Running unittests src/main.rs (target/debug/deps/soundserver-0e91874d37b32c73)

running 3 tests
test control::tests::a_control_message_is_refused_unless_its_width_and_its_state_both_fit ... ok
test client::tests::the_stronger_witness_wins_in_either_order ... ok
test mix::tests::published_totals_are_exactly_the_sum_of_every_window ... ok

test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

06:47:23 [ci] userland/soundserver: cargo test --manifest-path userland/soundserver/Cargo.toml

06:47:23 === [ci] userland/soundserver/mixer
    Finished `test` profile [optimized + debuginfo] target(s) in 0.08s
     Running unittests src/lib.rs (target/debug/deps/toyos_mixer-55f41f11fc4bfc95)

running 55 tests
test channel::tests::a_mono_client_is_the_same_sample_in_both_channels ... ok
test channel::tests::an_append_lands_after_what_is_already_there ... ok
test channel::tests::planar_and_interleaved_convert_alike ... ok
test channel::tests::the_interleave_reads_only_the_frames_produced ... ok
test channel::tests::the_downmix_averages_rather_than_sums ... ok
test dll::tests::a_batch_is_measured_against_its_last_grid_point ... ok
test dll::tests::a_reset_forgets_the_grid_and_the_drift ... ok
test dll::tests::the_first_record_anchors_and_decides_nothing ... ok
test dll::tests::a_wild_timestamp_cannot_collapse_or_run_away_the_period ... ok
test dll::tests::a_grid_that_runs_fast_is_followed ... ok
test format::tests::a_half_rounds_away_from_zero ... ok
test format::tests::a_period_quantizes_as_its_samples_do ... ok
test corpus::tests::the_crate_agrees_with_the_captured_shell ... ok
test format::tests::full_scale_clamps_instead_of_wrapping ... ok
test format::tests::the_generator_cannot_be_seeded_into_silence ... ok
test format::tests::passthrough_is_bit_exact_for_every_i16 ... ok
test channel::tests::an_append_past_the_reserved_capacity_is_refused - should panic ... ok
test gain::tests::a_fade_stays_between_its_endpoints ... ok
test gain::tests::a_ramp_lands_exactly_on_its_target ... ok
test gain::tests::a_ramp_to_its_own_level_is_a_ramp_to_nowhere ... ok
test gain::tests::a_retarget_starts_from_the_level_reached ... ok
test gain::tests::a_settled_ramp_holds_its_level ... ok
test gain::tests::a_volume_that_is_not_a_number_is_refused_and_the_rest_is_clamped ... ok
test gain::tests::advancing_past_the_end_settles ... ok
test mix::tests::a_client_at_unity_is_added_unscaled ... ok
test mix::tests::a_period_of_the_wrong_width_is_refused - should panic ... ok
test mix::tests::a_silent_client_leaves_the_bus_untouched ... ok
test mix::tests::both_channels_of_a_frame_get_one_gain ... ok
test mix::tests::clients_sum_and_the_bus_is_not_clamped ... ok
test mix::tests::the_composite_is_the_conversion_and_the_sum ... ok
test shape::tests::a_client_at_the_device_s_own_rate_gets_the_device_s_period ... ok
test shape::tests::a_pipeline_with_nothing_to_reserve_disables_deferral ... ok
test shape::tests::a_rate_too_low_for_the_ramp_or_the_grid_is_refused ... ok
test shape::tests::a_shape_the_mixer_cannot_render_is_refused_and_nothing_divides_by_zero ... ok
test format::tests::the_draw_stays_inside_half_an_lsb ... ok
test shape::tests::the_scratch_covers_every_rate_a_client_may_ask_for ... ok
test shape::tests::the_shipped_device_shape_is_served ... ok
test shape::tests::the_shipped_grid_and_ramp ... ok
test shape::tests::the_shipped_pipeline_keeps_five_periods_in_reserve ... ok
test stats::tests::a_late_wake_is_one_past_a_whole_period ... ok
test stats::tests::a_later_shorter_run_does_not_lower_the_worst ... ok
test stats::tests::a_software_grid_blames_only_itself ... ok
test stats::tests::empty_wakes_belong_to_the_wake_that_ends_them ... ok
test stats::tests::one_covered_period_ends_a_run ... ok
test stats::tests::only_the_wake_nothing_asked_for_is_named ... ok
test stats::tests::silence_outside_a_stream_costs_nothing ... ok
test stats::tests::the_halves_come_from_one_wake ... ok
test stats::tests::the_halves_sum_to_the_whole ... ok
test stats::tests::the_run_length_separates_a_gap_from_scattered_misses ... ok
test shape::tests::no_accepted_rate_overruns_the_shipped_scratch ... ok
test corpus::tests::a_one_lsb_change_anywhere_moves_the_transcript ... ok
test format::tests::the_dither_is_a_triangular_distribution_and_not_merely_shaped_like_one ... ok
test corpus::tests::the_corpus_is_reproduced_bit_for_bit ... ok
test format::tests::a_signal_under_one_lsb_survives_the_quantizer ... ok
test format::tests::the_rounding_is_std_s_over_every_float_there_is ... ok

test result: ok. 55 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.99s

06:47:24 [ci] userland/soundserver/mixer: cargo test --manifest-path userland/soundserver/mixer/Cargo.toml

06:47:24 === [ci] userland/soundserver/virtio-sound
    Finished `test` profile [optimized + debuginfo] target(s) in 0.07s
     Running unittests src/lib.rs (target/debug/deps/toyos_virtio_sound-deb3ed1c9b0f498c)

running 10 tests
test tests::an_event_is_handed_up_and_its_buffer_posted_again ... ok
test tests::every_code_is_the_specifications_number ... ok
test tests::stream_information_is_decoded_at_the_specifications_offsets ... ok
test tests::a_malformed_control_answer_is_refused_by_name ... ok
test tests::the_bring_up_sends_the_specifications_bytes_in_its_order ... ok
test tests::periods_go_out_after_one_start_and_come_back_as_a_mask ... ok
test tests::a_period_given_back_wrongly_is_refused_by_name ... ok
test tests::the_stream_is_set_to_what_it_offers_or_refused_by_what_it_lacks ... ok
test tests::no_period_is_stranded_between_its_used_element_and_its_notification ... ok
test tests::a_silent_device_and_a_streamless_one_are_refused ... ok

test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.21s

06:47:24 [ci] userland/soundserver/virtio-sound: cargo test --manifest-path userland/soundserver/virtio-sound/Cargo.toml

06:47:24 === [ci] userland/sshserver
    Finished `test` profile [optimized + debuginfo] target(s) in 0.18s
     Running unittests src/main.rs (target/debug/deps/sshserver-55278c998eec2a64)

running 29 tests
test command::tests::a_bare_name_resolves_under_system_bin ... ok
test command::tests::quotes_hold_a_word_together ... ok
test command::tests::a_shell_command_reaches_the_shell_whole ... ok
test command::tests::backslash_escapes_one_character ... ok
test command::tests::a_bare_command_is_its_words ... ok
test command::tests::metacharacters_are_ordinary_bytes ... ok
test command::tests::a_line_that_names_nothing_is_refused ... ok
test command::tests::an_unfinished_quote_is_refused ... ok
test sftp::tests::a_request_before_init_ends_the_session ... ok
test sftp::tests::a_second_init_ends_the_session ... ok
test sftp::tests::a_handle_nobody_opened_is_refused ... ok
test sftp::tests::a_truncated_request_is_a_bad_message_and_not_a_panic ... ok
test sftp::tests::an_oversized_length_ends_the_session ... ok
test sftp::tests::framing_waits_for_a_whole_packet ... ok
test sftp::tests::a_file_that_is_not_there_is_no_such_file ... ok
test sftp::tests::a_request_outside_the_profile_is_refused_by_name ... ok
test tests::a_listed_key_is_authorized ... ok
test tests::the_comment_is_not_part_of_the_key ... ok
test tests::input_for_a_program_that_is_gone_is_not_a_stall ... ok
test tests::input_a_program_is_reading_is_taken ... ok
test tests::a_file_that_names_nobody_authorizes_nobody ... ok
test tests::a_key_listed_with_options_authorizes_nothing ... ok
test tests::an_unlisted_key_is_not_authorized ... ok
test tests::an_unparseable_line_does_not_disarm_the_rest ... ok
test tests::a_key_is_found_among_several_and_blank_lines ... ok
test sftp::tests::the_profile_moves_a_file_and_lists_it ... ok
test sftp::tests::a_listing_longer_than_one_reply_continues_where_it_left_off ... ok
test tests::input_nothing_takes_is_given_up_on ... ok
test sftp::tests::a_directory_past_the_ceiling_is_refused_by_name ... ok

test result: ok. 29 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.56s

06:47:25 [ci] userland/sshserver: cargo test --manifest-path userland/sshserver/Cargo.toml

06:47:25 === [ci] userland/symbolize
    Finished `test` profile [optimized + debuginfo] target(s) in 0.08s
     Running unittests src/main.rs (target/debug/deps/symbolize-9b3eaa77d97dc9da)

running 5 tests
test tests::a_name_is_read_under_the_root ... ok
test tests::a_name_some_host_reads_as_a_drive_or_separator_is_refused ... ok
test tests::a_name_that_leaves_the_root_is_refused ... ok
test tests::a_name_windows_reserves_for_a_device_is_refused ... ok
test tests::a_record_that_leaves_the_root_is_refused_on_its_line ... ok

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

06:47:25 [ci] userland/symbolize: cargo test --manifest-path userland/symbolize/Cargo.toml

06:47:25 === [ci] userland/toyfetch
    Finished `test` profile [optimized + debuginfo] target(s) in 0.07s
     Running unittests src/main.rs (target/debug/deps/toyfetch-bda244d75a66160c)

running 7 tests
test render::tests::only_toyos_has_a_logo ... ok
test render::tests::uptime_leaves_out_zero_units ... ok
test render::tests::a_cpu_without_a_model_says_so ... ok
test render::tests::the_logo_taller_than_the_facts_pads_only_rows_with_a_fact ... ok
test render::tests::every_fact_prints_beside_the_logo_in_its_colours ... ok
test render::tests::the_facts_taller_than_the_logo_keep_their_column ... ok
test render::tests::a_fact_the_system_did_not_answer_prints_no_line ... ok

test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

06:47:25 [ci] userland/toyfetch: cargo test --manifest-path userland/toyfetch/Cargo.toml

06:47:25 === [ci] the apps for linux
info: component rust-std for target x86_64-unknown-linux-gnu is up to date
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.15s
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.07s
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.07s
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.07s
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.07s
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.07s
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.07s
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.09s
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.15s
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.07s
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.07s
06:47:27 [ci] the apps for linux: 11 app(s) pass `cargo check --target x86_64-unknown-linux-gnu`; userland/doom, userland/proctest, userland/shell, userland/terminal, userland/toybox not attempted, as their manifests declare

06:47:27 === [ci] the apps for macos
info: component rust-std is up to date
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.08s
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.07s
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.07s
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.07s
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.07s
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.07s
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.07s
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.09s
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.11s
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.07s
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.07s
06:47:28 [ci] the apps for macos: 11 app(s) pass `cargo build`; userland/doom, userland/proctest, userland/shell, userland/terminal, userland/toybox not attempted, as their manifests declare

06:47:28 === [ci] the apps for windows
info: component rust-std for target x86_64-pc-windows-msvc is up to date
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.12s
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.07s
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.07s
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.07s
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.06s
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.07s
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.07s
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.08s
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.14s
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.07s
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.08s
06:47:29 [ci] the apps for windows: 11 app(s) pass `cargo check --target x86_64-pc-windows-msvc`; userland/doom, userland/proctest, userland/shell, userland/terminal, userland/toybox not attempted, as their manifests declare

06:47:29 === [ci] the toyos SDK
    Finished `test` profile [optimized + debuginfo] target(s) in 0.06s
     Running unittests src/lib.rs (target/debug/deps/toyos-f91d9b0c3685a5e7)

running 60 tests
test ipc::tests::a_taken_move_closes_nothing ... ok
test fs::tests::a_path_is_canonical_only_without_empty_dot_or_dotdot_components ... ok
test fs::tests::no_grant_carries_a_root_the_wire_refuses_or_one_past_the_badge ... ok
test fs::tests::a_listing_entry_round_trips_and_a_short_one_is_refused ... ok
test fs::tests::bytes_no_grant_was_encoded_as_are_refused ... ok
test fs::tests::a_grant_round_trips_at_every_bound ... ok
test ipc::tests::a_batch_past_the_bound_is_refused_and_closed ... ok
test launch::tests::a_request_names_its_parent_by_one_word ... ok
test ipc::tests::a_refused_move_closes_every_handle_it_consumed ... ok
test launch::tests::a_batch_names_each_handle_once_and_never_its_connection ... ok
test log::proof::a_position_that_never_lands_is_counted_by_the_sweep ... ok
test log::proof::a_full_ring_or_lane_refuses_at_once_and_never_waits ... ok
test log::proof::a_ring_has_four_lanes_to_claim ... ok
test log::proof::scribbled_words_bound_the_reader_and_never_panic_it ... ok
test log::proof::a_placeholder_owned_ring_keeps_its_slots_from_every_pid_until_named ... ok
test log::proof::slots_left_to_others_are_theirs ... ok
test log::proof::the_region_carries_a_record_whole ... ok
test log::stdio::tests::a_formatted_line_is_one_ended_record ... ok
test log::stdio::tests::a_line_in_pieces_is_one_record ... ok
test log::stdio::tests::a_line_a_flush_opened_is_closed_at_its_end ... ok
test log::stdio::tests::a_newline_ends_a_record_and_a_carriage_return_before_it_goes ... ok
test log::stdio::tests::a_long_line_is_records_in_order_with_nothing_lost ... ok
test net::tests::a_binds_request_ends_in_its_listeners_options ... ok
test fs::tests::the_window_copies_every_length_at_every_offset ... ok
test net::tests::a_code_netstack_chose_is_still_its_own_answer ... ok
test net::tests::a_gone_handle_transfer_is_a_netstack_that_is_not_there ... ok
test net::tests::a_not_found_is_not_a_netstack_that_is_not_there ... ok
test net::tests::a_read_that_hung_up_is_a_netstack_that_is_not_there ... ok
test net::tests::an_accepts_answer_ends_in_its_connections_options ... ok
test log::proof::a_real_time_write_allocates_nothing ... ok
test net::tests::an_option_request_is_three_words_on_the_wire ... ok
test net::tests::nothing_else_becomes_a_missing_netstack ... ok
test log::stdio::tests::a_stream_held_by_two_writers_keeps_each_line_whole ... ok
test poller::tests::a_submission_is_the_whole_entry_where_the_kernel_reads_it ... ok
test poller::tests::a_tail_the_kernel_publishes_mid_drain_is_observed ... ok
test poller::tests::every_accessor_lands_on_the_abi_offset ... ok
test poller::tests::pending_counts_what_the_kernel_has_not_claimed ... ok
test poller::tests::the_drop_counter_is_read_from_the_page ... ok
test relocate::tests::a_dynamic_section_in_no_file_bytes_is_refused ... ok
test relocate::tests::a_header_no_read_only_segment_holds_is_refused ... ok
test relocate::tests::a_header_this_does_not_know_is_refused ... ok
test relocate::tests::a_rela_table_of_the_wrong_shape_or_place_is_refused ... ok
test relocate::tests::a_pointer_in_the_tls_template_is_refused ... ok
test relocate::tests::a_write_is_bias_plus_addend_inside_a_writable_segment ... ok
test relocate::tests::a_write_meeting_the_tls_template_is_refused ... ok
test relocate::tests::a_write_outside_a_writable_segment_is_refused ... ok
test relocate::tests::aarch64_writes_what_lld_writes ... ok
test relocate::tests::every_dynamic_form_it_does_not_apply_is_refused_by_name ... ok
test relocate::tests::every_type_but_the_machines_relative_is_refused ... ok
test relocate::tests::the_bias_is_where_the_header_is_found_less_its_link_address ... ok
test relocate::tests::x86_64_writes_what_lld_writes ... ok
test syscap::tests::a_machine_that_grew_once_is_read_grown ... ok
test syscap::tests::a_machine_that_grows_every_round_is_refused_by_name ... ok
test syscap::tests::a_record_that_does_not_decode_is_refused_and_not_dropped ... ok
test syscap::tests::a_refused_read_is_refused_and_not_an_empty_inventory ... ok
test syscap::tests::a_refused_count_is_refused_and_not_an_empty_inventory ... ok
test syscap::tests::an_empty_inventory_is_its_count ... ok
test syscap::tests::every_record_is_read ... ok
test log::proof::a_lane_gives_its_reader_every_record_in_order_or_counts_it_refused ... ok
test log::proof::every_record_is_read_once_in_its_writers_order_or_counted_refused ... ok

test result: ok. 60 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

   Doc-tests toyos

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

06:47:29 [ci] the toyos SDK: cargo test -p toyos

06:47:29 === [ci] nothing left in $TMPDIR or /tmp
06:47:29 [ci] nothing left in $TMPDIR or /tmp: every test took its scratch with it
06:47:29 [ci] Host: 79 step(s), all green
EXIT=0

@Japabu

Japabu commented Oct 11, 2026

Copy link
Copy Markdown
Collaborator Author

guest-suite, part 1 of 1, cargo test --test toyos-build, exit 0, run on tree 755f3da0 (head 7cdd1ec's)

   Compiling toyos-build v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid)
    Finished `test` profile [optimized + debuginfo] target(s) in 5.16s
     Running tests/toyos.rs (target/debug/deps/toyos_build-6272c6e3847618b1)

06:47:41 running 59 tests, 12 wide

06:47:41   RUN   machine_shutdown
06:47:41   RUN   iommu_virtio_platform
06:47:41   RUN   amdvi_firmware_left
06:47:41   RUN   https_fetch
06:47:41   RUN   netstack_streams_e1000e
06:47:41   RUN   libc_sockets
06:47:41   RUN   netstack_socket_churn
06:47:41   RUN   netstack_streams
06:47:41   RUN   acpi_power_button
06:47:41   RUN   acpi_mediated_access
06:47:41   RUN   nested_nmi_is_loud
06:47:41   RUN   acpi_lock_given_back_on_one_cpu
06:47:41   BUILD x86_64 netstack_streams of tests/toyos-rust-tests, for netstack_streams_e1000e
06:47:41   BUILD x86_64 netstack_streams of tests/toyos-rust-tests, for netstack_streams
06:47:41   BUILD x86_64 netstack_socket_churn of tests/toyos-rust-tests, for netstack_socket_churn
06:47:41   BUILD x86_64 acpi_mediated of tests/toyos-rust-tests, for acpi_mediated_access
06:47:41   BUILD x86_64 kernel, loader, ROOT of tests/testcases, for acpi_power_button
06:47:41   BUILD x86_64 kernel, loader, ROOT of tests/testcases, for machine_shutdown
06:47:41   BUILD x86_64 kernel boot-actuators,test-actuators, loader, ROOT of tests/testcases, for nested_nmi_is_loud
06:47:41   BUILD x86_64 https_get of tests/toyos-rust-tests, for https_fetch
06:47:41   BUILD x86_64 kernel, loader, ROOT of tests/testcases, for amdvi_firmware_left
06:47:41   BUILD x86_64 kernel, loader, ROOT of tests/netcase, for iommu_virtio_platform
06:47:47 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 0s so far
06:47:47 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 0s so far
06:47:47 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 0s so far
06:47:47 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 0s so far
06:47:47 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 0s so far
06:47:47 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 0s so far
06:47:47 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 0s so far
06:47:47 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 0s so far
06:47:47 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 0s so far
06:47:48   BUILD x86_64 nodelay_accepted of tests/toyos-rust-tests, for libc_sockets
06:47:48   BUILT x86_64 netstack_streams of tests/toyos-rust-tests, for netstack_streams  (7s)
06:47:48 [build-lock] artifact staging acquired after 915.9ms
06:47:48   BUILD x86_64 kernel, loader, ROOT of tests/netcase, for netstack_streams
06:47:49 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 1s so far
06:47:50 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 2s so far
06:47:52 [build-lock] artifact staging acquired after 4.3s
06:47:52 [build-lock] artifact staging acquired after 4.3s
06:47:52 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 0s so far
06:47:52 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 0s so far
06:47:52   BUILT x86_64 acpi_mediated of tests/toyos-rust-tests, for acpi_mediated_access  (11s)
06:47:52 [build-lock] artifact staging acquired after 4.9s
06:47:52   BUILD x86_64 kernel boot-actuators,test-actuators, ROOT of tests/acpicase, for acpi_lock_given_back_on_one_cpu
06:47:52   BUILD x86_64 kernel boot-actuators,test-actuators, ROOT of tests/acpicase, for acpi_mediated_access
06:47:53   BUILT x86_64 netstack_socket_churn of tests/toyos-rust-tests, for netstack_socket_churn  (11s)
06:47:53 [build-lock] artifact staging acquired after 5.2s
06:47:53 [build-lock] artifact staging acquired after 5.2s
06:47:53   BUILD x86_64 ROOT of tests/netcase, for netstack_socket_churn
06:47:53 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 0s so far
06:47:53   BUILT x86_64 https_get of tests/toyos-rust-tests, for https_fetch  (12s)
06:47:53   BUILD x86_64 ring_kat of tests/toyos-rust-tests, for https_fetch
06:47:53 [build-lock] artifact staging acquired after 5.7s
06:47:53   BUILT x86_64 netstack_streams of tests/toyos-rust-tests, for netstack_streams_e1000e  (12s)
06:47:53 [build-lock] artifact staging acquired after 5.8s
06:47:53   BUILD x86_64 ROOT of tests/netcase, for netstack_streams_e1000e
06:47:54 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 1s so far
06:47:54 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 1s so far
06:47:54 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 1s so far
06:47:55 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 2s so far
06:47:55 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 2s so far
06:48:02 [build-lock] artifact staging acquired after 14.5s
06:48:02 [build-lock] artifact staging acquired after 12.8s
06:48:02 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 0s so far
06:48:02 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 0s so far
06:48:02   BUILT x86_64 nodelay_accepted of tests/toyos-rust-tests, for libc_sockets  (14s)
06:48:02   BUILD x86_64 stream_ends_std of tests/toyos-rust-tests, for libc_sockets
06:48:02 [build-lock] artifact staging acquired after 12.5s
06:48:02 [build-lock] artifact staging acquired after 10.4s
06:48:02 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 0s so far
06:48:02 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
06:48:02 [build-lock] artifact staging acquired after 10.6s
06:48:02   BUILT x86_64 kernel, loader, ROOT of tests/netcase, for iommu_virtio_platform  (21s)
06:48:02 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
06:48:02 [build-lock] artifact staging acquired after 9.8s
06:48:02   BUILT x86_64 kernel, loader, ROOT of tests/testcases, for amdvi_firmware_left  (21s)
06:48:03 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
06:48:03 [build-lock] artifact staging acquired after 8.6s
06:48:03 [build-lock] artifact staging acquired after 8.6s
06:48:03 [build-lock] artifact staging acquired after 8.4s
06:48:03 [build-lock] artifact staging acquired after 8.0s
06:48:03 [build-lock] artifact staging acquired after 8.0s
06:48:03   BUILT x86_64 kernel, loader, ROOT of tests/testcases, for acpi_power_button  (21s)
06:48:03 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 0s so far
06:48:03 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 0s so far
06:48:03 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 0s so far
06:48:03 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 0s so far
06:48:03   BUILT x86_64 ring_kat of tests/toyos-rust-tests, for https_fetch  (10s)
06:48:03 [build-lock] artifact staging acquired after 933.1ms
06:48:03   BUILD x86_64 ROOT of tests/netcase, for https_fetch
06:48:03 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
06:48:03 [build-lock] artifact staging acquired after 1.1s
06:48:03   BUILT x86_64 kernel, loader, ROOT of tests/testcases, for machine_shutdown  (22s)
06:48:03 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
06:48:03 [build-lock] artifact staging acquired after 979.5ms
06:48:03   BUILT x86_64 kernel boot-actuators,test-actuators, loader, ROOT of tests/testcases, for nested_nmi_is_loud  (22s)
06:48:03 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
06:48:03 [build-lock] artifact staging acquired after 666.6ms
06:48:03   BUILT x86_64 kernel, loader, ROOT of tests/netcase, for netstack_streams  (15s)
06:48:03 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
06:48:03 [build-lock] artifact staging acquired after 813.7ms
06:48:03   BUILT x86_64 kernel boot-actuators,test-actuators, ROOT of tests/acpicase, for acpi_mediated_access  (11s)
06:48:04 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
06:48:04 [build-lock] artifact staging acquired after 949.7ms
06:48:04   BUILT x86_64 kernel boot-actuators,test-actuators, ROOT of tests/acpicase, for acpi_lock_given_back_on_one_cpu  (11s)
06:48:04 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 0s so far
06:48:04 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
06:48:04 [build-lock] artifact staging acquired after 1.1s
06:48:04   BUILT x86_64 ROOT of tests/netcase, for netstack_socket_churn  (11s)
06:48:04 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
06:48:04 [build-lock] artifact staging acquired after 148.8ms
06:48:04   BUILT x86_64 ROOT of tests/netcase, for netstack_streams_e1000e  (11s)
06:48:04   BUILT x86_64 stream_ends_std of tests/toyos-rust-tests, for libc_sockets  (2s)
06:48:04   BUILD x86_64 ROOT of tests/netcase, for libc_sockets
06:48:05 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
06:48:05   BUILT x86_64 ROOT of tests/netcase, for https_fetch  (2s)
06:48:06   [amdvi] left on = false: [ 2.718 cpu0 kernel] iommu: amdvi unit0 handed over control=0x0000000000000000 status=0x00000000 efr=0x00000000000029d3; the stick bound behind the unit
06:48:06 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
06:48:06   BUILT x86_64 ROOT of tests/netcase, for libc_sockets  (2s)
06:48:06   [nmi] nested: [nmi] NESTED NMI on cpu 0: a second NMI entered while IST2 was still in use.
06:48:06   PASS  nested_nmi_is_loud  (3s)
06:48:06   RUN   acpi_supply_outlives_holder
06:48:06   BUILD x86_64 ROOT of tests/acpicase, for acpi_supply_outlives_holder
06:48:08   [iommu] headless: 3 virtio function(s) negotiated, behind a unit = true; the audio function 00:04.0 among them
06:48:08 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
06:48:08   BUILT x86_64 ROOT of tests/acpicase, for acpi_supply_outlives_holder  (2s)
06:48:08   [power] 1 table(s) loaded; [ 5.451 acpiserver] acpiserver: \_S5 handed to the kernel: SLP_TYPa=0 beside [ 5.451 cpu0 kernel] power: S5 is PM1a 0x604 with SLP_TYPa=0, as the acpi claim's holder supplied it
06:48:08   [power] the press: acpiserver: the power button was pressed, on SCI 1 of this boot; asking the supervisor to power off
06:48:08   PASS  acpi_power_button  (6s)
06:48:08   RUN   machine_shutdown_short_stop
06:48:08   BUILD x86_64 stop_short of tests/toyos-rust-tests, for machine_shutdown_short_stop
06:48:09   [power] shutdown: QEMU stopped the guest for guest-shutdown
06:48:09   PASS  machine_shutdown  (6s)
06:48:09   RUN   machine_shutdown_wire_held
06:48:09   [acpi] [ 3.202 cpu0 kernel] mtrr: the boot processor's range registers: IA32_MTRR_DEF_TYPE 0xc06 and 8 variable pairs
06:48:09   [acpi] [ 5.358 test-runner pid=8] acpi: an unbound claim was refused its access, the lock and the power-off's sleep type
06:48:09   [acpi] [ 5.359 test-runner pid=8] acpi: RAM was refused both ways as UsableMemory
06:48:09   [acpi] [ 5.360 test-runner pid=8] acpi: the RSDP read through as type 9 and its write was refused TableWrite
06:48:09   [acpi] [ 5.361 test-runner pid=8] acpi: an unlisted register was read and refused its write MemoryType, an unlisted address below 1 MiB was refused UnlistedCached, and the interrupt controllers, the HPET and a function's BAR DeviceMemory
06:48:09   [acpi] [ 5.361 test-runner pid=8] acpi: the FACS read through as type 10, its write was refused FacsWrite, and the memory after it was written and put back
06:48:09   [acpi] [ 5.362 test-runner pid=8] acpi: COM1, the CMOS index, the 8259 and the configuration mechanism were refused KernelPort; the i8042's row ClaimedPort; PM1a_CNT read and refused its write ReadOnlyPort; the POST port was written
06:48:09   [acpi] [ 5.395 test-runner pid=8] acpi: ACPI_ENABLE and ACPI_DISABLE were refused SMI_CMD as KernelCommand and SCI_EN stayed set, a write wider than a byte was refused CommandSpan, every firmware call made was read back from the port and counted on the boot processor, and a storm of them was refused CommandRate
06:48:09   [acpi] [ 5.396 test-runner pid=8] acpi: the host bridge read as 0x29c08086 by its address and through ECAM, and every write to configuration space was refused ConfigWrite
06:48:09   [acpi] [ 5.396 test-runner pid=8] acpi: the lock a dead holder left taken read free; it was taken and given back, given back with GBL_RLS where the firmware had asked, and found pending while the firmware owned it
06:48:09   [acpi] [ 5.396 test-runner pid=8] acpi: a sleep type wider than three bits was refused InvalidArgument, the next holder's replaced a dead one's, and a second under one claim was refused AlreadyExists
06:48:09   [acpi] [ 5.395 test-runner pid=8] acpi: firmware calls of 0x51, 0x52, 0x53 were asked from the CPUs of x2APIC id [0, 0, 0]; this chipset's SMI_EN reads 0x00000000, APMC_EN clear, so no call interrupts its firmware
06:48:09   [acpi] [ 5.395 test-runner pid=8] acpi: 8 firmware calls were made before call 6 of the storm was refused
06:48:09   [acpi] [ 5.375 cpu0 kernel] acpi: firmware call 0x51 written to SMI_CMD 0xb2 on cpu0, asked from cpu0; the write held cpu0 20011ns, its SMI count unread before the write and unread after; the first of that byte
06:48:09   [acpi] [ 5.384 cpu0 kernel] acpi: firmware call 0x52 written to SMI_CMD 0xb2 on cpu0, asked from cpu0; the write held cpu0 1000ns, its SMI count unread before the write and unread after; the first of that byte
06:48:09   [acpi] [ 5.384 cpu0 kernel] acpi: firmware call 0x53 written to SMI_CMD 0xb2 on cpu0, asked from cpu0; the write held cpu0 0ns, its SMI count unread before the write and unread after; the first of that byte
06:48:09   [acpi] [ 5.384 cpu0 kernel] acpi: firmware call 0x54 written to SMI_CMD 0xb2 on cpu0, asked from cpu0; the write held cpu0 0ns, its SMI count unread before the write and unread after; the first of that byte
06:48:09   [acpi] [ 5.384 cpu0 kernel] acpi: firmware call 0x55 written to SMI_CMD 0xb2 on cpu0, asked from cpu0; the write held cpu0 0ns, its SMI count unread before the write and unread after; the first of that byte
06:48:09   [acpi] [ 5.331 cpu0 kernel] shutdown: no ACPI server supplied S5 — refused
06:48:09   [acpi] [ 5.439 cpu0 kernel] acpi: the Global Lock given back for a holder that left it taken (the machine is stopping)
06:48:09   [acpi] [ 3.375 cpu0 kernel] mtrr: the boot processor's range registers: IA32_MTRR_DEF_TYPE 0xc06 and 8 variable pairs
06:48:09   [acpi] [ 3.389 cpu1 kernel] mtrr: cpu1's range registers are off (IA32_MTRR_DEF_TYPE 0x0) and not the boot processor's: every read this CPU makes is uncached
06:48:09   [acpi] [ 5.472 test-runner pid=8] acpi: an unbound claim was refused its access, the lock and the power-off's sleep type
06:48:09   [acpi] [ 5.474 test-runner pid=8] acpi: RAM was refused both ways as UsableMemory
06:48:09   [acpi] [ 5.474 test-runner pid=8] acpi: the RSDP read through as type 9 and its write was refused TableWrite
06:48:09   [acpi] [ 5.475 test-runner pid=8] acpi: an unlisted register was read and refused its write MemoryType, an unlisted address below 1 MiB was refused UnlistedCached, and the interrupt controllers, the HPET and a function's BAR DeviceMemory
06:48:09   [acpi] [ 5.475 test-runner pid=8] acpi: the FACS read through as type 10, its write was refused FacsWrite, and the memory after it was written and put back
06:48:09   [acpi] [ 5.476 test-runner pid=8] acpi: COM1, the CMOS index, the 8259 and the configuration mechanism were refused KernelPort; the i8042's row ClaimedPort; PM1a_CNT read and refused its write ReadOnlyPort; the POST port was written
06:48:09   [acpi] [ 5.524 test-runner pid=8] acpi: ACPI_ENABLE and ACPI_DISABLE were refused SMI_CMD as KernelCommand and SCI_EN stayed set, a write wider than a byte was refused CommandSpan, every firmware call made was read back from the port and counted on the boot processor, and a storm of them was refused CommandRate
06:48:09   [acpi] [ 5.525 test-runner pid=8] acpi: the host bridge read as 0x29c08086 by its address and through ECAM, and every write to configuration space was refused ConfigWrite
06:48:09   [acpi] [ 5.526 test-runner pid=8] acpi: the lock a dead holder left taken read free; it was taken and given back, given back with GBL_RLS where the firmware had asked, and found pending while the firmware owned it
06:48:09   [acpi] [ 5.526 test-runner pid=8] acpi: a sleep type wider than three bits was refused InvalidArgument, the next holder's replaced a dead one's, and a second under one claim was refused AlreadyExists
06:48:09   [acpi] [ 5.524 test-runner pid=8] acpi: firmware calls of 0x51, 0x52, 0x53 were asked from the CPUs of x2APIC id [1, 1, 1]; this chipset's SMI_EN reads 0x00000000, APMC_EN clear, so no call interrupts its firmware
06:48:09   [acpi] [ 5.524 test-runner pid=8] acpi: 8 firmware calls were made before call 6 of the storm was refused
06:48:09   [acpi] [ 5.492 cpu1 kernel tid=2] acpi: firmware call 0x51 written to SMI_CMD 0xb2 on cpu0, asked from cpu1; the write held cpu0 35010ns, its SMI count unread before the write and unread after; the first of that byte
06:48:09   [acpi] [ 5.513 cpu1 kernel tid=4] acpi: firmware call 0x52 written to SMI_CMD 0xb2 on cpu0, asked from cpu1; the write held cpu0 2001ns, its SMI count unread before the write and unread after; the first of that byte
06:48:09   [acpi] [ 5.519 cpu1 kernel tid=6] acpi: firmware call 0x53 written to SMI_CMD 0xb2 on cpu0, asked from cpu1; the write held cpu0 3001ns, its SMI count unread before the write and unread after; the first of that byte
06:48:09   [acpi] [ 5.521 cpu1 kernel] acpi: firmware call 0x54 written to SMI_CMD 0xb2 on cpu0, asked from cpu1; the write held cpu0 2001ns, its SMI count unread before the write and unread after; the first of that byte
06:48:09   [acpi] [ 5.521 cpu1 kernel] acpi: firmware call 0x55 written to SMI_CMD 0xb2 on cpu0, asked from cpu1; the write held cpu0 1000ns, its SMI count unread before the write and unread after; the first of that byte
06:48:09   [acpi] [ 5.449 cpu0 kernel] shutdown: no ACPI server supplied S5 — refused
06:48:09   [acpi] [ 5.555 cpu0 kernel] acpi: the Global Lock given back for a holder that left it taken (the machine is stopping)
06:48:09   [acpi] QEMU stopped the guest for guest-shutdown, on the probe's sleep type and not the keeper's
06:48:09   PASS  acpi_mediated_access  (6s)
06:48:09   RUN   machine_shutdown_wire_kept
06:48:09   [acpi] QEMU stopped the guest for guest-shutdown, on the probe's sleep type and not the keeper's
06:48:09   PASS  acpi_lock_given_back_on_one_cpu  (17s)
06:48:09   RUN   machine_shutdown_wire_at_the_seal
06:48:09   [amdvi] left on = true: [ 2.916 cpu0 kernel] iommu: amdvi unit0 handed over control=0x0000000000001005 status=0x00000018 efr=0x00000000000029d3; the stick bound behind the unit
06:48:09   PASS  amdvi_firmware_left  (7s)
06:48:09   RUN   bar_map_again
06:48:09   BUILD x86_64 bar_map_again of tests/toyos-rust-tests, for bar_map_again
06:48:10   BUILT x86_64 stop_short of tests/toyos-rust-tests, for machine_shutdown_short_stop  (2s)
06:48:10   BUILD x86_64 ROOT of tests/testcases, for machine_shutdown_short_stop
06:48:11   PASS  netstack_streams  (7s)
06:48:11   RUN   console_image_boots
06:48:11   BUILD x86_64 ROOT of console, for console_image_boots
06:48:11   PASS  netstack_socket_churn  (7s)
06:48:11   RUN   desktop_without_x2apic
06:48:11   BUILD x86_64 ROOT of tests/panelcase, for desktop_without_x2apic
06:48:11   BUILT x86_64 bar_map_again of tests/toyos-rust-tests, for bar_map_again  (2s)
06:48:11   BUILD x86_64 ROOT of tests/testcases, for bar_map_again
06:48:11   PASS  netstack_streams_e1000e  (8s)
06:48:11   RUN   nvme_disk_keeps_log_and_home
06:48:12 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
06:48:12   BUILT x86_64 ROOT of tests/testcases, for machine_shutdown_short_stop  (2s)
06:48:12   PASS  https_fetch  (8s)
06:48:12   RUN   block_grants_reach_their_partitions
06:48:12   BUILD x86_64 partition_grant of tests/toyos-rust-tests, for block_grants_reach_their_partitions
06:48:12 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 0s so far
06:48:13 [build-lock] artifact staging acquired after 127.0ms
06:48:13 assets: leaving out share/soundfont.sf2 — only /system/bin/doom opens it and this image builds no doom
06:48:13 assets: leaving out share/doom1.wad — only /system/bin/doom opens it and this image builds no doom
06:48:13 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 0s so far
06:48:13   BUILT x86_64 ROOT of tests/panelcase, for desktop_without_x2apic  (2s)
06:48:13   [iommu] headless-no-iommu: 1 virtio function(s) negotiated, behind a unit = false; the NIC's and the audio function 00:04.0's claims refused for want of a unit
06:48:13 [build-lock] artifact staging acquired after 488.1ms
06:48:13 assets: leaving out share/soundfont.sf2 — only /system/bin/doom opens it and this image builds no doom
06:48:13 assets: leaving out share/doom1.wad — only /system/bin/doom opens it and this image builds no doom
06:48:13 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
06:48:13   BUILT x86_64 ROOT of console, for console_image_boots  (3s)
06:48:14 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
06:48:14   BUILT x86_64 ROOT of tests/testcases, for bar_map_again  (2s)
06:48:14   [acpi] [ 5.291 cpu0 kernel] Shutting down.
06:48:14   PASS  libc_sockets  (14s)
06:48:14   RUN   update_writes_the_idle_slot_through_the_block_service
06:48:14   BUILD x86_64 update_idle_slot of tests/toyos-rust-tests, for update_writes_the_idle_slot_through_the_block_service
06:48:14   [acpi] QEMU stopped the guest for guest-shutdown, with no claim held, on the sleep type a holder that is gone supplied
06:48:14   PASS  acpi_supply_outlives_holder  (6s)
06:48:14   RUN   usbd_drives_the_spare
06:48:14   BUILD x86_64 usbd_spare of tests/toyos-rust-tests, for usbd_drives_the_spare
06:48:14   [power] klogd held the wire across the stop; the record and the last word reached it
06:48:14   PASS  machine_shutdown_wire_held  (6s)
06:48:14   RUN   usb_keyboard_rollover
06:48:14   BUILT x86_64 partition_grant of tests/toyos-rust-tests, for block_grants_reach_their_partitions  (2s)
06:48:14   BUILD x86_64 ROOT of tests/blockgrantcase, for block_grants_reach_their_partitions
06:48:15   [power] the stop held the wire at the last word and across the seal; the last word reached it
06:48:15   PASS  machine_shutdown_wire_at_the_seal  (6s)
06:48:15   RUN   toyfetch_reports
06:48:16 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 0s so far
06:48:16   BUILT x86_64 usbd_spare of tests/toyos-rust-tests, for usbd_drives_the_spare  (2s)
06:48:16 [build-lock] artifact staging acquired after 610.4ms
06:48:16   BUILD x86_64 ROOT of tests/testcases, for usbd_drives_the_spare
06:48:16 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 0s so far
06:48:16   [smp] 4 CPUs online, 3 AP TSCs inside a BSP bracket at most 12330000 cycles wide
06:48:16   [xapic] 4 CPUs in xAPIC mode, and the compositor holds the panel
06:48:16   PASS  desktop_without_x2apic  (3s)
06:48:16   RUN   screen_panic_muted
06:48:16   BUILT x86_64 update_idle_slot of tests/toyos-rust-tests, for update_writes_the_idle_slot_through_the_block_service  (3s)
06:48:16 [build-lock] artifact staging acquired after 187.8ms
06:48:16   BUILD x86_64 ROOT of tests/slotscase, for update_writes_the_idle_slot_through_the_block_service
06:48:17 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
06:48:17   BUILT x86_64 ROOT of tests/blockgrantcase, for block_grants_reach_their_partitions  (2s)
06:48:17   PASS  console_image_boots  (4s)
06:48:17   RUN   screen_fatal_behind_a_painter
06:48:18   [power] a short stop, then the power-off: stop: 17 of 19 userland thread(s) stopped across 1 cpu(s) in 0 ms of a 0 ms budget over 1 sweep(s), 0 of 0 userland block operation(s) still open; this reset lands wherever the other 2 are
06:48:18   PASS  machine_shutdown_short_stop  (6s)
06:48:18   RUN   screen_fatal_halt_composited
06:48:18 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 0s so far
06:48:18 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
06:48:18 [build-lock] artifact staging acquired after 11.4ms
06:48:18   BUILT x86_64 ROOT of tests/testcases, for usbd_drives_the_spare  (2s)
06:48:19 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
06:48:19   BUILT x86_64 ROOT of tests/slotscase, for update_writes_the_idle_slot_through_the_block_service  (2s)
06:48:19   [iommu] declined: [ 5.239 cpu0 kernel] VirtIO GPU: PCI 00:03.0 refused the feature set 0x100000002 the driver accepted, leaving DEVICE_STATUS=0x3 without FEATURES_OK — device refused
06:48:19   PASS  iommu_virtio_platform  (17s)
06:48:19   RUN   screen_loader_clears
06:48:19   [claims] bar_map_again: two answers held at once map apart, and the later outlives the earlier
06:48:19   [claims] bar_map_again: answered with a handle that maps
06:48:19   [claims] bar_map_again: answered after the refusal with a handle that maps
06:48:19   PASS  bar_map_again  (6s)
06:48:19   RUN   virt_early_panic
06:48:19   BUILD aarch64 kernel boot-actuators,test-actuators, loader, ROOT of tests/testcases, for virt_early_panic
06:48:20   PASS  screen_panic_muted  (3s)
06:48:20   RUN   virt_early_fault
06:48:20   BUILD aarch64 kernel boot-actuators,test-actuators, loader, ROOT of tests/testcases, for virt_early_fault
06:48:20   [power] klogd held the wire across the stop and kept it; the record and the last word reached it
06:48:20   PASS  machine_shutdown_wire_kept  (11s)
06:48:20   RUN   virt_el2_drop
06:48:20   BUILD aarch64 kernel boot-actuators,test-actuators, loader, ROOT of tests/testcases, for virt_el2_drop
06:48:20   [usbhid] [ 5.387 cpu0 kernel] xHCI: slot 1 keyboard report in rollover, its modifiers believed and its other keys held, 1 since it bound
06:48:20   PASS  usb_keyboard_rollover  (6s)
06:48:20   RUN   virt_user_mode
06:48:20   BUILD aarch64 kernel, loader, ROOT of tests/testcases, for virt_user_mode
06:48:21   [toyfetch] OS ToyOS 7cdd1ec15d84, CPU QEMU Virtual CPU version 2.5+ (3), Memory 320 MiB / 4038 MiB
06:48:21   PASS  toyfetch_reports  (6s)
06:48:21   RUN   virt_timer_preempts
06:48:21   BUILD aarch64 abuse_readonly_copyout of tests/toyos-rust-tests, for virt_timer_preempts
06:48:22 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 1s so far
06:48:22   [grant] partition_grant: the log's grant opened the log and was refused the boot volume NotGranted
06:48:22   [grant] partition_grant: DATA's grant opened DATA and was refused the log NotGranted
06:48:22   [grant] partition_grant: the boot volume's read-only grant read it and was refused a write ReadOnly
06:48:22   [grant] partition_grant: the port's own connector was refused a listing and an open NotGranted
06:48:22   [grant] partition_grant: the running ROOT was refused Held to the grant naming it
06:48:22   PASS  block_grants_reach_their_partitions  (5s)
06:48:22   RUN   virt_irq_storm
06:48:22   BUILD aarch64 kernel boot-actuators,test-actuators, loader, ROOT of tests/testcases, for virt_irq_storm
06:48:23 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 2s so far
06:48:23 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 2s so far
06:48:23 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 2s so far
06:48:24 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 3s so far
06:48:25   PASS  screen_loader_clears  (6s)
06:48:25   RUN   virt_timer_floor
06:48:25   BUILD aarch64 kernel boot-actuators,test-actuators, loader, ROOT of tests/testcases, for virt_timer_floor
06:48:25   PASS  screen_fatal_behind_a_painter  (8s)
06:48:25   RUN   virt_fp_isolation
06:48:25   [update] supervisor: the idle slot is B, granted with the slot table read through the block service
06:48:25   [update] update_idle_slot: update said: update: installed version 1099511627520 in slot B (1048576 bytes of ROOT in 18 ms, 60 ms in all); it boots at the next reboot
06:48:25   [update] the disk's slot table marks B at version 1099511627520, and B's ROOT mounts carrying the update's etc/update-test
06:48:25   [update] slot B's volume checks out, carrying the update's toyos/image.sig, toyos/kernel.elf, toyos/cmdline byte for byte
06:48:25   PASS  update_writes_the_idle_slot_through_the_block_service  (6s)
06:48:25   RUN   virt_first_entry
qemu-system-x86_64: vtd_iova_to_sspte: detected sspte permission error (iova=0x400042000000, level=0x3, sspte=0x0, write=0, pasid=0x0)
qemu-system-x86_64: vtd_iommu_translate: detected translation failure (dev=00:02:00, iova=0x400042000000)
qemu-system-x86_64: New fault is not recorded due to compression of faults
06:48:26   [usbd] 00:02.0: two devices named twice; aimed at 0x400042000000: [ 7.905 cpu0 kernel] iommu: DMA FAULT owner=slot2 unit0 stream=00:02.0 addr=0x0000400042000000 access=read reason=0x06 domain=6 bme=cleared unitfaults=1 streamfaults=1 first=y read-permission
06:48:26 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 5s so far
06:48:26   [disk] after the reboot /home/kept-35892-1791701291907607000/release is the 10 lines of /system/etc/os-release, and /log/2026-10-11-064816.log: test-runner said kept-35892-1791701291907607000
06:48:26   PASS  nvme_disk_keeps_log_and_home  (15s)
06:48:26   RUN   virt_unmap_touch
06:48:27   [panic] the fatal report is on the panel and sealed in the black box (14255 bytes)
06:48:27   PASS  screen_fatal_halt_composited  (9s)
06:48:27   RUN   virt_debug_refused
06:48:31   PASS  usbd_drives_the_spare  (13s)
06:48:31   RUN   virt_readonly_copyout
06:48:35 [build-lock] artifact staging acquired after 12.9s
06:48:35 [build-lock] artifact staging acquired after 12.1s
06:48:35 [build-lock] artifact staging acquired after 11.5s
06:48:35 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 0s so far
06:48:35 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 0s so far
06:48:35 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 0s so far
06:48:42 [build-lock] artifact staging acquired after 18.6s
06:48:42 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 0s so far
06:48:50   BUILT aarch64 abuse_readonly_copyout of tests/toyos-rust-tests, for virt_timer_preempts  (30s)
06:48:50 [build-lock] artifact staging acquired after 26.4s
06:48:50   BUILD aarch64 ring0_timer_in_syscall of tests/toyos-rust-tests, for virt_timer_preempts
06:48:50 [build-lock] artifact staging acquired after 24.2s
06:48:50 [build-lock] artifact staging acquired after 15.6s
06:48:50 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 0s so far
06:48:50 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 0s so far
06:48:52 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 2s so far
06:48:57 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
06:48:57 [build-lock] artifact staging acquired after 21.8s
06:48:57   BUILT aarch64 kernel boot-actuators,test-actuators, loader, ROOT of tests/testcases, for virt_early_panic  (37s)
06:48:57 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
06:48:57 [build-lock] artifact staging acquired after 21.9s
06:48:57   BUILT aarch64 kernel boot-actuators,test-actuators, loader, ROOT of tests/testcases, for virt_early_fault  (37s)
06:48:57 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
06:48:57 [build-lock] artifact staging acquired after 14.9s
06:48:57   BUILT aarch64 kernel boot-actuators,test-actuators, loader, ROOT of tests/testcases, for virt_el2_drop  (37s)
06:48:57 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
06:48:57 [build-lock] artifact staging acquired after 6.5s
06:48:57   BUILT aarch64 kernel, loader, ROOT of tests/testcases, for virt_user_mode  (37s)
06:48:57 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
06:48:57 [build-lock] artifact staging acquired after 6.6s
06:48:57   BUILT aarch64 kernel boot-actuators,test-actuators, loader, ROOT of tests/testcases, for virt_timer_floor  (32s)
06:48:57 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
06:48:57 [build-lock] artifact staging acquired after 4.8s
06:48:57   BUILT aarch64 kernel boot-actuators,test-actuators, loader, ROOT of tests/testcases, for virt_irq_storm  (35s)
06:48:57   PASS  virt_early_panic  (720ms)
06:48:57   RUN   virt_ring0_timer_in_syscall
06:48:57   BUILT aarch64 ring0_timer_in_syscall of tests/toyos-rust-tests, for virt_timer_preempts  (7s)
06:48:57   BUILD aarch64 random_draws of tests/toyos-rust-tests, for virt_timer_preempts
06:48:57   PASS  virt_early_fault  (718ms)
06:48:57   RUN   virt_mask_windows
06:48:58   PASS  virt_el2_drop  (1s)
06:48:58   RUN   virt_smp
06:48:59   PASS  virt_user_mode  (2s)
06:48:59   RUN   virt_el1_smp
06:48:59   BUILT aarch64 random_draws of tests/toyos-rust-tests, for virt_timer_preempts  (2s)
06:48:59   BUILD aarch64 wall_clock_now of tests/toyos-rust-tests, for virt_timer_preempts
06:48:59   [virt] [ 1.927 cpu0 kernel] timer-floor: PASS span=240 floor=240 ticks: the comparator past the counter it was set from
06:48:59   PASS  virt_timer_floor  (2s)
06:48:59   RUN   virt_failed_ap_leaves_no_hole
06:49:01   BUILT aarch64 wall_clock_now of tests/toyos-rust-tests, for virt_timer_preempts  (2s)
06:49:01   BUILD aarch64 ROOT of tests/virtjobcase, for virt_timer_preempts
06:49:01   BUILD aarch64 counters_read of tests/toyos-rust-tests, for virt_failed_ap_leaves_no_hole
06:49:01   BUILD aarch64 ROOT of tests/virtjobcase, for virt_debug_refused
06:49:01   BUILD aarch64 ROOT of tests/virtjobcase, for virt_first_entry
06:49:01   BUILD aarch64 ROOT of tests/virtjobcase, for virt_unmap_touch
06:49:01   BUILD aarch64 ROOT of tests/virtjobcase, for virt_ring0_timer_in_syscall
06:49:03 [build-lock] waiting for the artifact lock (artifact staging) — held, but the holder left no readable note
06:49:03 [build-lock] waiting for the artifact lock (artifact staging) — held, but the holder left no readable note
06:49:03 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 0s so far
06:49:03 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 0s so far
06:49:03 [build-lock] artifact staging acquired after 154.0µs
06:49:03 [build-lock] artifact staging acquired after 299.4µs
06:49:03 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 0s so far
06:49:03 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 0s so far
06:49:03 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 0s so far
06:49:03   BUILT aarch64 counters_read of tests/toyos-rust-tests, for virt_failed_ap_leaves_no_hole  (2s)
06:49:03   BUILD aarch64 trace_read of tests/toyos-rust-tests, for virt_failed_ap_leaves_no_hole
06:49:03 [build-lock] artifact staging acquired after 347.3ms
06:49:03 [build-lock] artifact staging acquired after 347.3ms
06:49:03 [build-lock] artifact staging acquired after 298.6ms
06:49:03 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 0s so far
06:49:03 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 0s so far
06:49:04 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
06:49:04 [build-lock] artifact staging acquired after 737.6ms
06:49:04   BUILT aarch64 ROOT of tests/virtjobcase, for virt_first_entry  (3s)
06:49:04 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
06:49:04 [build-lock] artifact staging acquired after 859.9ms
06:49:04   BUILT aarch64 ROOT of tests/virtjobcase, for virt_timer_preempts  (3s)
06:49:04 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
06:49:04 [build-lock] artifact staging acquired after 637.7ms
06:49:04   BUILT aarch64 ROOT of tests/virtjobcase, for virt_debug_refused  (3s)
06:49:04 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
06:49:04 [build-lock] artifact staging acquired after 759.3ms
06:49:04   BUILT aarch64 ROOT of tests/virtjobcase, for virt_ring0_timer_in_syscall  (3s)
06:49:04 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
06:49:04   BUILT aarch64 ROOT of tests/virtjobcase, for virt_unmap_touch  (3s)
06:49:05   BUILT aarch64 trace_read of tests/toyos-rust-tests, for virt_failed_ap_leaves_no_hole  (2s)
06:49:05   BUILD aarch64 ROOT of tests/virtsmpcase, for virt_failed_ap_leaves_no_hole
06:49:05   BUILD aarch64 ROOT of tests/virtsmpcase, for virt_smp
06:49:05   BUILD aarch64 ROOT of tests/virtsmpcase, for virt_el1_smp
06:49:05   BUILD aarch64 kernel mask-windows, ROOT of tests/virtsmpcase, for virt_mask_windows
06:49:06   [virt] [ 1.971 test-runner pid=4] preempt: the counting thread was preempted twice, at counts 4086914 and 8355248
06:49:06   PASS  virt_timer_preempts  (2s)
06:49:06   RUN   virt_fatal_halts_the_others_first
06:49:06   BUILD aarch64 panic_halts_first of tests/toyos-rust-tests, for virt_fatal_halts_the_others_first
06:49:06   [virt] [ 2.036 test-runner pid=6] first_entry: x1-x30 were zero at a new thread's first instruction
06:49:06   PASS  virt_first_entry  (38s)
06:49:06   RUN   virt_reboot
06:49:06   BUILD aarch64 ROOT of tests/virtrebootcase, for virt_reboot
06:49:06   [virt] [ 2.223 test-runner pid=16] debug_refused: SYS_DEBUG's double fault and TLB acknowledgement delay were refused
06:49:06   PASS  virt_debug_refused  (36s)
06:49:06   RUN   virt_off_names_the_cpus_left_on
06:49:06   BUILD aarch64 ROOT of tests/virtsmpcase, for virt_off_names_the_cpus_left_on
06:49:06   [virt] [ 2.219 test-runner pid=17] ring0_timer_in_syscall: the timer interrupted the syscall's body and re-armed a quantum
06:49:06   PASS  virt_ring0_timer_in_syscall  (6s)
06:49:06   RUN   virt_reboot_refused_without_psci
06:49:06   BUILD aarch64 ROOT of tests/virtrebootcase, for virt_reboot_refused_without_psci
06:49:07   [virt] [ 2.211 test-runner pid=7] unmap_touch: 4 reads of a page just unmapped on the unmapping thread, and 4 on another, each ended their process
06:49:07   PASS  virt_unmap_touch  (37s)
06:49:07   RUN   virt_reboot_wire_held
06:49:07   BUILD aarch64 ROOT of tests/virtrebootcase, for virt_reboot_wire_held
06:49:07 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 0s so far
06:49:07 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 0s so far
06:49:07 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 0s so far
06:49:08   [virt] [ 2.117 test-runner pid=5] fp_isolation: v0-v31, FPCR and FPSR survived 3 switches to a thread that loads another state
06:49:08   PASS  virt_fp_isolation  (42s)
06:49:08   RUN   virt_reboot_wire_kept
06:49:08   BUILD aarch64 ROOT of tests/virtrebootcase, for virt_reboot_wire_kept
06:49:08   [virt] [ 2.297 test-runner pid=20] a syscall writes only where its caller could store
06:49:08   PASS  virt_readonly_copyout  (36s)
06:49:08   RUN   virt_jobs_at_el2
06:49:08 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 1s so far
06:49:08 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 1s so far
06:49:08 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 1s so far
06:49:09 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 2s so far
06:49:09 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 2s so far
06:49:09 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 2s so far
06:49:09   [virt] [11.918 cpu0 kernel] irq-storm: PASS sgis=7830369/7830369 ticks=1000: the timer fired through the flood, and every SGI sent was taken
06:49:09   PASS  virt_irq_storm  (12s)
06:49:09   RUN   virt_random_differs
06:49:11   [virt] [ 2.542 test-runner pid=4] preempt: the counting thread was preempted twice, at counts 6741931 and 11663231
06:49:11   [virt] [ 2.644 test-runner pid=5] fp_isolation: v0-v31, FPCR and FPSR survived 3 switches to a thread that loads another state
06:49:11   [virt] [ 2.661 test-runner pid=6] first_entry: x1-x30 were zero at a new thread's first instruction
06:49:11   [virt] [ 2.920 test-runner pid=7] unmap_touch: 4 reads of a page just unmapped on the unmapping thread, and 4 on another, each ended their process
06:49:11   [virt] [ 2.937 test-runner pid=16] debug_refused: SYS_DEBUG's double fault and TLB acknowledgement delay were refused
06:49:11   [virt] [ 2.950 test-runner pid=17] ring0_timer_in_syscall: the timer interrupted the syscall's body and re-armed a quantum
06:49:11   [virt] [ 3.075 test-runner pid=18] random_draws: 8 threads drew 1000 times each and no two draws were alike; one more: db18535d7f030176faa3dbdd2542dadbae7f4afc3495ddd82519d922e38265a2
06:49:11   [virt] [ 3.089 test-runner pid=19] wall-clock: epoch=1993799668 realtime=09:14:28
06:49:11   [virt] [ 3.130 test-runner pid=20] a syscall writes only where its caller could store
06:49:11   PASS  virt_jobs_at_el2  (3s)
06:49:11   RUN   virt_smmu
06:49:12   [virt] [ 0.415 cpu0 kernel] IOMMU: SMMUv3 at 0x9050000 armed, CR0ACK 0xd: 4 functions' streams aborting in a table of 64, every other entry invalid; a CMD_SYNC consumed; events on SPI 106
06:49:12   [virt] GBPA 0x101000: ABORT
06:49:12   [virt] [ 0.414 cpu0 kernel] smmu-selftest: 00:03.0, StreamID 0x18, is given no route, as a function never enumerated is not
06:49:12   [virt] [ 0.416 cpu0 kernel] smmu-selftest: 00:04.0's write at 0x40800000, on the entry its stream starts with, answered 0xdead0002: refused
06:49:12   [virt] [ 0.417 cpu0 kernel] smmu-selftest: 00:04.0's write at 0x400000000040, mapped to 0x40800040, answered 0x0: landed there
06:49:12   [virt] [ 0.417 cpu0 kernel] smmu-selftest: 00:03.0's write 1 at 0x40800000, under no route, answered 0xdead0002: refused
06:49:12   [virt] [ 0.417 cpu0 kernel] smmu-selftest: 00:03.0's write 2 at 0x40800000, under no route, answered 0xdead0002: refused
06:49:12   [virt] [ 0.418 cpu0 kernel] smmu-selftest: 00:03.0's write 3 at 0x40800000, under no route, answered 0xdead0002: refused
06:49:12   [virt] [ 0.419 cpu0 kernel] smmu-selftest: 00:04.0's write at 0x400000000040 again, which its domain no longer maps, answered 0xdead0002: refused
06:49:12   [virt] [ 0.418 cpu0 kernel] iommu: DMA FAULT owner=none unit0 stream=0x18 addr=0x0000000000000000 access=none reason=0x04 domain=unknown bme=unknown-function unitfaults=1 streamfaults=1 first=y C_BAD_STE
06:49:12   [virt] [ 0.419 cpu0 kernel] iommu: DMA FAULT owner=none unit0 stream=0x18 addr=0x0000000000000000 access=none reason=0x04 domain=unknown bme=unknown-function unitfaults=2 streamfaults=2 first=y C_BAD_STE
06:49:12   [virt] [ 0.420 cpu0 kernel] iommu: DMA FAULT owner=kernel unit0 stream=00:04.0 addr=0x0000400000000040 access=write reason=0x10 domain=1 bme=cleared unitfaults=4 streamfaults=1 first=n F_TRANSLATION
06:49:12   PASS  virt_smmu  (558ms)
06:49:12   RUN   virt_no_seed_refused
06:49:12   [virt] [ 2.209 test-runner pid=18] random_draws: 8 threads drew 1000 times each and no two draws were alike; one more: b33e5347eed79722dac63829f458e88cd8b2d20dc766b0f23f2bb3a937534d71
06:49:14   [virt] [ 2.399 test-runner pid=18] random_draws: 8 threads drew 1000 times each and no two draws were alike; one more: eeceb6fefdb8a90cfd35b1b734859d2df565032892b3c12527c14e20b9633270
06:49:14   [virt] two boots keyed from the loader's seed printed two draws
06:49:14   PASS  virt_random_differs  (5s)
06:49:14   RUN   virt_wall_clock_utc
06:49:15 [build-lock] artifact staging acquired after 8.1s
06:49:15 [build-lock] artifact staging acquired after 8.1s
06:49:15 [build-lock] artifact staging acquired after 8.1s
06:49:15 [build-lock] artifact staging acquired after 7.2s
06:49:15 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 0s so far
06:49:15 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 0s so far
06:49:15 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 0s so far
06:49:15 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 0s so far
06:49:16   BUILT aarch64 panic_halts_first of tests/toyos-rust-tests, for virt_fatal_halts_the_others_first  (10s)
06:49:16 [build-lock] artifact staging acquired after 7.4s
06:49:16 [build-lock] artifact staging acquired after 7.0s
06:49:16 [build-lock] artifact staging acquired after 6.9s
06:49:16 [build-lock] artifact staging acquired after 6.9s
06:49:16   BUILD aarch64 ROOT of tests/virtpaniccase, for virt_fatal_halts_the_others_first
06:49:16 [build-lock] artifact staging acquired after 6.4s
06:49:16 [build-lock] artifact staging acquired after 160.5ms
06:49:16 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 0s so far
06:49:16 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 0s so far
06:49:16 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 0s so far
06:49:16 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 0s so far
06:49:16 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 35892 (artifact staging), 0s so far
06:49:16 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
06:49:16 [build-lock] artifact staging acquired after 307.2ms
06:49:16   BUILT aarch64 ROOT of tests/virtsmpcase, for virt_failed_ap_leaves_no_hole  (11s)
06:49:16 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
06:49:16 [build-lock] artifact staging acquired after 422.3ms
06:49:16   BUILT aarch64 ROOT of tests/virtsmpcase, for virt_el1_smp  (11s)
06:49:16 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
06:49:16 [build-lock] artifact staging acquired after 546.4ms
06:49:16   BUILT aarch64 kernel mask-windows, ROOT of tests/virtsmpcase, for virt_mask_windows  (11s)
06:49:16 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
06:49:16 [build-lock] artifact staging acquired after 446.2ms
06:49:16   BUILT aarch64 ROOT of tests/virtsmpcase, for virt_smp  (11s)
06:49:16 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
06:49:16 [build-lock] artifact staging acquired after 575.0ms
06:49:16   BUILT aarch64 ROOT of tests/virtrebootcase, for virt_reboot_wire_kept  (9s)
06:49:16 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
06:49:16 [build-lock] artifact staging acquired after 710.5ms
06:49:16   BUILT aarch64 ROOT of tests/virtrebootcase, for virt_reboot_wire_held  (10s)
06:49:16 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
06:49:16 [build-lock] artifact staging acquired after 842.1ms
06:49:16   BUILT aarch64 ROOT of tests/virtrebootcase, for virt_reboot  (11s)
06:49:17 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
06:49:17 [build-lock] artifact staging acquired after 992.3ms
06:49:17   BUILT aarch64 ROOT of tests/virtrebootcase, for virt_reboot_refused_without_psci  (10s)
06:49:17 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
06:49:17   BUILT aarch64 ROOT of tests/virtsmpcase, for virt_off_names_the_cpus_left_on  (10s)
06:49:17   [virt] [ 2.254 test-runner pid=19] wall-clock: epoch=1993799666 realtime=09:14:26
06:49:17   [virt] wall-clock: epoch=1993799666, 1s past the staged 2033-03-07T09:14:25
06:49:17   [virt] wall-clock: std_epoch=1993799666, 1s past the staged 2033-03-07T09:14:25
06:49:17   PASS  virt_wall_clock_utc  (3s)
06:49:17   RUN   virt_low_ecam
06:49:17 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
06:49:17   BUILT aarch64 ROOT of tests/virtpaniccase, for virt_fatal_halts_the_others_first  (2s)
06:49:18   PASS  virt_no_seed_refused  (7s)
06:49:19   [virt] reboot: this machine has no reset this kernel performs — refused, and the job ended exit 1
06:49:19   PASS  virt_reboot_refused_without_psci  (3s)
06:49:19   [virt] [ 3.288 test-runner pid=4] unmap_touch: 4 reads of a page just unmapped on the unmapping thread, and 4 on another, each ended their process
06:49:19   [virt] 8 CPUs entered at EL1, started through HVC, and scheduling
06:49:19   [virt] [ 3.500 test-runner pid=13] counters_read: every cpu answered for itself, and each counter is a right's
06:49:20   [virt] [ 3.598 test-runner pid=15] trace_read: a wake precedes its pick, a cursor is its reader's own, and the diary is TRACE's
06:49:20   [virt] stop: 5 of 5 userland thread(s) stopped across 8 cpu(s) in 0 ms of a 2010 ms budget over 1 sweep(s), 0 of 0 userland block operation(s) still open; every CPU but 0x0 called CPU_OFF, then 0x0 SYSTEM_OFF
06:49:20   PASS  virt_el1_smp  (10s)
06:49:20   [virt] [ 3.353 test-runner pid=4] unmap_touch: 4 reads of a page just unmapped on the unmapping thread, and 4 on another, each ended their process
06:49:20   [pci] 3 functions, 2 of them with assigned windows
06:49:20   [virt] ACPI: ECAM window: segment 0 buses 0x00..=0x0f, bus 0 at 0x3f000000; 3 functions: ["00:00.0 [0600] vendor=1b36 device=0008", "00:01.0 [0c03] vendor=1033 device=0194", "00:02.0 [00ff] vendor=1af4 device=1005"]
06:49:20   PASS  virt_low_ecam  (3s)
06:49:20   [virt] Rebooting., then one SYSTEM_RESET, and QEMU stopped for guest-reset
06:49:20   PASS  virt_reboot_wire_held  (4s)
06:49:20   [windows] cpu0 irqs_off_ns=6773000 preempt_off_ns=40237000
06:49:20   [windows] cpu1 irqs_off_ns=12951000 preempt_off_ns=10157000
06:49:20   [windows] cpu2 irqs_off_ns=1449000 preempt_off_ns=11339000
06:49:20   [windows] cpu3 irqs_off_ns=3854000 preempt_off_ns=41847000
06:49:20   [windows] cpu4 irqs_off_ns=2654000 preempt_off_ns=8735000
06:49:20   [windows] cpu5 irqs_off_ns=1841000 preempt_off_ns=31216000
06:49:20   [windows] cpu6 irqs_off_ns=50029000 preempt_off_ns=50387000
06:49:20   [windows] cpu7 irqs_off_ns=7580000 preempt_off_ns=11345000
06:49:20   PASS  virt_mask_windows  (12s)
06:49:20   [virt] [ 3.986 test-runner pid=4] unmap_touch: 4 reads of a page just unmapped on the unmapping thread, and 4 on another, each ended their process
06:49:20   [virt] 8 CPUs entered at EL2, started through SMC, and scheduling
06:49:20   [virt] Rebooting., then one SYSTEM_RESET, and QEMU stopped for guest-reset
06:49:20   PASS  virt_reboot  (4s)
06:49:20   [virt] [ 4.147 test-runner pid=13] counters_read: every cpu answered for itself, and each counter is a right's
06:49:21   [virt] [ 4.253 test-runner pid=15] trace_read: a wake precedes its pick, a cursor is its reader's own, and the diary is TRACE's
06:49:21   [virt] stop: 5 of 5 userland thread(s) stopped across 8 cpu(s) in 0 ms of a 2010 ms budget over 1 sweep(s), 0 of 0 userland block operation(s) still open; every CPU but 0x0 called CPU_OFF, then 0x0 SYSTEM_OFF
06:49:21   PASS  virt_smp  (12s)
06:49:21   [panic] the fatal path on cpu2 left every other CPU halted with interrupts masked
06:49:21   PASS  virt_fatal_halts_the_others_first  (4s)
06:49:21   [virt] [ 4.432 test-runner pid=4] unmap_touch: 4 reads of a page just unmapped on the unmapping thread, and 4 on another, each ended their process
06:49:23   [virt] [ 7.044 test-runner pid=4] unmap_touch: 4 reads of a page just unmapped on the unmapping thread, and 4 on another, each ended their process
06:49:23   [virt] a non-last AP never started and the dense machine ran its job
06:49:23   PASS  virt_failed_ap_leaves_no_hole  (9s)
06:49:25   [virt] Rebooting., then one SYSTEM_RESET, and QEMU stopped for guest-reset
06:49:25   PASS  virt_reboot_wire_kept  (9s)
06:49:27   [virt] [6, 7] left on and named; the rest CPU_OFF, then 0x0 SYSTEM_OFF; 5005 PSCI call(s) traced
06:49:27   PASS  virt_off_names_the_cpus_left_on  (10s)
06:49:27   --- 64 guests, 37 of them not the shipping kernel, 3 kernel build(s): ["", "boot-actuators,test-actuators", "mask-windows"]

06:49:27 host: fastest boot 404 ms against the reference 1424 ms — liveness ceilings paid at 1.00x
06:49:27 host: 14 core(s); a guest wider than that waits vcpus/cores longer again
06:49:27 test result: ok. 59 passed, 59 total (105.2s; workers: 658s building, 540s testing)
EXIT=0

@Japabu

Japabu commented Oct 11, 2026

Copy link
Copy Markdown
Collaborator Author

probe-harness, part 1 of 1, the throwaway QEMU probe (never committed): a machine test that boots tests/testcases with the named shared members and runs each, a C case judged against its .expect

===== probe-harness.patch =====
diff --git a/tests/toyos.rs b/tests/toyos.rs
index 8cedebc6c..825a5dac9 100644
--- a/tests/toyos.rs
+++ b/tests/toyos.rs
@@ -345,6 +345,7 @@ const MACHINE_TESTS: &[&str] = &[
     "https_fetch",
     // The nested-NMI report is a raw write to the 16550, which the T14 does not
     // have.
+    "dirid_probe",
     "nested_nmi_is_loud",
     // The power-off itself: the metal loop reaches the T14 over `ssh` and has
     // no way to turn it back on, so only a machine QEMU reports stopping can
@@ -3872,6 +3873,7 @@ fn run_machine_test(name: &str, test_config: &Path) -> Result<(), String> {
         "netstack_streams_e1000e" => netstack_streams(qemu::Profile::HeadlessE1000e),
         "libc_sockets" => libc_sockets(),
         "https_fetch" => https_fetch(),
+        "dirid_probe" => dirid_probe(test_config),
         "nested_nmi_is_loud" => faults::nested_nmi_is_loud(test_config),
         "machine_shutdown" => power::machine_shutdown(test_config),
         "acpi_power_button" => power::acpi_power_button(test_config),
@@ -6619,3 +6621,31 @@ fn main() {
     summary.lines().for_each(|line| eprintln!("{line}"));
     run.exit(tally.exit_code());
 }
+
+/// THROWAWAY (never committed): the shared members a stat change reaches, in QEMU.
+fn dirid_probe(test_config: &Path) -> Result<(), String> {
+    let c_names: Vec<String> = std::env::var("DIRID_C").unwrap().split(',').map(String::from).collect();
+    let rs: Vec<String> = std::env::var("DIRID_RS").unwrap().split(',').map(String::from).collect();
+    let c_bins = compile_c_tests(&c_names);
+    let rust_dir = Path::new(env!("CARGO_MANIFEST_DIR")).join("tests/toyos-rust-tests");
+    let rust_bins: Vec<(String, Vec<u8>)> =
+        rs.iter().map(|n| (n.clone(), qemu::build_toyos_bin(qemu::SUITE_ARCH, &rust_dir, n))).collect();
+    let mut q = QemuInstance::boot_with_options(test_config, &c_bins, &rust_bins, BootOptions::default());
+    let mut report = String::new();
+    let mut red = 0;
+    for name in &c_names {
+        let r = q.run_test(&format!("test_c_{name}"), Duration::from_secs(120));
+        let want = c_expectation(name).unwrap_or_default();
+        let ok = r.error.is_none() && r.exit_code == Some(0) && r.stdout.trim_end() == want.trim_end();
+        if !ok { red += 1; }
+        report.push_str(&format!("C {name}: {} exit={:?} err={:?}\n--- got ---\n{}--- want ---\n{}\n", if ok { "PASS" } else { "FAIL" }, r.exit_code, r.error, r.stdout, want));
+    }
+    for name in &rs {
+        let r = q.run_test(&format!("test_rs_{name}"), Duration::from_secs(300));
+        let ok = r.error.is_none() && r.exit_code == Some(0);
+        if !ok { red += 1; }
+        report.push_str(&format!("RS {name}: {} exit={:?} err={:?}\n{}\n", if ok { "PASS" } else { "FAIL" }, r.exit_code, r.error, r.stdout));
+    }
+    fs::write(std::env::var("DIRID_OUT").unwrap(), &report).unwrap();
+    if red == 0 { Ok(()) } else { Err(format!("{red} members red; report at $DIRID_OUT")) }
+}

===== probe.pl =====
undef $/; $_ = <STDIN>;
s/(    "nested_nmi_is_loud",\n)/    "dirid_probe",\n$1/ or die "reg";
s/(        "nested_nmi_is_loud" => faults::nested_nmi_is_loud\(test_config\),\n)/        "dirid_probe" => dirid_probe(test_config),\n$1/ or die "dispatch";
$_ .= <<'RS';

/// THROWAWAY (never committed): the shared members a stat change reaches, in QEMU.
fn dirid_probe(test_config: &Path) -> Result<(), String> {
    let c_names: Vec<String> = std::env::var("DIRID_C").unwrap().split(',').map(String::from).collect();
    let rs: Vec<String> = std::env::var("DIRID_RS").unwrap().split(',').map(String::from).collect();
    let c_bins = compile_c_tests(&c_names);
    let rust_dir = Path::new(env!("CARGO_MANIFEST_DIR")).join("tests/toyos-rust-tests");
    let rust_bins: Vec<(String, Vec<u8>)> =
        rs.iter().map(|n| (n.clone(), qemu::build_toyos_bin(qemu::SUITE_ARCH, &rust_dir, n))).collect();
    let mut q = QemuInstance::boot_with_options(test_config, &c_bins, &rust_bins, BootOptions::default());
    let mut report = String::new();
    let mut red = 0;
    for name in &c_names {
        let r = q.run_test(&format!("test_c_{name}"), Duration::from_secs(120));
        let want = c_expectation(name).unwrap_or_default();
        let ok = r.error.is_none() && r.exit_code == Some(0) && r.stdout.trim_end() == want.trim_end();
        if !ok { red += 1; }
        report.push_str(&format!("C {name}: {} exit={:?} err={:?}\n--- got ---\n{}--- want ---\n{}\n", if ok { "PASS" } else { "FAIL" }, r.exit_code, r.error, r.stdout, want));
    }
    for name in &rs {
        let r = q.run_test(&format!("test_rs_{name}"), Duration::from_secs(300));
        let ok = r.error.is_none() && r.exit_code == Some(0);
        if !ok { red += 1; }
        report.push_str(&format!("RS {name}: {} exit={:?} err={:?}\n{}\n", if ok { "PASS" } else { "FAIL" }, r.exit_code, r.error, r.stdout));
    }
    fs::write(std::env::var("DIRID_OUT").unwrap(), &report).unwrap();
    if red == 0 { Ok(()) } else { Err(format!("{red} members red; report at $DIRID_OUT")) }
}
RS
print;

@Japabu

Japabu commented Oct 11, 2026

Copy link
Copy Markdown
Collaborator Author

probe-at-head, part 1 of 1, the probe at tree 41d1592e (head ad23112's), exit 1: the four reds are the probe's environment, and origin/main's too (next comment)

===== probe-head.log =====
   Compiling toyos-build v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid)
    Finished `test` profile [optimized + debuginfo] target(s) in 9.26s
     Running tests/toyos.rs (target/debug/deps/toyos_build-6272c6e3847618b1)

06:52:55 running 1 tests, 12 wide

06:52:55   RUN   dirid_probe
06:52:57   BUILD x86_64 stat_identity of tests/toyos-rust-tests, for dirid_probe
06:53:00   BUILT x86_64 stat_identity of tests/toyos-rust-tests, for dirid_probe  (2s)
06:53:00   BUILD x86_64 empty_dir_stat of tests/toyos-rust-tests, for dirid_probe
06:53:02   BUILT x86_64 empty_dir_stat of tests/toyos-rust-tests, for dirid_probe  (3s)
06:53:02   BUILD x86_64 toybox_file_tools of tests/toyos-rust-tests, for dirid_probe
06:53:05   BUILT x86_64 toybox_file_tools of tests/toyos-rust-tests, for dirid_probe  (3s)
06:53:05   BUILD x86_64 std_fs of tests/toyos-rust-tests, for dirid_probe
06:53:07   BUILT x86_64 std_fs of tests/toyos-rust-tests, for dirid_probe  (3s)
06:53:07   BUILD x86_64 fs_truncate_persist of tests/toyos-rust-tests, for dirid_probe
06:53:10   BUILT x86_64 fs_truncate_persist of tests/toyos-rust-tests, for dirid_probe  (2s)
06:53:10   BUILD x86_64 fs_share of tests/toyos-rust-tests, for dirid_probe
06:53:11   BUILT x86_64 fs_share of tests/toyos-rust-tests, for dirid_probe  (2s)
06:53:11   BUILD x86_64 fs_turns of tests/toyos-rust-tests, for dirid_probe
06:53:13   BUILT x86_64 fs_turns of tests/toyos-rust-tests, for dirid_probe  (1s)
06:53:13   BUILD x86_64 readdir_bound of tests/toyos-rust-tests, for dirid_probe
06:53:14   BUILT x86_64 readdir_bound of tests/toyos-rust-tests, for dirid_probe  (1s)
06:53:14   BUILD x86_64 hierarchy_paths of tests/toyos-rust-tests, for dirid_probe
06:53:16   BUILT x86_64 hierarchy_paths of tests/toyos-rust-tests, for dirid_probe  (2s)
06:53:16   BUILD x86_64 lseek_past_eof of tests/toyos-rust-tests, for dirid_probe
06:53:18   BUILT x86_64 lseek_past_eof of tests/toyos-rust-tests, for dirid_probe  (2s)
06:53:18   BUILD x86_64 endowment_denied of tests/toyos-rust-tests, for dirid_probe
06:53:19   BUILT x86_64 endowment_denied of tests/toyos-rust-tests, for dirid_probe  (2s)
06:53:19   BUILD x86_64 file_mtime of tests/toyos-rust-tests, for dirid_probe
06:53:21   BUILT x86_64 file_mtime of tests/toyos-rust-tests, for dirid_probe  (2s)
06:53:21   BUILD x86_64 fs_escape of tests/toyos-rust-tests, for dirid_probe
06:53:23   BUILT x86_64 fs_escape of tests/toyos-rust-tests, for dirid_probe  (2s)
06:53:23   BUILD x86_64 fs_large_file of tests/toyos-rust-tests, for dirid_probe
06:53:24   BUILT x86_64 fs_large_file of tests/toyos-rust-tests, for dirid_probe  (2s)
06:53:24   BUILD x86_64 app_view of tests/toyos-rust-tests, for dirid_probe
06:53:26   BUILT x86_64 app_view of tests/toyos-rust-tests, for dirid_probe  (2s)
06:53:26   BUILD x86_64 abuse_cwd_growth of tests/toyos-rust-tests, for dirid_probe
06:53:28   BUILT x86_64 abuse_cwd_growth of tests/toyos-rust-tests, for dirid_probe  (2s)
06:53:28   BUILD x86_64 kernel, loader, ROOT of tests/testcases, for dirid_probe
06:53:30 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
06:53:30   BUILT x86_64 kernel, loader, ROOT of tests/testcases, for dirid_probe  (2s)
06:54:17 FAIL dirid_probe: 4 members red; report at $DIRID_OUT
06:54:17   FAIL  dirid_probe  (50s)
06:54:17   --- 1 guests, 0 of them not the shipping kernel, 1 kernel build(s): [""]

06:54:17 host: fastest boot 4674 ms against the reference 1424 ms — liveness ceilings paid at 3.28x
06:54:17 host: 14 core(s); a guest wider than that waits vcpus/cores longer again
06:54:17 failures:
06:54:17     dirid_probe: 4 members red; report at $DIRID_OUT

06:54:17 test result: FAILED. 0 passed, 1 failed, 0 invalidated, 1 total (82.9s; workers: 33s building, 50s testing)
06:54:17 [toyos] this red run's serial logs are kept at /Users/<user>/Dev/jan/toyos-dirid/target/red-run-serial/toyos-tmp-82145-0
error: test failed, to rerun pass `--test toyos-build`

Caused by:
  process didn't exit successfully: `/Users/<user>/Dev/jan/toyos-dirid/target/debug/deps/toyos_build-6272c6e3847618b1 dirid_probe` (exit status: 1)
EXIT=1

===== probe-head.report =====
C 210_stat_identity: PASS exit=Some(0) err=None
--- got ---
two files on /tmp are two: yes
one file through two paths is one: yes
its open descriptor is the file: yes
a rename keeps the file: yes
its descriptor after the rename is the file: yes
a link is the file it names: yes
two files on /system are two: yes
/system and /tmp are two volumes: yes
two directories on /system are two: yes
a directory and its mount's root are two: yes
one directory through two paths is one: yes
a directory is on its mount's volume: yes
a directory is no file: yes
two links on /system are two: yes
a link is not the file it names: yes
d_ino is a directory's st_ino: yes
d_ino is a file's st_ino: yes
d_ino is a link's st_ino: yes
d_ino is a mount's st_ino: yes
d_ino on /tmp is st_ino: yes
--- want ---
two files on /tmp are two: yes
one file through two paths is one: yes
its open descriptor is the file: yes
a rename keeps the file: yes
its descriptor after the rename is the file: yes
a link is the file it names: yes
two files on /system are two: yes
/system and /tmp are two volumes: yes
two directories on /system are two: yes
a directory and its mount's root are two: yes
one directory through two paths is one: yes
a directory is on its mount's volume: yes
a directory is no file: yes
two links on /system are two: yes
a link is not the file it names: yes
d_ino is a directory's st_ino: yes
d_ino is a file's st_ino: yes
d_ino is a link's st_ino: yes
d_ino is a mount's st_ino: yes
d_ino on /tmp is st_ino: yes

C 202_stat_mtime: PASS exit=Some(0) err=None
--- got ---
sizeof(struct stat) 120
fstat st_size 17
fstat st_mtime within the write
fstat tv_nsec below a second
stat st_size 17
stat st_mtime within the write
stat tv_nsec below a second
--- want ---
sizeof(struct stat) 120
fstat st_size 17
fstat st_mtime within the write
fstat tv_nsec below a second
stat st_size 17
stat st_mtime within the write
stat tv_nsec below a second

C 206_libc_refusals: PASS exit=Some(0) err=None
--- got ---
execv: -1, ENOSYS
execve: -1, ENOSYS
setsid: -1, ENOSYS
getsid: -1, ENOSYS
gethostname: -1, ENOSYS
link: -1, ENOSYS
symlink: -1, ENOSYS
fchown: -1, ENOSYS
chmod: -1, ENOSYS
fchmod: -1, ENOSYS
statvfs: -1, ENOSYS
fstatvfs: -1, ENOSYS
getrlimit: -1, ENOSYS
setrlimit: -1, ENOSYS
msync: -1, ENOSYS
mprotect: -1, ENOSYS
realpath: -1, ENOSYS
utimes: -1, ENOSYS
wait: -1, ECHILD
wait4: -1, ECHILD
pathconf 12345: -1, EINVAL
fcntl F_SETLK: -1, EINVAL
fcntl F_SETLKW: -1, EINVAL
fcntl F_GETLK: -1, EINVAL
fcntl F_GETFD: 0
fcntl F_SETFD FD_CLOEXEC: 0; F_GETFD: 1
fcntl F_DUPFD 10: 10 or above; fstat of it: the file's one byte; F_GETFD of it: 0
fcntl F_SETFD 0: 0; F_GETFD: 0
open O_CLOEXEC; F_GETFD: 1
dup2 onto it: answered it; F_GETFD: 0
fcntl F_DUPFD -1: -1, EINVAL
fcntl F_DUPFD 4096: -1, EINVAL
fcntl F_DUPFD_CLOEXEC: -1, ENOSYS
fcntl F_GETFL: -1, ENOSYS
fcntl F_SETFL: -1, ENOSYS
fcntl 12345: -1, EINVAL
getpwnam_r: ENOSYS, entry null
getpwuid_r: ENOSYS, entry null
mmap a file: -1, ENODEV
mmap a file at a page: -1, ENODEV
mmap a file shared: -1, ENODEV
mmap a file shared at a page: -1, ENODEV
mmap executable: -1, ENOTSUP
mmap nothing: -1, EINVAL
mmap the first of two pages fixed: -1, ENOMEM
pages after it: f s
munmap the first of two pages: -1, EINVAL
pages after it: f s
munmap the second of two pages: -1, EINVAL
munmap no bytes: -1, EINVAL
munmap a byte past two pages: -1, EINVAL
pages after them: f s
munmap two pages by a length into the second: 0, no errno
munmap them again: -1, EINVAL
munmap 5000 bytes by 5000: 0, no errno
munmap 5000 bytes by 8192: 0, no errno
malloc SIZE_MAX: -1, ENOMEM
calloc SIZE_MAX 2: -1, ENOMEM
realloc SIZE_MAX: -1, ENOMEM
sysconf _SC_ARG_MAX: -1, no errno
sysconf _SC_GETPW_R_SIZE_MAX: -1, no errno
sysconf 12345: -1, EINVAL
posix_madvise WILLNEED: 0
posix_madvise 99: EINVAL
madvise WILLNEED: 0, no errno
madvise DONTNEED: -1, ENOSYS
madvise off a page: -1, EINVAL
madvise 99: -1, EINVAL
page after madvise: x
file: 1 bytes; mode as it was through fstat, as it was through stat; second name: none
page after mprotect: y
limit after getrlimit: 0 0
--- want ---
execv: -1, ENOSYS
execve: -1, ENOSYS
setsid: -1, ENOSYS
getsid: -1, ENOSYS
gethostname: -1, ENOSYS
link: -1, ENOSYS
symlink: -1, ENOSYS
fchown: -1, ENOSYS
chmod: -1, ENOSYS
fchmod: -1, ENOSYS
statvfs: -1, ENOSYS
fstatvfs: -1, ENOSYS
getrlimit: -1, ENOSYS
setrlimit: -1, ENOSYS
msync: -1, ENOSYS
mprotect: -1, ENOSYS
realpath: -1, ENOSYS
utimes: -1, ENOSYS
wait: -1, ECHILD
wait4: -1, ECHILD
pathconf 12345: -1, EINVAL
fcntl F_SETLK: -1, EINVAL
fcntl F_SETLKW: -1, EINVAL
fcntl F_GETLK: -1, EINVAL
fcntl F_GETFD: 0
fcntl F_SETFD FD_CLOEXEC: 0; F_GETFD: 1
fcntl F_DUPFD 10: 10 or above; fstat of it: the file's one byte; F_GETFD of it: 0
fcntl F_SETFD 0: 0; F_GETFD: 0
open O_CLOEXEC; F_GETFD: 1
dup2 onto it: answered it; F_GETFD: 0
fcntl F_DUPFD -1: -1, EINVAL
fcntl F_DUPFD 4096: -1, EINVAL
fcntl F_DUPFD_CLOEXEC: -1, ENOSYS
fcntl F_GETFL: -1, ENOSYS
fcntl F_SETFL: -1, ENOSYS
fcntl 12345: -1, EINVAL
getpwnam_r: ENOSYS, entry null
getpwuid_r: ENOSYS, entry null
mmap a file: -1, ENODEV
mmap a file at a page: -1, ENODEV
mmap a file shared: -1, ENODEV
mmap a file shared at a page: -1, ENODEV
mmap executable: -1, ENOTSUP
mmap nothing: -1, EINVAL
mmap the first of two pages fixed: -1, ENOMEM
pages after it: f s
munmap the first of two pages: -1, EINVAL
pages after it: f s
munmap the second of two pages: -1, EINVAL
munmap no bytes: -1, EINVAL
munmap a byte past two pages: -1, EINVAL
pages after them: f s
munmap two pages by a length into the second: 0, no errno
munmap them again: -1, EINVAL
munmap 5000 bytes by 5000: 0, no errno
munmap 5000 bytes by 8192: 0, no errno
malloc SIZE_MAX: -1, ENOMEM
calloc SIZE_MAX 2: -1, ENOMEM
realloc SIZE_MAX: -1, ENOMEM
sysconf _SC_ARG_MAX: -1, no errno
sysconf _SC_GETPW_R_SIZE_MAX: -1, no errno
sysconf 12345: -1, EINVAL
posix_madvise WILLNEED: 0
posix_madvise 99: EINVAL
madvise WILLNEED: 0, no errno
madvise DONTNEED: -1, ENOSYS
madvise off a page: -1, EINVAL
madvise 99: -1, EINVAL
page after madvise: x
file: 1 bytes; mode as it was through fstat, as it was through stat; second name: none
page after mprotect: y
limit after getrlimit: 0 0

C 207_libc_names: FAIL exit=Some(0) err=None
--- got ---
read what creat wrote: "hello"
readlink: 18, "/system/bin/toybox"
readlink into 4: 4, "/sys#"
readlink into 0: -1, EINVAL
readlink of a file: -1, EINVAL
readlink of nothing: -1, ENOENT
truncate to 2: 0; stat size: 2
truncate of nothing: -1, ENOENT
setbuf: file 0 bytes, the buffer holds them
ftello: 10; fseeko 3: 0; ftello: 3; fgetc: 3
setbuf NULL: file 3 bytes
signal SIGALRM: was SIG_DFL, then SIG_IGN
sigaction SIGALRM: 0 0, SIG_IGN, flags 0x10000000, mask 0x200
alarm 5: 0; alarm 0: 1 to 5; again: 0
entry: a DT_UNKNOWN
entry: b DT_UNKNOWN
entry: sub DT_DIR
opendir of nothing: -1, ENOENT
dladdr(main): 1; names this program: yes; starts where dl_iterate_phdr says: yes; symbol: none
dladdr(a stack address): 0
could not load /system/lib/libtls_lib.so
strnlen: 3 2 0
strsignal: Segmentation fault; Unknown signal
modf(-3.25): -3 and -0.25
logb: -4 10
logb(0): -inf, ERANGE
lround: 3 -3 0
lround(1e19): -9223372036854775808, EDOM
pathconf _PC_PATH_MAX: 4096
sysconf _SC_PAGE_SIZE: 4096
--- want ---
read what creat wrote: "hello"
readlink: 18, "/system/bin/toybox"
readlink into 4: 4, "/sys#"
readlink into 0: -1, EINVAL
readlink of a file: -1, EINVAL
readlink of nothing: -1, ENOENT
truncate to 2: 0; stat size: 2
truncate of nothing: -1, ENOENT
setbuf: file 0 bytes, the buffer holds them
ftello: 10; fseeko 3: 0; ftello: 3; fgetc: 3
setbuf NULL: file 3 bytes
signal SIGALRM: was SIG_DFL, then SIG_IGN
sigaction SIGALRM: 0 0, SIG_IGN, flags 0x10000000, mask 0x200
alarm 5: 0; alarm 0: 1 to 5; again: 0
entry: a DT_UNKNOWN
entry: b DT_UNKNOWN
entry: sub DT_DIR
opendir of nothing: -1, ENOENT
dladdr(main): 1; names this program: yes; starts where dl_iterate_phdr says: yes; symbol: none
dladdr(a stack address): 0
dladdr(tls_get_label + 1): 1, /system/lib/libtls_lib.so, tls_get_label at the symbol's address: yes
strnlen: 3 2 0
strsignal: Segmentation fault; Unknown signal
modf(-3.25): -3 and -0.25
logb: -4 10
logb(0): -inf, ERANGE
lround: 3 -3 0
lround(1e19): -9223372036854775808, EDOM
pathconf _PC_PATH_MAX: 4096
sysconf _SC_PAGE_SIZE: 4096

RS stat_identity: PASS exit=Some(0) err=None
stat_identity: /tmp is volume 0x2, and its files are told apart
stat_identity: /home is volume 0x8000000000000003, and its files are told apart
stat_identity: /log is volume 0x8000000000000004, and its files are told apart
stat_identity: ok

RS empty_dir_stat: PASS exit=Some(0) err=None
empty dir stat: empty stats as a directory, missing refuses, emptied stays one
rmdir outcome: missing refuses, non-empty refuses, mount refuses, empty removed

RS toybox_file_tools: PASS exit=Some(0) err=None
  PASS cp streamed 2097289 bytes byte-for-byte and left no partial
  PASS cp into a directory keeps the source's name
  PASS cp refuses a missing source, and the destination is unchanged
  PASS cp refuses a directory by name
  PASS cp refuses a one-argument invocation
  PASS mv within a mount renames, and the old name is gone
  PASS mv into a directory keeps the source's name
  PASS mv refuses a missing source before it renames anything
  PASS mv on /home moves 12317 bytes and the old name is gone
  PASS mv onto an existing name on /home replaces it byte-for-byte
  PASS mv refuses a move between mounts and leaves both ends alone
  PASS hexdump matches xxd byte-for-byte, whole file and window
  PASS hexdump refuses seven bad requests, each by name
toybox file tools ok

RS std_fs: PASS exit=Some(0) err=None
  file types: ok
all fs tests passed

RS fs_truncate_persist: PASS exit=Some(0) err=None
  child ran from tmpfs
truncate persists on /home and /tmp; tmpfs binaries are loadable

RS fs_share: FAIL exit=Some(101) err=None
  this share holds 16 streams

thread 'main' (1) panicked at src/bin/fs_share.rs:102:96:
launch a shell: Kind(NotFound)
stack backtrace:
   0:      0x1000007aa40 - _Unwind_Backtrace
   1:      0x10000062c13 - <<std[467be37f4fecb369]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[73b405bef30eeff1]::fmt::Display>::fmt
   2:      0x1000007ee67 - core[73b405bef30eeff1]::fmt::write
   3:      0x1000006703b - <std[467be37f4fecb369]::sys::stdio::toyos::Stderr as core[73b405bef30eeff1]::io::write::Write>::write_fmt
   4:      0x1000003ea53 - std[467be37f4fecb369]::panicking::default_hook::{closure#0}
   5:      0x1000005b95e - std[467be37f4fecb369]::panicking::default_hook
   6:      0x1000005bb19 - std[467be37f4fecb369]::panicking::panic_with_hook
   7:      0x1000003eb0d - std[467be37f4fecb369]::panicking::panic_handler::{closure#0}
   8:      0x10000036cc9 - std[467be37f4fecb369]::sys::backtrace::__rust_end_short_backtrace::<std[467be37f4fecb369]::panicking::panic_handler::{closure#0}, !>
   9:      0x1000003f3a8 - __rustc[d0c72ce299f394e5]::rust_begin_unwind
  10:      0x1000007f58b - core[73b405bef30eeff1]::panicking::panic_fmt
  11:      0x1000007f361 - core[73b405bef30eeff1]::result::unwrap_failed
  12:      0x10000023091 - fs_share[9dcdae088d96e06]::main
  13:      0x100000275e6 - std[467be37f4fecb369]::sys::backtrace::__rust_begin_short_backtrace::<fn(), ()>
  14:      0x10000027560 - std[467be37f4fecb369]::rt::lang_start::<()>::{closure#0}
  15:      0x1000005b076 - std[467be37f4fecb369]::rt::lang_start_internal
  16:      0x10000024171 - main
  17:      0x1000005ff83 - std[467be37f4fecb369]::sys::pal::toyos::start_rust
  18:      0x10000029c0a - _start

RS fs_turns: PASS exit=Some(0) err=None
fs_turns: passes per thread [32, 32, 32, 32, 32, 32]
fs_turns: PASS

RS readdir_bound: FAIL exit=Some(101) err=None
  PASS: 6000 entries returned whole, past a 65,536-byte buffer

thread 'main' (1) panicked at src/bin/readdir_bound.rs:62:34:
read_dir at the limit failed: Kind(OutOfMemory)
stack backtrace:
   0:      0x1000006ff70 - _Unwind_Backtrace
   1:      0x10000058383 - <<std[467be37f4fecb369]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[73b405bef30eeff1]::fmt::Display>::fmt
   2:      0x10000074087 - core[73b405bef30eeff1]::fmt::write
   3:      0x1000005c39b - <std[467be37f4fecb369]::sys::stdio::toyos::Stderr as core[73b405bef30eeff1]::io::write::Write>::write_fmt
   4:      0x100000342b3 - std[467be37f4fecb369]::panicking::default_hook::{closure#0}
   5:      0x1000004ff2e - std[467be37f4fecb369]::panicking::default_hook
   6:      0x100000500e9 - std[467be37f4fecb369]::panicking::panic_with_hook
   7:      0x1000003436d - std[467be37f4fecb369]::panicking::panic_handler::{closure#0}
   8:      0x1000002c6d9 - std[467be37f4fecb369]::sys::backtrace::__rust_end_short_backtrace::<std[467be37f4fecb369]::panicking::panic_handler::{closure#0}, !>
   9:      0x10000034c08 - __rustc[d0c72ce299f394e5]::rust_begin_unwind
  10:      0x100000747ab - core[73b405bef30eeff1]::panicking::panic_fmt
  11:      0x10000074581 - core[73b405bef30eeff1]::result::unwrap_failed
  12:      0x1000001e52a - readdir_bound[9f4412658fa4fd72]::main
  13:      0x1000001f4f6 - std[467be37f4fecb369]::sys::backtrace::__rust_begin_short_backtrace::<fn(), ()>
  14:      0x1000001d890 - std[467be37f4fecb369]::rt::lang_start::<()>::{closure#0}
  15:      0x1000004f646 - std[467be37f4fecb369]::rt::lang_start_internal
  16:      0x1000001ea81 - main
  17:      0x10000055953 - std[467be37f4fecb369]::sys::pal::toyos::start_rust
  18:      0x1000001f9f6 - _start

RS hierarchy_paths: PASS exit=Some(0) err=None
  PASS / lists exactly ["apps", "boot", "config", "home", "log", "media", "state", "system", "tmp"]
  PASS create, unlink, rename, mkdir, rmdir and symlink are all refused at /
  PASS /media is an empty directory
  PASS 8253 bytes under each of /home and /apps, and neither is the other
all hierarchy tests passed

RS lseek_past_eof: PASS exit=Some(0) err=None
lseek_past_eof
lseek past eof: the offset asked is the offset answered, the gap reads as zeros on the device, and the ceiling refuses

RS endowment_denied: PASS exit=Some(0) err=None
  names: the narrow child reached one, the wide child reached both
  keep_all: the whole base carried over, and an undefined flags bit was refused
  capability: refused for the bit it lacks and for having none, allowed for the bit it has
  power: a capability without POWER, and a pipe, were both refused the machine
  roster: one byte short is the header and ambient, one entry costs ROSTER
  ps: 23 processes with the bit, and a named refusal without it
  applets: 15 links behind /system/bin/toybox, 14 declared over-grants and no undeclared one; 0 links to a binary no row names
  claim-absent: ended the caller
  rt-absent: ended the caller
  shutdown-absent: ended the caller
  roster-absent: ended the caller
a name outside the namespace resolves to nothing, and a capability is its bits

RS file_mtime: PASS exit=Some(0) err=None
file-mtime: /tmp stamps 1791701655953453561 then 1791701655957515916, /home 1791701655983357896 then 1791701656003181387, /log 1791701656000000000

RS fs_escape: PASS exit=Some(0) err=None
fs_escape: /home/fs_escape_out refused: permission denied
fs_escape: /home/fs_escape/deeper/out refused: permission denied
fs_escape: /home/fs_escape/deeper/up/state/fs_escape/secret refused: permission denied
fs_escape: "../state/fs_escape/secret" on the wire refused
fs_escape: "fs_escape/../../state/fs_escape/secret" on the wire refused
fs_escape: "/state" on the wire refused
fs_escape: /fs_escape_nobodys/secret refused: entity not found
fs_escape: PASS

RS fs_large_file: PASS exit=Some(0) err=None
fileserver: rename of 'home/fs_large.bin' failed: NameTooLong { len: 4101, max: 512 }
fileserver: create of 'home/nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn' failed: NameTooLong { len: 4101, max: 512 }
large file ok: 1024 pages round-tripped, oversized names refused

RS app_view: FAIL exit=Some(101) err=None
  its own package reads
  RED home_dir() is None, not /home/toy/Apps/appview
  RED /home/toy/Apps/appview/Config is not a directory
  RED /home/toy/Apps/appview/Cache is not a directory
  RED /home/toy/Apps/appview/State is not a directory
  RED std's write into its own package was answered Ok(())
  RED fs:/apps/appview would not connect: NotFound
  RED fs:/home/toy/Apps/appview would not connect: NotFound
  RED it holds fs:/apps
  RED it holds fs:/home
  RED it holds fs:/config
  RED it holds fs:/state
  RED it holds fs:/log
  RED it holds fs:/boot
  RED /apps/other/kept read 13 bytes
  RED /home/toy/Apps/other/Data/kept read 13 bytes
  RED /apps lists ["appview", "hierarchy-apps.bin", "other", "shell"]
  RED /home lists ["fs_share", "hierarchy-home.bin", "toy"]
  RED /home/toy lists ["Apps", "Desktop", "Documents", "Downloads", "Fonts", "Music", "Pictures", "Videos"]
  RED /home/toy/Apps lists ["appview", "other"]
  RED /state lists ["acpiserver", "logkeeper", "soundserver"]
  RED /log lists ["loader.log", "attempts", "2026-10-11-065334.log"]
  the app's write is in /home/toy/Apps/appview/Data

thread 'main' (1) panicked at src/bin/app_view.rs:120:9:
app_view: [
    "a package named after the shell's row ran: Output { status: ExitStatus(ExitStatus(1)), stdout: \"  its own package reads\\n  RED home_dir() is None, not /home/toy/Apps/appview\\n  RED /home/toy/Apps/appview/Config is not a directory\\n  RED /home/toy/Apps/appview/Data is not a directory\\n  RED /home/toy/Apps/appview/Cache is not a directory\\n  RED /home/toy/Apps/appview/State is not a directory\\n  RED std's write into its own package was answered Ok(())\\n  RED fs:/apps/appview would not connect: NotFound\\n  RED fs:/home/toy/Apps/appview would not connect: NotFound\\n  RED it holds fs:/apps\\n  RED it holds fs:/home\\n  RED it holds fs:/config\\n  RED it holds fs:/state\\n  RED it holds fs:/log\\n  RED it holds fs:/boot\\n  RED /apps/other/kept read 13 bytes\\n  RED /home/toy/Apps/other/Data/kept read 13 bytes\\n  RED /apps lists [\\\"appview\\\", \\\"hierarchy-apps.bin\\\", \\\"other\\\", \\\"shell\\\"]\\n  RED /home lists [\\\"fs_share\\\", \\\"hierarchy-home.bin\\\", \\\"toy\\\"]\\n  RED /home/toy lists [\\\"Apps\\\", \\\"Desktop\\\", \\\"Documents\\\", \\\"Downloads\\\", \\\"Fonts\\\", \\\"Music\\\", \\\"Pictures\\\", \\\"Videos\\\"]\\n  RED /home/toy/Apps lists [\\\"appview\\\", \\\"other\\\"]\\n  RED /state lists [\\\"acpiserver\\\", \\\"logkeeper\\\", \\\"soundserver\\\"]\\n  RED /log lists [\\\"loader.log\\\", \\\"attempts\\\", \\\"2026-10-11-065334.log\\\"]\\n\", stderr: \"\" }",
    "no file could be planted where the app's folder goes: invalid input parameter",
    "the app ended ExitStatus(ExitStatus(1))",
    "the package holds [\"appview\", \"made\", \"manifest.toml\", \"sub\"], not what was installed",
]
stack backtrace:
   0:      0x1000007d390 - _Unwind_Backtrace
   1:      0x10000065343 - <<std[467be37f4fecb369]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[73b405bef30eeff1]::fmt::Display>::fmt
   2:      0x100000815c7 - core[73b405bef30eeff1]::fmt::write
   3:      0x1000006971b - <std[467be37f4fecb369]::sys::stdio::toyos::Stderr as core[73b405bef30eeff1]::io::write::Write>::write_fmt
   4:      0x10000040183 - std[467be37f4fecb369]::panicking::default_hook::{closure#0}
   5:      0x1000005c18e - std[467be37f4fecb369]::panicking::default_hook
   6:      0x1000005c349 - std[467be37f4fecb369]::panicking::panic_with_hook
   7:      0x1000004023d - std[467be37f4fecb369]::panicking::panic_handler::{closure#0}
   8:      0x100000383f9 - std[467be37f4fecb369]::sys::backtrace::__rust_end_short_backtrace::<std[467be37f4fecb369]::panicking::panic_handler::{closure#0}, !>
   9:      0x10000040ad8 - __rustc[d0c72ce299f394e5]::rust_begin_unwind
  10:      0x10000081ceb - core[73b405bef30eeff1]::panicking::panic_fmt
  11:      0x100000270fa - app_view[444fd1663abfe0c2]::main
  12:      0x100000281b6 - std[467be37f4fecb369]::sys::backtrace::__rust_begin_short_backtrace::<fn(), ()>
  13:      0x10000028de0 - std[467be37f4fecb369]::rt::lang_start::<()>::{closure#0}
  14:      0x1000005b566 - std[467be37f4fecb369]::rt::lang_start_internal
  15:      0x10000027a61 - main
  16:      0x10000062703 - std[467be37f4fecb369]::sys::pal::toyos::start_rust
  17:      0x1000002b1da - _start

RS abuse_cwd_growth: PASS exit=Some(0) err=None
cwd growth bounded, kernel intact


@Japabu

Japabu commented Oct 11, 2026

Copy link
Copy Markdown
Collaborator Author

probe-at-origin-main, part 1 of 1, the probe at tree 85beb2ae (origin/main bb3344d's), exit 1

===== probe-base.log =====
   Compiling autocfg v1.5.1
   Compiling getrandom v0.4.2 (https://github.com/ToyOSOrg/getrandom?branch=toyos-0.4#f0286c8b)
   Compiling time-core v0.1.9
   Compiling powerfmt v0.2.1
   Compiling core-foundation-sys v0.8.7
   Compiling deranged v0.5.8
   Compiling num-conv v0.2.2
   Compiling toyos-bootmap v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-base/toyos-bootmap)
   Compiling crc-catalog v2.4.0
   Compiling byteorder v1.5.0
   Compiling bitflags v2.11.0
   Compiling bitflags v1.3.2
   Compiling kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-base/kernel)
   Compiling acpiserver-api v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-base/userland/acpiserver-api)
   Compiling toyos-xhci v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-base/toyos-xhci)
   Compiling toyos-build v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-base)
   Compiling crc v3.4.0
   Compiling iana-time-zone v0.1.65
   Compiling toyos-acpi v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-base/toyos-acpi)
   Compiling num-traits v0.2.19
   Compiling uuid v1.22.0
   Compiling toyos-userbound v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-base/toyos-userbound)
   Compiling time v0.3.55
   Compiling gpt v3.1.0
   Compiling yasna v0.6.0
   Compiling chrono v0.4.44
   Compiling rcgen v0.14.10
   Compiling fatfs v0.3.6
    Finished `test` profile [optimized + debuginfo] target(s) in 9.08s
     Running tests/toyos.rs (target/debug/deps/toyos_build-6272c6e3847618b1)

06:29:25 running 1 tests, 12 wide

06:29:25   RUN   dirid_probe
06:29:29   BUILD x86_64 stat_identity of tests/toyos-rust-tests, for dirid_probe
06:29:45   BUILT x86_64 stat_identity of tests/toyos-rust-tests, for dirid_probe  (16s)
06:29:45   BUILD x86_64 empty_dir_stat of tests/toyos-rust-tests, for dirid_probe
06:29:47   BUILT x86_64 empty_dir_stat of tests/toyos-rust-tests, for dirid_probe  (2s)
06:29:47   BUILD x86_64 toybox_file_tools of tests/toyos-rust-tests, for dirid_probe
06:29:49   BUILT x86_64 toybox_file_tools of tests/toyos-rust-tests, for dirid_probe  (2s)
06:29:49   BUILD x86_64 std_fs of tests/toyos-rust-tests, for dirid_probe
06:29:50   BUILT x86_64 std_fs of tests/toyos-rust-tests, for dirid_probe  (2s)
06:29:50   BUILD x86_64 fs_truncate_persist of tests/toyos-rust-tests, for dirid_probe
06:29:53   BUILT x86_64 fs_truncate_persist of tests/toyos-rust-tests, for dirid_probe  (2s)
06:29:53   BUILD x86_64 fs_share of tests/toyos-rust-tests, for dirid_probe
06:29:55   BUILT x86_64 fs_share of tests/toyos-rust-tests, for dirid_probe  (2s)
06:29:55   BUILD x86_64 fs_turns of tests/toyos-rust-tests, for dirid_probe
06:29:56   BUILT x86_64 fs_turns of tests/toyos-rust-tests, for dirid_probe  (2s)
06:29:56   BUILD x86_64 readdir_bound of tests/toyos-rust-tests, for dirid_probe
06:29:58   BUILT x86_64 readdir_bound of tests/toyos-rust-tests, for dirid_probe  (2s)
06:29:58   BUILD x86_64 hierarchy_paths of tests/toyos-rust-tests, for dirid_probe
06:30:01   BUILT x86_64 hierarchy_paths of tests/toyos-rust-tests, for dirid_probe  (2s)
06:30:01   BUILD x86_64 lseek_past_eof of tests/toyos-rust-tests, for dirid_probe
06:30:03   BUILT x86_64 lseek_past_eof of tests/toyos-rust-tests, for dirid_probe  (2s)
06:30:03   BUILD x86_64 endowment_denied of tests/toyos-rust-tests, for dirid_probe
06:30:05   BUILT x86_64 endowment_denied of tests/toyos-rust-tests, for dirid_probe  (2s)
06:30:05   BUILD x86_64 file_mtime of tests/toyos-rust-tests, for dirid_probe
06:30:07   BUILT x86_64 file_mtime of tests/toyos-rust-tests, for dirid_probe  (2s)
06:30:07   BUILD x86_64 fs_escape of tests/toyos-rust-tests, for dirid_probe
06:30:09   BUILT x86_64 fs_escape of tests/toyos-rust-tests, for dirid_probe  (2s)
06:30:09   BUILD x86_64 fs_large_file of tests/toyos-rust-tests, for dirid_probe
06:30:11   BUILT x86_64 fs_large_file of tests/toyos-rust-tests, for dirid_probe  (2s)
06:30:11   BUILD x86_64 app_view of tests/toyos-rust-tests, for dirid_probe
06:30:14   BUILT x86_64 app_view of tests/toyos-rust-tests, for dirid_probe  (3s)
06:30:14   BUILD x86_64 abuse_cwd_growth of tests/toyos-rust-tests, for dirid_probe
06:30:16   BUILT x86_64 abuse_cwd_growth of tests/toyos-rust-tests, for dirid_probe  (2s)
06:30:16   BUILD x86_64 kernel, loader, ROOT of tests/testcases, for dirid_probe
06:30:27 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
06:30:27   BUILT x86_64 kernel, loader, ROOT of tests/testcases, for dirid_probe  (11s)
06:31:05 FAIL dirid_probe: 4 members red; report at $DIRID_OUT
06:31:05   FAIL  dirid_probe  (41s)
06:31:05   --- 1 guests, 0 of them not the shipping kernel, 1 kernel build(s): [""]

06:31:05 host: fastest boot 5650 ms against the reference 1424 ms — liveness ceilings paid at 3.97x
06:31:05 host: 14 core(s); a guest wider than that waits vcpus/cores longer again
06:31:05 failures:
06:31:05     dirid_probe: 4 members red; report at $DIRID_OUT

06:31:05 test result: FAILED. 0 passed, 1 failed, 0 invalidated, 1 total (99.7s; workers: 58s building, 41s testing)
06:31:05 [toyos] this red run's serial logs are kept at /Users/<user>/Dev/jan/toyos-dirid-base/target/red-run-serial/toyos-tmp-1172-0
error: test failed, to rerun pass `--test toyos-build`

Caused by:
  process didn't exit successfully: `/Users/<user>/Dev/jan/toyos-dirid-base/target/debug/deps/toyos_build-6272c6e3847618b1 dirid_probe` (exit status: 1)
EXIT=1

===== probe-base.report =====
C 210_stat_identity: PASS exit=Some(0) err=None
--- got ---
two files on /tmp are two: yes
one file through two paths is one: yes
its open descriptor is the file: yes
a rename keeps the file: yes
its descriptor after the rename is the file: yes
a link is the file it names: yes
two files on /system are two: yes
/system and /tmp are two volumes: yes
--- want ---
two files on /tmp are two: yes
one file through two paths is one: yes
its open descriptor is the file: yes
a rename keeps the file: yes
its descriptor after the rename is the file: yes
a link is the file it names: yes
two files on /system are two: yes
/system and /tmp are two volumes: yes

C 202_stat_mtime: PASS exit=Some(0) err=None
--- got ---
sizeof(struct stat) 120
fstat st_size 17
fstat st_mtime within the write
fstat tv_nsec below a second
stat st_size 17
stat st_mtime within the write
stat tv_nsec below a second
--- want ---
sizeof(struct stat) 120
fstat st_size 17
fstat st_mtime within the write
fstat tv_nsec below a second
stat st_size 17
stat st_mtime within the write
stat tv_nsec below a second

C 206_libc_refusals: PASS exit=Some(0) err=None
--- got ---
execv: -1, ENOSYS
execve: -1, ENOSYS
setsid: -1, ENOSYS
getsid: -1, ENOSYS
gethostname: -1, ENOSYS
link: -1, ENOSYS
symlink: -1, ENOSYS
fchown: -1, ENOSYS
chmod: -1, ENOSYS
fchmod: -1, ENOSYS
statvfs: -1, ENOSYS
fstatvfs: -1, ENOSYS
getrlimit: -1, ENOSYS
setrlimit: -1, ENOSYS
msync: -1, ENOSYS
mprotect: -1, ENOSYS
realpath: -1, ENOSYS
utimes: -1, ENOSYS
wait: -1, ECHILD
wait4: -1, ECHILD
pathconf 12345: -1, EINVAL
fcntl F_SETLK: -1, EINVAL
fcntl F_SETLKW: -1, EINVAL
fcntl F_GETLK: -1, EINVAL
fcntl F_GETFD: 0
fcntl F_SETFD FD_CLOEXEC: 0; F_GETFD: 1
fcntl F_DUPFD 10: 10 or above; fstat of it: the file's one byte; F_GETFD of it: 0
fcntl F_SETFD 0: 0; F_GETFD: 0
open O_CLOEXEC; F_GETFD: 1
dup2 onto it: answered it; F_GETFD: 0
fcntl F_DUPFD -1: -1, EINVAL
fcntl F_DUPFD 4096: -1, EINVAL
fcntl F_DUPFD_CLOEXEC: -1, ENOSYS
fcntl F_GETFL: -1, ENOSYS
fcntl F_SETFL: -1, ENOSYS
fcntl 12345: -1, EINVAL
getpwnam_r: ENOSYS, entry null
getpwuid_r: ENOSYS, entry null
mmap a file: -1, ENODEV
mmap a file at a page: -1, ENODEV
mmap a file shared: -1, ENODEV
mmap a file shared at a page: -1, ENODEV
mmap executable: -1, ENOTSUP
mmap nothing: -1, EINVAL
mmap the first of two pages fixed: -1, ENOMEM
pages after it: f s
munmap the first of two pages: -1, EINVAL
pages after it: f s
munmap the second of two pages: -1, EINVAL
munmap no bytes: -1, EINVAL
munmap a byte past two pages: -1, EINVAL
pages after them: f s
munmap two pages by a length into the second: 0, no errno
munmap them again: -1, EINVAL
munmap 5000 bytes by 5000: 0, no errno
munmap 5000 bytes by 8192: 0, no errno
malloc SIZE_MAX: -1, ENOMEM
calloc SIZE_MAX 2: -1, ENOMEM
realloc SIZE_MAX: -1, ENOMEM
sysconf _SC_ARG_MAX: -1, no errno
sysconf _SC_GETPW_R_SIZE_MAX: -1, no errno
sysconf 12345: -1, EINVAL
posix_madvise WILLNEED: 0
posix_madvise 99: EINVAL
madvise WILLNEED: 0, no errno
madvise DONTNEED: -1, ENOSYS
madvise off a page: -1, EINVAL
madvise 99: -1, EINVAL
page after madvise: x
file: 1 bytes; mode as it was through fstat, as it was through stat; second name: none
page after mprotect: y
limit after getrlimit: 0 0
--- want ---
execv: -1, ENOSYS
execve: -1, ENOSYS
setsid: -1, ENOSYS
getsid: -1, ENOSYS
gethostname: -1, ENOSYS
link: -1, ENOSYS
symlink: -1, ENOSYS
fchown: -1, ENOSYS
chmod: -1, ENOSYS
fchmod: -1, ENOSYS
statvfs: -1, ENOSYS
fstatvfs: -1, ENOSYS
getrlimit: -1, ENOSYS
setrlimit: -1, ENOSYS
msync: -1, ENOSYS
mprotect: -1, ENOSYS
realpath: -1, ENOSYS
utimes: -1, ENOSYS
wait: -1, ECHILD
wait4: -1, ECHILD
pathconf 12345: -1, EINVAL
fcntl F_SETLK: -1, EINVAL
fcntl F_SETLKW: -1, EINVAL
fcntl F_GETLK: -1, EINVAL
fcntl F_GETFD: 0
fcntl F_SETFD FD_CLOEXEC: 0; F_GETFD: 1
fcntl F_DUPFD 10: 10 or above; fstat of it: the file's one byte; F_GETFD of it: 0
fcntl F_SETFD 0: 0; F_GETFD: 0
open O_CLOEXEC; F_GETFD: 1
dup2 onto it: answered it; F_GETFD: 0
fcntl F_DUPFD -1: -1, EINVAL
fcntl F_DUPFD 4096: -1, EINVAL
fcntl F_DUPFD_CLOEXEC: -1, ENOSYS
fcntl F_GETFL: -1, ENOSYS
fcntl F_SETFL: -1, ENOSYS
fcntl 12345: -1, EINVAL
getpwnam_r: ENOSYS, entry null
getpwuid_r: ENOSYS, entry null
mmap a file: -1, ENODEV
mmap a file at a page: -1, ENODEV
mmap a file shared: -1, ENODEV
mmap a file shared at a page: -1, ENODEV
mmap executable: -1, ENOTSUP
mmap nothing: -1, EINVAL
mmap the first of two pages fixed: -1, ENOMEM
pages after it: f s
munmap the first of two pages: -1, EINVAL
pages after it: f s
munmap the second of two pages: -1, EINVAL
munmap no bytes: -1, EINVAL
munmap a byte past two pages: -1, EINVAL
pages after them: f s
munmap two pages by a length into the second: 0, no errno
munmap them again: -1, EINVAL
munmap 5000 bytes by 5000: 0, no errno
munmap 5000 bytes by 8192: 0, no errno
malloc SIZE_MAX: -1, ENOMEM
calloc SIZE_MAX 2: -1, ENOMEM
realloc SIZE_MAX: -1, ENOMEM
sysconf _SC_ARG_MAX: -1, no errno
sysconf _SC_GETPW_R_SIZE_MAX: -1, no errno
sysconf 12345: -1, EINVAL
posix_madvise WILLNEED: 0
posix_madvise 99: EINVAL
madvise WILLNEED: 0, no errno
madvise DONTNEED: -1, ENOSYS
madvise off a page: -1, EINVAL
madvise 99: -1, EINVAL
page after madvise: x
file: 1 bytes; mode as it was through fstat, as it was through stat; second name: none
page after mprotect: y
limit after getrlimit: 0 0

C 207_libc_names: FAIL exit=Some(0) err=None
--- got ---
read what creat wrote: "hello"
readlink: 18, "/system/bin/toybox"
readlink into 4: 4, "/sys#"
readlink into 0: -1, EINVAL
readlink of a file: -1, EINVAL
readlink of nothing: -1, ENOENT
truncate to 2: 0; stat size: 2
truncate of nothing: -1, ENOENT
setbuf: file 0 bytes, the buffer holds them
ftello: 10; fseeko 3: 0; ftello: 3; fgetc: 3
setbuf NULL: file 3 bytes
signal SIGALRM: was SIG_DFL, then SIG_IGN
sigaction SIGALRM: 0 0, SIG_IGN, flags 0x10000000, mask 0x200
alarm 5: 0; alarm 0: 1 to 5; again: 0
entry: a DT_UNKNOWN
entry: b DT_UNKNOWN
entry: sub DT_DIR
opendir of nothing: -1, ENOENT
dladdr(main): 1; names this program: yes; starts where dl_iterate_phdr says: yes; symbol: none
dladdr(a stack address): 0
could not load /system/lib/libtls_lib.so
strnlen: 3 2 0
strsignal: Segmentation fault; Unknown signal
modf(-3.25): -3 and -0.25
logb: -4 10
logb(0): -inf, ERANGE
lround: 3 -3 0
lround(1e19): -9223372036854775808, EDOM
pathconf _PC_PATH_MAX: 4096
sysconf _SC_PAGE_SIZE: 4096
--- want ---
read what creat wrote: "hello"
readlink: 18, "/system/bin/toybox"
readlink into 4: 4, "/sys#"
readlink into 0: -1, EINVAL
readlink of a file: -1, EINVAL
readlink of nothing: -1, ENOENT
truncate to 2: 0; stat size: 2
truncate of nothing: -1, ENOENT
setbuf: file 0 bytes, the buffer holds them
ftello: 10; fseeko 3: 0; ftello: 3; fgetc: 3
setbuf NULL: file 3 bytes
signal SIGALRM: was SIG_DFL, then SIG_IGN
sigaction SIGALRM: 0 0, SIG_IGN, flags 0x10000000, mask 0x200
alarm 5: 0; alarm 0: 1 to 5; again: 0
entry: a DT_UNKNOWN
entry: b DT_UNKNOWN
entry: sub DT_DIR
opendir of nothing: -1, ENOENT
dladdr(main): 1; names this program: yes; starts where dl_iterate_phdr says: yes; symbol: none
dladdr(a stack address): 0
dladdr(tls_get_label + 1): 1, /system/lib/libtls_lib.so, tls_get_label at the symbol's address: yes
strnlen: 3 2 0
strsignal: Segmentation fault; Unknown signal
modf(-3.25): -3 and -0.25
logb: -4 10
logb(0): -inf, ERANGE
lround: 3 -3 0
lround(1e19): -9223372036854775808, EDOM
pathconf _PC_PATH_MAX: 4096
sysconf _SC_PAGE_SIZE: 4096

RS stat_identity: PASS exit=Some(0) err=None
stat_identity: /tmp is volume 0x2, and its files are told apart
stat_identity: /home is volume 0x8000000000000003, and its files are told apart
stat_identity: /log is volume 0x8000000000000004, and its files are told apart
stat_identity: ok

RS empty_dir_stat: PASS exit=Some(0) err=None
empty dir stat: empty stats as a directory, missing refuses, emptied stays one
rmdir outcome: missing refuses, non-empty refuses, mount refuses, empty removed

RS toybox_file_tools: PASS exit=Some(0) err=None
  PASS cp streamed 2097289 bytes byte-for-byte and left no partial
  PASS cp into a directory keeps the source's name
  PASS cp refuses a missing source, and the destination is unchanged
  PASS cp refuses a directory by name
  PASS cp refuses a one-argument invocation
  PASS mv within a mount renames, and the old name is gone
  PASS mv into a directory keeps the source's name
  PASS mv refuses a missing source before it renames anything
  PASS mv on /home moves 12317 bytes and the old name is gone
  PASS mv onto an existing name on /home replaces it byte-for-byte
  PASS mv refuses a move between mounts and leaves both ends alone
  PASS hexdump matches xxd byte-for-byte, whole file and window
  PASS hexdump refuses seven bad requests, each by name
toybox file tools ok

RS std_fs: PASS exit=Some(0) err=None
  file types: ok
all fs tests passed

RS fs_truncate_persist: PASS exit=Some(0) err=None
  child ran from tmpfs
truncate persists on /home and /tmp; tmpfs binaries are loadable

RS fs_share: FAIL exit=Some(101) err=None
  this share holds 16 streams

thread 'main' (1) panicked at src/bin/fs_share.rs:102:96:
launch a shell: Kind(NotFound)
stack backtrace:
   0:      0x1000007abb0 - _Unwind_Backtrace
   1:      0x10000062dc3 - <<std[746c9be1626d1f72]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[73b405bef30eeff1]::fmt::Display>::fmt
   2:      0x1000007efd7 - core[73b405bef30eeff1]::fmt::write
   3:      0x100000671eb - <std[746c9be1626d1f72]::sys::stdio::toyos::Stderr as core[73b405bef30eeff1]::io::write::Write>::write_fmt
   4:      0x1000003ebc3 - std[746c9be1626d1f72]::panicking::default_hook::{closure#0}
   5:      0x1000005baae - std[746c9be1626d1f72]::panicking::default_hook
   6:      0x1000005bc69 - std[746c9be1626d1f72]::panicking::panic_with_hook
   7:      0x1000003ec7d - std[746c9be1626d1f72]::panicking::panic_handler::{closure#0}
   8:      0x10000036e39 - std[746c9be1626d1f72]::sys::backtrace::__rust_end_short_backtrace::<std[746c9be1626d1f72]::panicking::panic_handler::{closure#0}, !>
   9:      0x1000003f518 - __rustc[d0c72ce299f394e5]::rust_begin_unwind
  10:      0x1000007f6fb - core[73b405bef30eeff1]::panicking::panic_fmt
  11:      0x1000007f4d1 - core[73b405bef30eeff1]::result::unwrap_failed
  12:      0x10000026411 - fs_share[b3711883a9998e14]::main
  13:      0x10000020c76 - std[746c9be1626d1f72]::sys::backtrace::__rust_begin_short_backtrace::<fn(), ()>
  14:      0x10000023b90 - std[746c9be1626d1f72]::rt::lang_start::<()>::{closure#0}
  15:      0x1000005b1c6 - std[746c9be1626d1f72]::rt::lang_start_internal
  16:      0x100000274f1 - main
  17:      0x10000060133 - std[746c9be1626d1f72]::sys::pal::toyos::start_rust
  18:      0x10000029d7a - _start

RS fs_turns: PASS exit=Some(0) err=None
fs_turns: passes per thread [32, 32, 32, 32, 32, 32]
fs_turns: PASS

RS readdir_bound: FAIL exit=Some(101) err=None
  PASS: 6000 entries returned whole, past a 65,536-byte buffer

thread 'main' (1) panicked at src/bin/readdir_bound.rs:62:34:
read_dir at the limit failed: Kind(OutOfMemory)
stack backtrace:
   0:      0x1000006ff50 - _Unwind_Backtrace
   1:      0x100000583f3 - <<std[746c9be1626d1f72]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[73b405bef30eeff1]::fmt::Display>::fmt
   2:      0x10000074067 - core[73b405bef30eeff1]::fmt::write
   3:      0x1000005c40b - <std[746c9be1626d1f72]::sys::stdio::toyos::Stderr as core[73b405bef30eeff1]::io::write::Write>::write_fmt
   4:      0x100000342e3 - std[746c9be1626d1f72]::panicking::default_hook::{closure#0}
   5:      0x1000004ff3e - std[746c9be1626d1f72]::panicking::default_hook
   6:      0x100000500f9 - std[746c9be1626d1f72]::panicking::panic_with_hook
   7:      0x1000003439d - std[746c9be1626d1f72]::panicking::panic_handler::{closure#0}
   8:      0x1000002c709 - std[746c9be1626d1f72]::sys::backtrace::__rust_end_short_backtrace::<std[746c9be1626d1f72]::panicking::panic_handler::{closure#0}, !>
   9:      0x10000034c38 - __rustc[d0c72ce299f394e5]::rust_begin_unwind
  10:      0x1000007478b - core[73b405bef30eeff1]::panicking::panic_fmt
  11:      0x10000074561 - core[73b405bef30eeff1]::result::unwrap_failed
  12:      0x1000001e79a - readdir_bound[2b873c7ea86642fb]::main
  13:      0x1000001d366 - std[746c9be1626d1f72]::sys::backtrace::__rust_begin_short_backtrace::<fn(), ()>
  14:      0x1000001d3a0 - std[746c9be1626d1f72]::rt::lang_start::<()>::{closure#0}
  15:      0x1000004f656 - std[746c9be1626d1f72]::rt::lang_start_internal
  16:      0x1000001ecf1 - main
  17:      0x100000559c3 - std[746c9be1626d1f72]::sys::pal::toyos::start_rust
  18:      0x1000001fa26 - _start

RS hierarchy_paths: PASS exit=Some(0) err=None
  PASS / lists exactly ["apps", "boot", "config", "home", "log", "media", "state", "system", "tmp"]
  PASS create, unlink, rename, mkdir, rmdir and symlink are all refused at /
  PASS /media is an empty directory
  PASS 8253 bytes under each of /home and /apps, and neither is the other
all hierarchy tests passed

RS lseek_past_eof: PASS exit=Some(0) err=None
lseek_past_eof
lseek past eof: the offset asked is the offset answered, the gap reads as zeros on the device, and the ceiling refuses

RS endowment_denied: PASS exit=Some(0) err=None
  names: the narrow child reached one, the wide child reached both
  keep_all: the whole base carried over, and an undefined flags bit was refused
  capability: refused for the bit it lacks and for having none, allowed for the bit it has
  power: a capability without POWER, and a pipe, were both refused the machine
  roster: one byte short is the header and ambient, one entry costs ROSTER
  ps: 23 processes with the bit, and a named refusal without it
  applets: 15 links behind /system/bin/toybox, 14 declared over-grants and no undeclared one; 0 links to a binary no row names
  claim-absent: ended the caller
  rt-absent: ended the caller
  shutdown-absent: ended the caller
  roster-absent: ended the caller
a name outside the namespace resolves to nothing, and a capability is its bits

RS file_mtime: PASS exit=Some(0) err=None
file-mtime: /tmp stamps 1791700263121967099 then 1791700263124804404, /home 1791700263138930899 then 1791700263145059717, /log 1791700262000000000

RS fs_escape: PASS exit=Some(0) err=None
fs_escape: /home/fs_escape_out refused: permission denied
fs_escape: /home/fs_escape/deeper/out refused: permission denied
fs_escape: /home/fs_escape/deeper/up/state/fs_escape/secret refused: permission denied
fs_escape: "../state/fs_escape/secret" on the wire refused
fs_escape: "fs_escape/../../state/fs_escape/secret" on the wire refused
fs_escape: "/state" on the wire refused
fs_escape: /fs_escape_nobodys/secret refused: entity not found
fs_escape: PASS

RS fs_large_file: PASS exit=Some(0) err=None
fileserver: rename of 'home/fs_large.bin' failed: NameTooLong { len: 4101, max: 512 }
fileserver: create of 'home/nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn' failed: NameTooLong { len: 4101, max: 512 }
large file ok: 1024 pages round-tripped, oversized names refused

RS app_view: FAIL exit=Some(101) err=None
  its own package reads
  RED home_dir() is None, not /home/toy/Apps/appview
  RED /home/toy/Apps/appview/Config is not a directory
  RED /home/toy/Apps/appview/Cache is not a directory
  RED /home/toy/Apps/appview/State is not a directory
  RED std's write into its own package was answered Ok(())
  RED fs:/apps/appview would not connect: NotFound
  RED fs:/home/toy/Apps/appview would not connect: NotFound
  RED it holds fs:/apps
  RED it holds fs:/home
  RED it holds fs:/config
  RED it holds fs:/state
  RED it holds fs:/log
  RED it holds fs:/boot
  RED /apps/other/kept read 13 bytes
  RED /home/toy/Apps/other/Data/kept read 13 bytes
  RED /apps lists ["appview", "hierarchy-apps.bin", "other", "shell"]
  RED /home lists ["fs_share", "hierarchy-home.bin", "toy"]
  RED /home/toy lists ["Apps", "Desktop", "Documents", "Downloads", "Fonts", "Music", "Pictures", "Videos"]
  RED /home/toy/Apps lists ["appview", "other"]
  RED /state lists ["acpiserver", "logkeeper", "soundserver"]
  RED /log lists ["loader.log", "attempts", "2026-10-11-063032.log"]
  the app's write is in /home/toy/Apps/appview/Data

thread 'main' (1) panicked at src/bin/app_view.rs:120:9:
app_view: [
    "a package named after the shell's row ran: Output { status: ExitStatus(ExitStatus(1)), stdout: \"  its own package reads\\n  RED home_dir() is None, not /home/toy/Apps/appview\\n  RED /home/toy/Apps/appview/Config is not a directory\\n  RED /home/toy/Apps/appview/Data is not a directory\\n  RED /home/toy/Apps/appview/Cache is not a directory\\n  RED /home/toy/Apps/appview/State is not a directory\\n  RED std's write into its own package was answered Ok(())\\n  RED fs:/apps/appview would not connect: NotFound\\n  RED fs:/home/toy/Apps/appview would not connect: NotFound\\n  RED it holds fs:/apps\\n  RED it holds fs:/home\\n  RED it holds fs:/config\\n  RED it holds fs:/state\\n  RED it holds fs:/log\\n  RED it holds fs:/boot\\n  RED /apps/other/kept read 13 bytes\\n  RED /home/toy/Apps/other/Data/kept read 13 bytes\\n  RED /apps lists [\\\"appview\\\", \\\"hierarchy-apps.bin\\\", \\\"other\\\", \\\"shell\\\"]\\n  RED /home lists [\\\"fs_share\\\", \\\"hierarchy-home.bin\\\", \\\"toy\\\"]\\n  RED /home/toy lists [\\\"Apps\\\", \\\"Desktop\\\", \\\"Documents\\\", \\\"Downloads\\\", \\\"Fonts\\\", \\\"Music\\\", \\\"Pictures\\\", \\\"Videos\\\"]\\n  RED /home/toy/Apps lists [\\\"appview\\\", \\\"other\\\"]\\n  RED /state lists [\\\"acpiserver\\\", \\\"logkeeper\\\", \\\"soundserver\\\"]\\n  RED /log lists [\\\"loader.log\\\", \\\"attempts\\\", \\\"2026-10-11-063032.log\\\"]\\n\", stderr: \"\" }",
    "no file could be planted where the app's folder goes: invalid input parameter",
    "the app ended ExitStatus(ExitStatus(1))",
    "the package holds [\"appview\", \"made\", \"manifest.toml\", \"sub\"], not what was installed",
]
stack backtrace:
   0:      0x1000007d490 - _Unwind_Backtrace
   1:      0x100000654d3 - <<std[746c9be1626d1f72]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[73b405bef30eeff1]::fmt::Display>::fmt
   2:      0x100000816c7 - core[73b405bef30eeff1]::fmt::write
   3:      0x100000698ab - <std[746c9be1626d1f72]::sys::stdio::toyos::Stderr as core[73b405bef30eeff1]::io::write::Write>::write_fmt
   4:      0x100000402d3 - std[746c9be1626d1f72]::panicking::default_hook::{closure#0}
   5:      0x1000005c2be - std[746c9be1626d1f72]::panicking::default_hook
   6:      0x1000005c479 - std[746c9be1626d1f72]::panicking::panic_with_hook
   7:      0x1000004038d - std[746c9be1626d1f72]::panicking::panic_handler::{closure#0}
   8:      0x10000038549 - std[746c9be1626d1f72]::sys::backtrace::__rust_end_short_backtrace::<std[746c9be1626d1f72]::panicking::panic_handler::{closure#0}, !>
   9:      0x10000040c28 - __rustc[d0c72ce299f394e5]::rust_begin_unwind
  10:      0x10000081deb - core[73b405bef30eeff1]::panicking::panic_fmt
  11:      0x1000002860a - app_view[f033ccc49f1f8bd3]::main
  12:      0x10000028f86 - std[746c9be1626d1f72]::sys::backtrace::__rust_begin_short_backtrace::<fn(), ()>
  13:      0x10000021460 - std[746c9be1626d1f72]::rt::lang_start::<()>::{closure#0}
  14:      0x1000005b696 - std[746c9be1626d1f72]::rt::lang_start_internal
  15:      0x10000028f71 - main
  16:      0x10000062893 - std[746c9be1626d1f72]::sys::pal::toyos::start_rust
  17:      0x1000002b32a - _start

RS abuse_cwd_growth: PASS exit=Some(0) err=None
cwd growth bounded, kernel intact


@Japabu

Japabu commented Oct 11, 2026

Copy link
Copy Markdown
Collaborator Author

negative-control, part 1 of 1, the test changes alone applied onto origin/main bb3344d, through the probe, exit 1: both arms red

===== negative-control.patch =====
diff --git a/tests/testcases/tinycc/210_stat_identity.c b/tests/testcases/tinycc/210_stat_identity.c
index ca3c000aa..9899e9e36 100644
--- a/tests/testcases/tinycc/210_stat_identity.c
+++ b/tests/testcases/tinycc/210_stat_identity.c
@@ -1,8 +1,12 @@
 /* `st_dev` and `st_ino` as the C library fills them: one file is one pair
    through every path, a link and its open descriptor, and across a rename;
-   two files are two; and the two kernel mounts are two volumes. */
+   two files are two; and the two kernel mounts are two volumes. A kernel
+   directory and symlink are each one as well, and `d_ino` is its entry's
+   `st_ino`. */
+#include <dirent.h>
 #include <fcntl.h>
 #include <stdio.h>
+#include <string.h>
 #include <sys/stat.h>
 #include <unistd.h>
 
@@ -10,8 +14,8 @@ static int same(const struct stat *a, const struct stat *b) {
     return a->st_dev == b->st_dev && a->st_ino == b->st_ino;
 }
 
-static int stat_of(const char *path, struct stat *st) {
-    if (stat(path, st) != 0) {
+static int identity(const char *path, struct stat *st, int follow) {
+    if ((follow ? stat(path, st) : lstat(path, st)) != 0) {
         printf("stat %s failed\n", path);
         return 1;
     }
@@ -22,6 +26,27 @@ static int stat_of(const char *path, struct stat *st) {
     return 0;
 }
 
+static int stat_of(const char *path, struct stat *st) {
+    return identity(path, st, 1);
+}
+
+static int lstat_of(const char *path, struct stat *st) {
+    return identity(path, st, 0);
+}
+
+/* The `d_ino` `dir`'s listing answers for `name`, 0 when it lists none. */
+static ino_t listed(const char *dir, const char *name) {
+    DIR *d = opendir(dir);
+    struct dirent *e;
+    ino_t ino = 0;
+    while (d && (e = readdir(d)))
+        if (strcmp(e->d_name, name) == 0)
+            ino = e->d_ino;
+    if (d)
+        closedir(d);
+    return ino;
+}
+
 static int write_file(const char *path) {
     int fd = open(path, O_WRONLY | O_CREAT | O_TRUNC, 0644);
     if (fd < 0 || write(fd, "x", 1) != 1) {
@@ -38,6 +63,7 @@ static void judge(const char *what, int is, int want) {
 
 int main(void) {
     struct stat a, b, a2, opened, moved, toybox, cat, supervisor;
+    struct stat bin, bin2, etc, sys, tmpdir, catlink, cplink;
     int fd;
 
     if (write_file("/tmp/210_a") || write_file("/tmp/210_b"))
@@ -70,6 +96,27 @@ int main(void) {
     judge("two files on /system are two", same(&toybox, &supervisor), 0);
     judge("/system and /tmp are two volumes", toybox.st_dev == a.st_dev, 0);
 
+    if (mkdir("/tmp/210_d", 0755) != 0 || stat_of("/system/bin", &bin) || stat_of("/system/etc/../bin", &bin2) ||
+        stat_of("/system/etc", &etc) || stat_of("/system", &sys) || stat_of("/tmp/210_d", &tmpdir))
+        return 1;
+    judge("two directories on /system are two", same(&bin, &etc), 0);
+    judge("a directory and its mount's root are two", same(&bin, &sys), 0);
+    judge("one directory through two paths is one", same(&bin, &bin2), 1);
+    judge("a directory is on its mount's volume", bin.st_dev == toybox.st_dev && tmpdir.st_dev == a.st_dev, 1);
+    judge("a directory is no file", same(&tmpdir, &b), 0);
+
+    if (lstat_of("/system/bin/cat", &catlink) || lstat_of("/system/bin/cp", &cplink))
+        return 1;
+    judge("two links on /system are two", same(&catlink, &cplink), 0);
+    judge("a link is not the file it names", same(&catlink, &toybox), 0);
+
+    judge("d_ino is a directory's st_ino", listed("/system", "bin") == bin.st_ino, 1);
+    judge("d_ino is a file's st_ino", listed("/system/bin", "toybox") == toybox.st_ino, 1);
+    judge("d_ino is a link's st_ino", listed("/system/bin", "cat") == catlink.st_ino, 1);
+    judge("d_ino is a mount's st_ino", listed("/", "system") == sys.st_ino, 1);
+    judge("d_ino on /tmp is st_ino", listed("/tmp", "210_b") == b.st_ino && listed("/tmp", "210_d") == tmpdir.st_ino, 1);
+
+    rmdir("/tmp/210_d");
     unlink("/tmp/210_moved");
     unlink("/tmp/210_b");
     return 0;
diff --git a/tests/testcases/tinycc/210_stat_identity.expect b/tests/testcases/tinycc/210_stat_identity.expect
index a75f1604a..fc312afc0 100644
--- a/tests/testcases/tinycc/210_stat_identity.expect
+++ b/tests/testcases/tinycc/210_stat_identity.expect
@@ -6,3 +6,15 @@ its descriptor after the rename is the file: yes
 a link is the file it names: yes
 two files on /system are two: yes
 /system and /tmp are two volumes: yes
+two directories on /system are two: yes
+a directory and its mount's root are two: yes
+one directory through two paths is one: yes
+a directory is on its mount's volume: yes
+a directory is no file: yes
+two links on /system are two: yes
+a link is not the file it names: yes
+d_ino is a directory's st_ino: yes
+d_ino is a file's st_ino: yes
+d_ino is a link's st_ino: yes
+d_ino is a mount's st_ino: yes
+d_ino on /tmp is st_ino: yes
diff --git a/tests/toyos-rust-tests/src/bin/stat_identity.rs b/tests/toyos-rust-tests/src/bin/stat_identity.rs
index 544ebbde8..b4b962139 100644
--- a/tests/toyos-rust-tests/src/bin/stat_identity.rs
+++ b/tests/toyos-rust-tests/src/bin/stat_identity.rs
@@ -1,8 +1,9 @@
 //! A file's identity through std (`std::os::toyos::fs::MetadataExt`): on a
 //! kernel mount (`/tmp`), on DATA (`/home`) and on FAT (`/log`), one file is
 //! one `(dev, ino)` through every path, a symlink, its open handle, its
-//! directory's listing and a rename; two files are two; and the three are
-//! three volumes, each served one with `toyos::fs::SERVED_VOLUME` set.
+//! directory's listing and a rename; two files are two, as are two
+//! directories; a symlink is one of its own, across a rename; and the three
+//! are three volumes, each served one with `toyos::fs::SERVED_VOLUME` set.
 
 use std::fs::{self, File, Metadata};
 use std::os::toyos::fs::{symlink, MetadataExt};
@@ -44,7 +45,12 @@ fn judge(dir: &str, spelling: &str, links: bool) -> u64 {
         let link = format!("{dir}/stat-identity-link");
         symlink(&a, &link).unwrap_or_else(|e| panic!("symlink {link}: {e}"));
         assert_eq!(of(&link), ida, "on {dir} a symlink to {a} is another file");
-        fs::remove_file(&link).unwrap();
+        let own = id(&fs::symlink_metadata(&link).unwrap());
+        assert!(own.0 == ida.0 && own.1 != 0 && own.1 != ida.1, "on {dir} the link itself is {own:?}");
+        let renamed = format!("{dir}/stat-identity-link2");
+        fs::rename(&link, &renamed).unwrap_or_else(|e| panic!("rename {link}: {e}"));
+        assert_eq!(id(&fs::symlink_metadata(&renamed).unwrap()), own, "on {dir} a rename made another link");
+        fs::remove_file(&renamed).unwrap();
     }
 
     let moved = format!("{dir}/stat-identity-moved");
@@ -55,9 +61,7 @@ fn judge(dir: &str, spelling: &str, links: bool) -> u64 {
     let (d1, d2) = (format!("{dir}/stat-identity-d1"), format!("{dir}/stat-identity-d2"));
     fs::create_dir(&d1).unwrap();
     fs::create_dir(&d2).unwrap();
-    if ida.0 & toyos::fs::SERVED_VOLUME != 0 {
-        assert_ne!(of(&d1), of(&d2), "on {dir} two directories are one");
-    }
+    assert_ne!(of(&d1), of(&d2), "on {dir} two directories are one");
     for d in [&d1, &d2] {
         fs::remove_dir(d).unwrap();
     }

===== negctl.log =====
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
    Finished `test` profile [optimized + debuginfo] target(s) in 0.34s
     Running tests/toyos.rs (target/debug/deps/toyos_build-6272c6e3847618b1)

06:31:17 running 1 tests, 12 wide

06:31:17   RUN   dirid_probe
06:31:20   BUILD x86_64 stat_identity of tests/toyos-rust-tests, for dirid_probe
06:31:22   BUILT x86_64 stat_identity of tests/toyos-rust-tests, for dirid_probe  (3s)
06:31:22   BUILD x86_64 kernel, loader, ROOT of tests/testcases, for dirid_probe
06:31:24 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
06:31:24   BUILT x86_64 kernel, loader, ROOT of tests/testcases, for dirid_probe  (2s)
06:31:29 FAIL dirid_probe: 2 members red; report at $DIRID_OUT
06:31:29   FAIL  dirid_probe  (8s)
06:31:29   --- 1 guests, 0 of them not the shipping kernel, 1 kernel build(s): [""]

06:31:29 host: fastest boot 4576 ms against the reference 1424 ms — liveness ceilings paid at 3.21x
06:31:29 host: 14 core(s); a guest wider than that waits vcpus/cores longer again
06:31:29 failures:
06:31:29     dirid_probe: 2 members red; report at $DIRID_OUT

06:31:29 test result: FAILED. 0 passed, 1 failed, 0 invalidated, 1 total (12.6s; workers: 5s building, 8s testing)
06:31:29 [toyos] this red run's serial logs are kept at /Users/<user>/Dev/jan/toyos-dirid-base/target/red-run-serial/toyos-tmp-67207-0
error: test failed, to rerun pass `--test toyos-build`

Caused by:
  process didn't exit successfully: `/Users/<user>/Dev/jan/toyos-dirid-base/target/debug/deps/toyos_build-6272c6e3847618b1 dirid_probe` (exit status: 1)
EXIT=1

===== negctl.report =====
C 210_stat_identity: FAIL exit=Some(1) err=None
--- got ---
two files on /tmp are two: yes
one file through two paths is one: yes
its open descriptor is the file: yes
a rename keeps the file: yes
its descriptor after the rename is the file: yes
a link is the file it names: yes
two files on /system are two: yes
/system and /tmp are two volumes: yes
/system/bin has no identity
--- want ---
two files on /tmp are two: yes
one file through two paths is one: yes
its open descriptor is the file: yes
a rename keeps the file: yes
its descriptor after the rename is the file: yes
a link is the file it names: yes
two files on /system are two: yes
/system and /tmp are two volumes: yes
two directories on /system are two: yes
a directory and its mount's root are two: yes
one directory through two paths is one: yes
a directory is on its mount's volume: yes
a directory is no file: yes
two links on /system are two: yes
a link is not the file it names: yes
d_ino is a directory's st_ino: yes
d_ino is a file's st_ino: yes
d_ino is a link's st_ino: yes
d_ino is a mount's st_ino: yes
d_ino on /tmp is st_ino: yes

RS stat_identity: FAIL exit=Some(101) err=None

thread 'main' (1) panicked at src/bin/stat_identity.rs:49:9:
on /tmp the link itself is (0, 0)
stack backtrace:
   0:      0x10000062570 - _Unwind_Backtrace
   1:      0x1000004c1f3 - <<std[746c9be1626d1f72]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[73b405bef30eeff1]::fmt::Display>::fmt
   2:      0x10000066457 - core[73b405bef30eeff1]::fmt::write
   3:      0x1000004fc1b - <std[746c9be1626d1f72]::sys::stdio::toyos::Stderr as core[73b405bef30eeff1]::io::write::Write>::write_fmt
   4:      0x1000002e793 - std[746c9be1626d1f72]::panicking::default_hook::{closure#0}
   5:      0x10000043d7e - std[746c9be1626d1f72]::panicking::default_hook
   6:      0x10000043f39 - std[746c9be1626d1f72]::panicking::panic_with_hook
   7:      0x1000002e84d - std[746c9be1626d1f72]::panicking::panic_handler::{closure#0}
   8:      0x10000026f49 - std[746c9be1626d1f72]::sys::backtrace::__rust_end_short_backtrace::<std[746c9be1626d1f72]::panicking::panic_handler::{closure#0}, !>
   9:      0x1000002efb8 - __rustc[d0c72ce299f394e5]::rust_begin_unwind
  10:      0x10000066b7b - core[73b405bef30eeff1]::panicking::panic_fmt
  11:      0x1000001b4d7 - stat_identity[70e06493eda6086f]::judge
  12:      0x1000001a5ae - stat_identity[70e06493eda6086f]::main
  13:      0x10000019cf6 - std[746c9be1626d1f72]::sys::backtrace::__rust_begin_short_backtrace::<fn(), ()>
  14:      0x10000019d10 - std[746c9be1626d1f72]::rt::lang_start::<()>::{closure#0}
  15:      0x100000437c6 - std[746c9be1626d1f72]::rt::lang_start_internal
  16:      0x1000001b921 - main
  17:      0x1000004ab73 - std[746c9be1626d1f72]::sys::pal::toyos::start_rust
  18:      0x1000001bd96 - _start


@Japabu

Japabu commented Oct 11, 2026

Copy link
Copy Markdown
Collaborator Author

dirnodes-host-mutations, part 1 of 1, kernel::dirnodes host tests (exit 0) and four mutations, each a checked patch applied, run and reverted, at tree 1110569d (head 056ee670a's, whose dirnodes.rs is the head's)

===== host-dirnodes.log =====
   Compiling kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel)
    Finished `test` profile [optimized + debuginfo] target(s) in 3.58s
     Running unittests pure/lib.rs (target/debug/deps/kernel-e2c350bea2dc3b8f)

running 4 tests
test dirnodes::tests::only_a_held_number_is_judged ... ok
test dirnodes::tests::a_directory_is_one_number_and_two_are_two ... ok
test dirnodes::tests::a_number_lasts_exactly_as_long_as_its_directory ... ok
test dirnodes::tests::a_removal_forgets_every_directory_it_ended_and_no_other ... ok

test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 179 filtered out; finished in 0.00s

EXIT=0

===== mutate.sh =====
#!/bin/sh
# Applies each mutation as a checked patch, runs the dirnodes host tests, restores.
S=$1; cd /Users/<user>/Dev/jan/toyos-dirid
for p in $S/mut-*.patch; do
  name=$(basename $p .patch)
  git apply --check $p || { echo "$name: patch does not apply"; exit 3; }
  git apply $p
  cargo test -p kernel --lib dirnodes > $S/$name.log 2>&1; code=$?
  git apply -R $p
  if [ $code -eq 0 ]; then verdict=GREEN; else verdict=RED; fi
  echo "$name: EXIT=$code $verdict"
done
git diff --quiet -- kernel/pure/dirnodes.rs && echo "dirnodes.rs restored"

===== mut-1-forgets-nothing.patch =====
diff --git a/kernel/pure/dirnodes.rs b/kernel/pure/dirnodes.rs
index a51b0bd98..323e823b4 100644
--- a/kernel/pure/dirnodes.rs
+++ b/kernel/pure/dirnodes.rs
@@ -41,7 +41,6 @@ impl Directories {
         let mut at = path;
         loop {
             if self.of.contains_key(at) && !exists(at) {
-                self.of.remove(at);
             }
             match at.rfind('/') {
                 Some(0) | None => return,

===== mut-2-parent-only.patch =====
diff --git a/kernel/pure/dirnodes.rs b/kernel/pure/dirnodes.rs
index a51b0bd98..8e8f9fb84 100644
--- a/kernel/pure/dirnodes.rs
+++ b/kernel/pure/dirnodes.rs
@@ -45,7 +45,8 @@ impl Directories {
             }
             match at.rfind('/') {
                 Some(0) | None => return,
-                Some(slash) => at = &at[..slash],
+                Some(slash) if at == path => at = &at[..slash],
+                Some(_) => return,
             }
         }
     }

===== mut-3-always-draws.patch =====
diff --git a/kernel/pure/dirnodes.rs b/kernel/pure/dirnodes.rs
index a51b0bd98..a44f53961 100644
--- a/kernel/pure/dirnodes.rs
+++ b/kernel/pure/dirnodes.rs
@@ -26,9 +26,6 @@ impl Directories {
     /// The number of the directory at `path`, drawn by `draw` when this does
     /// not hold one; `draw` answers a number nothing else on its volume holds.
     pub fn of(&mut self, path: &str, draw: impl FnOnce() -> u64) -> u64 {
-        if let Some(&number) = self.of.get(path) {
-            return number;
-        }
         let number = draw();
         self.of.insert(String::from(path), number);
         number

===== mut-4-judges-unheld.patch =====
diff --git a/kernel/pure/dirnodes.rs b/kernel/pure/dirnodes.rs
index a51b0bd98..e06a60612 100644
--- a/kernel/pure/dirnodes.rs
+++ b/kernel/pure/dirnodes.rs
@@ -40,7 +40,7 @@ impl Directories {
     pub fn removed(&mut self, path: &str, mut exists: impl FnMut(&str) -> bool) {
         let mut at = path;
         loop {
-            if self.of.contains_key(at) && !exists(at) {
+            if !exists(at) {
                 self.of.remove(at);
             }
             match at.rfind('/') {

===== mutations.log =====
mut-1-forgets-nothing: EXIT=101 RED
mut-2-parent-only: EXIT=101 RED
mut-3-always-draws: EXIT=101 RED
mut-4-judges-unheld: EXIT=101 RED
dirnodes.rs restored
EXIT=0

===== mut-1-forgets-nothing.log =====
   Compiling kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel)
    Finished `test` profile [optimized + debuginfo] target(s) in 2.60s
     Running unittests pure/lib.rs (target/debug/deps/kernel-e2c350bea2dc3b8f)

running 4 tests
test dirnodes::tests::only_a_held_number_is_judged ... ok
test dirnodes::tests::a_directory_is_one_number_and_two_are_two ... ok
test dirnodes::tests::a_removal_forgets_every_directory_it_ended_and_no_other ... FAILED
test dirnodes::tests::a_number_lasts_exactly_as_long_as_its_directory ... FAILED

failures:

---- dirnodes::tests::a_removal_forgets_every_directory_it_ended_and_no_other stdout ----

thread 'dirnodes::tests::a_removal_forgets_every_directory_it_ended_and_no_other' (279111874) panicked at kernel/pure/dirnodes.rs:110:9:
assertion failed: ![tmp, a, b, sibling].contains(&a2) && ![tmp, a, b, sibling, a2].contains(&b2)
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

---- dirnodes::tests::a_number_lasts_exactly_as_long_as_its_directory stdout ----

thread 'dirnodes::tests::a_number_lasts_exactly_as_long_as_its_directory' (279111873) panicked at kernel/pure/dirnodes.rs:92:9:
assertion `left != right` failed: a directory made again where one was removed is another directory
  left: 1
 right: 1


failures:
    dirnodes::tests::a_number_lasts_exactly_as_long_as_its_directory
    dirnodes::tests::a_removal_forgets_every_directory_it_ended_and_no_other

test result: FAILED. 2 passed; 2 failed; 0 ignored; 0 measured; 179 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel --lib`

===== mut-2-parent-only.log =====
   Compiling kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel)
    Finished `test` profile [optimized + debuginfo] target(s) in 2.28s
     Running unittests pure/lib.rs (target/debug/deps/kernel-e2c350bea2dc3b8f)

running 4 tests
test dirnodes::tests::a_directory_is_one_number_and_two_are_two ... ok
test dirnodes::tests::a_number_lasts_exactly_as_long_as_its_directory ... ok
test dirnodes::tests::a_removal_forgets_every_directory_it_ended_and_no_other ... FAILED
test dirnodes::tests::only_a_held_number_is_judged ... FAILED

failures:

---- dirnodes::tests::a_removal_forgets_every_directory_it_ended_and_no_other stdout ----

thread 'dirnodes::tests::a_removal_forgets_every_directory_it_ended_and_no_other' (279112312) panicked at kernel/pure/dirnodes.rs:112:9:
assertion failed: ![tmp, a, b, sibling].contains(&a2) && ![tmp, a, b, sibling, a2].contains(&b2)

---- dirnodes::tests::only_a_held_number_is_judged stdout ----

thread 'dirnodes::tests::only_a_held_number_is_judged' (279112313) panicked at kernel/pure/dirnodes.rs:128:9:
assertion `left == right` failed
  left: []
 right: ["/tmp/a"]
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    dirnodes::tests::a_removal_forgets_every_directory_it_ended_and_no_other
    dirnodes::tests::only_a_held_number_is_judged

test result: FAILED. 2 passed; 2 failed; 0 ignored; 0 measured; 179 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel --lib`

===== mut-3-always-draws.log =====
   Compiling kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel)
    Finished `test` profile [optimized + debuginfo] target(s) in 1.62s
     Running unittests pure/lib.rs (target/debug/deps/kernel-e2c350bea2dc3b8f)

running 4 tests
test dirnodes::tests::only_a_held_number_is_judged ... ok
test dirnodes::tests::a_number_lasts_exactly_as_long_as_its_directory ... FAILED
test dirnodes::tests::a_directory_is_one_number_and_two_are_two ... FAILED
test dirnodes::tests::a_removal_forgets_every_directory_it_ended_and_no_other ... FAILED

failures:

---- dirnodes::tests::a_number_lasts_exactly_as_long_as_its_directory stdout ----

thread 'dirnodes::tests::a_number_lasts_exactly_as_long_as_its_directory' (279112674) panicked at kernel/pure/dirnodes.rs:86:41:
a directory that stands kept its number
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

---- dirnodes::tests::a_directory_is_one_number_and_two_are_two stdout ----

thread 'dirnodes::tests::a_directory_is_one_number_and_two_are_two' (279112673) panicked at kernel/pure/dirnodes.rs:74:41:
a held number is never drawn again

---- dirnodes::tests::a_removal_forgets_every_directory_it_ended_and_no_other stdout ----

thread 'dirnodes::tests::a_removal_forgets_every_directory_it_ended_and_no_other' (279112675) panicked at kernel/pure/dirnodes.rs:105:39:
/tmp stands


failures:
    dirnodes::tests::a_directory_is_one_number_and_two_are_two
    dirnodes::tests::a_number_lasts_exactly_as_long_as_its_directory
    dirnodes::tests::a_removal_forgets_every_directory_it_ended_and_no_other

test result: FAILED. 1 passed; 3 failed; 0 ignored; 0 measured; 179 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel --lib`

===== mut-4-judges-unheld.log =====
   Compiling kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel)
    Finished `test` profile [optimized + debuginfo] target(s) in 1.62s
     Running unittests pure/lib.rs (target/debug/deps/kernel-e2c350bea2dc3b8f)

running 4 tests
test dirnodes::tests::a_directory_is_one_number_and_two_are_two ... ok
test dirnodes::tests::a_removal_forgets_every_directory_it_ended_and_no_other ... ok
test dirnodes::tests::a_number_lasts_exactly_as_long_as_its_directory ... ok
test dirnodes::tests::only_a_held_number_is_judged ... FAILED

failures:

---- dirnodes::tests::only_a_held_number_is_judged stdout ----

thread 'dirnodes::tests::only_a_held_number_is_judged' (279113039) panicked at kernel/pure/dirnodes.rs:127:9:
assertion `left == right` failed
  left: ["/tmp/a/b/c/f", "/tmp/a/b/c", "/tmp/a/b", "/tmp/a", "/tmp"]
 right: ["/tmp/a"]
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    dirnodes::tests::only_a_held_number_is_judged

test result: FAILED. 3 passed; 1 failed; 0 ignored; 0 measured; 179 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel --lib`

@Japabu

Japabu commented Oct 11, 2026

Copy link
Copy Markdown
Collaborator Author

vfs-mutations, part 1 of 1, the VFS's four forget sites mutated, stat_identity through the probe: green, delete, rename and rmdir before stat_identity's truncate lines; green2 and truncate at tree 1110569d (head 056ee670a's)

===== kmutate.sh =====
#!/bin/sh
# The throwaway probe harness, then the green arm and each kernel mutation as a
# checked patch: built, `stat_identity` run in QEMU, reported, restored.
S=$1; cd /Users/<user>/Dev/jan/toyos-dirid
git apply --check $S/probe-harness.patch && git apply $S/probe-harness.patch || exit 3
export DIRID_C=210_stat_identity DIRID_RS=stat_identity
run() {
  DIRID_OUT=$S/kmut-$1.report cargo test --test toyos-build -- dirid_probe > $S/kmut-$1.log 2>&1; code=$?
  echo "$1: EXIT=$code; stat_identity: $(grep '^RS stat_identity' $S/kmut-$1.report)"
  grep -n "panicked\|left /tmp" $S/kmut-$1.report
}
run green
for m in delete rename rmdir; do
  git apply --check $S/kmut-$m.patch || { echo "kmut-$m does not apply"; exit 3; }
  git apply $S/kmut-$m.patch
  run $m
  git apply -R $S/kmut-$m.patch
done
git apply -R $S/probe-harness.patch
git diff --quiet && echo "tree restored to the index"

===== kmutate2.sh =====
#!/bin/sh
# Green arm and the truncate mutation, as kmutate.sh.
S=$1; cd /Users/<user>/Dev/jan/toyos-dirid
git apply --check $S/probe-harness.patch && git apply $S/probe-harness.patch || exit 3
export DIRID_C=210_stat_identity DIRID_RS=stat_identity
run() {
  DIRID_OUT=$S/kmut-$1.report cargo test --test toyos-build -- dirid_probe > $S/kmut-$1.log 2>&1; code=$?
  echo "$1: EXIT=$code; stat_identity: $(grep '^RS stat_identity' $S/kmut-$1.report)"
  grep -n "panicked\|renumbered\|left /tmp" $S/kmut-$1.report
}
run green2
for m in truncate; do
  git apply --check $S/kmut-$m.patch || { echo "kmut-$m does not apply"; exit 3; }
  git apply $S/kmut-$m.patch
  run $m
  git apply -R $S/kmut-$m.patch
done
git apply -R $S/probe-harness.patch
git diff --quiet && echo "tree restored to the index"

===== kmut-delete.patch =====
diff --git a/kernel/src/vfs.rs b/kernel/src/vfs.rs
index aa24b98f7..d53afc406 100644
--- a/kernel/src/vfs.rs
+++ b/kernel/src/vfs.rs
@@ -676,7 +676,6 @@ impl Vfs {
     /// Unlink `path`, and forget the node of every directory that ended with it.
     pub fn delete(&mut self, path: &str) -> Result<(), SyscallError> {
         self.delete_file(path)?;
-        self.forget_ended_dirs(&normalize(path));
         Ok(())
     }
 

===== kmut-rename.patch =====
diff --git a/kernel/src/vfs.rs b/kernel/src/vfs.rs
index aa24b98f7..b9160aa9a 100644
--- a/kernel/src/vfs.rs
+++ b/kernel/src/vfs.rs
@@ -569,7 +569,6 @@ impl Vfs {
         let point = self.point(&old_mount).ok_or(SyscallError::NotFound)?;
         let (old_fs_path, new_fs_path) = (point.path(&old_file), point.path(&new_file));
         self.mounts[point.fs].fs.rename(&old_fs_path, &new_fs_path)?;
-        self.forget_ended_dirs(&directory(&old_mount, &old_file));
         Ok(())
     }
 

===== kmut-rmdir.patch =====
diff --git a/kernel/src/vfs.rs b/kernel/src/vfs.rs
index aa24b98f7..c96f28a56 100644
--- a/kernel/src/vfs.rs
+++ b/kernel/src/vfs.rs
@@ -603,7 +603,6 @@ impl Vfs {
     /// file, and a non-empty directory are each refused, not reported as removed.
     pub fn remove_dir(&mut self, path: &str) -> Result<(), SyscallError> {
         self.remove_empty_dir(path)?;
-        self.forget_ended_dirs(&normalize(path));
         Ok(())
     }
 

===== kmut-truncate.patch =====
diff --git a/kernel/src/object/ops.rs b/kernel/src/object/ops.rs
index 959490458..4d9fc949b 100644
--- a/kernel/src/object/ops.rs
+++ b/kernel/src/object/ops.rs
@@ -117,7 +117,7 @@ pub fn open(table: &mut HandleTable, path: &str, flags: OpenFlags) -> u64 {
             let mtime = crate::clock::mtime_now();
             // `NotFound` is not a failure: truncating past a name that was not there is fine.
             // Any `vfs.delete_file` error other than `NotFound` is propagated, not swallowed: truncating past it could silently create a file over one the mount could not confirm was missing.
-            match vfs.delete_file(target.as_str()) {
+            match vfs.delete(target.as_str()) {
                 Ok(()) | Err(SyscallError::NotFound) => {}
                 Err(e) => return e.to_u64(),
             }

===== kmutations.log =====
green: EXIT=0; stat_identity: RS stat_identity: PASS exit=Some(0) err=None
delete: EXIT=1; stat_identity: RS stat_identity: FAIL exit=Some(101) err=None
47:thread 'main' (1) panicked at src/bin/stat_identity.rs:88:9:
48:assertion `left != right` failed: an unlink left /tmp/stat-identity-ended's number to the directory made there next
rename: EXIT=1; stat_identity: RS stat_identity: FAIL exit=Some(101) err=None
47:thread 'main' (1) panicked at src/bin/stat_identity.rs:88:9:
48:assertion `left != right` failed: a rename left /tmp/stat-identity-ended's number to the directory made there next
rmdir: EXIT=1; stat_identity: RS stat_identity: FAIL exit=Some(101) err=None
47:thread 'main' (1) panicked at src/bin/stat_identity.rs:88:9:
48:assertion `left != right` failed: rmdir left /tmp/stat-identity-ended's number to the directory made there next
tree restored to the index
EXIT=0

===== kmutations2.log =====
green2: EXIT=0; stat_identity: RS stat_identity: PASS exit=Some(0) err=None
truncate: EXIT=1; stat_identity: RS stat_identity: FAIL exit=Some(101) err=None
47:thread 'main' (1) panicked at src/bin/stat_identity.rs:104:5:
48:assertion `left == right` failed: a truncating open of its one file renumbered /tmp/stat-identity-ended
tree restored to the index
EXIT=0

===== kmut-green.log =====
   Compiling kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel)
   Compiling toyos-build v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid)
    Finished `test` profile [optimized + debuginfo] target(s) in 1.09s
     Running tests/toyos.rs (target/debug/deps/toyos_build-6272c6e3847618b1)

06:33:09 running 1 tests, 12 wide

06:33:09   RUN   dirid_probe
06:33:12   BUILD x86_64 stat_identity of tests/toyos-rust-tests, for dirid_probe
06:33:15   BUILT x86_64 stat_identity of tests/toyos-rust-tests, for dirid_probe  (2s)
06:33:15   BUILD x86_64 kernel, loader, ROOT of tests/testcases, for dirid_probe
06:33:19 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
06:33:19   BUILT x86_64 kernel, loader, ROOT of tests/testcases, for dirid_probe  (5s)
06:33:27   PASS  dirid_probe  (10s)
06:33:27   --- 1 guests, 0 of them not the shipping kernel, 1 kernel build(s): [""]

06:33:27 host: fastest boot 6717 ms against the reference 1424 ms — liveness ceilings paid at 4.72x
06:33:27 host: 14 core(s); a guest wider than that waits vcpus/cores longer again
06:33:27 test result: ok. 1 passed, 1 total (17.3s; workers: 7s building, 10s testing)

===== kmut-green.report =====
C 210_stat_identity: PASS exit=Some(0) err=None
--- got ---
two files on /tmp are two: yes
one file through two paths is one: yes
its open descriptor is the file: yes
a rename keeps the file: yes
its descriptor after the rename is the file: yes
a link is the file it names: yes
two files on /system are two: yes
/system and /tmp are two volumes: yes
two directories on /system are two: yes
a directory and its mount's root are two: yes
one directory through two paths is one: yes
a directory is on its mount's volume: yes
a directory is no file: yes
two links on /system are two: yes
a link is not the file it names: yes
d_ino is a directory's st_ino: yes
d_ino is a file's st_ino: yes
d_ino is a link's st_ino: yes
d_ino is a mount's st_ino: yes
d_ino on /tmp is st_ino: yes
--- want ---
two files on /tmp are two: yes
one file through two paths is one: yes
its open descriptor is the file: yes
a rename keeps the file: yes
its descriptor after the rename is the file: yes
a link is the file it names: yes
two files on /system are two: yes
/system and /tmp are two volumes: yes
two directories on /system are two: yes
a directory and its mount's root are two: yes
one directory through two paths is one: yes
a directory is on its mount's volume: yes
a directory is no file: yes
two links on /system are two: yes
a link is not the file it names: yes
d_ino is a directory's st_ino: yes
d_ino is a file's st_ino: yes
d_ino is a link's st_ino: yes
d_ino is a mount's st_ino: yes
d_ino on /tmp is st_ino: yes

RS stat_identity: PASS exit=Some(0) err=None
stat_identity: /tmp is volume 0x2, and its files are told apart
stat_identity: /home is volume 0x8000000000000003, and its files are told apart
stat_identity: /log is volume 0x8000000000000004, and its files are told apart
stat_identity: ok


===== kmut-delete.log =====
    Finished `test` profile [optimized + debuginfo] target(s) in 0.32s
     Running tests/toyos.rs (target/debug/deps/toyos_build-6272c6e3847618b1)

06:33:27 running 1 tests, 12 wide

06:33:27   RUN   dirid_probe
06:33:29   BUILD x86_64 stat_identity of tests/toyos-rust-tests, for dirid_probe
06:33:30   BUILT x86_64 stat_identity of tests/toyos-rust-tests, for dirid_probe  (2s)
06:33:30   BUILD x86_64 kernel, loader, ROOT of tests/testcases, for dirid_probe
06:33:34 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
06:33:34   BUILT x86_64 kernel, loader, ROOT of tests/testcases, for dirid_probe  (4s)
06:33:39 FAIL dirid_probe: 1 members red; report at $DIRID_OUT
06:33:39   FAIL  dirid_probe  (6s)
06:33:39   --- 1 guests, 0 of them not the shipping kernel, 1 kernel build(s): [""]

06:33:39 host: fastest boot 4650 ms against the reference 1424 ms — liveness ceilings paid at 3.27x
06:33:39 host: 14 core(s); a guest wider than that waits vcpus/cores longer again
06:33:39 failures:
06:33:39     dirid_probe: 1 members red; report at $DIRID_OUT

06:33:39 test result: FAILED. 0 passed, 1 failed, 0 invalidated, 1 total (11.9s; workers: 5s building, 6s testing)
06:33:39 [toyos] this red run's serial logs are kept at /Users/<user>/Dev/jan/toyos-dirid/target/red-run-serial/toyos-tmp-14333-0
error: test failed, to rerun pass `--test toyos-build`

Caused by:
  process didn't exit successfully: `/Users/<user>/Dev/jan/toyos-dirid/target/debug/deps/toyos_build-6272c6e3847618b1 dirid_probe` (exit status: 1)

===== kmut-delete.report =====
C 210_stat_identity: PASS exit=Some(0) err=None
--- got ---
two files on /tmp are two: yes
one file through two paths is one: yes
its open descriptor is the file: yes
a rename keeps the file: yes
its descriptor after the rename is the file: yes
a link is the file it names: yes
two files on /system are two: yes
/system and /tmp are two volumes: yes
two directories on /system are two: yes
a directory and its mount's root are two: yes
one directory through two paths is one: yes
a directory is on its mount's volume: yes
a directory is no file: yes
two links on /system are two: yes
a link is not the file it names: yes
d_ino is a directory's st_ino: yes
d_ino is a file's st_ino: yes
d_ino is a link's st_ino: yes
d_ino is a mount's st_ino: yes
d_ino on /tmp is st_ino: yes
--- want ---
two files on /tmp are two: yes
one file through two paths is one: yes
its open descriptor is the file: yes
a rename keeps the file: yes
its descriptor after the rename is the file: yes
a link is the file it names: yes
two files on /system are two: yes
/system and /tmp are two volumes: yes
two directories on /system are two: yes
a directory and its mount's root are two: yes
one directory through two paths is one: yes
a directory is on its mount's volume: yes
a directory is no file: yes
two links on /system are two: yes
a link is not the file it names: yes
d_ino is a directory's st_ino: yes
d_ino is a file's st_ino: yes
d_ino is a link's st_ino: yes
d_ino is a mount's st_ino: yes
d_ino on /tmp is st_ino: yes

RS stat_identity: FAIL exit=Some(101) err=None

thread 'main' (1) panicked at src/bin/stat_identity.rs:88:9:
assertion `left != right` failed: an unlink left /tmp/stat-identity-ended's number to the directory made there next
  left: (2, 41)
 right: (2, 41)
stack backtrace:
   0:      0x10000062c80 - _Unwind_Backtrace
   1:      0x1000004c8c3 - <<std[467be37f4fecb369]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[73b405bef30eeff1]::fmt::Display>::fmt
   2:      0x10000066b67 - core[73b405bef30eeff1]::fmt::write
   3:      0x100000502eb - <std[467be37f4fecb369]::sys::stdio::toyos::Stderr as core[73b405bef30eeff1]::io::write::Write>::write_fmt
   4:      0x1000002ee83 - std[467be37f4fecb369]::panicking::default_hook::{closure#0}
   5:      0x1000004448e - std[467be37f4fecb369]::panicking::default_hook
   6:      0x10000044649 - std[467be37f4fecb369]::panicking::panic_with_hook
   7:      0x1000002ef3d - std[467be37f4fecb369]::panicking::panic_handler::{closure#0}
   8:      0x10000027639 - std[467be37f4fecb369]::sys::backtrace::__rust_end_short_backtrace::<std[467be37f4fecb369]::panicking::panic_handler::{closure#0}, !>
   9:      0x1000002f6a8 - __rustc[d0c72ce299f394e5]::rust_begin_unwind
  10:      0x1000006728b - core[73b405bef30eeff1]::panicking::panic_fmt
  11:      0x100000671ff - core[73b405bef30eeff1]::panicking::assert_failed_inner
  12:      0x10000019ec4 - core[73b405bef30eeff1]::panicking::assert_failed::<(u64, u64), (u64, u64)>
  13:      0x1000001ad80 - stat_identity[f051b572f8df868d]::main
  14:      0x1000001c3e6 - std[467be37f4fecb369]::sys::backtrace::__rust_begin_short_backtrace::<fn(), ()>
  15:      0x1000001c1e0 - std[467be37f4fecb369]::rt::lang_start::<()>::{closure#0}
  16:      0x10000043ed6 - std[467be37f4fecb369]::rt::lang_start_internal
  17:      0x1000001c1c1 - main
  18:      0x1000004b243 - std[467be37f4fecb369]::sys::pal::toyos::start_rust
  19:      0x1000001c486 - _start


===== kmut-rename.log =====
    Finished `test` profile [optimized + debuginfo] target(s) in 0.22s
     Running tests/toyos.rs (target/debug/deps/toyos_build-6272c6e3847618b1)

06:33:39 running 1 tests, 12 wide

06:33:39   RUN   dirid_probe
06:33:41   BUILD x86_64 stat_identity of tests/toyos-rust-tests, for dirid_probe
06:33:42   BUILT x86_64 stat_identity of tests/toyos-rust-tests, for dirid_probe  (2s)
06:33:42   BUILD x86_64 kernel, loader, ROOT of tests/testcases, for dirid_probe
06:33:46 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
06:33:46   BUILT x86_64 kernel, loader, ROOT of tests/testcases, for dirid_probe  (3s)
06:33:51 FAIL dirid_probe: 1 members red; report at $DIRID_OUT
06:33:51   FAIL  dirid_probe  (6s)
06:33:51   --- 1 guests, 0 of them not the shipping kernel, 1 kernel build(s): [""]

06:33:51 host: fastest boot 4641 ms against the reference 1424 ms — liveness ceilings paid at 3.26x
06:33:51 host: 14 core(s); a guest wider than that waits vcpus/cores longer again
06:33:51 failures:
06:33:51     dirid_probe: 1 members red; report at $DIRID_OUT

06:33:51 test result: FAILED. 0 passed, 1 failed, 0 invalidated, 1 total (11.4s; workers: 5s building, 6s testing)
06:33:51 [toyos] this red run's serial logs are kept at /Users/<user>/Dev/jan/toyos-dirid/target/red-run-serial/toyos-tmp-18915-0
error: test failed, to rerun pass `--test toyos-build`

Caused by:
  process didn't exit successfully: `/Users/<user>/Dev/jan/toyos-dirid/target/debug/deps/toyos_build-6272c6e3847618b1 dirid_probe` (exit status: 1)

===== kmut-rename.report =====
C 210_stat_identity: PASS exit=Some(0) err=None
--- got ---
two files on /tmp are two: yes
one file through two paths is one: yes
its open descriptor is the file: yes
a rename keeps the file: yes
its descriptor after the rename is the file: yes
a link is the file it names: yes
two files on /system are two: yes
/system and /tmp are two volumes: yes
two directories on /system are two: yes
a directory and its mount's root are two: yes
one directory through two paths is one: yes
a directory is on its mount's volume: yes
a directory is no file: yes
two links on /system are two: yes
a link is not the file it names: yes
d_ino is a directory's st_ino: yes
d_ino is a file's st_ino: yes
d_ino is a link's st_ino: yes
d_ino is a mount's st_ino: yes
d_ino on /tmp is st_ino: yes
--- want ---
two files on /tmp are two: yes
one file through two paths is one: yes
its open descriptor is the file: yes
a rename keeps the file: yes
its descriptor after the rename is the file: yes
a link is the file it names: yes
two files on /system are two: yes
/system and /tmp are two volumes: yes
two directories on /system are two: yes
a directory and its mount's root are two: yes
one directory through two paths is one: yes
a directory is on its mount's volume: yes
a directory is no file: yes
two links on /system are two: yes
a link is not the file it names: yes
d_ino is a directory's st_ino: yes
d_ino is a file's st_ino: yes
d_ino is a link's st_ino: yes
d_ino is a mount's st_ino: yes
d_ino on /tmp is st_ino: yes

RS stat_identity: FAIL exit=Some(101) err=None

thread 'main' (1) panicked at src/bin/stat_identity.rs:88:9:
assertion `left != right` failed: a rename left /tmp/stat-identity-ended's number to the directory made there next
  left: (2, 45)
 right: (2, 45)
stack backtrace:
   0:      0x10000062c80 - _Unwind_Backtrace
   1:      0x1000004c8c3 - <<std[467be37f4fecb369]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[73b405bef30eeff1]::fmt::Display>::fmt
   2:      0x10000066b67 - core[73b405bef30eeff1]::fmt::write
   3:      0x100000502eb - <std[467be37f4fecb369]::sys::stdio::toyos::Stderr as core[73b405bef30eeff1]::io::write::Write>::write_fmt
   4:      0x1000002ee83 - std[467be37f4fecb369]::panicking::default_hook::{closure#0}
   5:      0x1000004448e - std[467be37f4fecb369]::panicking::default_hook
   6:      0x10000044649 - std[467be37f4fecb369]::panicking::panic_with_hook
   7:      0x1000002ef3d - std[467be37f4fecb369]::panicking::panic_handler::{closure#0}
   8:      0x10000027639 - std[467be37f4fecb369]::sys::backtrace::__rust_end_short_backtrace::<std[467be37f4fecb369]::panicking::panic_handler::{closure#0}, !>
   9:      0x1000002f6a8 - __rustc[d0c72ce299f394e5]::rust_begin_unwind
  10:      0x1000006728b - core[73b405bef30eeff1]::panicking::panic_fmt
  11:      0x100000671ff - core[73b405bef30eeff1]::panicking::assert_failed_inner
  12:      0x10000019ec4 - core[73b405bef30eeff1]::panicking::assert_failed::<(u64, u64), (u64, u64)>
  13:      0x1000001ad80 - stat_identity[f051b572f8df868d]::main
  14:      0x1000001c3e6 - std[467be37f4fecb369]::sys::backtrace::__rust_begin_short_backtrace::<fn(), ()>
  15:      0x1000001c1e0 - std[467be37f4fecb369]::rt::lang_start::<()>::{closure#0}
  16:      0x10000043ed6 - std[467be37f4fecb369]::rt::lang_start_internal
  17:      0x1000001c1c1 - main
  18:      0x1000004b243 - std[467be37f4fecb369]::sys::pal::toyos::start_rust
  19:      0x1000001c486 - _start


===== kmut-rmdir.log =====
    Finished `test` profile [optimized + debuginfo] target(s) in 0.22s
     Running tests/toyos.rs (target/debug/deps/toyos_build-6272c6e3847618b1)

06:33:51 running 1 tests, 12 wide

06:33:51   RUN   dirid_probe
06:33:52   BUILD x86_64 stat_identity of tests/toyos-rust-tests, for dirid_probe
06:33:54   BUILT x86_64 stat_identity of tests/toyos-rust-tests, for dirid_probe  (2s)
06:33:54   BUILD x86_64 kernel, loader, ROOT of tests/testcases, for dirid_probe
06:33:57 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
06:33:57   BUILT x86_64 kernel, loader, ROOT of tests/testcases, for dirid_probe  (3s)
06:34:02 FAIL dirid_probe: 1 members red; report at $DIRID_OUT
06:34:02   FAIL  dirid_probe  (6s)
06:34:02   --- 1 guests, 0 of them not the shipping kernel, 1 kernel build(s): [""]

06:34:02 host: fastest boot 4628 ms against the reference 1424 ms — liveness ceilings paid at 3.25x
06:34:02 host: 14 core(s); a guest wider than that waits vcpus/cores longer again
06:34:02 failures:
06:34:02     dirid_probe: 1 members red; report at $DIRID_OUT

06:34:02 test result: FAILED. 0 passed, 1 failed, 0 invalidated, 1 total (11.4s; workers: 5s building, 6s testing)
06:34:02 [toyos] this red run's serial logs are kept at /Users/<user>/Dev/jan/toyos-dirid/target/red-run-serial/toyos-tmp-20611-0
error: test failed, to rerun pass `--test toyos-build`

Caused by:
  process didn't exit successfully: `/Users/<user>/Dev/jan/toyos-dirid/target/debug/deps/toyos_build-6272c6e3847618b1 dirid_probe` (exit status: 1)

===== kmut-rmdir.report =====
C 210_stat_identity: PASS exit=Some(0) err=None
--- got ---
two files on /tmp are two: yes
one file through two paths is one: yes
its open descriptor is the file: yes
a rename keeps the file: yes
its descriptor after the rename is the file: yes
a link is the file it names: yes
two files on /system are two: yes
/system and /tmp are two volumes: yes
two directories on /system are two: yes
a directory and its mount's root are two: yes
one directory through two paths is one: yes
a directory is on its mount's volume: yes
a directory is no file: yes
two links on /system are two: yes
a link is not the file it names: yes
d_ino is a directory's st_ino: yes
d_ino is a file's st_ino: yes
d_ino is a link's st_ino: yes
d_ino is a mount's st_ino: yes
d_ino on /tmp is st_ino: yes
--- want ---
two files on /tmp are two: yes
one file through two paths is one: yes
its open descriptor is the file: yes
a rename keeps the file: yes
its descriptor after the rename is the file: yes
a link is the file it names: yes
two files on /system are two: yes
/system and /tmp are two volumes: yes
two directories on /system are two: yes
a directory and its mount's root are two: yes
one directory through two paths is one: yes
a directory is on its mount's volume: yes
a directory is no file: yes
two links on /system are two: yes
a link is not the file it names: yes
d_ino is a directory's st_ino: yes
d_ino is a file's st_ino: yes
d_ino is a link's st_ino: yes
d_ino is a mount's st_ino: yes
d_ino on /tmp is st_ino: yes

RS stat_identity: FAIL exit=Some(101) err=None

thread 'main' (1) panicked at src/bin/stat_identity.rs:88:9:
assertion `left != right` failed: rmdir left /tmp/stat-identity-ended's number to the directory made there next
  left: (2, 38)
 right: (2, 38)
stack backtrace:
   0:      0x10000062c80 - _Unwind_Backtrace
   1:      0x1000004c8c3 - <<std[467be37f4fecb369]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[73b405bef30eeff1]::fmt::Display>::fmt
   2:      0x10000066b67 - core[73b405bef30eeff1]::fmt::write
   3:      0x100000502eb - <std[467be37f4fecb369]::sys::stdio::toyos::Stderr as core[73b405bef30eeff1]::io::write::Write>::write_fmt
   4:      0x1000002ee83 - std[467be37f4fecb369]::panicking::default_hook::{closure#0}
   5:      0x1000004448e - std[467be37f4fecb369]::panicking::default_hook
   6:      0x10000044649 - std[467be37f4fecb369]::panicking::panic_with_hook
   7:      0x1000002ef3d - std[467be37f4fecb369]::panicking::panic_handler::{closure#0}
   8:      0x10000027639 - std[467be37f4fecb369]::sys::backtrace::__rust_end_short_backtrace::<std[467be37f4fecb369]::panicking::panic_handler::{closure#0}, !>
   9:      0x1000002f6a8 - __rustc[d0c72ce299f394e5]::rust_begin_unwind
  10:      0x1000006728b - core[73b405bef30eeff1]::panicking::panic_fmt
  11:      0x100000671ff - core[73b405bef30eeff1]::panicking::assert_failed_inner
  12:      0x10000019ec4 - core[73b405bef30eeff1]::panicking::assert_failed::<(u64, u64), (u64, u64)>
  13:      0x1000001ad80 - stat_identity[f051b572f8df868d]::main
  14:      0x1000001c3e6 - std[467be37f4fecb369]::sys::backtrace::__rust_begin_short_backtrace::<fn(), ()>
  15:      0x1000001c1e0 - std[467be37f4fecb369]::rt::lang_start::<()>::{closure#0}
  16:      0x10000043ed6 - std[467be37f4fecb369]::rt::lang_start_internal
  17:      0x1000001c1c1 - main
  18:      0x1000004b243 - std[467be37f4fecb369]::sys::pal::toyos::start_rust
  19:      0x1000001c486 - _start


===== kmut-green2.log =====
   Compiling toyos-build v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid)
    Finished `test` profile [optimized + debuginfo] target(s) in 0.64s
     Running tests/toyos.rs (target/debug/deps/toyos_build-6272c6e3847618b1)

06:34:19 running 1 tests, 12 wide

06:34:19   RUN   dirid_probe
06:34:20   BUILD x86_64 stat_identity of tests/toyos-rust-tests, for dirid_probe
06:34:22   BUILT x86_64 stat_identity of tests/toyos-rust-tests, for dirid_probe  (2s)
06:34:22   BUILD x86_64 kernel, loader, ROOT of tests/testcases, for dirid_probe
06:34:26 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
06:34:26   BUILT x86_64 kernel, loader, ROOT of tests/testcases, for dirid_probe  (4s)
06:34:31   PASS  dirid_probe  (6s)
06:34:31   --- 1 guests, 0 of them not the shipping kernel, 1 kernel build(s): [""]

06:34:31 host: fastest boot 4669 ms against the reference 1424 ms — liveness ceilings paid at 3.28x
06:34:31 host: 14 core(s); a guest wider than that waits vcpus/cores longer again
06:34:31 test result: ok. 1 passed, 1 total (11.7s; workers: 5s building, 6s testing)

===== kmut-green2.report =====
C 210_stat_identity: PASS exit=Some(0) err=None
--- got ---
two files on /tmp are two: yes
one file through two paths is one: yes
its open descriptor is the file: yes
a rename keeps the file: yes
its descriptor after the rename is the file: yes
a link is the file it names: yes
two files on /system are two: yes
/system and /tmp are two volumes: yes
two directories on /system are two: yes
a directory and its mount's root are two: yes
one directory through two paths is one: yes
a directory is on its mount's volume: yes
a directory is no file: yes
two links on /system are two: yes
a link is not the file it names: yes
d_ino is a directory's st_ino: yes
d_ino is a file's st_ino: yes
d_ino is a link's st_ino: yes
d_ino is a mount's st_ino: yes
d_ino on /tmp is st_ino: yes
--- want ---
two files on /tmp are two: yes
one file through two paths is one: yes
its open descriptor is the file: yes
a rename keeps the file: yes
its descriptor after the rename is the file: yes
a link is the file it names: yes
two files on /system are two: yes
/system and /tmp are two volumes: yes
two directories on /system are two: yes
a directory and its mount's root are two: yes
one directory through two paths is one: yes
a directory is on its mount's volume: yes
a directory is no file: yes
two links on /system are two: yes
a link is not the file it names: yes
d_ino is a directory's st_ino: yes
d_ino is a file's st_ino: yes
d_ino is a link's st_ino: yes
d_ino is a mount's st_ino: yes
d_ino on /tmp is st_ino: yes

RS stat_identity: PASS exit=Some(0) err=None
stat_identity: /tmp is volume 0x2, and its files are told apart
stat_identity: /home is volume 0x8000000000000003, and its files are told apart
stat_identity: /log is volume 0x8000000000000004, and its files are told apart
stat_identity: ok


===== kmut-truncate.log =====
    Finished `test` profile [optimized + debuginfo] target(s) in 0.21s
     Running tests/toyos.rs (target/debug/deps/toyos_build-6272c6e3847618b1)

06:34:31 running 1 tests, 12 wide

06:34:31   RUN   dirid_probe
06:34:32   BUILD x86_64 stat_identity of tests/toyos-rust-tests, for dirid_probe
06:34:34   BUILT x86_64 stat_identity of tests/toyos-rust-tests, for dirid_probe  (2s)
06:34:34   BUILD x86_64 kernel, loader, ROOT of tests/testcases, for dirid_probe
06:34:38 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
06:34:38   BUILT x86_64 kernel, loader, ROOT of tests/testcases, for dirid_probe  (4s)
06:34:43 FAIL dirid_probe: 1 members red; report at $DIRID_OUT
06:34:43   FAIL  dirid_probe  (6s)
06:34:43   --- 1 guests, 0 of them not the shipping kernel, 1 kernel build(s): [""]

06:34:43 host: fastest boot 4657 ms against the reference 1424 ms — liveness ceilings paid at 3.27x
06:34:43 host: 14 core(s); a guest wider than that waits vcpus/cores longer again
06:34:43 failures:
06:34:43     dirid_probe: 1 members red; report at $DIRID_OUT

06:34:43 test result: FAILED. 0 passed, 1 failed, 0 invalidated, 1 total (11.7s; workers: 5s building, 6s testing)
06:34:43 [toyos] this red run's serial logs are kept at /Users/<user>/Dev/jan/toyos-dirid/target/red-run-serial/toyos-tmp-24278-0
error: test failed, to rerun pass `--test toyos-build`

Caused by:
  process didn't exit successfully: `/Users/<user>/Dev/jan/toyos-dirid/target/debug/deps/toyos_build-6272c6e3847618b1 dirid_probe` (exit status: 1)

===== kmut-truncate.report =====
C 210_stat_identity: PASS exit=Some(0) err=None
--- got ---
two files on /tmp are two: yes
one file through two paths is one: yes
its open descriptor is the file: yes
a rename keeps the file: yes
its descriptor after the rename is the file: yes
a link is the file it names: yes
two files on /system are two: yes
/system and /tmp are two volumes: yes
two directories on /system are two: yes
a directory and its mount's root are two: yes
one directory through two paths is one: yes
a directory is on its mount's volume: yes
a directory is no file: yes
two links on /system are two: yes
a link is not the file it names: yes
d_ino is a directory's st_ino: yes
d_ino is a file's st_ino: yes
d_ino is a link's st_ino: yes
d_ino is a mount's st_ino: yes
d_ino on /tmp is st_ino: yes
--- want ---
two files on /tmp are two: yes
one file through two paths is one: yes
its open descriptor is the file: yes
a rename keeps the file: yes
its descriptor after the rename is the file: yes
a link is the file it names: yes
two files on /system are two: yes
/system and /tmp are two volumes: yes
two directories on /system are two: yes
a directory and its mount's root are two: yes
one directory through two paths is one: yes
a directory is on its mount's volume: yes
a directory is no file: yes
two links on /system are two: yes
a link is not the file it names: yes
d_ino is a directory's st_ino: yes
d_ino is a file's st_ino: yes
d_ino is a link's st_ino: yes
d_ino is a mount's st_ino: yes
d_ino on /tmp is st_ino: yes

RS stat_identity: FAIL exit=Some(101) err=None

thread 'main' (1) panicked at src/bin/stat_identity.rs:104:5:
assertion `left == right` failed: a truncating open of its one file renumbered /tmp/stat-identity-ended
  left: (2, 51)
 right: (2, 49)
stack backtrace:
   0:      0x10000062e40 - _Unwind_Backtrace
   1:      0x1000004ca83 - <<std[467be37f4fecb369]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[73b405bef30eeff1]::fmt::Display>::fmt
   2:      0x10000066d27 - core[73b405bef30eeff1]::fmt::write
   3:      0x100000504ab - <std[467be37f4fecb369]::sys::stdio::toyos::Stderr as core[73b405bef30eeff1]::io::write::Write>::write_fmt
   4:      0x1000002f043 - std[467be37f4fecb369]::panicking::default_hook::{closure#0}
   5:      0x1000004464e - std[467be37f4fecb369]::panicking::default_hook
   6:      0x10000044809 - std[467be37f4fecb369]::panicking::panic_with_hook
   7:      0x1000002f0fd - std[467be37f4fecb369]::panicking::panic_handler::{closure#0}
   8:      0x100000277f9 - std[467be37f4fecb369]::sys::backtrace::__rust_end_short_backtrace::<std[467be37f4fecb369]::panicking::panic_handler::{closure#0}, !>
   9:      0x1000002f868 - __rustc[d0c72ce299f394e5]::rust_begin_unwind
  10:      0x1000006744b - core[73b405bef30eeff1]::panicking::panic_fmt
  11:      0x100000673bf - core[73b405bef30eeff1]::panicking::assert_failed_inner
  12:      0x10000019f34 - core[73b405bef30eeff1]::panicking::assert_failed::<(u64, u64), (u64, u64)>
  13:      0x1000001b013 - stat_identity[f051b572f8df868d]::main
  14:      0x1000001c5a6 - std[467be37f4fecb369]::sys::backtrace::__rust_begin_short_backtrace::<fn(), ()>
  15:      0x1000001c3a0 - std[467be37f4fecb369]::rt::lang_start::<()>::{closure#0}
  16:      0x10000044096 - std[467be37f4fecb369]::rt::lang_start_internal
  17:      0x1000001c381 - main
  18:      0x1000004b403 - std[467be37f4fecb369]::sys::pal::toyos::start_rust
  19:      0x1000001c646 - _start


@Japabu

Japabu commented Oct 11, 2026

Copy link
Copy Markdown
Collaborator Author

metal-staged, part 1 of 1, cargo test --test toyos-build -- --metal --metal-readback <dir> stat_identity at ad23112, exit 2 (staged, machine untouched)

===== metal-stage.log =====
    Finished `test` profile [optimized + debuginfo] target(s) in 0.26s
     Running tests/toyos.rs (target/debug/deps/toyos_build-6272c6e3847618b1)
06:51:05   BUILD x86_64 binaries of tests/toyos-rust-tests
06:52:03   BUILT x86_64 binaries of tests/toyos-rust-tests  (57s)
06:52:03 [toyos] Compiling 138 C tests, and attempting 24 declared ones...
06:52:07 [metal] 0 registration(s) and 2 shared member(s) over 1 boot(s)
06:52:07   BUILD x86_64 kernel, loader, ROOT of /private/tmp/claude-502/-Users-<user>-Dev-jan-toyos/80e90c3a-7449-46b8-84cc-b59e9dd31ae9/scratchpad/dirid2/metal/testcases
06:52:09 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
06:52:09   BUILT x86_64 kernel, loader, ROOT of /private/tmp/claude-502/-Users-<user>-Dev-jan-toyos/80e90c3a-7449-46b8-84cc-b59e9dd31ae9/scratchpad/dirid2/metal/testcases  (2s)
06:52:09 [metal] testcases: 2 job(s) under a list bound of 60400 ms, armed with [] and a boot deadline of 120800 ms — /private/tmp/claude-502/-Users-<user>-Dev-jan-toyos/80e90c3a-7449-46b8-84cc-b59e9dd31ae9/scratchpad/dirid2/metal/testcases/image.img
# One boot per image. Each invocation is `cargo <words>` from this worktree.

testcases
  image: /private/tmp/claude-502/-Users-<user>-Dev-jan-toyos/80e90c3a-7449-46b8-84cc-b59e9dd31ae9/scratchpad/dirid2/metal/testcases/image.img
  cargo run --bin toyos-metal -- --image /private/tmp/claude-502/-Users-<user>-Dev-jan-toyos/80e90c3a-7449-46b8-84cc-b59e9dd31ae9/scratchpad/dirid2/metal/testcases/image.img --readback /private/tmp/claude-502/-Users-<user>-Dev-jan-toyos/80e90c3a-7449-46b8-84cc-b59e9dd31ae9/scratchpad/dirid2/metal/testcases --fat32-check
06:52:09 [metal] staged 1 image(s); /private/tmp/claude-502/-Users-<user>-Dev-jan-toyos/80e90c3a-7449-46b8-84cc-b59e9dd31ae9/scratchpad/dirid2/metal/request.txt lists them. The machine was not touched, so this run establishes nothing about it.
error: test failed, to rerun pass `--test toyos-build`

Caused by:
  process didn't exit successfully: `/Users/<user>/Dev/jan/toyos-dirid/target/debug/deps/toyos_build-6272c6e3847618b1 --metal --metal-readback /private/tmp/claude-502/-Users-<user>-Dev-jan-toyos/80e90c3a-7449-46b8-84cc-b59e9dd31ae9/scratchpad/dirid2/metal stat_identity` (exit status: 2)
EXIT=2

===== request.txt =====
# One boot per image. Each invocation is `cargo <words>` from this worktree.

testcases
  image: /private/tmp/claude-502/-Users-<user>-Dev-jan-toyos/80e90c3a-7449-46b8-84cc-b59e9dd31ae9/scratchpad/dirid2/metal/testcases/image.img
  cargo run --bin toyos-metal -- --image /private/tmp/claude-502/-Users-<user>-Dev-jan-toyos/80e90c3a-7449-46b8-84cc-b59e9dd31ae9/scratchpad/dirid2/metal/testcases/image.img --readback /private/tmp/claude-502/-Users-<user>-Dev-jan-toyos/80e90c3a-7449-46b8-84cc-b59e9dd31ae9/scratchpad/dirid2/metal/testcases --fat32-check

@Japabu

Japabu commented Oct 11, 2026

Copy link
Copy Markdown
Collaborator Author

throwaway-merge, part 1 of 1, the evidence tree 0a9180449 = #830's local head 46a27b9 + origin/main bb3344d + #854 de5faac + this branch 7cdd1ec; its one hand resolution, libc's posix_io.rs, against e0d185b5b (the tree before this branch merged): #854's realpath kept, its is_dir asked through SYS_STAT

diff --git a/userland/libc/src/posix_io.rs b/userland/libc/src/posix_io.rs
index 398c9ffd7..baa289907 100644
--- a/userland/libc/src/posix_io.rs
+++ b/userland/libc/src/posix_io.rs
@@ -133,31 +133,38 @@ pub unsafe extern "C" fn lseek(raw_fd: i32, offset: i64, whence: i32) -> i64 {
 
 #[no_mangle]
 pub unsafe extern "C" fn fstat(raw_fd: i32, buf: *mut Stat) -> i32 {
-    match syscall::fstat(fd(raw_fd)) {
-        Ok(st) => {
-            if !buf.is_null() {
-                ptr::write_bytes(buf, 0, 1);
-                let s = &mut *buf;
-                s.st_dev = st.volume;
-                s.st_ino = st.node;
-                s.st_size = st.size as i64;
-                s.st_mtim = Timespec {
-                    tv_sec: (st.mtime / NANOS_PER_SEC) as i64,
-                    tv_nsec: (st.mtime % NANOS_PER_SEC) as i64,
-                };
-                s.st_mode = match st.file_type {
-                    syscall::FileType::File => S_IFREG | 0o644,
-                    syscall::FileType::Pipe => S_IFIFO | 0o644,
-                    syscall::FileType::Tty => S_IFCHR | 0o644,
-                    syscall::FileType::Keyboard => S_IFCHR | 0o444,
-                    syscall::FileType::Serial => S_IFCHR | 0o644,
-                    _ => 0o644,
-                };
-            }
-            0
-        }
-        Err(e) => set_errno(e),
+    unsafe { answered(syscall::fstat(fd(raw_fd)), buf) }
+}
+
+/// `buf` filled from the kernel's `answer`, or `errno` from its refusal.
+unsafe fn answered(answer: Result<syscall::Stat, syscall::SyscallError>, buf: *mut Stat) -> i32 {
+    let st = match answer {
+        Ok(st) => st,
+        Err(e) => return set_errno(e),
+    };
+    if !buf.is_null() {
+        // SAFETY: C's caller hands one `struct stat` at `buf`.
+        unsafe { ptr::write_bytes(buf, 0, 1) };
+        let s = unsafe { &mut *buf };
+        s.st_dev = st.volume;
+        s.st_ino = st.node;
+        s.st_size = st.size as i64;
+        s.st_mtim = Timespec {
+            tv_sec: (st.mtime / NANOS_PER_SEC) as i64,
+            tv_nsec: (st.mtime % NANOS_PER_SEC) as i64,
+        };
+        s.st_mode = match st.file_type {
+            syscall::FileType::File => S_IFREG | 0o644,
+            syscall::FileType::Directory => S_IFDIR | 0o755,
+            syscall::FileType::Symlink => S_IFLNK | 0o777,
+            syscall::FileType::Pipe => S_IFIFO | 0o644,
+            syscall::FileType::Tty => S_IFCHR | 0o644,
+            syscall::FileType::Keyboard => S_IFCHR | 0o444,
+            syscall::FileType::Serial => S_IFCHR | 0o644,
+            _ => 0o644,
+        };
     }
+    0
 }
 
 #[no_mangle]
@@ -288,56 +295,15 @@ pub unsafe extern "C" fn chdir(path: *const u8) -> i32 {
     }
 }
 
-/// Whether `path` names a directory, asked through `readdir`.
-///
-/// `open` refuses every directory, so this is the only way to tell. The buffer
-/// is deliberately tiny — only whether the kernel accepted the path matters,
-/// and a listing that does not fit is reported rather than written, so a
-/// directory too large to list is still a yes.
-unsafe fn is_dir(path_bytes: &[u8]) -> bool {
-    let mut probe = [0u8; 1];
-    matches!(
-        syscall::readdir(path_bytes, &mut probe),
-        Ok(_) | Err(syscall::SyscallError::ResourceExhausted)
-    )
-}
-
-/// Fill `buf` with what a directory looks like to `stat`: a mode and nothing
-/// else, because `readdir` answers existence and the kernel keeps no size or
-/// mtime for one.
-unsafe fn stat_a_directory(buf: *mut Stat) -> i32 {
-    if !buf.is_null() {
-        ptr::write_bytes(buf, 0, 1);
-        (*buf).st_mode = S_IFDIR | 0o755;
-    }
-    0
-}
-
-// stat by path: open + fstat + close, or readdir for what open refuses
 #[no_mangle]
 pub unsafe extern "C" fn stat(path: *const u8, buf: *mut Stat) -> i32 {
-    stat_impl(path, buf)
+    unsafe { answered(syscall::stat(c_str_to_bytes(path), true), buf) }
 }
 
 /// `stat` that does not follow a final symbolic link.
-///
-/// `SYS_READLINK` is what distinguishes one, and it is asked first: it succeeds
-/// on a link and on nothing else, so a success is both the answer and the
-/// target length `st_size` reports. Everything else is [`stat`].
 #[no_mangle]
 pub unsafe extern "C" fn lstat(path: *const u8, buf: *mut Stat) -> i32 {
-    let path_bytes = c_str_to_bytes(path);
-    let mut target = [0u8; 4096];
-    if let Ok(n) = syscall::readlink(path_bytes, &mut target) {
-        if !buf.is_null() {
-            ptr::write_bytes(buf, 0, 1);
-            let s = &mut *buf;
-            s.st_mode = S_IFLNK | 0o777;
-            s.st_size = n as i64;
-        }
-        return 0;
-    }
-    stat_impl(path, buf)
+    unsafe { answered(syscall::stat(c_str_to_bytes(path), false), buf) }
 }
 
 /// `SYS_READLINK` answers `NotFound` for a path that is no link as for one
@@ -353,8 +319,8 @@ pub unsafe extern "C" fn readlink(path: *const u8, buf: *mut u8, size: usize) ->
     match syscall::readlink(c_str_to_bytes(path), target) {
         Ok(n) => n as isize,
         Err(syscall::SyscallError::NotFound) => {
-            // `stat_impl` sets `errno` for a path that names nothing.
-            if unsafe { stat_impl(path, ptr::null_mut()) } == 0 {
+            // `stat` sets `errno` for a path that names nothing.
+            if unsafe { stat(path, ptr::null_mut()) } == 0 {
                 crate::errno::set(EINVAL);
             }
             -1
@@ -375,8 +341,7 @@ impl crate::resolve::Kernel for TheKernel {
     }
 
     fn is_dir(&mut self, at: &[u8]) -> bool {
-        // SAFETY: `is_dir` reads only `at`.
-        unsafe { is_dir(at) }
+        syscall::stat(at, true).is_ok_and(|st| st.file_type == syscall::FileType::Directory)
     }
 }
 
@@ -408,29 +373,10 @@ pub unsafe extern "C" fn realpath(path: *const u8, resolved: *mut u8) -> *mut u8
     out
 }
 
-unsafe fn stat_impl(path: *const u8, buf: *mut Stat) -> i32 {
-    let path_bytes = c_str_to_bytes(path);
-    // Try opening read-only
-    match syscall::open(path_bytes, OpenFlags::READ) {
-        Ok(f) => {
-            let result = fstat(f.0 as i32, buf);
-            syscall::close(f);
-            result
-        }
-        Err(_) if is_dir(path_bytes) => stat_a_directory(buf),
-        Err(e) => set_errno(e),
-    }
-}
-
+/// ToyOS has no permissions model: whether `path` names anything.
 #[no_mangle]
 pub unsafe extern "C" fn access(path: *const u8, _mode: i32) -> i32 {
-    // ToyOS has no permissions model; just check existence
-    let path_bytes = c_str_to_bytes(path);
-    match syscall::open(path_bytes, OpenFlags::READ) {
-        Ok(f) => { syscall::close(f); 0 }
-        Err(_) if is_dir(path_bytes) => 0,
-        Err(e) => set_errno(e),
-    }
+    unsafe { stat(path, ptr::null_mut()) }
 }
 
 #[no_mangle]
@@ -515,7 +461,6 @@ pub unsafe extern "C" fn opendir(path: *const u8) -> *mut DIR {
 pub unsafe extern "C" fn readdir(dir: *mut DIR) -> *mut dirent {
     if dir.is_null() { return ptr::null_mut(); }
     let d = &mut *dir;
-    let start = d.at;
     let Some(entry) = syscall::dirent(&d.listing, &mut d.at) else { return ptr::null_mut() };
     let Some(d_name) = crate::listing::d_name(entry.name) else {
         crate::errno::set(crate::errno::EOVERFLOW);
@@ -525,7 +470,7 @@ pub unsafe extern "C" fn readdir(dir: *mut DIR) -> *mut dirent {
     // Use a static buffer for the dirent (not thread-safe, matching POSIX convention)
     static mut DIRENT_BUF: dirent = dirent { d_ino: 0, d_type: 0, d_name: [0; crate::listing::D_NAME] };
     let ent = &raw mut DIRENT_BUF;
-    ent.write(dirent { d_ino: (start + 1) as u64, d_type: if entry.is_dir { DT_DIR } else { DT_UNKNOWN }, d_name });
+    ent.write(dirent { d_ino: entry.node, d_type: if entry.is_dir { DT_DIR } else { DT_UNKNOWN }, d_name });
     ent
 }
 

@Japabu

Japabu commented Oct 11, 2026

Copy link
Copy Markdown
Collaborator Author

throwaway-build, part 1 of 1, cargo run -- --build-only at the evidence tree 45f5c2eb (0a9180449), exit 0

   Compiling toyos-abi v0.16.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-abi)
   Compiling toyos-manifest v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-manifest)
   Compiling toyos-logstream v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-logstream)
   Compiling toyos-symbols v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-symbols)
   Compiling toyos-swap v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-swap)
   Compiling toyos-build v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang)
    Finished `dev` profile [optimized + debuginfo] target(s) in 6.93s
     Running `target/debug/toyos-build --build-only`
06:50:24 Making /Users/<user>/Dev/jan/toyos-dirid-clang/rust a fork checkout at b9cc8392f0eb21330160352e0abd85602b419b23 (a git worktree of the primary's)
Preparing worktree (detached HEAD b9cc8392f0e)
Updating files:  16% (10334/61540)
Updating files:  17% (10462/61540)
Updating files:  18% (11078/61540)
Updating files:  19% (11693/61540)
Updating files:  20% (12308/61540)
Updating files:  21% (12924/61540)
Updating files:  22% (13539/61540)
Updating files:  23% (14155/61540)
Updating files:  24% (14770/61540)
Updating files:  25% (15385/61540)
Updating files:  26% (16001/61540)
Updating files:  27% (16616/61540)
Updating files:  28% (17232/61540)
Updating files:  29% (17847/61540)
Updating files:  30% (18462/61540)
Updating files:  31% (19078/61540)
Updating files:  32% (19693/61540)
Updating files:  33% (20309/61540)
Updating files:  34% (20924/61540)
Updating files:  35% (21539/61540)
Updating files:  36% (22155/61540)
Updating files:  36% (22374/61540)
Updating files:  37% (22770/61540)
Updating files:  38% (23386/61540)
Updating files:  39% (24001/61540)
Updating files:  40% (24616/61540)
Updating files:  41% (25232/61540)
Updating files:  42% (25847/61540)
Updating files:  43% (26463/61540)
Updating files:  44% (27078/61540)
Updating files:  45% (27693/61540)
Updating files:  45% (28073/61540)
Updating files:  46% (28309/61540)
Updating files:  47% (28924/61540)
Updating files:  48% (29540/61540)
Updating files:  49% (30155/61540)
Updating files:  50% (30770/61540)
Updating files:  51% (31386/61540)
Updating files:  52% (32001/61540)
Updating files:  53% (32617/61540)
Updating files:  54% (33232/61540)
Updating files:  55% (33847/61540)
Updating files:  56% (34463/61540)
Updating files:  56% (34595/61540)
Updating files:  57% (35078/61540)
Updating files:  58% (35694/61540)
Updating files:  59% (36309/61540)
Updating files:  60% (36924/61540)
Updating files:  61% (37540/61540)
Updating files:  62% (38155/61540)
Updating files:  63% (38771/61540)
Updating files:  64% (39386/61540)
Updating files:  65% (40001/61540)
Updating files:  66% (40617/61540)
Updating files:  67% (41232/61540)
Updating files:  68% (41848/61540)
Updating files:  69% (42463/61540)
Updating files:  70% (43078/61540)
Updating files:  71% (43694/61540)
Updating files:  72% (44309/61540)
Updating files:  73% (44925/61540)
Updating files:  74% (45540/61540)
Updating files:  75% (46155/61540)
Updating files:  76% (46771/61540)
Updating files:  77% (47386/61540)
Updating files:  78% (48002/61540)
Updating files:  79% (48617/61540)
Updating files:  79% (48733/61540)
Updating files:  80% (49232/61540)
Updating files:  81% (49848/61540)
Updating files:  82% (50463/61540)
Updating files:  83% (51079/61540)
Updating files:  84% (51694/61540)
Updating files:  85% (52309/61540)
Updating files:  86% (52925/61540)
Updating files:  87% (53540/61540)
Updating files:  88% (54156/61540)
Updating files:  89% (54771/61540)
Updating files:  90% (55386/61540)
Updating files:  91% (56002/61540)
Updating files:  92% (56617/61540)
Updating files:  93% (57233/61540)
Updating files:  94% (57848/61540)
Updating files:  95% (58463/61540)
Updating files:  96% (59079/61540)
Updating files:  97% (59694/61540)
Updating files:  98% (60310/61540)
Updating files:  99% (60925/61540)
Updating files: 100% (61540/61540)
Updating files: 100% (61540/61540), done.
HEAD is now at b9cc8392f0e llvm: ScalarEvolution's fix without its measurement switch
Preparing worktree (detached HEAD f8a3e68)
HEAD is now at f8a3e68 Merge upstream rust-lang/backtrace-rs (2026-08-02)
06:50:32 Building sysroot 7a788d7f5b1bfa4c: ToyOS's std from /Users/<user>/Dev/jan/toyos-dirid-clang/rust, the compiler /Users/<user>/.cache/toyos/compilers/1d9b41d3395d9551/stage2, the freestanding libraries 3a44ad7bb371012a
06:50:32 Building bootstrap
06:50:34    Compiling libc v0.2.186
06:50:34    Compiling proc-macro2 v1.0.89
06:50:34    Compiling typenum v1.17.0
06:50:34    Compiling version_check v0.9.5
06:50:34    Compiling unicode-ident v1.0.13
06:50:34    Compiling memchr v2.7.6
06:50:34    Compiling shlex v1.3.0
06:50:34    Compiling find-msvc-tools v0.1.9
06:50:34    Compiling cfg-if v1.0.0
06:50:34    Compiling crossbeam-utils v0.8.20
06:50:34    Compiling serde v1.0.215
06:50:34    Compiling pkg-config v0.3.31
06:50:34    Compiling getrandom v0.3.2
06:50:34    Compiling regex-syntax v0.8.5
06:50:34    Compiling heck v0.5.0
06:50:34    Compiling clap_lex v0.7.2
06:50:34    Compiling cc v1.2.62
06:50:34    Compiling anstyle v1.0.10
06:50:34    Compiling rustix v1.1.4
06:50:34    Compiling generic-array v0.14.7
06:50:34    Compiling semver v1.0.23
06:50:34    Compiling clap_builder v4.5.20
06:50:34    Compiling aho-corasick v1.1.3
06:50:34    Compiling bstr v1.10.0
06:50:34    Compiling object v0.37.3
06:50:34    Compiling same-file v1.0.6
06:50:35    Compiling log v0.4.22
06:50:35    Compiling serde_json v1.0.132
06:50:35    Compiling bitflags v2.6.0
06:50:35    Compiling walkdir v2.5.0
06:50:35    Compiling crossbeam-epoch v0.9.18
06:50:35    Compiling once_cell v1.20.2
06:50:35    Compiling fastrand v2.3.0
06:50:35    Compiling quote v1.0.37
06:50:35    Compiling errno v0.3.14
06:50:35    Compiling filetime v0.2.27
06:50:35    Compiling cpufeatures v0.2.15
06:50:35    Compiling ryu v1.0.18
06:50:35    Compiling crossbeam-deque v0.8.5
06:50:35    Compiling itoa v1.0.11
06:50:35    Compiling bootstrap v0.0.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/rust/src/bootstrap)
06:50:35    Compiling tar v0.4.46
06:50:35    Compiling syn v2.0.87
06:50:35    Compiling cmake v0.1.54
06:50:35    Compiling regex-automata v0.4.9
06:50:35    Compiling lzma-sys v0.1.20
06:50:35    Compiling opener v0.8.4
06:50:35    Compiling home v0.5.12
06:50:35    Compiling build_helper v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/rust/src/build_helper)
06:50:35    Compiling termcolor v1.4.1
06:50:35    Compiling crypto-common v0.1.6
06:50:35    Compiling block-buffer v0.10.4
06:50:36    Compiling digest v0.10.7
06:50:36    Compiling sha2 v0.10.8
06:50:36    Compiling tempfile v3.27.0
06:50:36    Compiling toml v0.5.11
06:50:36    Compiling globset v0.4.15
06:50:37    Compiling ignore v0.4.23
06:50:37    Compiling clap_derive v4.5.18
06:50:37    Compiling serde_derive v1.0.215
06:50:37    Compiling clap v4.5.20
06:50:38    Compiling clap_complete v4.5.37
06:50:38    Compiling xz2 v0.1.7
06:50:46     Finished `dev` profile [unoptimized] target(s) in 13.54s
06:50:47 downloading https://static.rust-lang.org/dist/2026-07-13/rustfmt-nightly-aarch64-apple-darwin.tar.xz
06:50:47 
##                                                                         3.0%
######################################################################## 100.0%
06:50:47 extracting /Users/<user>/Dev/jan/toyos-dirid-clang/rust/build/toyos-std/cache/2026-07-13/rustfmt-nightly-aarch64-apple-darwin.tar.xz to /Users/<user>/Dev/jan/toyos-dirid-clang/rust/build/toyos-std/aarch64-apple-darwin/rustfmt
06:50:47 downloading https://static.rust-lang.org/dist/2026-07-13/rustc-nightly-aarch64-apple-darwin.tar.xz
06:50:48 
                                                                           0.3%
#########                                                                 13.5%
################################                                          44.7%
######################################################                    75.8%
######################################################################## 100.0%
06:50:49 extracting /Users/<user>/Dev/jan/toyos-dirid-clang/rust/build/toyos-std/cache/2026-07-13/rustc-nightly-aarch64-apple-darwin.tar.xz to /Users/<user>/Dev/jan/toyos-dirid-clang/rust/build/toyos-std/aarch64-apple-darwin/rustfmt
06:50:54 WARNING: running build in stage 0. This might not work as expected.
06:50:54 Building stage0 library artifacts{alloc, compiler_builtins, core, panic_abort, panic_unwind, proc_macro, rustc-std-workspace-core, std, std_detect, sysroot, test, unwind} (stage0:aarch64-apple-darwin -> stage0:x86_64-unknown-toyos)
06:50:54     Updating crates.io index
06:50:55      Locking 2 packages to latest compatible versions
06:50:55     Updating toyos v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos) -> v0.18.0
06:50:55     Updating toyos-abi v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-abi) -> v0.16.0
06:50:55    Compiling compiler_builtins v0.1.160 (/Users/<user>/Dev/jan/toyos-dirid-clang/rust/library/compiler-builtins/compiler-builtins)
06:50:55    Compiling core v0.0.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/rust/library/core)
06:50:55    Compiling libc v0.2.189
06:50:55    Compiling object v0.39.1
06:50:55    Compiling std v0.0.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/rust/library/std)
06:50:55    Compiling test v0.0.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/rust/library/test)
06:51:06    Compiling rustc-std-workspace-core v1.99.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/rust/library/rustc-std-workspace-core)
06:51:06    Compiling alloc v0.0.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/rust/library/alloc)
06:51:06    Compiling toyos-abi v0.16.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-abi)
06:51:06    Compiling adler2 v2.0.1
06:51:06    Compiling cfg-if v1.0.4
06:51:06    Compiling memchr v2.8.3
06:51:06    Compiling panic_abort v0.0.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/rust/library/panic_abort)
06:51:06    Compiling rustc-demangle v0.1.28
06:51:06    Compiling rustc-literal-escaper v0.0.8
06:51:06    Compiling dlmalloc v0.2.14
06:51:07    Compiling toyos v0.18.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos)
06:51:09    Compiling rustc-std-workspace-alloc v1.99.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/rust/library/rustc-std-workspace-alloc)
06:51:09    Compiling gimli v0.34.0
06:51:09    Compiling std_detect v0.1.5 (/Users/<user>/Dev/jan/toyos-dirid-clang/rust/library/std_detect)
06:51:09    Compiling hashbrown v0.17.1
06:51:09    Compiling miniz_oxide v0.9.1
06:51:11    Compiling unwinding v0.2.10
06:51:11    Compiling addr2line v0.27.1
06:51:11    Compiling unwind v0.0.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/rust/library/unwind)
06:51:11    Compiling panic_unwind v0.0.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/rust/library/panic_unwind)
06:51:13 warning: function `exit` is never used
06:51:13    --> library/std/src/sys/pal/../../../../../../sdk/std/sys/pal/os.rs:113:8
06:51:13     |
06:51:13 113 | pub fn exit(code: i32) -> ! {
06:51:13     |        ^^^^
06:51:13     |
06:51:13     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default

06:51:13 warning: function `getpid` is never used
06:51:13    --> library/std/src/sys/pal/../../../../../../sdk/std/sys/pal/os.rs:117:8
06:51:13     |
06:51:13 117 | pub fn getpid() -> u32 {
06:51:13     |        ^^^^^^

06:51:13 warning: field `eh_frame_hdr_size` is never read
06:51:13    --> library/std/src/sys/pal/../../../../../../sdk/std/sys/pal/mod.rs:228:9
06:51:13     |
06:51:13 224 |     struct Module {
06:51:13     |            ------ field in this struct
06:51:13 ...
06:51:13 228 |         eh_frame_hdr_size: usize,
06:51:13     |         ^^^^^^^^^^^^^^^^^

06:51:19 warning: `std` (lib) generated 3 warnings
06:51:19    Compiling rustc-std-workspace-std v1.99.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/rust/library/rustc-std-workspace-std)
06:51:19    Compiling proc_macro v0.0.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/rust/library/proc_macro)
06:51:19    Compiling getopts v0.2.24
06:51:20    Compiling sysroot v0.0.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/rust/library/sysroot)
06:51:22     Finished `dist` profile [optimized + debuginfo] target(s) in 28.30s
06:51:23 Building stage0 library artifacts{alloc, compiler_builtins, core, panic_abort, panic_unwind, proc_macro, rustc-std-workspace-core, std, std_detect, sysroot, test, unwind} (stage0:aarch64-apple-darwin -> stage0:aarch64-unknown-toyos)
06:51:24    Compiling compiler_builtins v0.1.160 (/Users/<user>/Dev/jan/toyos-dirid-clang/rust/library/compiler-builtins/compiler-builtins)
06:51:24    Compiling core v0.0.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/rust/library/core)
06:51:24    Compiling libc v0.2.189
06:51:24    Compiling object v0.39.1
06:51:24    Compiling std v0.0.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/rust/library/std)
06:51:24    Compiling test v0.0.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/rust/library/test)
06:51:36    Compiling rustc-std-workspace-core v1.99.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/rust/library/rustc-std-workspace-core)
06:51:36    Compiling alloc v0.0.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/rust/library/alloc)
06:51:36    Compiling cfg-if v1.0.4
06:51:36    Compiling toyos-abi v0.16.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-abi)
06:51:36    Compiling memchr v2.8.3
06:51:36    Compiling adler2 v2.0.1
06:51:36    Compiling panic_abort v0.0.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/rust/library/panic_abort)
06:51:36    Compiling rustc-demangle v0.1.28
06:51:36    Compiling rustc-literal-escaper v0.0.8
06:51:36    Compiling dlmalloc v0.2.14
06:51:37    Compiling toyos v0.18.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos)
06:51:39    Compiling rustc-std-workspace-alloc v1.99.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/rust/library/rustc-std-workspace-alloc)
06:51:39    Compiling gimli v0.34.0
06:51:39    Compiling hashbrown v0.17.1
06:51:39    Compiling std_detect v0.1.5 (/Users/<user>/Dev/jan/toyos-dirid-clang/rust/library/std_detect)
06:51:39    Compiling miniz_oxide v0.9.1
06:51:41    Compiling unwinding v0.2.10
06:51:41    Compiling addr2line v0.27.1
06:51:41    Compiling unwind v0.0.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/rust/library/unwind)
06:51:41    Compiling panic_unwind v0.0.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/rust/library/panic_unwind)
06:51:45 warning: function `exit` is never used
06:51:45    --> library/std/src/sys/pal/../../../../../../sdk/std/sys/pal/os.rs:113:8
06:51:45     |
06:51:45 113 | pub fn exit(code: i32) -> ! {
06:51:45     |        ^^^^
06:51:45     |
06:51:45     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default

06:51:45 warning: function `getpid` is never used
06:51:45    --> library/std/src/sys/pal/../../../../../../sdk/std/sys/pal/os.rs:117:8
06:51:45     |
06:51:45 117 | pub fn getpid() -> u32 {
06:51:45     |        ^^^^^^

06:51:45 warning: field `eh_frame_hdr_size` is never read
06:51:45    --> library/std/src/sys/pal/../../../../../../sdk/std/sys/pal/mod.rs:228:9
06:51:45     |
06:51:45 224 |     struct Module {
06:51:45     |            ------ field in this struct
06:51:45 ...
06:51:45 228 |         eh_frame_hdr_size: usize,
06:51:45     |         ^^^^^^^^^^^^^^^^^

06:51:51 warning: `std` (lib) generated 3 warnings
06:51:51    Compiling rustc-std-workspace-std v1.99.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/rust/library/rustc-std-workspace-std)
06:51:51    Compiling proc_macro v0.0.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/rust/library/proc_macro)
06:51:51    Compiling getopts v0.2.24
06:51:52    Compiling sysroot v0.0.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/rust/library/sysroot)
06:51:55     Finished `dist` profile [optimized + debuginfo] target(s) in 32.18s
06:51:55 Build completed successfully in 0:01:22
06:51:55 Checking that the compilers of /Users/<user>/.cache/toyos/sysroots/7a788d7f5b1bfa4c.partial keep a loop's last exit
06:52:00 Building toyos-libc for sysroot...
   Compiling toyos-abi v0.16.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-abi)
   Compiling cfg-if v1.0.4
   Compiling toyos-osrelease v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-osrelease)
   Compiling toyos-elf v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-elf)
   Compiling dlmalloc v0.2.13
   Compiling toyos v0.18.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos)
   Compiling toyos-libc v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/userland/libc)
    Finished `release` profile [optimized] target(s) in 3.16s
06:52:04 Building toyos-libc for sysroot...
   Compiling cfg-if v1.0.4
   Compiling toyos-abi v0.16.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-abi)
   Compiling toyos-osrelease v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-osrelease)
   Compiling toyos-elf v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-elf)
   Compiling dlmalloc v0.2.13
   Compiling toyos v0.18.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos)
   Compiling toyos-libc v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/userland/libc)
    Finished `release` profile [optimized] target(s) in 1.64s
    Updating git repository `https://github.com/evmar/n2`
  Installing n2 v0.1.0 (https://github.com/evmar/n2?rev=b1fead52ccda0c497d816696f23f4099c3e8ec1f#b1fead52)
warning: default toolchain implicitly overridden with `stable-aarch64-apple-darwin` by environment variable
  |
  = help: use `cargo +stable install` if you meant to use the stable toolchain
  = note: rustup selects the toolchain based on the parent environment and not the environment of the package being installed
    Updating crates.io index
   Compiling libc v0.2.169
   Compiling anyhow v1.0.95
   Compiling lexopt v0.3.0
   Compiling rustc-hash v1.1.0
   Compiling n2 v0.1.0 (/Users/<user>/.cargo/git/checkouts/n2-c60643ba0e319c73/b1fead5)
warning: direct cast of function item into an integer
  --> src/signal.rs:22:42
   |
22 |         sa.sa_sigaction = sigint_handler as libc::sighandler_t;
   |                                          ^^^^^^^^^^^^^^^^^^^^^
   |
   = note: `#[warn(function_casts_as_integer)]` on by default
help: first cast to a pointer `as *const ()`
   |
22 |         sa.sa_sigaction = sigint_handler as *const () as libc::sighandler_t;
   |                                          ++++++++++++

warning: `n2` (lib) generated 1 warning (run `cargo fix --lib -p n2` to apply 1 suggestion)
    Finished `release` profile [optimized + debuginfo] target(s) in 4.62s
  Installing /Users/<user>/Dev/jan/toyos-dirid-clang/target/n2/172fb458445ac68d/bin/n2
   Installed package `n2 v0.1.0 (https://github.com/evmar/n2?rev=b1fead52ccda0c497d816696f23f4099c3e8ec1f#b1fead52)` (executable `n2`)
warning: be sure to add `/Users/<user>/Dev/jan/toyos-dirid-clang/target/n2/172fb458445ac68d/bin` to your PATH to be able to run the installed binaries
06:52:12 Building the C++ runtime for x86_64-unknown-toyos under /Users/<user>/Dev/jan/toyos-dirid-clang/target/n2/172fb458445ac68d/bin/ninja
06:52:21 Building the C++ runtime for aarch64-unknown-toyos under /Users/<user>/Dev/jan/toyos-dirid-clang/target/n2/172fb458445ac68d/bin/ninja
   Compiling toyos-abi v0.16.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-abi)
   Compiling toyos-phys v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-phys)
   Compiling cfg-if v1.0.4
   Compiling toyos-elf v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-elf)
   Compiling toyos-wallclock v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-wallclock)
   Compiling toyos-elide v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-elide)
   Compiling rustc-demangle v0.1.27
   Compiling toyos-tsc v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-tsc)
   Compiling toyos-untrusted v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-untrusted)
   Compiling toyos-random v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-random)
   Compiling toyos-ps2 v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/kernel/ps2)
   Compiling toyos-blockhold v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-blockhold)
   Compiling bcachefs v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/bcachefs)
   Compiling toyos-tco v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-tco)
   Compiling dlmalloc v0.2.13
   Compiling toyos-its v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-its)
   Compiling toyos-quiesce v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-quiesce)
   Compiling toyos-xhci v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-xhci)
   Compiling toyos-fat32 v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-fat32)
   Compiling toyos-blackbox v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-blackbox)
   Compiling toyos-usbhid v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-usbhid)
   Compiling hashbrown v0.16.1
   Compiling toyos-gpt v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-gpt)
   Compiling toyos-rootimage v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-rootimage)
   Compiling toyos-gicv3 v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/kernel/gicv3)
   Compiling toyos-cpuvuln v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-cpuvuln)
   Compiling toyos-hda v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-hda)
   Compiling toyos-dma v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/kernel/dma)
   Compiling toyos-bootmap v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-bootmap)
   Compiling toyos-pci v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/kernel/pci)
   Compiling toyos-symbols v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-symbols)
   Compiling toyos-acpi v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-acpi)
   Compiling toyos-smmu v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-smmu)
   Compiling toyos-userbound v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-userbound)
   Compiling kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/kernel)
    Finished `toyos` profile [optimized + debuginfo] target(s) in 9.63s
   Compiling version_check v0.9.5
   Compiling typenum v1.20.1
   Compiling semver v1.0.28
   Compiling cpufeatures v0.2.17
   Compiling cfg-if v1.0.4
   Compiling signature v2.2.0
   Compiling subtle v2.6.1
   Compiling toyos-sha2 v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-sha2)
   Compiling toyos-abi v0.16.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-abi)
   Compiling toyos-wallclock v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-wallclock)
   Compiling bcachefs v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/bcachefs)
   Compiling toyos-random v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-random)
   Compiling toyos-tsc v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-tsc)
   Compiling toyos-elf v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-elf)
   Compiling toyos-blackbox v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-blackbox)
   Compiling toyos-rootimage v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-rootimage)
   Compiling ed25519 v2.2.3
   Compiling toyos-tco v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-tco)
   Compiling toyos-sha2-hw v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-sha2-hw)
   Compiling toyos-gpt v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-gpt)
   Compiling rustc_version v0.4.1
   Compiling generic-array v0.14.7
   Compiling toyos-bootmap v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-bootmap)
   Compiling curve25519-dalek v4.1.3
   Compiling toyos-acpi v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-acpi)
   Compiling crypto-common v0.1.7
   Compiling block-buffer v0.10.4
   Compiling digest v0.10.7
   Compiling sha2 v0.10.9
   Compiling ed25519-dalek v2.2.0
   Compiling toyos-update v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-update)
   Compiling bootloader v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/bootloader)
    Finished `toyos` profile [optimized + debuginfo] target(s) in 3.89s
   Compiling toyos-abi v0.16.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-abi)
   Compiling cfg-if v1.0.4
   Compiling typenum v1.20.1
   Compiling subtle v2.6.1
   Compiling zeroize v1.9.0
   Compiling cmov v0.5.3
   Compiling rand_core v0.10.0
   Compiling getrandom v0.4.2 (https://github.com/ToyOSOrg/getrandom?branch=toyos-0.4#f0286c8b)
   Compiling cpufeatures v0.2.17
   Compiling const-oid v0.10.2
   Compiling proc-macro2 v1.0.106
   Compiling unicode-ident v1.0.24
   Compiling quote v1.0.45
   Compiling generic-array v0.14.7
   Compiling base64ct v1.8.3
   Compiling autocfg v1.5.1
   Compiling cpubits v0.1.0
   Compiling cpufeatures v0.3.0
   Compiling libc v0.2.190
   Compiling const-oid v0.9.6
   Compiling toyos-keymap v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-keymap)
   Compiling toyos-font v0.2.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/userland/toyos-font)
   Compiling pin-project-lite v0.2.17
   Compiling ctutils v0.4.2
   Compiling toyos-untrusted v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-untrusted)
   Compiling pem-rfc7468 v1.0.0
   Compiling rustcrypto-ff v0.14.0-rc.1
   Compiling shlex v1.3.0
   Compiling find-msvc-tools v0.1.9
   Compiling base16ct v1.0.0
   Compiling zerocopy v0.8.47
   Compiling allocator-api2 v0.2.21
   Compiling toyos v0.18.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos)
   Compiling getrandom v0.2.17 (https://github.com/ToyOSOrg/getrandom?branch=toyos-0.2-sdk-0.12#2092d1cc)
   Compiling num-traits v0.2.19
   Compiling der v0.8.0
   Compiling rand_core v0.6.4
   Compiling cc v1.2.56
   Compiling rustcrypto-group v0.14.0-rc.1
   Compiling toyos-manifest v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-manifest)
   Compiling hybrid-array v0.4.8
   Compiling equivalent v1.0.2
   Compiling foldhash v0.1.5
   Compiling ttf-parser v0.21.1
   Compiling opaque-debug v0.3.1
   Compiling hashbrown v0.15.5
   Compiling syn v2.0.117
   Compiling toyos-window v0.20.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/userland/toyos-window)
   Compiling toyos-sha2 v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-sha2)
   Compiling crypto-common v0.1.7
   Compiling block-buffer v0.10.4
   Compiling block-padding v0.3.3
   Compiling universal-hash v0.5.1
   Compiling digest v0.10.7
   Compiling inout v0.1.4
   Compiling num-integer v0.1.46
   Compiling crypto-common v0.2.1
   Compiling block-buffer v0.12.0
   Compiling block-padding v0.4.2
   Compiling spki v0.8.0-rc.4
   Compiling crypto-bigint v0.7.3
   Compiling sha2 v0.10.9
   Compiling inout v0.2.2
   Compiling cipher v0.4.4
   Compiling sec1 v0.8.1
   Compiling ring v0.17.14 (https://github.com/ToyOSOrg/ring?branch=toyos-0.17.14#34818c45)
   Compiling bytes v1.12.1
   Compiling once_cell v1.21.4
   Compiling libm v0.2.16
   Compiling fontdue v0.9.3
   Compiling rustls-pki-types v1.15.1
   Compiling digest v0.11.1
   Compiling cipher v0.5.1
   Compiling universal-hash v0.6.1
   Compiling polyval v0.7.1
   Compiling aead v0.6.0-rc.10
   Compiling hmac v0.13.0-rc.5
   Compiling sha2 v0.11.0-rc.5
   Compiling ghash v0.6.0
   Compiling aes v0.9.0-rc.4
   Compiling pbkdf2 v0.13.0-rc.9
   Compiling ctr v0.10.0-rc.4
   Compiling salsa20 v0.11.0
   Compiling cbc v0.2.0-rc.4
   Compiling signature v3.0.0-rc.10
   Compiling hkdf v0.13.0-rc.5
   Compiling rfc6979 v0.5.0-rc.5
   Compiling toyos-sha2-hw v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-sha2-hw)
   Compiling toyos-transport v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-blockring/transport)
   Compiling crc32fast v1.5.0
   Compiling untrusted v0.9.0
   Compiling tracing-core v0.1.36
   Compiling memchr v2.8.0
   Compiling serde_core v1.0.228
   Compiling cfg_aliases v0.2.1
   Compiling toyos-net-wire v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-net-wire)
   Compiling aes-gcm v0.11.0-rc.3
   Compiling toyos-blockhold v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-blockhold)
   Compiling httparse v1.10.1
   Compiling bitflags v2.11.0
   Compiling rustix v1.1.5
   Compiling toyos-wallclock v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-wallclock)
   Compiling scrypt v0.12.0-rc.10
   Compiling tracing v0.1.44
   Compiling toyos-blockring v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-blockring)
   Compiling pkcs5 v0.8.0-rc.13
   Compiling winit v0.30.13 (https://github.com/ToyOSOrg/winit?branch=toyos-0.30.13#f58e1f3b)
   Compiling polyval v0.6.2
   Compiling errno v0.3.14
   Compiling toyos-inspect v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-inspect)
   Compiling pem-rfc7468 v0.7.0
   Compiling curve25519-dalek v5.0.0-pre.6
   Compiling toyos-device-memory v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-device-memory)
   Compiling futures-sink v0.3.32
   Compiling adler2 v2.0.1
   Compiling pkcs8 v0.11.0-rc.11
   Compiling simd-adler32 v0.3.10
   Compiling toyos-gpt v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-gpt)
   Compiling log v0.4.29
   Compiling serde v1.0.228
   Compiling itoa v1.0.17
   Compiling futures-core v0.3.32
   Compiling raw-window-handle v0.6.2 (https://github.com/ToyOSOrg/raw-window-handle?branch=toyos-0.6.2#2a5d102b)
   Compiling rustls v0.23.45
   Compiling futures-channel v0.3.32
   Compiling ppv-lite86 v0.2.21
   Compiling curve25519-dalek-derive v0.1.1
   Compiling futures-macro v0.3.32
   Compiling diskserver v0.0.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/userland/diskserver)
   Compiling elliptic-curve v0.14.0-rc.29
   Compiling primefield v0.14.0-rc.8
   Compiling miniz_oxide v0.9.1
   Compiling rand_chacha v0.3.1
   Compiling http v1.5.0
   Compiling ssh-encoding v0.2.0
   Compiling curve25519-dalek v4.1.3
   Compiling ghash v0.5.1
   Compiling rand v0.8.5
   Compiling aes v0.8.4
   Compiling ctr v0.9.2
   Compiling hmac v0.12.1
   Compiling aead v0.5.2
   Compiling futures-io v0.3.32
   Compiling byteorder v1.5.0
   Compiling primeorder v0.14.0-rc.8
   Compiling ecdsa v0.17.0-rc.16
   Compiling base64 v0.23.1
   Compiling rustversion v1.0.22
   Compiling signature v2.2.0
   Compiling dpi v0.1.1 (https://github.com/ToyOSOrg/winit?branch=toyos-0.30.13#f58e1f3b)
   Compiling spin v0.9.8
   Compiling num-bigint-dig v0.8.6
   Compiling slab v0.4.12
   Compiling rustls-webpki v0.103.15
   Compiling smol_str v0.2.2
   Compiling cursor-icon v1.2.0
   Compiling futures-task v0.3.32
   Compiling xattr v1.6.1
   Compiling lazy_static v1.5.0
   Compiling ureq-proto v0.6.4
   Compiling futures-util v0.3.32
   Compiling ed25519 v2.2.3
   Compiling aes-gcm v0.10.3
   Compiling blowfish v0.9.1
   Compiling flate2 v1.1.10
   Compiling pbkdf2 v0.12.2
   Compiling crypto-primes v0.7.0
   Compiling softbuffer v0.4.8 (https://github.com/ToyOSOrg/softbuffer?branch=toyos-0.4.8#b36854df)
   Compiling tokio-macros v2.7.0
   Compiling ed25519 v3.0.0-rc.4
   Compiling toyos-virtio v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-virtio)
   Compiling toyos-net-ip v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-net-ip)
   Compiling webpki-roots v1.0.9
   Compiling chacha20 v0.9.1
   Compiling cbc v0.1.2
   Compiling num-iter v0.1.45
   Compiling pkcs1 v0.8.0-rc.4
   Compiling blake2 v0.10.6
   Compiling poly1305 v0.8.0
   Compiling filetime v0.2.29
   Compiling socket2 v0.6.3 (https://github.com/ToyOSOrg/socket2?branch=toyos#1d902509)
   Compiling mio v1.2.0 (https://github.com/ToyOSOrg/mio?branch=toyos#d1edcaad)
   Compiling password-hash v0.5.0
   Compiling chacha20 v0.10.0
   Compiling keccak v0.2.0
   Compiling percent-encoding v2.3.2
   Compiling thiserror v2.0.18
   Compiling fiat-crypto v0.3.0
   Compiling utf8-zero v0.8.1
   Compiling smallvec v1.15.1
   Compiling cpal v0.18.0 (https://github.com/ToyOSOrg/cpal?branch=toyos-0.18.0#f46381d2)
   Compiling rsa v0.10.0-rc.17
   Compiling rand v0.10.0
   Compiling sha3 v0.11.0
   Compiling argon2 v0.5.3
   Compiling tokio v1.51.1 (https://github.com/ToyOSOrg/tokio?branch=toyos#902fb974)
   Compiling ssh-cipher v0.2.0
   Compiling ed25519-dalek v3.0.0-pre.6
   Compiling toyos-net-udp v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-net-udp)
   Compiling tar v0.4.46
   Compiling ed25519-dalek v2.2.0
   Compiling futures-executor v0.3.32
   Compiling bcrypt-pbkdf v0.10.0
   Compiling p256 v0.14.0-rc.8
   Compiling p521 v0.14.0-rc.8
   Compiling thiserror-impl v2.0.18
   Compiling toyos-net-tcp v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-net-shard/tcp)
   Compiling toyos-fat32 v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-fat32)
   Compiling calc v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/userland/calc)
   Compiling ureq v3.4.2
   Compiling sha1 v0.11.0-rc.5
   Compiling kem v0.3.0
   Compiling module-lattice v0.2.1
   Compiling filepicker-api v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/userland/filepicker-api)
   Compiling toyos-bootmap v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-bootmap)
   Compiling toyos-elide v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-elide)
   Compiling hex v0.4.3
   Compiling toyos-dns v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-dns)
   Compiling toyos-osrelease v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-osrelease)
   Compiling dasp_sample v0.11.0
   Compiling russh-cryptovec v0.59.0 (https://github.com/ToyOSOrg/russh?branch=toyos#389804d3)
   Compiling toyos-mdns v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/userland/netstack/mdns)
   Compiling toyos-acpi v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-acpi)
   Compiling ml-kem v0.3.0-rc.2
   Compiling toyos-net-shard v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-net-shard)
   Compiling generic-array v1.3.5
   Compiling doom v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/userland/doom)
   Compiling futures v0.3.32
   Compiling toyos-update v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-update)
   Compiling internal-russh-num-bigint v0.5.0
   Compiling toyos-pci-claim v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/userland/toyos-pci-claim)
   Compiling delegate v0.13.5
   Compiling enum_dispatch v0.3.13
   Compiling russh-util v0.52.0 (https://github.com/ToyOSOrg/russh?branch=toyos#389804d3)
   Compiling toyos-dhcp v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-dhcp)
   Compiling toyos-swap v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-swap)
   Compiling snake v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/userland/snake)
   Compiling sha1 v0.10.6
   Compiling toyos-logstream v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-logstream)
   Compiling rustc-demangle v0.1.27
   Compiling bcachefs v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/bcachefs)
   Compiling md5 v0.7.0
   Compiling toyos-elf v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-elf)
   Compiling data-encoding v2.10.0
   Compiling hex-literal v1.1.0
   Compiling sprite v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/userland/sprite)
   Compiling toyos-symbols v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-symbols)
   Compiling fileserver v0.0.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/userland/fileserver)
   Compiling toyos-net-node v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/userland/netstack/node)
   Compiling toyos-aml v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/userland/acpiserver/aml)
   Compiling sysinfo v0.39.6 (https://github.com/ToyOSOrg/sysinfo?branch=toyos-0.39.6#bcb23815)
   Compiling toyos-virtio-sound v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/userland/soundserver/virtio-sound)
   Compiling pkg v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/userland/pkg)
   Compiling inspect v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/userland/inspect)
   Compiling toyos-i219 v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-i219)
   Compiling rubato v0.16.2
   Compiling p384 v0.14.0-rc.8
   Compiling terminal v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/userland/terminal)
   Compiling toyos-desktop v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/userland/compositor/desktop)
   Compiling toyos-trace v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-trace)
   Compiling toyos-hda v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-hda)
   Compiling acpiserver-api v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/userland/acpiserver-api)
   Compiling toyos-quiesce v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-quiesce)
   Compiling rustysynth v1.3.6
   Compiling toyos-mixer v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/userland/soundserver/mixer)
   Compiling toyos-tco v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-tco)
   Compiling supervisor v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/userland/supervisor)
   Compiling compositor v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/userland/compositor)
   Compiling trace v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/userland/trace)
   Compiling soundserver v0.0.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/userland/soundserver)
   Compiling netstack v0.0.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/userland/netstack)
   Compiling toyfetch v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/userland/toyfetch)
   Compiling symbolize v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/userland/symbolize)
   Compiling update v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/userland/update)
   Compiling files v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/userland/files)
   Compiling logkeeper v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/userland/logkeeper)
   Compiling acpiserver v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/userland/acpiserver)
   Compiling swap v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/userland/swap)
   Compiling toybox v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/userland/toybox)
   Compiling paint v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/userland/paint)
   Compiling editor v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/userland/editor)
   Compiling filepicker v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/userland/filepicker)
   Compiling shell v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/userland/shell)
   Compiling proctest v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/userland/proctest)
   Compiling host v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/userland/host)
   Compiling internal-russh-forked-ssh-key v0.6.18+upstream-0.6.7
   Compiling russh v0.60.0 (https://github.com/ToyOSOrg/russh?branch=toyos#389804d3)
   Compiling sshserver v0.0.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/userland/sshserver)
    Finished `toyos` profile [optimized + debuginfo] target(s) in 35.17s
warning: the following packages contain code that will be rejected by a future version of Rust: winit v0.30.13 (https://github.com/ToyOSOrg/winit?branch=toyos-0.30.13#f58e1f3b)
note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
06:53:19 root: adding 'bin/acpiserver' (1075920 bytes)
06:53:19 root: adding 'bin/calc' (1289096 bytes)
06:53:19 root: adding 'bin/compositor' (921288 bytes)
06:53:19 root: adding 'bin/diskserver' (759872 bytes)
06:53:19 root: adding 'bin/doom' (1833608 bytes)
06:53:19 root: adding 'bin/editor' (791160 bytes)
06:53:19 root: adding 'bin/filepicker' (744232 bytes)
06:53:19 root: adding 'bin/files' (732408 bytes)
06:53:19 root: adding 'bin/fileserver' (1575440 bytes)
06:53:19 root: adding 'bin/host' (568248 bytes)
06:53:19 root: adding 'bin/inspect' (724904 bytes)
06:53:19 root: adding 'bin/logkeeper' (913408 bytes)
06:53:19 root: adding 'bin/netstack' (2059128 bytes)
06:53:19 root: adding 'bin/paint' (736528 bytes)
06:53:19 root: adding 'bin/pkg' (800208 bytes)
06:53:19 root: adding 'bin/proctest' (689048 bytes)
06:53:19 root: adding 'bin/shell' (794976 bytes)
06:53:19 root: adding 'bin/snake' (1000512 bytes)
06:53:19 root: adding 'bin/soundserver' (972448 bytes)
06:53:19 root: adding 'bin/sshserver' (4807456 bytes)
06:53:19 root: adding 'bin/supervisor' (1510888 bytes)
06:53:19 root: adding 'bin/swap' (711136 bytes)
06:53:19 root: adding 'bin/symbolize' (695760 bytes)
06:53:19 root: adding 'bin/terminal' (813416 bytes)
06:53:19 root: adding 'bin/toybox' (1110488 bytes)
06:53:19 root: adding 'bin/toyfetch' (618080 bytes)
06:53:19 root: adding 'bin/trace' (566096 bytes)
06:53:19 root: adding 'bin/update' (933896 bytes)
06:53:19 root: adding 'etc/os-release' (287 bytes)
06:53:19 root: adding 'etc/ssl/CDLA-Permissive-2.0.txt' (2371 bytes)
06:53:19 root: adding 'etc/ssl/cert.pem' (181603 bytes)
06:53:19 root: adding 'etc/system.manifest' (2999 bytes)
06:53:19 root: adding 'share/doom1.wad' (4196020 bytes)
06:53:19 root: adding 'share/fonts/JetBrainsMono-Regular-8x16.font' (66404 bytes)
06:53:19 root: adding 'share/fonts/ofl.txt' (4216 bytes)
06:53:19 root: adding 'share/fonts/opensans-bold.ttf' (147264 bytes)
06:53:19 root: adding 'share/fonts/opensans-bolditalic.ttf' (153308 bytes)
06:53:19 root: adding 'share/fonts/opensans-italic.ttf' (153256 bytes)
06:53:19 root: adding 'share/fonts/opensans-regular.ttf' (147528 bytes)
06:53:19 root: adding 'share/hello.rs' (55 bytes)
06:53:19 root: adding 'share/icons/arrow-down-right-bold.alpha' (408 bytes)
06:53:19 root: adding 'share/icons/crosshair-simple-bold.alpha' (408 bytes)
06:53:19 root: adding 'share/icons/cursor-bold.alpha' (408 bytes)
06:53:19 root: adding 'share/icons/file-bold.alpha' (1032 bytes)
06:53:19 root: adding 'share/icons/folder-bold.alpha' (1032 bytes)
06:53:19 root: adding 'share/icons/minus-bold.alpha' (204 bytes)
06:53:19 root: adding 'share/icons/square-bold.alpha' (204 bytes)
06:53:19 root: adding 'share/icons/x-bold.alpha' (204 bytes)
06:53:19 root: adding 'share/soundfont.sf2' (15546764 bytes)
06:53:19 root: adding 'share/wallpaper.rgb' (6220808 bytes)
06:53:19 root: symlink 'bin/cat' -> '/system/bin/toybox'
06:53:19 root: symlink 'bin/cp' -> '/system/bin/toybox'
06:53:19 root: symlink 'bin/echo' -> '/system/bin/toybox'
06:53:19 root: symlink 'bin/free' -> '/system/bin/toybox'
06:53:19 root: symlink 'bin/grep' -> '/system/bin/toybox'
06:53:19 root: symlink 'bin/hexdump' -> '/system/bin/toybox'
06:53:19 root: symlink 'bin/locale' -> '/system/bin/toybox'
06:53:19 root: symlink 'bin/ls' -> '/system/bin/toybox'
06:53:19 root: symlink 'bin/mkdir' -> '/system/bin/toybox'
06:53:19 root: symlink 'bin/mv' -> '/system/bin/toybox'
06:53:19 root: symlink 'bin/net' -> '/system/bin/toybox'
06:53:19 root: symlink 'bin/ps' -> '/system/bin/toybox'
06:53:19 root: symlink 'bin/pwd' -> '/system/bin/toybox'
06:53:19 root: symlink 'bin/reboot' -> '/system/bin/toybox'
06:53:19 root: symlink 'bin/rm' -> '/system/bin/toybox'
06:53:19 root: symlink 'bin/screen' -> '/system/bin/toybox'
06:53:19 root: symlink 'bin/shutdown' -> '/system/bin/toybox'
06:53:19 root: symlink 'bin/spin' -> '/system/bin/toybox'
06:53:19 root: symlink 'bin/stats' -> '/system/bin/toybox'
06:53:19 root: symlink 'bin/tone' -> '/system/bin/toybox'
06:53:20 Signed with this checkout's throwaway key SHA256:FFYgxKUIO/d7AC2d5qIdHmK2fh94acSAyt7jFENmU58 at version 1791701424
06:53:20 Build finished.
Boot image: /Users/<user>/Dev/jan/toyos-dirid-clang/target/bootable.img
EXIT=0

@Japabu

Japabu commented Oct 11, 2026

Copy link
Copy Markdown
Collaborator Author

hosted-clang-hello, part 1 of 7, cargo test --test toyos-build -- hosted_clang_hello --nocapture at the evidence tree 45f5c2eb (0a9180449), exit 0

   Compiling autocfg v1.5.1
   Compiling getrandom v0.4.2 (https://github.com/ToyOSOrg/getrandom?branch=toyos-0.4#f0286c8b)
   Compiling time-core v0.1.9
   Compiling deranged v0.5.8
   Compiling num-conv v0.2.2
   Compiling core-foundation-sys v0.8.7
   Compiling powerfmt v0.2.1
   Compiling toyos-bootmap v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-bootmap)
   Compiling crc-catalog v2.4.0
   Compiling bitflags v2.11.0
   Compiling byteorder v1.5.0
   Compiling bitflags v1.3.2
   Compiling kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/kernel)
   Compiling acpiserver-api v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/userland/acpiserver-api)
   Compiling toyos-xhci v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-xhci)
   Compiling toyos-build v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang)
   Compiling crc v3.4.0
   Compiling iana-time-zone v0.1.65
   Compiling toyos-acpi v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-acpi)
   Compiling num-traits v0.2.19
   Compiling uuid v1.22.0
   Compiling toyos-userbound v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-userbound)
   Compiling time v0.3.55
   Compiling gpt v3.1.0
   Compiling yasna v0.6.0
   Compiling chrono v0.4.44
   Compiling rcgen v0.14.10
   Compiling fatfs v0.3.6
    Finished `test` profile [optimized + debuginfo] target(s) in 8.10s
     Running tests/toyos.rs (target/debug/deps/toyos_build-6272c6e3847618b1)

06:53:28 running 1 tests, 12 wide

06:53:28   RUN   hosted_clang_hello
06:53:30 Building the ToyOS-hosted clang and LLD 27b5cb9a4952c2c5: nobody on this host has
The no-dev option is deprecated.  Use -Wno-author instead.
-- The C compiler identification is Clang 22.1.8
-- The CXX compiler identification is Clang 22.1.8
-- The ASM compiler identification is Clang with GNU-like command-line
-- Found assembler: /Users/<user>/.cache/toyos/sysroots/7a788d7f5b1bfa4c/lib/rustlib/aarch64-apple-darwin/bin/clang
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /Users/<user>/.cache/toyos/sysroots/7a788d7f5b1bfa4c/lib/rustlib/aarch64-apple-darwin/bin/clang - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Users/<user>/.cache/toyos/hosted-clang/27b5cb9a4952c2c5.build/bin/clang++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- bolt project is disabled
-- clang project is enabled
-- clang-tools-extra project is disabled
-- compiler-rt project is disabled
-- cross-project-tests project is disabled
-- libclc project is disabled
-- lld project is enabled
-- lldb project is disabled
-- mlir project is disabled
-- openmp project is disabled
-- polly project is disabled
-- flang project is disabled
-- libc project is disabled
-- Found Python3: /opt/homebrew/Frameworks/Python.framework/Versions/3.14/bin/python3.14 (found suitable version "3.14.7", minimum required is "3.0") found components: Interpreter
-- Performing Test LLVM_LIBSTDCXX_MIN
-- Performing Test LLVM_LIBSTDCXX_MIN - Success
-- Performing Test LLVM_LIBSTDCXX_SOFT_ERROR
-- Performing Test LLVM_LIBSTDCXX_SOFT_ERROR - Success
-- Looking for mach/mach.h
-- Looking for mach/mach.h - not found
-- Looking for malloc/malloc.h
-- Looking for malloc/malloc.h - not found
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for sys/mman.h
-- Looking for sys/mman.h - found
-- Looking for sysexits.h
-- Looking for sysexits.h - found
-- Looking for unistd.h
-- Looking for unistd.h - found
-- Looking for sys/ioctl.h
-- Looking for sys/ioctl.h - not found
-- Looking for __GLIBC__
-- Looking for __GLIBC__ - not found
-- Looking for valgrind/valgrind.h
-- Looking for valgrind/valgrind.h - not found
-- Looking for FE_ALL_EXCEPT
-- Looking for FE_ALL_EXCEPT - not found
-- Looking for FE_INEXACT
-- Looking for FE_INEXACT - not found
-- Performing Test HAVE_BUILTIN_THREAD_POINTER
-- Performing Test HAVE_BUILTIN_THREAD_POINTER - Success
-- Looking for CrashReporterClient.h
-- Looking for CrashReporterClient.h - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Looking for pthread_rwlock_init in pthread
-- Looking for pthread_rwlock_init in pthread - found
-- Looking for pthread_mutex_lock in pthread
-- Looking for pthread_mutex_lock in pthread - found
-- Looking for dlopen in dl
-- Looking for dlopen in dl - found
-- Looking for shm_open in rt
-- Looking for shm_open in rt - not found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Looking for arc4random
-- Looking for arc4random - not found
-- Looking for backtrace
-- Looking for backtrace - not found
-- Could NOT find Backtrace (missing: Backtrace_LIBRARY Backtrace_INCLUDE_DIR) 
-- Performing Test C_SUPPORTS_WERROR_UNGUARDED_AVAILABILITY_NEW
-- Performing Test C_SUPPORTS_WERROR_UNGUARDED_AVAILABILITY_NEW - Success
-- Looking for __register_frame
-- Looking for __register_frame - not found
-- Looking for __deregister_frame
-- Looking for __deregister_frame - not found
-- Looking for __unw_add_dynamic_fde
-- Looking for __unw_add_dynamic_fde - not found
-- Looking for _Unwind_Backtrace
-- Looking for _Unwind_Backtrace - not found
-- Looking for getpagesize
-- Looking for getpagesize - not found
-- Looking for sysconf
-- Looking for sysconf - found
-- Looking for getrusage
-- Looking for getrusage - not found
-- Looking for isatty
-- Looking for isatty - found
-- Looking for futimens
-- Looking for futimens - not found
-- Looking for futimes
-- Looking for futimes - not found
-- Looking for getauxval
-- Looking for getauxval - not found
-- Looking for sigaltstack
-- Looking for sigaltstack - not found
-- Looking for mallctl
-- Looking for mallctl - not found
-- Looking for mallinfo
-- Looking for mallinfo - not found
-- Looking for mallinfo2
-- Looking for mallinfo2 - not found
-- Looking for malloc_zone_statistics
-- Looking for malloc_zone_statistics - not found
-- Looking for posix_spawn
-- Looking for posix_spawn - not found
-- Looking for pread
-- Looking for pread - not found
-- Looking for sbrk
-- Looking for sbrk - not found
-- Looking for strerror_r
-- Looking for strerror_r - found
-- Looking for strerror_s
-- Looking for strerror_s - not found
-- Looking for setenv
-- Looking for setenv - found
-- Performing Test HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC
-- Performing Test HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC - Failed
-- Performing Test HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC
-- Performing Test HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC - Success
-- Looking for pthread_getname_np
-- Looking for pthread_getname_np - not found
-- Looking for pthread_setname_np
-- Looking for pthread_setname_np - not found
-- Looking for pthread_get_name_np
-- Looking for pthread_get_name_np - not found
-- Looking for pthread_set_name_np
-- Looking for pthread_set_name_np - not found
-- Looking for dlopen
-- Looking for dlopen - found
-- Looking for proc_pid_rusage
-- Looking for proc_pid_rusage - not found
-- Performing Test HAVE_CXX_ATOMICS_WITHOUT_LIB
-- Performing Test HAVE_CXX_ATOMICS_WITHOUT_LIB - Success
-- Performing Test HAVE_CXX_ATOMICS64_WITHOUT_LIB
-- Performing Test HAVE_CXX_ATOMICS64_WITHOUT_LIB - Success
-- Performing Test LLVM_HAS_ATOMICS
-- Performing Test LLVM_HAS_ATOMICS - Success
-- LLVM host triple: x86_64-unknown-toyos
-- Native target architecture is X86
-- Threads enabled.
-- Doxygen disabled.
-- Ninja version: 1.10.2
-- Could NOT find OCaml (missing: OCAMLFIND OCAML_VERSION OCAML_STDLIB_PATH) 
-- Could NOT find OCaml (missing: OCAMLFIND OCAML_VERSION OCAML_STDLIB_PATH) 
-- OCaml bindings disabled.
-- Could NOT find Python module pygments
-- Could NOT find Python module pygments.lexers.c_cpp
-- Could NOT find Python module yaml
-- LLVM default target triple: x86_64-unknown-toyos
-- Performing Test LLVM_USES_LIBSTDCXX
-- Performing Test LLVM_USES_LIBSTDCXX - Failed
-- Performing Test LLVM_DEFAULT_TO_GLIBCXX_USE_CXX11_ABI
-- Performing Test LLVM_DEFAULT_TO_GLIBCXX_USE_CXX11_ABI - Failed
-- Performing Test C_SUPPORTS_FPIC
-- Performing Test C_SUPPORTS_FPIC - Success
-- Performing Test CXX_SUPPORTS_FPIC
-- Performing Test CXX_SUPPORTS_FPIC - Success
-- Building with -fPIC
-- Performing Test C_SUPPORTS_FNO_SEMANTIC_INTERPOSITION
-- Performing Test C_SUPPORTS_FNO_SEMANTIC_INTERPOSITION - Success
-- Performing Test CXX_SUPPORTS_FNO_SEMANTIC_INTERPOSITION
-- Performing Test CXX_SUPPORTS_FNO_SEMANTIC_INTERPOSITION - Success
-- Performing Test SUPPORTS_FVISIBILITY_INLINES_HIDDEN_FLAG
-- Performing Test SUPPORTS_FVISIBILITY_INLINES_HIDDEN_FLAG - Success
-- Performing Test C_SUPPORTS_CXX98_COMPAT_EXTRA_SEMI_FLAG
-- Performing Test C_SUPPORTS_CXX98_COMPAT_EXTRA_SEMI_FLAG - Success
-- Performing Test CXX_SUPPORTS_CXX98_COMPAT_EXTRA_SEMI_FLAG
-- Performing Test CXX_SUPPORTS_CXX98_COMPAT_EXTRA_SEMI_FLAG - Success
-- Performing Test CXX_SUPPORTS_SUGGEST_OVERRIDE_FLAG
-- Performing Test CXX_SUPPORTS_SUGGEST_OVERRIDE_FLAG - Success
-- Performing Test CXX_WSUGGEST_OVERRIDE_ALLOWS_ONLY_FINAL
-- Performing Test CXX_WSUGGEST_OVERRIDE_ALLOWS_ONLY_FINAL - Success
-- Performing Test C_WCOMMENT_ALLOWS_LINE_WRAP
-- Performing Test C_WCOMMENT_ALLOWS_LINE_WRAP - Success
-- Performing Test C_SUPPORTS_MISLEADING_INDENTATION_FLAG
-- Performing Test C_SUPPORTS_MISLEADING_INDENTATION_FLAG - Success
-- Performing Test CXX_SUPPORTS_MISLEADING_INDENTATION_FLAG
-- Performing Test CXX_SUPPORTS_MISLEADING_INDENTATION_FLAG - Success
-- Performing Test C_SUPPORTS_CTAD_MAYBE_UNSPPORTED_FLAG
-- Performing Test C_SUPPORTS_CTAD_MAYBE_UNSPPORTED_FLAG - Success
-- Performing Test CXX_SUPPORTS_CTAD_MAYBE_UNSPPORTED_FLAG
-- Performing Test CXX_SUPPORTS_CTAD_MAYBE_UNSPPORTED_FLAG - Success
-- Performing Test LINKER_SUPPORTS_COLOR_DIAGNOSTICS
-- Performing Test LINKER_SUPPORTS_COLOR_DIAGNOSTICS - Success
-- Looking for os_signpost_interval_begin
-- Looking for os_signpost_interval_begin - not found
-- Looking for flock
-- Looking for flock - not found
-- Linker detection: unknown
-- Setting native build dir to /Users/<user>/.cache/toyos/hosted-clang/27b5cb9a4952c2c5.build/build/NATIVE
-- Setting native stamp dir to /Users/<user>/.cache/toyos/hosted-clang/27b5cb9a4952c2c5.build/build/NATIVE-stamps
-- Performing Test LLVM_LINKER_SUPPORTS_B_SYMBOLIC_FUNCTIONS
-- Performing Test LLVM_LINKER_SUPPORTS_B_SYMBOLIC_FUNCTIONS - Success
-- Performing Test HAS_WERROR_GLOBAL_CTORS
-- Performing Test HAS_WERROR_GLOBAL_CTORS - Success
-- Performing Test LLVM_HAS_NOGLOBAL_CTOR_MUTEX
-- Performing Test LLVM_HAS_NOGLOBAL_CTOR_MUTEX - Failed
-- Looking for __x86_64__
-- Looking for __x86_64__ - found
-- Found Git: /usr/bin/git (found version "2.54.0 (Apple Git-157)")
-- Looking for logf128
-- Looking for logf128 - not found
-- Targeting AArch64
-- Targeting X86
-- LLD version: 22.1.8
-- Looking for sys/resource.h
-- Looking for sys/resource.h - found
-- Looking for dlfcn.h
-- Looking for dlfcn.h - found
-- Looking for dladdr
-- Looking for dladdr - found
-- Clang version: 22.1.8-rust-dev
-- Performing Test HAVE_LINKER_FLAG_LONG_PLT
-- Performing Test HAVE_LINKER_FLAG_LONG_PLT - Success
-- Not building llvm-mt because libxml2 is not available
-- Configuring done (6.2s)
-- Generating done (1.1s)
-- Build files have been written to: /Users/<user>/.cache/toyos/hosted-clang/27b5cb9a4952c2c5.build/build
Creating /Users/<user>/.cache/toyos/hosted-clang/27b5cb9a4952c2c5.build/build/NATIVE...
Generating VCSRevision.h
Building CXX object lib/Demangle/CMakeFiles/LLVMDemangle.dir/ItaniumDemangle.cpp.o
Building CXX object lib/Demangle/CMakeFiles/LLVMDemangle.dir/MicrosoftDemangleNodes.cpp.o
Building CXX object lib/Demangle/CMakeFiles/LLVMDemangle.dir/MicrosoftDemangle.cpp.o
Building CXX object lib/Demangle/CMakeFiles/LLVMDemangle.dir/RustDemangle.cpp.o
Building CXX object lib/Demangle/CMakeFiles/LLVMDemangle.dir/DLangDemangle.cpp.o
Building CXX object lib/Demangle/CMakeFiles/LLVMDemangle.dir/Demangle.cpp.o
Building C object lib/Support/BLAKE3/CMakeFiles/LLVMSupportBlake3.dir/blake3_neon.c.o
Building ASM object lib/Support/BLAKE3/CMakeFiles/LLVMSupportBlake3.dir/blake3_sse2_x86-64_unix.S.o
Building ASM object lib/Support/BLAKE3/CMakeFiles/LLVMSupportBlake3.dir/blake3_avx512_x86-64_unix.S.o
Building C object lib/Support/BLAKE3/CMakeFiles/LLVMSupportBlake3.dir/blake3_dispatch.c.o
Building ASM object lib/Support/BLAKE3/CMakeFiles/LLVMSupportBlake3.dir/blake3_avx2_x86-64_unix.S.o
Building C object lib/Support/BLAKE3/CMakeFiles/LLVMSupportBlake3.dir/blake3.c.o
Building C object lib/Support/BLAKE3/CMakeFiles/LLVMSupportBlake3.dir/blake3_portable.c.o
Building ASM object lib/Support/BLAKE3/CMakeFiles/LLVMSupportBlake3.dir/blake3_sse41_x86-64_unix.S.o
Building CXX object utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/TargetLibraryInfoEmitter.cpp.o
Building CXX object utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/VTEmitter.cpp.o
Building CXX object utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/CodeGenIntrinsics.cpp.o
Building CXX object utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/TargetFeaturesEmitter.cpp.o
Building CXX object utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/RISCVTargetDefEmitter.cpp.o
Building CXX object utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/RuntimeLibcallsEmitter.cpp.o
Building CXX object utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/DirectiveEmitter.cpp.o
Building CXX object utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/Attributes.cpp.o
Building CXX object utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/RuntimeLibcalls.cpp.o
Building CXX object utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/TableGen.cpp.o
Building CXX object utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/IntrinsicEmitter.cpp.o
Building CXX object utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/SDNodeProperties.cpp.o
Building CXX object utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/ARMTargetDefEmitter.cpp.o
Building CXX object tools/clang/lib/Support/CMakeFiles/obj.clangSupport.dir/RISCVVIntrinsicUtils.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/SipHash.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/CRC.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Caching.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/DataExtractor.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ELFAttrParserCompact.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ELFAttrParserExtended.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/OptionStrCmp.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/HexagonAttributeParser.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Hash.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/DJB.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/PluginLoader.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Atomic.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Signals.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/DeltaAlgorithm.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/MSP430AttributeParser.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/KnownBits.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/SuffixTree.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/zOSLibFunctions.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/MathExtras.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/IntEqClasses.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Timer.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/JSON.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Regex.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/raw_ostream.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/MemoryBufferRef.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/VirtualOutputBackends.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/DynamicAPInt.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/RISCVISAUtils.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/FileOutputBuffer.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/FoldingSet.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/UnicodeNameToCodepoint.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/StringMap.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/InitLLVM.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/BlockFrequency.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/TextEncoding.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/LEB128.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Chrono.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/FileCollector.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ProgramStack.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/StringSaver.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/AutoConvert.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/AMDGPUMetadata.cpp.o
Building C object lib/Support/CMakeFiles/LLVMSupport.dir/regexec.c.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Signposts.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/xxhash.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Error.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/GlobPattern.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ToolOutputFile.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Valgrind.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ConvertUTFWrapper.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Jobserver.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/circular_raw_ostream.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Mustache.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/RewriteRope.cpp.o
Building C object lib/Support/CMakeFiles/LLVMSupport.dir/regcomp.c.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/raw_os_ostream.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Optional.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/HexagonAttributes.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Locale.cpp.o
Building C object lib/Support/CMakeFiles/LLVMSupport.dir/regstrlcpy.c.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/DebugCounter.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ExponentialBackoff.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/SHA256.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/MSP430Attributes.cpp.o
Building C object lib/Support/CMakeFiles/LLVMSupport.dir/regfree.c.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/APFloat.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/OptimizedStructLayout.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/BinaryStreamReader.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/PrettyStackTrace.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Program.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/SuffixTreeNode.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/SystemUtils.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ARMAttributeParser.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/FormatVariadic.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/CSKYAttributeParser.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Allocator.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/StringExtras.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/LineIterator.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Z3Solver.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/GraphWriter.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/MemAlloc.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Memory.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/BinaryStreamError.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Watchdog.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ARMBuildAttributes.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/DeltaTree.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/MemoryBuffer.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Debug.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/AllocToken.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/RandomNumberGenerator.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/raw_socket_stream.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/VirtualFileSystem.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/VirtualOutputFile.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/NativeFormatting.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ScaledNumber.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Twine.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ScopedPrinter.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Process.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/CommandLine.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/SmallVector.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/COM.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/SpecialCaseList.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ConvertEBCDIC.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ELFAttributes.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/DXILABI.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/BuryPointer.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Path.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/AArch64BuildAttributes.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/MD5.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/StringRef.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/DivisionByConstantInfo.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/TarWriter.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/APSInt.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/YAMLTraits.cpp.o
Building C object lib/Support/CMakeFiles/LLVMSupport.dir/regerror.c.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/BinaryStreamWriter.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/VersionTuple.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Process.cpp.o
In file included from /Users/<user>/.cache/toyos/llvm/f8ab0dcf9b6f24f8/src/llvm/lib/Support/Process.cpp:122:
�[1m/Users/<user>/.cache/toyos/llvm/f8ab0dcf9b6f24f8/src/llvm/lib/Support/Unix/Process.inc:57:2: �[0m�[0;1;35mwarning: �[0m�[1m#warning is a C++23 extension [-Wpedantic]�[0m
   57 | #warning Cannot get usage times on �[0;34mthis�[0m platform�[0m
      | �[0;1;32m ^
�[0m�[1m/Users/<user>/.cache/toyos/llvm/f8ab0dcf9b6f24f8/src/llvm/lib/Support/Unix/Process.inc:57:2: �[0m�[0;1;35mwarning: �[0m�[1mCannot get usage times on this platform [-W#warnings]�[0m
�[1m/Users/<user>/.cache/toyos/llvm/f8ab0dcf9b6f24f8/src/llvm/lib/Support/Unix/Process.inc:118:2: �[0m�[0;1;35mwarning: �[0m�[1m#warning is a C++23 extension [-Wpedantic]�[0m
  118 | #warning Cannot get malloc info on �[0;34mthis�[0m platform�[0m
      | �[0;1;32m ^
�[0m�[1m/Users/<user>/.cache/toyos/llvm/f8ab0dcf9b6f24f8/src/llvm/lib/Support/Unix/Process.inc:118:2: �[0m�[0;1;35mwarning: �[0m�[1mCannot get malloc info on this platform [-W#warnings]�[0m
4 warnings generated.
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/WithColor.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/raw_ostream_proxy.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Threading.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Errno.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/LockFileManager.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/SlowDynamicAPInt.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/VirtualOutputConfig.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/SHA1.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/PGOOptions.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ARMWinEH.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/CodeGenCoverage.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/APInt.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/FileUtilities.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Path.cpp.o
In file included from /Users/<user>/.cache/toyos/llvm/f8ab0dcf9b6f24f8/src/llvm/lib/Support/Path.cpp:1224:
�[1m/Users/<user>/.cache/toyos/llvm/f8ab0dcf9b6f24f8/src/llvm/lib/Support/Unix/Path.inc:856:2: �[0m�[0;1;35mwarning: �[0m�[1m#warning is a C++23 extension [-Wpedantic]�[0m
  856 | #warning Missing futimes() and futimens()�[0m
      | �[0;1;32m ^
�[0m�[1m/Users/<user>/.cache/toyos/llvm/f8ab0dcf9b6f24f8/src/llvm/lib/Support/Unix/Path.inc:856:2: �[0m�[0;1;35mwarning: �[0m�[1mMissing futimes() and futimens() [-W#warnings]�[0m
2 warnings generated.
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/KnownFPClass.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/BinaryStreamRef.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Statistic.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Unicode.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ExtensibleRTTI.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ModRef.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Compression.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/RewriteBuffer.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/UnicodeCaseFold.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ErrorHandling.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/FormattedStream.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/CSKYAttributes.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/YAMLParser.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ABIBreak.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/AArch64AttributeParser.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/BranchProbability.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/TimeProfiler.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/FloatingPointMode.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ConvertUTF.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/IntervalMap.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/IntegerInclusiveInterval.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/DynamicLibrary.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Base64.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/DAGDeltaAlgorithm.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/RISCVAttributes.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/UnicodeNameToCodepointGenerated.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/InstructionCost.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/RISCVAttributeParser.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/RWMutex.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/VirtualOutputBackend.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Parallel.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ThreadPool.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/SourceMgr.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/APFixedPoint.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/CrashRecoveryContext.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/SmallPtrSet.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/VirtualOutputError.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/TrieRawHashMap.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/BalancedPartitioning.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ManagedStatic.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/CachePruning.cpp.o
Building CXX object lib/Option/CMakeFiles/LLVMOption.dir/Arg.cpp.o
Building CXX object lib/Option/CMakeFiles/LLVMOption.dir/Option.cpp.o
Building CXX object lib/Option/CMakeFiles/LLVMOption.dir/OptTable.cpp.o
Building CXX object lib/Option/CMakeFiles/LLVMOption.dir/ArgList.cpp.o
Building CXX object lib/Frontend/Directive/CMakeFiles/LLVMFrontendDirective.dir/Spelling.cpp.o
Building CXX object lib/Plugins/CMakeFiles/LLVMPlugins.dir/PassPlugin.cpp.o
Building CXX object lib/Bitstream/Reader/CMakeFiles/LLVMBitstreamReader.dir/BitstreamReader.cpp.o
Building CXX object lib/DebugInfo/MSF/CMakeFiles/LLVMDebugInfoMSF.dir/MSFBuilder.cpp.o
Building CXX object lib/DebugInfo/MSF/CMakeFiles/LLVMDebugInfoMSF.dir/MappedBlockStream.cpp.o
Building CXX object lib/DebugInfo/MSF/CMakeFiles/LLVMDebugInfoMSF.dir/MSFCommon.cpp.o
Building CXX object lib/DebugInfo/MSF/CMakeFiles/LLVMDebugInfoMSF.dir/MSFError.cpp.o
Building CXX object lib/Extensions/CMakeFiles/LLVMExtensions.dir/Extensions.cpp.o
Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/TGParser.cpp.o
Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/Main.cpp.o
Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/Parser.cpp.o
Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/Record.cpp.o
Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/StringToOffsetTable.cpp.o
Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/TableGenBackendSkeleton.cpp.o
Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/TGLexer.cpp.o
Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/DetailedRecordsBackend.cpp.o
Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/StringMatcher.cpp.o
Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/SetTheory.cpp.o
Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/JSONBackend.cpp.o
Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/TableGenBackend.cpp.o
Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/TGTimer.cpp.o
Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/Error.cpp.o
Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/GlobalTypeTableBuilder.cpp.o
Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/DebugChecksumsSubsection.cpp.o
Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/StringsAndChecksums.cpp.o
Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/ContinuationRecordBuilder.cpp.o
Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/MergingTypeTableBuilder.cpp.o
Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/TypeTableCollection.cpp.o
Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/TypeRecordHelpers.cpp.o
Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/Line.cpp.o
Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/DebugLinesSubsection.cpp.o
Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/DebugSubsection.cpp.o
Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/CodeViewRecordIO.cpp.o
Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/DebugCrossImpSubsection.cpp.o
Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/SymbolRecordMapping.cpp.o
Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/TypeIndex.cpp.o
Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/LazyRandomTypeCollection.cpp.o
Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/CVSymbolVisitor.cpp.o
Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/TypeRecordMapping.cpp.o
Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/DebugInlineeLinesSubsection.cpp.o
Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/TypeHashing.cpp.o
Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/RecordName.cpp.o
Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/DebugSymbolRVASubsection.cpp.o
Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/CVTypeVisitor.cpp.o
Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/DebugSymbolsSubsection.cpp.o
Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/SymbolDumper.cpp.o
Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/TypeDumpVisitor.cpp.o
Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/AppendingTypeTableBuilder.cpp.o
Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/TypeIndexDiscovery.cpp.o
Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/SymbolSerializer.cpp.o
Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/SymbolRecordHelpers.cpp.o
Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/RecordSerialization.cpp.o
Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/CodeViewError.cpp.o
Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/Formatters.cpp.o
Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/DebugStringTableSubsection.cpp.o
Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/TypeStreamMerger.cpp.o
Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/DebugFrameDataSubsection.cpp.o
Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/DebugSubsectionRecord.cpp.o
Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/EnumTables.cpp.o
Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/DebugSubsectionVisitor.cpp.o
Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/SimpleTypeSerializer.cpp.o
Building CXX object lib/DebugInfo/CodeView/CMakeFiles/LLVMDebugInfoCodeView.dir/DebugCrossExSubsection.cpp.o
Building CXX object lib/WindowsManifest/CMakeFiles/LLVMWindowsManifest.dir/WindowsManifestMerger.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-min-tblgen.dir/llvm-min-tblgen.cpp.o
Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangOptionDocEmitter.cpp.o
Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangSACheckersEmitter.cpp.o
Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/NeonEmitter.cpp.o
Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/SveEmitter.cpp.o
Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangDataCollectorsEmitter.cpp.o
Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangASTNodesEmitter.cpp.o
Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangBuiltinsEmitter.cpp.o
Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangASTPropertiesEmitter.cpp.o
Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangOpcodesEmitter.cpp.o
Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangCommentHTMLNamedCharacterReferenceEmitter.cpp.o
Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangOpenCLBuiltinEmitter.cpp.o
Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/RISCVVEmitter.cpp.o
Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangBuiltinTemplatesEmitter.cpp.o
Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/ASTTableGen.cpp.o
Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangCommentCommandInfoEmitter.cpp.o
Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangDiagnosticsEmitter.cpp.o
Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangSyntaxEmitter.cpp.o
Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/MveEmitter.cpp.o
Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/TableGen.cpp.o
Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangCommentHTMLTagsEmitter.cpp.o
Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangTypeNodesEmitter.cpp.o
Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangAttrEmitter.cpp.o
Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/CIRLoweringEmitter.cpp.o
Configuring NATIVE LLVM...
Linking CXX static library lib/libLLVMDemangle.a
Linking CXX static library lib/libLLVMSupport.a
Linking CXX static library lib/libLLVMDebugInfoCodeView.a
Linking CXX static library lib/libLLVMWindowsManifest.a
Linking CXX static library lib/libclangSupport.a
Linking CXX static library lib/libLLVMBitstreamReader.a
Linking CXX static library lib/libLLVMOption.a
Linking CXX static library lib/libLLVMFrontendDirective.a
Linking CXX static library lib/libLLVMPlugins.a
Linking CXX static library lib/libLLVMExtensions.a
Linking CXX static library lib/libLLVMTableGen.a
Linking CXX static library lib/libLLVMDebugInfoMSF.a
Linking CXX executable bin/llvm-min-tblgen
Linking CXX executable bin/clang-tblgen
Configuring NATIVE LLVM...
-- The C compiler identification is AppleClang 21.0.0.21000334
-- The CXX compiler identification is AppleClang 21.0.0.21000334
-- The ASM compiler identification is AppleClang
-- Found assembler: /usr/bin/cc
Error: $HOME must be set to run brew.
-- Detecting C compiler ABI info
Error: $HOME must be set to run brew.
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
Error: $HOME must be set to run brew.
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- bolt project is disabled
-- clang project is enabled
-- clang-tools-extra project is disabled
-- compiler-rt project is disabled
-- cross-project-tests project is disabled
-- libclc project is disabled
-- lld project is enabled
-- lldb project is disabled
-- mlir project is disabled
-- openmp project is disabled
-- polly project is disabled
-- flang project is disabled
-- libc project is disabled
-- Found libtool - /Library/Developer/CommandLineTools/usr/bin/libtool
-- Found Python3: /opt/homebrew/Frameworks/Python.framework/Versions/3.14/bin/python3.14 (found suitable version "3.14.7", minimum required is "3.0") found components: Interpreter
-- Looking for __GLIBC__
Error: $HOME must be set to run brew.
-- Looking for __GLIBC__ - not found
-- Looking for valgrind/valgrind.h
Error: $HOME must be set to run brew.
-- Looking for valgrind/valgrind.h - not found
-- Looking for FE_ALL_EXCEPT
Error: $HOME must be set to run brew.
-- Looking for FE_ALL_EXCEPT - found
-- Looking for FE_INEXACT
Error: $HOME must be set to run brew.
-- Looking for FE_INEXACT - found
-- Performing Test HAVE_BUILTIN_THREAD_POINTER
Error: $HOME must be set to run brew.
-- Performing Test HAVE_BUILTIN_THREAD_POINTER - Success
-- Looking for CrashReporterClient.h
Error: $HOME must be set to run brew.
-- Looking for CrashReporterClient.h - not found
-- Performing Test HAVE_CRASHREPORTER_INFO
Error: $HOME must be set to run brew.
-- Performing Test HAVE_CRASHREPORTER_INFO - Success
-- Looking for pthread_create in pthread
Error: $HOME must be set to run brew.
-- Looking for pthread_create in pthread - found
-- Looking for pthread_rwlock_init in pthread
Error: $HOME must be set to run brew.
-- Looking for pthread_rwlock_init in pthread - found
-- Looking for pthread_mutex_lock in pthread
Error: $HOME must be set to run brew.
-- Looking for pthread_mutex_lock in pthread - found
-- Looking for dlopen in dl
Error: $HOME must be set to run brew.
-- Looking for dlopen in dl - found
-- Looking for shm_open in rt
Error: $HOME must be set to run brew.
-- Looking for shm_open in rt - not found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
Error: $HOME must be set to run brew.
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Looking for arc4random
Error: $HOME must be set to run brew.
-- Looking for arc4random - found
-- Looking for backtrace
Error: $HOME must be set to run brew.
-- Looking for backtrace - found
-- backtrace facility detected in default set of libraries
-- Found Backtrace: /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include
-- Performing Test C_SUPPORTS_WERROR_UNGUARDED_AVAILABILITY_NEW
Error: $HOME must be set to run brew.
-- Performing Test C_SUPPORTS_WERROR_UNGUARDED_AVAILABILITY_NEW - Success
-- Looking for __register_frame
Error: $HOME must be set to run brew.
-- Looking for __register_frame - found
-- Looking for __deregister_frame
Error: $HOME must be set to run brew.
-- Looking for __deregister_frame - found
-- Looking for __unw_add_dynamic_fde
Error: $HOME must be set to run brew.
-- Looking for __unw_add_dynamic_fde - found
-- Looking for _Unwind_Backtrace
Error: $HOME must be set to run brew.
-- Looking for _Unwind_Backtrace - found
-- Looking for getpagesize
Error: $HOME must be set to run brew.
-- Looking for getpagesize - found
-- Looking for sysconf
Error: $HOME must be set to run brew.
-- Looking for sysconf - found
-- Looking for getrusage
Error: $HOME must be set to run brew.
-- Looking for getrusage - found
-- Looking for isatty
Error: $HOME must be set to run brew.
-- Looking for isatty - found
-- Looking for futimens
Error: $HOME must be set to run brew.
-- Looking for futimens - found
-- Looking for futimes
Error: $HOME must be set to run brew.
-- Looking for futimes - found
-- Looking for getauxval
Error: $HOME must be set to run brew.
-- Looking for getauxval - not found
-- Looking for mallctl
Error: $HOME must be set to run brew.
-- Looking for mallctl - not found
-- Looking for mallinfo
Error: $HOME must be set to run brew.
-- Looking for mallinfo - not found
-- Looking for mallinfo2
Error: $HOME must be set to run brew.
-- Looking for mallinfo2 - not found
-- Looking for malloc_zone_statistics
Error: $HOME must be set to run brew.
-- Looking for malloc_zone_statistics - found
-- Looking for posix_spawn
Error: $HOME must be set to run brew.
-- Looking for posix_spawn - found
-- Looking for pread
Error: $HOME must be set to run brew.
-- Looking for pread - found
-- Looking for sbrk
Error: $HOME must be set to run brew.
-- Looking for sbrk - found
-- Looking for strerror_r
Error: $HOME must be set to run brew.
-- Looking for strerror_r - found
-- Looking for strerror_s
Error: $HOME must be set to run brew.
-- Looking for strerror_s - not found
-- Looking for setenv
Error: $HOME must be set to run brew.
-- Looking for setenv - found
-- Performing Test HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC
Error: $HOME must be set to run brew.
-- Performing Test HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC - Success
-- Performing Test HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC
Error: $HOME must be set to run brew.
-- Performing Test HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC - Failed
-- Looking for pthread_getname_np
Error: $HOME must be set to run brew.
-- Looking for pthread_getname_np - found
-- Looking for pthread_setname_np
Error: $HOME must be set to run brew.
-- Looking for pthread_setname_np - found
-- Looking for pthread_get_name_np
Error: $HOME must be set to run brew.
-- Looking for pthread_get_name_np - not found
-- Looking for pthread_set_name_np
Error: $HOME must be set to run brew.
-- Looking for pthread_set_name_np - not found
-- Looking for dlopen
Error: $HOME must be set to run brew.
-- Looking for dlopen - found
-- Looking for proc_pid_rusage
Error: $HOME must be set to run brew.
-- Looking for proc_pid_rusage - found
-- Performing Test HAVE_CXX_ATOMICS_WITHOUT_LIB
Error: $HOME must be set to run brew.
-- Performing Test HAVE_CXX_ATOMICS_WITHOUT_LIB - Success
-- Performing Test HAVE_CXX_ATOMICS64_WITHOUT_LIB
Error: $HOME must be set to run brew.
-- Performing Test HAVE_CXX_ATOMICS64_WITHOUT_LIB - Success
-- Performing Test LLVM_HAS_ATOMICS
Error: $HOME must be set to run brew.
-- Performing Test LLVM_HAS_ATOMICS - Success
-- LLVM host triple: arm64-apple-darwin27.0.0
-- Native target architecture is AArch64
-- Threads enabled.
-- Doxygen disabled.
-- Ninja version: 1.10.2
xcrun: error: unable to find utility "ld-classic", not a developer tool or in PATH
-- Found ld64 - /Library/Developer/CommandLineTools/usr/bin/ld
-- Could NOT find OCaml (missing: OCAMLFIND OCAML_VERSION OCAML_STDLIB_PATH) 
-- Could NOT find OCaml (missing: OCAMLFIND OCAML_VERSION OCAML_STDLIB_PATH) 
-- OCaml bindings disabled.
-- Could NOT find Python module pygments
-- Could NOT find Python module pygments.lexers.c_cpp
-- Could NOT find Python module yaml
Error: $HOME must be set to run brew.
-- LLVM default target triple: x86_64-unknown-toyos
-- Performing Test LLVM_USES_LIBSTDCXX
Error: $HOME must be set to run brew.
-- Performing Test LLVM_USES_LIBSTDCXX - Failed
-- Performing Test LLVM_DEFAULT_TO_GLIBCXX_USE_CXX11_ABI
Error: $HOME must be set to run brew.
-- Performing Test LLVM_DEFAULT_TO_GLIBCXX_USE_CXX11_ABI - Failed
-- Performing Test C_SUPPORTS_FPIC
Error: $HOME must be set to run brew.
-- Performing Test C_SUPPORTS_FPIC - Success
-- Performing Test CXX_SUPPORTS_FPIC
Error: $HOME must be set to run brew.
-- Performing Test CXX_SUPPORTS_FPIC - Success
-- Building with -fPIC
-- Performing Test C_SUPPORTS_FNO_SEMANTIC_INTERPOSITION
Error: $HOME must be set to run brew.
-- Performing Test C_SUPPORTS_FNO_SEMANTIC_INTERPOSITION - Failed
-- Performing Test CXX_SUPPORTS_FNO_SEMANTIC_INTERPOSITION
Error: $HOME must be set to run brew.
-- Performing Test CXX_SUPPORTS_FNO_SEMANTIC_INTERPOSITION - Failed
-- Performing Test SUPPORTS_FVISIBILITY_INLINES_HIDDEN_FLAG
Error: $HOME must be set to run brew.
-- Performing Test SUPPORTS_FVISIBILITY_INLINES_HIDDEN_FLAG - Success
-- Performing Test C_SUPPORTS_CXX98_COMPAT_EXTRA_SEMI_FLAG
Error: $HOME must be set to run brew.
-- Performing Test C_SUPPORTS_CXX98_COMPAT_EXTRA_SEMI_FLAG - Success
-- Performing Test CXX_SUPPORTS_CXX98_COMPAT_EXTRA_SEMI_FLAG
Error: $HOME must be set to run brew.
-- Performing Test CXX_SUPPORTS_CXX98_COMPAT_EXTRA_SEMI_FLAG - Success
-- Performing Test CXX_SUPPORTS_SUGGEST_OVERRIDE_FLAG
Error: $HOME must be set to run brew.
-- Performing Test CXX_SUPPORTS_SUGGEST_OVERRIDE_FLAG - Success
-- Performing Test CXX_WSUGGEST_OVERRIDE_ALLOWS_ONLY_FINAL
Error: $HOME must be set to run brew.
-- Performing Test CXX_WSUGGEST_OVERRIDE_ALLOWS_ONLY_FINAL - Success
CMake Warning (policy) at cmake/modules/HandleLLVMOptions.cmake:926 (CHECK_C_SOURCE_COMPILES):
  Policy CMP0219 is not set: Macro invocations preserve backslashes in
  arguments.  Run "cmake --help-policy CMP0219" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  Command "CHECK_C_SOURCE_COMPILES" called with arguments containing
  backslashes.

  Since the policy is not set, backslashes in the arguments:

   "// \\\n//\nint main(void) {return 0;}"

  will be interpreted as escape sequences for compatibility.

  Set the policy to NEW to instead pass

   "// \\\\\\n//\\nint main(void) {return 0;}"

  so that argument parsing will preserve the original values.
Call Stack (most recent call first):
  CMakeLists.txt:1071 (include)
This warning is for project developers.  Use -Wno-author or -Wno-policy to
suppress it.

-- Performing Test C_WCOMMENT_ALLOWS_LINE_WRAP
Error: $HOME must be set to run brew.
-- Performing Test C_WCOMMENT_ALLOWS_LINE_WRAP - Success
-- Performing Test C_SUPPORTS_MISLEADING_INDENTATION_FLAG
Error: $HOME must be set to run brew.
-- Performing Test C_SUPPORTS_MISLEADING_INDENTATION_FLAG - Success
-- Performing Test CXX_SUPPORTS_MISLEADING_INDENTATION_FLAG
Error: $HOME must be set to run brew.
-- Performing Test CXX_SUPPORTS_MISLEADING_INDENTATION_FLAG - Success
-- Performing Test C_SUPPORTS_CTAD_MAYBE_UNSPPORTED_FLAG
Error: $HOME must be set to run brew.
-- Performing Test C_SUPPORTS_CTAD_MAYBE_UNSPPORTED_FLAG - Success
-- Performing Test CXX_SUPPORTS_CTAD_MAYBE_UNSPPORTED_FLAG
Error: $HOME must be set to run brew.
-- Performing Test CXX_SUPPORTS_CTAD_MAYBE_UNSPPORTED_FLAG - Success
-- Performing Test LINKER_SUPPORTS_COLOR_DIAGNOSTICS
Error: $HOME must be set to run brew.
-- Performing Test LINKER_SUPPORTS_COLOR_DIAGNOSTICS - Failed
-- Looking for os_signpost_interval_begin
Error: $HOME must be set to run brew.
-- Looking for os_signpost_interval_begin - found
-- Performing Test macos_signposts_usable
Error: $HOME must be set to run brew.
-- Performing Test macos_signposts_usable - Success
-- Looking for flock
Error: $HOME must be set to run brew.
-- Looking for flock - found
-- Linker detection: Apple
-- Performing Test LLVM_LINKER_SUPPORTS_NO_EXPORTED_SYMBOLS
Error: $HOME must be set to run brew.
-- Performing Test LLVM_LINKER_SUPPORTS_NO_EXPORTED_SYMBOLS - Success
-- Performing Test LLVM_LINKER_SUPPORTS_NO_WARN_DUPLICATE_LIBRARIES
Error: $HOME must be set to run brew.
-- Performing Test LLVM_LINKER_SUPPORTS_NO_WARN_DUPLICATE_LIBRARIES - Success
-- Performing Test LLVM_LINKER_SUPPORTS_B_SYMBOLIC_FUNCTIONS
Error: $HOME must be set to run brew.
-- Performing Test LLVM_LINKER_SUPPORTS_B_SYMBOLIC_FUNCTIONS - Failed
-- Performing Test HAS_WERROR_GLOBAL_CTORS
Error: $HOME must be set to run brew.
-- Performing Test HAS_WERROR_GLOBAL_CTORS - Success
-- Performing Test LLVM_HAS_NOGLOBAL_CTOR_MUTEX
Error: $HOME must be set to run brew.
-- Performing Test LLVM_HAS_NOGLOBAL_CTOR_MUTEX - Failed
-- Looking for __x86_64__
Error: $HOME must be set to run brew.
-- Looking for __x86_64__ - not found
-- Found Git: /usr/bin/git (found version "2.54.0 (Apple Git-157)")
-- Looking for logf128
Error: $HOME must be set to run brew.
-- Looking for logf128 - not found
-- Targeting AArch64
-- Targeting X86
-- LLD version: 22.1.8
-- Looking for sys/resource.h
Error: $HOME must be set to run brew.
-- Looking for sys/resource.h - found
-- Looking for dlfcn.h
Error: $HOME must be set to run brew.
-- Looking for dlfcn.h - found
-- Looking for dladdr
Error: $HOME must be set to run brew.
-- Looking for dladdr - found
-- Clang version: 22.1.8
-- Host linker version: 27037.1
-- Looking for include file CoreServices/CoreServices.h
Error: $HOME must be set to run brew.
-- Looking for include file CoreServices/CoreServices.h - found
-- Performing Test HAVE_LINKER_FLAG_LONG_PLT
Error: $HOME must be set to run brew.
-- Performing Test HAVE_LINKER_FLAG_LONG_PLT - Failed
-- Not building llvm-mt because libxml2 is not available
-- Registering ExampleIRTransforms as a pass plugin (static build: OFF)
-- Registering Bye as a pass plugin (static build: OFF)
-- Configuring done (10.2s)
-- Generating done (1.2s)
CMake Warning (unused-cli):
  Manually-specified variables were not used by the project:

    PYTHON_EXECUTABLE


-- Build files have been written to: /Users/<user>/.cache/toyos/hosted-clang/27b5cb9a4952c2c5.build/build/NATIVE
Building native llvm-min-tblgen...
Building CXX object utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/RuntimeLibcallsEmitter.cpp.o
Building CXX object utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/ARMTargetDefEmitter.cpp.o
Building CXX object utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/RISCVTargetDefEmitter.cpp.o
Building CXX object utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/SDNodeProperties.cpp.o
Building CXX object utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/VTEmitter.cpp.o
Building CXX object utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/RuntimeLibcalls.cpp.o
Building CXX object utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/Attributes.cpp.o
Building CXX object utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/CodeGenIntrinsics.cpp.o
Building CXX object utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/IntrinsicEmitter.cpp.o
Building CXX object utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/TableGen.cpp.o
Building CXX object utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/TargetFeaturesEmitter.cpp.o
Building CXX object utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/TargetLibraryInfoEmitter.cpp.o
Building CXX object utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/DirectiveEmitter.cpp.o
Building CXX object lib/Demangle/CMakeFiles/LLVMDemangle.dir/ItaniumDemangle.cpp.o
Building CXX object lib/Demangle/CMakeFiles/LLVMDemangle.dir/MicrosoftDemangle.cpp.o
Building CXX object lib/Demangle/CMakeFiles/LLVMDemangle.dir/MicrosoftDemangleNodes.cpp.o
Building CXX object lib/Demangle/CMakeFiles/LLVMDemangle.dir/DLangDemangle.cpp.o
Building CXX object lib/Demangle/CMakeFiles/LLVMDemangle.dir/RustDemangle.cpp.o
Building CXX object lib/Demangle/CMakeFiles/LLVMDemangle.dir/Demangle.cpp.o
Building C object lib/Support/BLAKE3/CMakeFiles/LLVMSupportBlake3.dir/blake3_neon.c.o
Building C object lib/Support/BLAKE3/CMakeFiles/LLVMSupportBlake3.dir/blake3_dispatch.c.o
Building C object lib/Support/BLAKE3/CMakeFiles/LLVMSupportBlake3.dir/blake3.c.o
Building C object lib/Support/BLAKE3/CMakeFiles/LLVMSupportBlake3.dir/blake3_portable.c.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/DeltaAlgorithm.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Watchdog.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/DJB.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ARMBuildAttributes.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/OptionStrCmp.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/StringMap.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/TarWriter.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Timer.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/BinaryStreamReader.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/BinaryStreamError.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/InstructionCost.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/GlobPattern.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/TextEncoding.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/BranchProbability.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/UnicodeNameToCodepointGenerated.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/CommandLine.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ARMAttributeParser.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/raw_ostream.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/BalancedPartitioning.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/AArch64AttributeParser.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/OptimizedStructLayout.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/APInt.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ConvertEBCDIC.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/COM.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/MSP430AttributeParser.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Debug.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/DXILABI.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/CRC.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/RandomNumberGenerator.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/SHA256.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/AArch64BuildAttributes.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/IntEqClasses.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/NativeFormatting.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Regex.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/APSInt.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ScopedPrinter.cpp.o

@Japabu

Japabu commented Oct 11, 2026

Copy link
Copy Markdown
Collaborator Author

hosted-clang-hello, part 2 of 7, cargo test --test toyos-build -- hosted_clang_hello --nocapture at the evidence tree 45f5c2eb (0a9180449), exit 0

Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/VirtualOutputError.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Hash.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/IntegerInclusiveInterval.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ABIBreak.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/MemAlloc.cpp.o
Building C object lib/Support/CMakeFiles/LLVMSupport.dir/regexec.c.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/xxhash.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/DataExtractor.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/RISCVAttributes.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/SipHash.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/TimeProfiler.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/StringSaver.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/SystemUtils.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/MSP430Attributes.cpp.o
Building C object lib/Support/CMakeFiles/LLVMSupport.dir/regstrlcpy.c.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/VersionTuple.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/VirtualOutputConfig.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Chrono.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/VirtualOutputBackends.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/SpecialCaseList.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/SmallPtrSet.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/BlockFrequency.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/raw_socket_stream.cpp.o
Building C object lib/Support/CMakeFiles/LLVMSupport.dir/regerror.c.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/RWMutex.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ThreadPool.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Atomic.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Errno.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/KnownFPClass.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Allocator.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/DAGDeltaAlgorithm.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Mustache.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Parallel.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/raw_os_ostream.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/raw_ostream_proxy.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/circular_raw_ostream.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Program.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/TrieRawHashMap.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/AutoConvert.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/CachePruning.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/DivisionByConstantInfo.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/FormattedStream.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/PGOOptions.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/VirtualOutputFile.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/RISCVISAUtils.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/DeltaTree.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/SourceMgr.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/VirtualOutputBackend.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/SmallVector.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/SuffixTree.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/FoldingSet.cpp.o
Building C object lib/Support/CMakeFiles/LLVMSupport.dir/regcomp.c.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/MemoryBuffer.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Compression.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Signals.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Caching.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Jobserver.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/PrettyStackTrace.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Statistic.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Base64.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/MD5.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/DynamicAPInt.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ELFAttributes.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Locale.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/FileOutputBuffer.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/UnicodeCaseFold.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Memory.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/DebugCounter.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/RewriteBuffer.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ScaledNumber.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ConvertUTF.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/HexagonAttributeParser.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/APFixedPoint.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/LEB128.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Z3Solver.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/zOSLibFunctions.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/WithColor.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Optional.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/PluginLoader.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/RewriteRope.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/BinaryStreamRef.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/CSKYAttributes.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/APFloat.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ELFAttrParserCompact.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Error.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/StringExtras.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/MemoryBufferRef.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Unicode.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/YAMLTraits.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Path.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Process.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/CodeGenCoverage.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ModRef.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/FileUtilities.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ARMWinEH.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ExponentialBackoff.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/AMDGPUMetadata.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/IntervalMap.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/BuryPointer.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/LineIterator.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/JSON.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/SuffixTreeNode.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/HexagonAttributes.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ManagedStatic.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/MathExtras.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/VirtualFileSystem.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/KnownBits.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/RISCVAttributeParser.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/FileCollector.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/AllocToken.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Threading.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/SlowDynamicAPInt.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Signposts.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/LockFileManager.cpp.o
Building C object lib/Support/CMakeFiles/LLVMSupport.dir/regfree.c.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Twine.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ProgramStack.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/CrashRecoveryContext.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ErrorHandling.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/CSKYAttributeParser.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Valgrind.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ConvertUTFWrapper.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/FormatVariadic.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/YAMLParser.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/BinaryStreamWriter.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/StringRef.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/GraphWriter.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/DynamicLibrary.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/InitLLVM.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ToolOutputFile.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/SHA1.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ExtensibleRTTI.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ELFAttrParserExtended.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/UnicodeNameToCodepoint.cpp.o
Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/FloatingPointMode.cpp.o
Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/TableGenBackend.cpp.o
Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/TGLexer.cpp.o
Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/StringMatcher.cpp.o
Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/TableGenBackendSkeleton.cpp.o
Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/Main.cpp.o
Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/TGParser.cpp.o
Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/TGTimer.cpp.o
Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/JSONBackend.cpp.o
Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/Parser.cpp.o
Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/StringToOffsetTable.cpp.o
Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/SetTheory.cpp.o
Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/DetailedRecordsBackend.cpp.o
Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/Error.cpp.o
Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/Record.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-min-tblgen.dir/llvm-min-tblgen.cpp.o
Linking CXX static library lib/libLLVMDemangle.a
Linking CXX static library lib/libLLVMSupport.a
libtool: warning: 'AutoConvert.cpp.o' has no symbols
libtool: warning: 'zOSLibFunctions.cpp.o' has no symbols
Linking CXX static library lib/libLLVMTableGen.a
Linking CXX executable bin/llvm-min-tblgen
n2: ran 213 tasks, now up to date
Building native clang-tblgen...
Building ACC.h.inc...
Building IntrinsicsMips.h...
Building OMP.inc...
Building IntrinsicsNVPTX.h...
Building PPCGenTargetFeatures.inc...
Building OMP.h.inc...
Building IntrinsicsXCore.h...
Building IntrinsicsLoongArch.h...
Building IntrinsicsWebAssembly.h...
Building TargetLibraryInfo.inc...
Building IntrinsicsARM.h...
Building ACC.inc...
Building RISCVTargetParserDef.inc...
Building Attributes.inc...
Building AArch64TargetParserDef.inc...
Building RuntimeLibcalls.inc...
Building IntrinsicsX86.h...
Building ARMTargetParserDef.inc...
Building IntrinsicsSPIRV.h...
Building IntrinsicsPowerPC.h...
Building IntrinsicsR600.h...
Building IntrinsicsAArch64.h...
Building IntrinsicsDirectX.h...
Building GenVT.inc...
Building IntrinsicEnums.inc...
Building IntrinsicsS390.h...
Building IntrinsicsRISCV.h...
Building IntrinsicsHexagon.h...
Building IntrinsicsBPF.h...
Building IntrinsicsVE.h...
Building IntrinsicImpl.inc...
Building IntrinsicsAMDGPU.h...
Building CXX object lib/CodeGenTypes/CMakeFiles/LLVMCodeGenTypes.dir/LowLevelType.cpp.o
Building CXX object lib/DebugInfo/BTF/CMakeFiles/LLVMDebugInfoBTF.dir/BTFParser.cpp.o
Building CXX object lib/DebugInfo/BTF/CMakeFiles/LLVMDebugInfoBTF.dir/BTFContext.cpp.o
Building CXX object lib/Remarks/CMakeFiles/LLVMRemarks.dir/RemarkFormat.cpp.o
Building CXX object lib/Remarks/CMakeFiles/LLVMRemarks.dir/Remark.cpp.o
Building CXX object lib/Remarks/CMakeFiles/LLVMRemarks.dir/RemarkStringTable.cpp.o
Building CXX object lib/Remarks/CMakeFiles/LLVMRemarks.dir/YAMLRemarkParser.cpp.o
Building CXX object lib/Remarks/CMakeFiles/LLVMRemarks.dir/BitstreamRemarkSerializer.cpp.o
Building CXX object lib/Remarks/CMakeFiles/LLVMRemarks.dir/RemarkSerializer.cpp.o
Building CXX object lib/Remarks/CMakeFiles/LLVMRemarks.dir/BitstreamRemarkParser.cpp.o
Building CXX object lib/Remarks/CMakeFiles/LLVMRemarks.dir/YAMLRemarkSerializer.cpp.o
Building CXX object lib/Remarks/CMakeFiles/LLVMRemarks.dir/RemarkLinker.cpp.o
Building CXX object lib/Remarks/CMakeFiles/LLVMRemarks.dir/RemarkParser.cpp.o
Building CXX object lib/Remarks/CMakeFiles/LLVMRemarks.dir/RemarkStreamer.cpp.o
Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/OptEmitter.cpp.o
Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/SubtargetFeatureInfo.cpp.o
Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/AsmWriterInst.cpp.o
Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/GlobalISel/CXXPredicates.cpp.o
Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/Utils.cpp.o
Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/CodeGenDAGPatterns.cpp.o
Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/CodeGenTarget.cpp.o
Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/CodeGenRegisters.cpp.o
Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/GlobalISel/CodeExpander.cpp.o
Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/Types.cpp.o
Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/VarLenCodeEmitterGen.cpp.o
Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/PredicateExpander.cpp.o
Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/GlobalISel/CombinerUtils.cpp.o
Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/InstructionEncoding.cpp.o
Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/CodeGenSchedule.cpp.o
Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/GlobalISel/Patterns.cpp.o
Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/CodeGenHwModes.cpp.o
Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/CodeGenInstruction.cpp.o
Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/GlobalISel/GlobalISelMatchTableExecutorEmitter.cpp.o
Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/GlobalISel/GlobalISelMatchTable.cpp.o
Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/GlobalISel/PatternParser.cpp.o
Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/CodeGenInstAlias.cpp.o
Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/InfoByHwMode.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/SDNodeInfoEmitter.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/FastISelEmitter.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/DFAPacketizerEmitter.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/OptionParserEmitter.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/WebAssemblyDisassemblerEmitter.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/AsmWriterEmitter.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/DisassemblerEmitter.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/CTagsEmitter.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/CodeEmitterGen.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/DecoderTableEmitter.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/DFAEmitter.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/DXILEmitter.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/InstrInfoEmitter.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/MacroFusionPredicatorEmitter.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/GlobalISelCombinerEmitter.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/RegisterBankEmitter.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/X86MnemonicTables.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/PseudoLoweringEmitter.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/InstrDocsEmitter.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/X86DisassemblerTables.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/X86FoldTablesEmitter.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/SearchableTableEmitter.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/X86ModRMFilters.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/CompressInstEmitter.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/DAGISelMatcherEmitter.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/DAGISelMatcherOpt.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/ExegesisEmitter.cpp.o
Building native clang-tblgen...
Building CXX object tools/clang/lib/Support/CMakeFiles/obj.clangSupport.dir/RISCVVIntrinsicUtils.cpp.o
Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/MveEmitter.cpp.o
Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangDataCollectorsEmitter.cpp.o
Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/SveEmitter.cpp.o
Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangASTPropertiesEmitter.cpp.o
Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangBuiltinsEmitter.cpp.o
Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangASTNodesEmitter.cpp.o
Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangTypeNodesEmitter.cpp.o
Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangDiagnosticsEmitter.cpp.o
Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/TableGen.cpp.o
Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangOptionDocEmitter.cpp.o
Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangOpenCLBuiltinEmitter.cpp.o
Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangBuiltinTemplatesEmitter.cpp.o
Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangCommentHTMLTagsEmitter.cpp.o
Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangSyntaxEmitter.cpp.o
Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangCommentHTMLNamedCharacterReferenceEmitter.cpp.o
Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangCommentCommandInfoEmitter.cpp.o
Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/CIRLoweringEmitter.cpp.o
Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/ASTTableGen.cpp.o
Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangOpcodesEmitter.cpp.o
Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/RISCVVEmitter.cpp.o
Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/NeonEmitter.cpp.o
Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangAttrEmitter.cpp.o
Building CXX object tools/clang/utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangSACheckersEmitter.cpp.o
Linking CXX executable bin/clang-tblgen
n2: ran 25 tasks, now up to date
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/X86RecognizableInstr.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/AsmMatcherEmitter.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/llvm-tblgen.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/CallingConvEmitter.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/SubtargetEmitter.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/RegisterInfoEmitter.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/OptionRSTEmitter.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/GlobalISelEmitter.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/DAGISelMatcher.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/CodeGenMapTable.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/DAGISelEmitter.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/DecoderTree.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/DAGISelMatcherGen.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/DecoderEmitter.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/X86InstrMappingEmitter.cpp.o
Linking CXX static library lib/libLLVMCodeGenTypes.a
Building CXX object lib/TargetParser/CMakeFiles/LLVMTargetParser.dir/Triple.cpp.o
Building CXX object lib/TargetParser/CMakeFiles/LLVMTargetParser.dir/ARMTargetParser.cpp.o
Building CXX object lib/TargetParser/CMakeFiles/LLVMTargetParser.dir/RISCVTargetParser.cpp.o
Building CXX object lib/TargetParser/CMakeFiles/LLVMTargetParser.dir/PPCTargetParser.cpp.o
Building CXX object lib/TargetParser/CMakeFiles/LLVMTargetParser.dir/TargetDataLayout.cpp.o
Building CXX object lib/TargetParser/CMakeFiles/LLVMTargetParser.dir/AArch64TargetParser.cpp.o
Building CXX object lib/TargetParser/CMakeFiles/LLVMTargetParser.dir/RISCVISAInfo.cpp.o
Building CXX object lib/TargetParser/CMakeFiles/LLVMTargetParser.dir/XtensaTargetParser.cpp.o
Building CXX object lib/TargetParser/CMakeFiles/LLVMTargetParser.dir/TargetParser.cpp.o
Building CXX object lib/TargetParser/CMakeFiles/LLVMTargetParser.dir/LoongArchTargetParser.cpp.o
Building CXX object lib/TargetParser/CMakeFiles/LLVMTargetParser.dir/X86TargetParser.cpp.o
Building CXX object lib/TargetParser/CMakeFiles/LLVMTargetParser.dir/SubtargetFeature.cpp.o
Building CXX object lib/TargetParser/CMakeFiles/LLVMTargetParser.dir/ARMTargetParserCommon.cpp.o
Building CXX object lib/TargetParser/CMakeFiles/LLVMTargetParser.dir/CSKYTargetParser.cpp.o
Building CXX object lib/TargetParser/CMakeFiles/LLVMTargetParser.dir/Host.cpp.o
Building CXX object lib/WindowsDriver/CMakeFiles/LLVMWindowsDriver.dir/MSVCPaths.cpp.o
Building CXX object lib/BinaryFormat/CMakeFiles/LLVMBinaryFormat.dir/MsgPackWriter.cpp.o
Building CXX object lib/BinaryFormat/CMakeFiles/LLVMBinaryFormat.dir/SFrame.cpp.o
Building CXX object lib/BinaryFormat/CMakeFiles/LLVMBinaryFormat.dir/Wasm.cpp.o
Building CXX object lib/BinaryFormat/CMakeFiles/LLVMBinaryFormat.dir/MachO.cpp.o
Building CXX object lib/BinaryFormat/CMakeFiles/LLVMBinaryFormat.dir/Dwarf.cpp.o
Building CXX object lib/BinaryFormat/CMakeFiles/LLVMBinaryFormat.dir/Magic.cpp.o
Building CXX object lib/BinaryFormat/CMakeFiles/LLVMBinaryFormat.dir/COFF.cpp.o
Building CXX object lib/BinaryFormat/CMakeFiles/LLVMBinaryFormat.dir/XCOFF.cpp.o
Building CXX object lib/BinaryFormat/CMakeFiles/LLVMBinaryFormat.dir/MsgPackDocument.cpp.o
Building CXX object lib/BinaryFormat/CMakeFiles/LLVMBinaryFormat.dir/ELF.cpp.o
Building CXX object lib/BinaryFormat/CMakeFiles/LLVMBinaryFormat.dir/MsgPackReader.cpp.o
Building CXX object lib/BinaryFormat/CMakeFiles/LLVMBinaryFormat.dir/DXContainer.cpp.o
Building CXX object lib/BinaryFormat/CMakeFiles/LLVMBinaryFormat.dir/AMDGPUMetadataVerifier.cpp.o
Building CXX object lib/BinaryFormat/CMakeFiles/LLVMBinaryFormat.dir/MsgPackDocumentYAML.cpp.o
Building CXX object lib/DebugInfo/DWARF/LowLevel/CMakeFiles/LLVMDebugInfoDWARFLowLevel.dir/DWARFUnwindTable.cpp.o
Building CXX object lib/DebugInfo/DWARF/LowLevel/CMakeFiles/LLVMDebugInfoDWARFLowLevel.dir/DWARFCFIProgram.cpp.o
Building CXX object lib/DebugInfo/DWARF/LowLevel/CMakeFiles/LLVMDebugInfoDWARFLowLevel.dir/DWARFExpression.cpp.o
Building CXX object lib/TextAPI/CMakeFiles/LLVMTextAPI.dir/Architecture.cpp.o
Building CXX object lib/TextAPI/CMakeFiles/LLVMTextAPI.dir/InterfaceFile.cpp.o
Building CXX object lib/TextAPI/CMakeFiles/LLVMTextAPI.dir/RecordVisitor.cpp.o
Building CXX object lib/TextAPI/CMakeFiles/LLVMTextAPI.dir/TextAPIError.cpp.o
Building CXX object lib/TextAPI/CMakeFiles/LLVMTextAPI.dir/Target.cpp.o
Building CXX object lib/TextAPI/CMakeFiles/LLVMTextAPI.dir/TextStubV5.cpp.o
Building CXX object lib/TextAPI/CMakeFiles/LLVMTextAPI.dir/TextStub.cpp.o
Building CXX object lib/TextAPI/CMakeFiles/LLVMTextAPI.dir/Utils.cpp.o
Building CXX object lib/TextAPI/CMakeFiles/LLVMTextAPI.dir/RecordsSlice.cpp.o
Building CXX object lib/TextAPI/CMakeFiles/LLVMTextAPI.dir/SymbolSet.cpp.o
Building CXX object lib/TextAPI/CMakeFiles/LLVMTextAPI.dir/TextStubCommon.cpp.o
Building CXX object lib/TextAPI/CMakeFiles/LLVMTextAPI.dir/ArchitectureSet.cpp.o
Building CXX object lib/TextAPI/CMakeFiles/LLVMTextAPI.dir/Platform.cpp.o
Building CXX object lib/TextAPI/CMakeFiles/LLVMTextAPI.dir/PackedVersion.cpp.o
Building CXX object lib/TextAPI/CMakeFiles/LLVMTextAPI.dir/Symbol.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/DebugLoc.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/GCStrategy.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/LLVMRemarkStreamer.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/Metadata.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/Use.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/DataLayout.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/PassRegistry.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/ValueSymbolTable.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/PassManager.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/Function.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/User.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/PassTimingInfo.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/Verifier.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/PrintPasses.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/ProfileSummary.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/GVMaterializer.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/ProfDataUtils.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/TypeFinder.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/Intrinsics.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/Instruction.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/MDBuilder.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/StructuralHash.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/DebugInfoMetadata.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/Constants.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/RuntimeLibcalls.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/ConstantRangeList.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/ConvergenceVerifier.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/Value.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/FPEnv.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/DroppedVariableStats.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/Comdat.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/Dominators.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/DroppedVariableStatsIR.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/EHPersonalities.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/LegacyPassManager.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/PseudoProbe.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/AsmWriter.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/DiagnosticHandler.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/AbstractCallSite.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/IRPrintingPasses.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/ConstantRange.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/ConstantFold.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/Module.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/SafepointIRVerifier.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/Type.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/ConstantFPRange.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/Globals.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/DiagnosticPrinter.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/ReplaceConstant.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/Mangler.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/VFABIDemangler.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/Statepoint.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/TypedPointerType.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/BasicBlock.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/BuiltinGCs.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/NVVMIntrinsicUtils.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/ModuleSummaryIndex.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/Assumptions.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/Instructions.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/SSAContext.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/OptBisect.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/DebugProgramInstruction.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/PassInstrumentation.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/DIBuilder.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/IntrinsicInst.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/DiagnosticInfo.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/MemoryModelRelaxationAnnotations.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/DebugInfo.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/Core.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/AutoUpgrade.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/IRBuilder.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/LLVMContextImpl.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/Operator.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/DIExpressionOptimizer.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/VectorTypeUtils.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/InlineAsm.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/CycleInfo.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/LLVMContext.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/Pass.cpp.o
Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/Attributes.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/SPIRVObjectWriter.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/MCDXContainerWriter.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/MCLinkerOptimizationHint.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/MCSubtargetInfo.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/MCAsmInfoCOFF.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/GOFFObjectWriter.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/MCGOFFStreamer.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/MCInstPrinter.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/MCValue.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/MCWinCOFFStreamer.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/MCAsmInfoXCOFF.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/MCDwarf.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/MCFragment.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/MCNullStreamer.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/WasmObjectWriter.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/MCELFObjectTargetWriter.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/MCExpr.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/MCWasmStreamer.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/MachObjectWriter.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/DXContainerPSVInfo.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/ConstantPools.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/MCRegisterInfo.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/MCSection.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/MCStreamer.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/MCAsmInfoWasm.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/MCMachOStreamer.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/MCSymbol.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/MCObjectWriter.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/MCELFStreamer.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/MCAsmStreamer.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/MCMachObjectTargetWriter.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/MCObjectStreamer.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/MCAsmBackend.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/MCDXContainerStreamer.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/MCAssembler.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/MCXCOFFStreamer.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/MCSymbolXCOFF.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/MCXCOFFObjectTargetWriter.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/MCSPIRVStreamer.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/MCAsmMacro.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/MCContext.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/MCInst.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/MCSectionMachO.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/WinCOFFObjectWriter.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/MCPseudoProbe.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/MCLabel.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/MCAsmInfoELF.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/MCInstrDesc.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/MCAsmInfoGOFF.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/MCSchedule.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/MCWasmObjectTargetWriter.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/MCObjectFileInfo.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/MCTargetOptionsCommandFlags.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/XCOFFObjectWriter.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/DXContainerRootSignature.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/TargetRegistry.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/MCInstrInfo.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/MCInstrAnalysis.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/MCSymbolGOFF.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/ELFObjectWriter.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/MCAsmInfoDarwin.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/MCSFrame.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/MCWin64EH.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/MCCodeEmitter.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/StringTableBuilder.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/MCSymbolELF.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/MCAsmInfo.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/MCTargetOptions.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/MCWinEH.cpp.o
Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/MCCodeView.cpp.o
Building CXX object lib/AsmParser/CMakeFiles/LLVMAsmParser.dir/LLParser.cpp.o
Building CXX object lib/AsmParser/CMakeFiles/LLVMAsmParser.dir/AsmParserContext.cpp.o
Building CXX object lib/AsmParser/CMakeFiles/LLVMAsmParser.dir/LLLexer.cpp.o
Building CXX object lib/AsmParser/CMakeFiles/LLVMAsmParser.dir/Parser.cpp.o
Building CXX object lib/Transforms/CFGuard/CMakeFiles/LLVMCFGuard.dir/CFGuard.cpp.o
Building CXX object lib/Bitcode/Reader/CMakeFiles/LLVMBitReader.dir/MetadataLoader.cpp.o
Building CXX object lib/Bitcode/Reader/CMakeFiles/LLVMBitReader.dir/BitcodeAnalyzer.cpp.o
Building CXX object lib/Bitcode/Reader/CMakeFiles/LLVMBitReader.dir/BitReader.cpp.o
Building CXX object lib/Bitcode/Reader/CMakeFiles/LLVMBitReader.dir/BitcodeReader.cpp.o
Building CXX object lib/Bitcode/Reader/CMakeFiles/LLVMBitReader.dir/ValueList.cpp.o
Building CXX object lib/Frontend/HLSL/CMakeFiles/LLVMFrontendHLSL.dir/RootSignatureMetadata.cpp.o
Building CXX object lib/Frontend/HLSL/CMakeFiles/LLVMFrontendHLSL.dir/HLSLResource.cpp.o
Building CXX object lib/Frontend/HLSL/CMakeFiles/LLVMFrontendHLSL.dir/RootSignatureValidations.cpp.o
Building CXX object lib/Frontend/HLSL/CMakeFiles/LLVMFrontendHLSL.dir/CBuffer.cpp.o
Building CXX object lib/Frontend/HLSL/CMakeFiles/LLVMFrontendHLSL.dir/HLSLBinding.cpp.o
Building CXX object lib/Frontend/HLSL/CMakeFiles/LLVMFrontendHLSL.dir/HLSLRootSignature.cpp.o
Building CXX object lib/MC/MCDisassembler/CMakeFiles/LLVMMCDisassembler.dir/MCExternalSymbolizer.cpp.o
Building CXX object lib/MC/MCDisassembler/CMakeFiles/LLVMMCDisassembler.dir/MCSymbolizer.cpp.o
Building CXX object lib/MC/MCDisassembler/CMakeFiles/LLVMMCDisassembler.dir/MCDisassembler.cpp.o
Building CXX object lib/MC/MCDisassembler/CMakeFiles/LLVMMCDisassembler.dir/Disassembler.cpp.o
Building CXX object lib/MC/MCDisassembler/CMakeFiles/LLVMMCDisassembler.dir/MCRelocationInfo.cpp.o
Building CXX object lib/MC/MCParser/CMakeFiles/LLVMMCParser.dir/MasmParser.cpp.o
Building CXX object lib/MC/MCParser/CMakeFiles/LLVMMCParser.dir/MCTargetAsmParser.cpp.o
Building CXX object lib/MC/MCParser/CMakeFiles/LLVMMCParser.dir/WasmAsmParser.cpp.o
Building CXX object lib/MC/MCParser/CMakeFiles/LLVMMCParser.dir/GOFFAsmParser.cpp.o
Building CXX object lib/MC/MCParser/CMakeFiles/LLVMMCParser.dir/COFFAsmParser.cpp.o
Building CXX object lib/MC/MCParser/CMakeFiles/LLVMMCParser.dir/AsmParser.cpp.o
Building CXX object lib/MC/MCParser/CMakeFiles/LLVMMCParser.dir/MCAsmParserExtension.cpp.o
Building CXX object lib/MC/MCParser/CMakeFiles/LLVMMCParser.dir/ELFAsmParser.cpp.o
Building CXX object lib/MC/MCParser/CMakeFiles/LLVMMCParser.dir/AsmLexer.cpp.o
Building CXX object lib/MC/MCParser/CMakeFiles/LLVMMCParser.dir/XCOFFAsmParser.cpp.o
Building CXX object lib/MC/MCParser/CMakeFiles/LLVMMCParser.dir/COFFMasmParser.cpp.o
Building CXX object lib/MC/MCParser/CMakeFiles/LLVMMCParser.dir/DarwinAsmParser.cpp.o
Building CXX object lib/MC/MCParser/CMakeFiles/LLVMMCParser.dir/MCAsmParser.cpp.o
Building CXX object lib/IRReader/CMakeFiles/LLVMIRReader.dir/IRReader.cpp.o
Building CXX object lib/Object/CMakeFiles/LLVMObject.dir/WasmObjectFile.cpp.o
Building CXX object lib/Object/CMakeFiles/LLVMObject.dir/ObjectFile.cpp.o
Building CXX object lib/Object/CMakeFiles/LLVMObject.dir/SymbolicFile.cpp.o
Building CXX object lib/Object/CMakeFiles/LLVMObject.dir/ArchiveWriter.cpp.o
Building CXX object lib/Object/CMakeFiles/LLVMObject.dir/TapiFile.cpp.o
Building CXX object lib/Object/CMakeFiles/LLVMObject.dir/COFFModuleDefinition.cpp.o
Building CXX object lib/Object/CMakeFiles/LLVMObject.dir/TapiUniversal.cpp.o
Building CXX object lib/Object/CMakeFiles/LLVMObject.dir/GOFFObjectFile.cpp.o
Building CXX object lib/Object/CMakeFiles/LLVMObject.dir/FaultMapParser.cpp.o
Building CXX object lib/Object/CMakeFiles/LLVMObject.dir/Object.cpp.o
Building CXX object lib/Object/CMakeFiles/LLVMObject.dir/SymbolSize.cpp.o
Building CXX object lib/Object/CMakeFiles/LLVMObject.dir/MachOUniversal.cpp.o
Building CXX object lib/Object/CMakeFiles/LLVMObject.dir/MachOUniversalWriter.cpp.o
Building CXX object lib/Object/CMakeFiles/LLVMObject.dir/RecordStreamer.cpp.o
Building CXX object lib/Object/CMakeFiles/LLVMObject.dir/ELFObjectFile.cpp.o
Building CXX object lib/Object/CMakeFiles/LLVMObject.dir/Decompressor.cpp.o
Building CXX object lib/Object/CMakeFiles/LLVMObject.dir/Binary.cpp.o
Building CXX object lib/Object/CMakeFiles/LLVMObject.dir/OffloadBinary.cpp.o
Building CXX object lib/Object/CMakeFiles/LLVMObject.dir/Error.cpp.o
Building CXX object lib/Object/CMakeFiles/LLVMObject.dir/Archive.cpp.o
Building CXX object lib/Object/CMakeFiles/LLVMObject.dir/DXContainer.cpp.o
Building CXX object lib/Object/CMakeFiles/LLVMObject.dir/ModuleSymbolTable.cpp.o
Building CXX object lib/Object/CMakeFiles/LLVMObject.dir/XCOFFObjectFile.cpp.o
Building CXX object lib/Object/CMakeFiles/LLVMObject.dir/ELF.cpp.o
Building CXX object lib/Object/CMakeFiles/LLVMObject.dir/COFFObjectFile.cpp.o
Building CXX object lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o
Building CXX object lib/Object/CMakeFiles/LLVMObject.dir/WindowsMachineFlag.cpp.o
Building CXX object lib/Object/CMakeFiles/LLVMObject.dir/MachOObjectFile.cpp.o
Building CXX object lib/Object/CMakeFiles/LLVMObject.dir/WindowsResource.cpp.o
Building CXX object lib/Object/CMakeFiles/LLVMObject.dir/IRObjectFile.cpp.o
Building CXX object lib/Object/CMakeFiles/LLVMObject.dir/IRSymtab.cpp.o
Building CXX object lib/Object/CMakeFiles/LLVMObject.dir/RelocationResolver.cpp.o
Building CXX object lib/Object/CMakeFiles/LLVMObject.dir/BuildID.cpp.o
Building CXX object lib/Object/CMakeFiles/LLVMObject.dir/OffloadBundle.cpp.o
Building CXX object lib/Object/CMakeFiles/LLVMObject.dir/COFFImportFile.cpp.o
Building CXX object lib/Object/CMakeFiles/LLVMObject.dir/Minidump.cpp.o
Building CXX object lib/ObjectYAML/CMakeFiles/LLVMObjectYAML.dir/DXContainerEmitter.cpp.o
Building CXX object lib/ObjectYAML/CMakeFiles/LLVMObjectYAML.dir/ELFEmitter.cpp.o
Building CXX object lib/ObjectYAML/CMakeFiles/LLVMObjectYAML.dir/DWARFEmitter.cpp.o
Building CXX object lib/ObjectYAML/CMakeFiles/LLVMObjectYAML.dir/MinidumpYAML.cpp.o
Building CXX object lib/ObjectYAML/CMakeFiles/LLVMObjectYAML.dir/XCOFFYAML.cpp.o
Building CXX object lib/ObjectYAML/CMakeFiles/LLVMObjectYAML.dir/OffloadEmitter.cpp.o
Building CXX object lib/ObjectYAML/CMakeFiles/LLVMObjectYAML.dir/GOFFYAML.cpp.o
Building CXX object lib/ObjectYAML/CMakeFiles/LLVMObjectYAML.dir/OffloadYAML.cpp.o
Building CXX object lib/ObjectYAML/CMakeFiles/LLVMObjectYAML.dir/COFFEmitter.cpp.o
Building CXX object lib/ObjectYAML/CMakeFiles/LLVMObjectYAML.dir/MachOYAML.cpp.o
Building CXX object lib/ObjectYAML/CMakeFiles/LLVMObjectYAML.dir/CodeViewYAMLTypes.cpp.o
Building CXX object lib/ObjectYAML/CMakeFiles/LLVMObjectYAML.dir/YAML.cpp.o
Building CXX object lib/ObjectYAML/CMakeFiles/LLVMObjectYAML.dir/ArchiveEmitter.cpp.o
Building CXX object lib/ObjectYAML/CMakeFiles/LLVMObjectYAML.dir/ObjectYAML.cpp.o
Building CXX object lib/ObjectYAML/CMakeFiles/LLVMObjectYAML.dir/CodeViewYAMLTypeHashing.cpp.o
Building CXX object lib/ObjectYAML/CMakeFiles/LLVMObjectYAML.dir/ArchiveYAML.cpp.o
Building CXX object lib/ObjectYAML/CMakeFiles/LLVMObjectYAML.dir/MachOEmitter.cpp.o
Building CXX object lib/ObjectYAML/CMakeFiles/LLVMObjectYAML.dir/ELFYAML.cpp.o
Building CXX object lib/ObjectYAML/CMakeFiles/LLVMObjectYAML.dir/MinidumpEmitter.cpp.o
Building CXX object lib/ObjectYAML/CMakeFiles/LLVMObjectYAML.dir/CodeViewYAMLSymbols.cpp.o
Building CXX object lib/ObjectYAML/CMakeFiles/LLVMObjectYAML.dir/CodeViewYAMLDebugSections.cpp.o
Building CXX object lib/ObjectYAML/CMakeFiles/LLVMObjectYAML.dir/XCOFFEmitter.cpp.o
Building CXX object lib/ObjectYAML/CMakeFiles/LLVMObjectYAML.dir/COFFYAML.cpp.o
Building CXX object lib/ObjectYAML/CMakeFiles/LLVMObjectYAML.dir/WasmYAML.cpp.o
Building CXX object lib/ObjectYAML/CMakeFiles/LLVMObjectYAML.dir/DXContainerYAML.cpp.o
Building CXX object lib/ObjectYAML/CMakeFiles/LLVMObjectYAML.dir/yaml2obj.cpp.o
Building CXX object lib/ObjectYAML/CMakeFiles/LLVMObjectYAML.dir/DWARFYAML.cpp.o
Building CXX object lib/ObjectYAML/CMakeFiles/LLVMObjectYAML.dir/GOFFEmitter.cpp.o
Building CXX object lib/ObjectYAML/CMakeFiles/LLVMObjectYAML.dir/WasmEmitter.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/Native/NativeTypeFunctionSig.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/Native/NativeEnumInjectedSources.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolTypeCustom.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolUnknown.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDBInterfaceAnchors.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/Native/DbiModuleDescriptorBuilder.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolTypeDimension.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/Native/PublicsStream.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolBlock.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/Native/NativeEnumTypes.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/Native/SymbolStream.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/Native/NativePublicSymbol.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolCustom.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolCompiland.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/Native/InjectedSourceStream.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/Native/NativeTypeUDT.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/Native/NativeRawSymbol.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbol.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolCompilandEnv.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolTypeTypedef.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/Native/EnumTables.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/Native/NativeExeSymbol.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/Native/GSIStreamBuilder.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/Native/NativeSession.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolPublicSymbol.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolExe.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolFuncDebugStart.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolTypeManaged.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/Native/HashTable.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolCompilandDetails.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolTypeFunctionArg.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolTypeUDT.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolUsingNamespace.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/Native/LinePrinter.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/Native/NativeSourceFile.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDBContext.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolThunk.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/Native/DbiModuleList.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolTypePointer.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/Native/NativeTypeBuiltin.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/UDTLayout.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolFunc.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/IPDBSourceFile.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolTypeFriend.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/Native/InputFile.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolLabel.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/Native/PDBFile.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/Native/PDBStringTable.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolTypeFunctionSig.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/Native/DbiStreamBuilder.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/Native/NativeTypePointer.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolFuncDebugEnd.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolTypeVTable.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/Native/PDBStringTableBuilder.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDB.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/Native/NativeTypeEnum.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/Native/NamedStreamMap.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/Native/InfoStreamBuilder.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/Native/PDBFileBuilder.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolTypeVTableShape.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/GenericError.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/Native/NativeCompilandSymbol.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/Native/NativeEnumLineNumbers.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/Native/NativeSymbolEnumerator.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/Native/SymbolCache.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/Native/NativeLineNumber.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolTypeBuiltin.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/Native/InfoStream.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymDumper.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/Native/NativeEnumModules.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolTypeBaseClass.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/Native/FormatUtil.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/Native/TpiStreamBuilder.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolData.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/Native/Hash.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/Native/NativeTypeArray.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/Native/RawError.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/Native/NativeEnumSymbols.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/Native/TpiHashing.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/Native/NativeTypeVTShape.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolTypeArray.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/Native/NativeTypeTypedef.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/Native/ModuleDebugStream.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/Native/GlobalsStream.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/Native/NativeInlineSiteSymbol.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/Native/NativeFunctionSymbol.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolTypeEnum.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/Native/NativeEnumGlobals.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/Native/DbiModuleDescriptor.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/Native/TpiStream.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDBExtras.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolAnnotation.cpp.o
Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/Native/DbiStream.cpp.o
Building CXX object lib/DebugInfo/DWARF/CMakeFiles/LLVMDebugInfoDWARF.dir/DWARFUnitIndex.cpp.o
Building CXX object lib/DebugInfo/DWARF/CMakeFiles/LLVMDebugInfoDWARF.dir/DWARFDebugAranges.cpp.o
Building CXX object lib/DebugInfo/DWARF/CMakeFiles/LLVMDebugInfoDWARF.dir/DWARFDebugAddr.cpp.o
Building CXX object lib/DebugInfo/DWARF/CMakeFiles/LLVMDebugInfoDWARF.dir/DWARFCFIPrinter.cpp.o
Building CXX object lib/DebugInfo/DWARF/CMakeFiles/LLVMDebugInfoDWARF.dir/DWARFGdbIndex.cpp.o
Building CXX object lib/DebugInfo/DWARF/CMakeFiles/LLVMDebugInfoDWARF.dir/DWARFVerifier.cpp.o
Building CXX object lib/DebugInfo/DWARF/CMakeFiles/LLVMDebugInfoDWARF.dir/DWARFFormValue.cpp.o
Building CXX object lib/DebugInfo/DWARF/CMakeFiles/LLVMDebugInfoDWARF.dir/DWARFDie.cpp.o
Building CXX object lib/DebugInfo/DWARF/CMakeFiles/LLVMDebugInfoDWARF.dir/DWARFCompileUnit.cpp.o
Building CXX object lib/DebugInfo/DWARF/CMakeFiles/LLVMDebugInfoDWARF.dir/DWARFUnwindTablePrinter.cpp.o
Building CXX object lib/DebugInfo/DWARF/CMakeFiles/LLVMDebugInfoDWARF.dir/DWARFUnit.cpp.o
Building CXX object lib/DebugInfo/DWARF/CMakeFiles/LLVMDebugInfoDWARF.dir/DWARFDebugAbbrev.cpp.o
Building CXX object lib/DebugInfo/DWARF/CMakeFiles/LLVMDebugInfoDWARF.dir/DWARFDebugLoc.cpp.o
Building CXX object lib/DebugInfo/DWARF/CMakeFiles/LLVMDebugInfoDWARF.dir/DWARFLocationExpression.cpp.o
Building CXX object lib/DebugInfo/DWARF/CMakeFiles/LLVMDebugInfoDWARF.dir/DWARFDebugRangeList.cpp.o
Building CXX object lib/DebugInfo/DWARF/CMakeFiles/LLVMDebugInfoDWARF.dir/DWARFDebugRnglists.cpp.o
Building CXX object lib/DebugInfo/DWARF/CMakeFiles/LLVMDebugInfoDWARF.dir/DWARFDebugLine.cpp.o
Building CXX object lib/DebugInfo/DWARF/CMakeFiles/LLVMDebugInfoDWARF.dir/DWARFListTable.cpp.o
Building CXX object lib/DebugInfo/DWARF/CMakeFiles/LLVMDebugInfoDWARF.dir/DWARFAbbreviationDeclaration.cpp.o
Building CXX object lib/DebugInfo/DWARF/CMakeFiles/LLVMDebugInfoDWARF.dir/DWARFDebugMacro.cpp.o
Building CXX object lib/DebugInfo/DWARF/CMakeFiles/LLVMDebugInfoDWARF.dir/DWARFDebugPubTable.cpp.o
Building CXX object lib/DebugInfo/DWARF/CMakeFiles/LLVMDebugInfoDWARF.dir/DWARFTypeUnit.cpp.o
Building CXX object lib/DebugInfo/DWARF/CMakeFiles/LLVMDebugInfoDWARF.dir/DWARFDebugArangeSet.cpp.o
Building CXX object lib/DebugInfo/DWARF/CMakeFiles/LLVMDebugInfoDWARF.dir/DWARFDebugFrame.cpp.o
Building CXX object lib/DebugInfo/DWARF/CMakeFiles/LLVMDebugInfoDWARF.dir/DWARFContext.cpp.o
Building CXX object lib/DebugInfo/DWARF/CMakeFiles/LLVMDebugInfoDWARF.dir/DWARFExpressionPrinter.cpp.o
Building CXX object lib/DebugInfo/DWARF/CMakeFiles/LLVMDebugInfoDWARF.dir/DWARFDebugInfoEntry.cpp.o
Building CXX object lib/DebugInfo/DWARF/CMakeFiles/LLVMDebugInfoDWARF.dir/DWARFAcceleratorTable.cpp.o
Building CXX object lib/DebugInfo/DWARF/CMakeFiles/LLVMDebugInfoDWARF.dir/DWARFAddressRange.cpp.o
Building CXX object lib/TextAPI/BinaryReader/CMakeFiles/LLVMTextAPIBinaryReader.dir/DylibReader.cpp.o
Building CXX object lib/DebugInfo/GSYM/CMakeFiles/LLVMDebugInfoGSYM.dir/InlineInfo.cpp.o
Building CXX object lib/DebugInfo/GSYM/CMakeFiles/LLVMDebugInfoGSYM.dir/DwarfTransformer.cpp.o
Building CXX object lib/DebugInfo/GSYM/CMakeFiles/LLVMDebugInfoGSYM.dir/GsymReader.cpp.o

@Japabu

Japabu commented Oct 11, 2026

Copy link
Copy Markdown
Collaborator Author

hosted-clang-hello, part 3 of 7, cargo test --test toyos-build -- hosted_clang_hello --nocapture at the evidence tree 45f5c2eb (0a9180449), exit 0

Building CXX object lib/DebugInfo/GSYM/CMakeFiles/LLVMDebugInfoGSYM.dir/LineTable.cpp.o
Building CXX object lib/DebugInfo/GSYM/CMakeFiles/LLVMDebugInfoGSYM.dir/CallSiteInfo.cpp.o
Building CXX object lib/DebugInfo/GSYM/CMakeFiles/LLVMDebugInfoGSYM.dir/ObjectFileTransformer.cpp.o
Building CXX object lib/DebugInfo/GSYM/CMakeFiles/LLVMDebugInfoGSYM.dir/MergedFunctionsInfo.cpp.o
Building CXX object lib/DebugInfo/GSYM/CMakeFiles/LLVMDebugInfoGSYM.dir/GsymCreator.cpp.o
Building CXX object lib/DebugInfo/GSYM/CMakeFiles/LLVMDebugInfoGSYM.dir/GsymContext.cpp.o
Building CXX object lib/DebugInfo/GSYM/CMakeFiles/LLVMDebugInfoGSYM.dir/FunctionInfo.cpp.o
Building CXX object lib/DebugInfo/GSYM/CMakeFiles/LLVMDebugInfoGSYM.dir/ExtractRanges.cpp.o
Building CXX object lib/DebugInfo/GSYM/CMakeFiles/LLVMDebugInfoGSYM.dir/LookupResult.cpp.o
Building CXX object lib/DebugInfo/GSYM/CMakeFiles/LLVMDebugInfoGSYM.dir/Header.cpp.o
Building CXX object lib/DebugInfo/GSYM/CMakeFiles/LLVMDebugInfoGSYM.dir/FileWriter.cpp.o
Building CXX object lib/DebugInfo/Symbolize/CMakeFiles/LLVMSymbolize.dir/Markup.cpp.o
Building CXX object lib/DebugInfo/Symbolize/CMakeFiles/LLVMSymbolize.dir/DIPrinter.cpp.o
Building CXX object lib/DebugInfo/Symbolize/CMakeFiles/LLVMSymbolize.dir/MarkupFilter.cpp.o
Building CXX object lib/DebugInfo/Symbolize/CMakeFiles/LLVMSymbolize.dir/SymbolizableObjectFile.cpp.o
Building CXX object lib/DebugInfo/Symbolize/CMakeFiles/LLVMSymbolize.dir/Symbolize.cpp.o
Building CXX object lib/ProfileData/CMakeFiles/LLVMProfileData.dir/MemProfSummaryBuilder.cpp.o
Building CXX object lib/ProfileData/CMakeFiles/LLVMProfileData.dir/MemProfRadixTree.cpp.o
Building CXX object lib/ProfileData/CMakeFiles/LLVMProfileData.dir/PGOCtxProfWriter.cpp.o
Building CXX object lib/ProfileData/CMakeFiles/LLVMProfileData.dir/SampleProfWriter.cpp.o
Building CXX object lib/ProfileData/CMakeFiles/LLVMProfileData.dir/PGOCtxProfReader.cpp.o
Building CXX object lib/ProfileData/CMakeFiles/LLVMProfileData.dir/SampleProf.cpp.o
Building CXX object lib/ProfileData/CMakeFiles/LLVMProfileData.dir/InstrProfCorrelator.cpp.o
Building CXX object lib/ProfileData/CMakeFiles/LLVMProfileData.dir/SymbolRemappingReader.cpp.o
Building CXX object lib/ProfileData/CMakeFiles/LLVMProfileData.dir/IndexedMemProfData.cpp.o
Building CXX object lib/ProfileData/CMakeFiles/LLVMProfileData.dir/InstrProfWriter.cpp.o
Building CXX object lib/ProfileData/CMakeFiles/LLVMProfileData.dir/MemProfSummary.cpp.o
Building CXX object lib/ProfileData/CMakeFiles/LLVMProfileData.dir/SampleProfReader.cpp.o
Building CXX object lib/ProfileData/CMakeFiles/LLVMProfileData.dir/ProfileSummaryBuilder.cpp.o
Building CXX object lib/ProfileData/CMakeFiles/LLVMProfileData.dir/MemProfReader.cpp.o
Building CXX object lib/ProfileData/CMakeFiles/LLVMProfileData.dir/InstrProf.cpp.o
Building CXX object lib/ProfileData/CMakeFiles/LLVMProfileData.dir/DataAccessProf.cpp.o
Building CXX object lib/ProfileData/CMakeFiles/LLVMProfileData.dir/MemProf.cpp.o
Building CXX object lib/ProfileData/CMakeFiles/LLVMProfileData.dir/GCOV.cpp.o
Building CXX object lib/ProfileData/CMakeFiles/LLVMProfileData.dir/InstrProfReader.cpp.o
Building CXX object lib/ProfileData/CMakeFiles/LLVMProfileData.dir/MemProfCommon.cpp.o
Building CXX object lib/ProfileData/CMakeFiles/LLVMProfileData.dir/ItaniumManglingCanonicalizer.cpp.o
Building CXX object lib/ProfileData/Coverage/CMakeFiles/LLVMCoverage.dir/CoverageMapping.cpp.o
Building CXX object lib/ProfileData/Coverage/CMakeFiles/LLVMCoverage.dir/CoverageMappingReader.cpp.o
Building CXX object lib/ProfileData/Coverage/CMakeFiles/LLVMCoverage.dir/CoverageMappingWriter.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/RegionInfo.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/InlineCost.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/CFGPrinter.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/LoopCacheAnalysis.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/ModelUnderTrainingRunner.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/ModuleDebugInfoPrinter.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/MustExecute.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/FloatingPointPredicateUtils.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/AliasAnalysis.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/DDG.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/NoInferenceModelRunner.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/ScalarEvolutionAliasAnalysis.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/StackSafetyAnalysis.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/StructuralHash.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/ModuleSummaryAnalysis.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/DXILResource.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/FunctionPropertiesAnalysis.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/ValueLattice.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/CodeMetrics.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/InlineOrder.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/PtrUseVisitor.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/ImportedFunctionsInliningStatistics.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/InstructionSimplify.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/RegionPrinter.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/ReplayInlineAdvisor.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/TFLiteUtils.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/TypeBasedAliasAnalysis.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/MLInlineAdvisor.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/ValueTracking.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/IRSimilarityIdentifier.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/TrainingLogger.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/LoopAnalysisManager.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/DomTreeUpdater.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/Loads.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/RuntimeLibcallInfo.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/TargetTransformInfo.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/KernelInfo.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/ConstraintSystem.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/DemandedBits.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/MemoryDependenceAnalysis.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/CostModel.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/CallGraphSCCPass.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/ScalarEvolutionNormalization.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/PHITransAddr.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/DependenceAnalysis.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/LazyBlockFrequencyInfo.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/CtxProfAnalysis.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/ScopedNoAliasAA.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/ObjCARCInstKind.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/OptimizationRemarkEmitter.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/DominanceFrontier.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/PostDominators.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/TypeMetadataUtils.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/AliasAnalysisEvaluator.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/Analysis.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/ObjCARCAliasAnalysis.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/SyntheticCountsUtils.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/CaptureTracking.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/DDGPrinter.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/LoopAccessAnalysis.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/MemoryProfileInfo.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/StackLifetime.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/RegionPass.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/EphemeralValuesCache.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/LoopUnrollAnalyzer.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/TargetLibraryInfo.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/AssumeBundleQueries.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/TensorSpec.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/DomPrinter.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/CFG.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/LazyCallGraph.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/Trace.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/CallGraph.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/CycleAnalysis.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/MemorySSAUpdater.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/GuardUtils.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/IVUsers.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/CGSCCPassManager.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/MemoryBuiltins.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/InstCount.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/ConstantFolding.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/ScalarEvolution.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/HashRecognize.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/Delinearization.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/MemDerefPrinter.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/PhiValues.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/LazyBranchProbabilityInfo.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/LazyValueInfo.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/LoopInfo.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/LoopPass.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/LastRunTrackingAnalysis.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/ProfileSummaryInfo.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/GlobalsModRef.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/IndirectCallPromotionAnalysis.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/InstructionPrecedenceTracking.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/DevelopmentModeInlineAdvisor.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/MemoryLocation.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/StaticDataProfileInfo.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/AliasSetTracker.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/Lint.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/OverflowInstAnalysis.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/BlockFrequencyInfo.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/DependenceGraphBuilder.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/IVDescriptors.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/Local.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/CallPrinter.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/LoopNestAnalysis.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/DomConditionCache.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/MemorySSA.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/CmpInstAnalysis.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/AssumptionCache.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/BlockFrequencyInfoImpl.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/ScalarEvolutionDivision.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/DXILMetadataAnalysis.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/CFGSCCPrinter.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/BranchProbabilityInfo.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/UniformityAnalysis.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/InlineAdvisor.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/BasicAliasAnalysis.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/IR2Vec.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/HeatUtils.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/ObjCARCAnalysisUtils.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/ValueLatticeUtils.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/InteractiveModelRunner.cpp.o
Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/VectorUtils.cpp.o
Building CXX object lib/IRPrinter/CMakeFiles/LLVMIRPrinter.dir/IRPrintingPasses.cpp.o
Building CXX object lib/Frontend/Atomic/CMakeFiles/LLVMFrontendAtomic.dir/Atomic.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/CtorUtils.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyLibCalls.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/LowerGlobalDtors.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/AMDGPUEmitPrintf.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/LoopUtils.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/LoopUnrollRuntime.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/DXILUpgrade.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SCCPSolver.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/MemoryTaggingSupport.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/EntryExitInstrumenter.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SymbolRewriter.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/FunctionComparator.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SplitModuleByCategory.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/CallGraphUpdater.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/IRNormalizer.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/CodeLayout.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/LibCallsShrinkWrap.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/LowerInvoke.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SampleProfileLoaderBaseUtil.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/BuildLibCalls.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/CodeExtractor.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/Utils.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/FixIrreducible.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/LowerMemIntrinsics.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/DebugSSAUpdater.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/AddDiscriminators.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/BasicBlockUtils.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/LoopRotationUtils.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/MisExpect.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/Mem2Reg.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SizeOpts.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SplitModule.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/CountVisits.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SanitizerStats.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/LowerIFunc.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/ModuleUtils.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/Evaluator.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/BreakCriticalEdges.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/BypassSlowDivision.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/LoopUnroll.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/NameAnonGlobals.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/CanonicalizeFreezeInLoops.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/Debugify.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/LoopVersioning.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/PromoteMemoryToRegister.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/MemoryOpRemark.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/MoveAutoInit.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/ASanStackFrameLayout.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/LowerVectorIntrinsics.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyIndVar.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/UnifyLoopExits.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/ControlFlowUtils.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/VNCoercion.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/GuardUtils.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/StripNonLineTableDebugInfo.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/ValueMapper.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/EscapeEnumerator.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/CloneModule.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/InlineFunction.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/IntegerDivision.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SSAUpdaterBulk.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/LCSSA.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/LoopUnrollAndJam.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/CallPromotionUtils.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/DemoteRegToStack.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/GlobalStatus.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/LoopPeel.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/InstructionNamer.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/InjectTLIMappings.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/Instrumentation.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/AssumeBundleBuilder.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SampleProfileInference.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/ProfileVerify.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/ScalarEvolutionExpander.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/Local.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/PredicateInfo.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/StripGCRelocates.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/FlattenCFG.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/LoopSimplify.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/LowerSwitch.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/CodeMoverUtils.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/FunctionImportUtils.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/RelLookupTableConverter.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/CloneFunction.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/LoopConstrainer.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/MetaRenamer.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/UnifyFunctionExitNodes.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/HelloWorld.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/MatrixUtils.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/CanonicalizeAliases.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SSAUpdater.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/LowerAtomic.cpp.o
Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/DeclareRuntimeLibcalls.cpp.o
Building CXX object lib/Bitcode/Writer/CMakeFiles/LLVMBitWriter.dir/BitcodeWriterPass.cpp.o
Building CXX object lib/Bitcode/Writer/CMakeFiles/LLVMBitWriter.dir/BitcodeWriter.cpp.o
Building CXX object lib/Bitcode/Writer/CMakeFiles/LLVMBitWriter.dir/BitWriter.cpp.o
Building CXX object lib/Bitcode/Writer/CMakeFiles/LLVMBitWriter.dir/ValueEnumerator.cpp.o
Building CXX object lib/SandboxIR/CMakeFiles/LLVMSandboxIR.dir/Region.cpp.o
Building CXX object lib/SandboxIR/CMakeFiles/LLVMSandboxIR.dir/Argument.cpp.o
Building CXX object lib/SandboxIR/CMakeFiles/LLVMSandboxIR.dir/Use.cpp.o
Building CXX object lib/SandboxIR/CMakeFiles/LLVMSandboxIR.dir/Context.cpp.o
Building CXX object lib/SandboxIR/CMakeFiles/LLVMSandboxIR.dir/User.cpp.o
Building CXX object lib/SandboxIR/CMakeFiles/LLVMSandboxIR.dir/Instruction.cpp.o
Building CXX object lib/SandboxIR/CMakeFiles/LLVMSandboxIR.dir/Value.cpp.o
Building CXX object lib/SandboxIR/CMakeFiles/LLVMSandboxIR.dir/Function.cpp.o
Building CXX object lib/SandboxIR/CMakeFiles/LLVMSandboxIR.dir/Type.cpp.o
Building CXX object lib/SandboxIR/CMakeFiles/LLVMSandboxIR.dir/BasicBlock.cpp.o
Building CXX object lib/SandboxIR/CMakeFiles/LLVMSandboxIR.dir/Constant.cpp.o
Building CXX object lib/SandboxIR/CMakeFiles/LLVMSandboxIR.dir/PassManager.cpp.o
Building CXX object lib/SandboxIR/CMakeFiles/LLVMSandboxIR.dir/Tracker.cpp.o
Building CXX object lib/SandboxIR/CMakeFiles/LLVMSandboxIR.dir/Module.cpp.o
Building CXX object lib/SandboxIR/CMakeFiles/LLVMSandboxIR.dir/Pass.cpp.o
Building CXX object lib/Target/CMakeFiles/LLVMTarget.dir/TargetMachineC.cpp.o
Building CXX object lib/Target/CMakeFiles/LLVMTarget.dir/Target.cpp.o
Building CXX object lib/Target/CMakeFiles/LLVMTarget.dir/TargetMachine.cpp.o
Building CXX object lib/Target/CMakeFiles/LLVMTarget.dir/TargetLoweringObjectFile.cpp.o
Building CXX object lib/Target/CMakeFiles/LLVMTarget.dir/RegisterTargetPassConfigCallback.cpp.o
Building CXX object lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARCOpts.cpp.o
Building CXX object lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARC.cpp.o
Building CXX object lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ProvenanceAnalysisEvaluator.cpp.o
Building CXX object lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARCContract.cpp.o
Building CXX object lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ProvenanceAnalysis.cpp.o
Building CXX object lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/PtrState.cpp.o
Building CXX object lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/DependencyAnalysis.cpp.o
Building CXX object lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARCExpand.cpp.o
Building CXX object lib/Transforms/HipStdPar/CMakeFiles/LLVMHipStdPar.dir/HipStdPar.cpp.o
Building CXX object lib/Transforms/AggressiveInstCombine/CMakeFiles/LLVMAggressiveInstCombine.dir/AggressiveInstCombine.cpp.o
Building CXX object lib/Transforms/AggressiveInstCombine/CMakeFiles/LLVMAggressiveInstCombine.dir/TruncInstCombine.cpp.o
Building CXX object lib/Linker/CMakeFiles/LLVMLinker.dir/LinkModules.cpp.o
Building CXX object lib/Linker/CMakeFiles/LLVMLinker.dir/IRMover.cpp.o
Building CXX object lib/Frontend/Offloading/CMakeFiles/LLVMFrontendOffloading.dir/Utility.cpp.o
Building CXX object lib/Frontend/Offloading/CMakeFiles/LLVMFrontendOffloading.dir/OffloadWrapper.cpp.o
Building CXX object lib/Frontend/Offloading/CMakeFiles/LLVMFrontendOffloading.dir/PropertySet.cpp.o
Building CXX object lib/Transforms/Instrumentation/CMakeFiles/LLVMInstrumentation.dir/BlockCoverageInference.cpp.o
Building CXX object lib/Transforms/Instrumentation/CMakeFiles/LLVMInstrumentation.dir/HWAddressSanitizer.cpp.o
Building CXX object lib/Transforms/Instrumentation/CMakeFiles/LLVMInstrumentation.dir/AllocToken.cpp.o
Building CXX object lib/Transforms/Instrumentation/CMakeFiles/LLVMInstrumentation.dir/PGOMemOPSizeOpt.cpp.o
Building CXX object lib/Transforms/Instrumentation/CMakeFiles/LLVMInstrumentation.dir/MemorySanitizer.cpp.o
Building CXX object lib/Transforms/Instrumentation/CMakeFiles/LLVMInstrumentation.dir/LowerAllowCheckPass.cpp.o
Building CXX object lib/Transforms/Instrumentation/CMakeFiles/LLVMInstrumentation.dir/ThreadSanitizer.cpp.o
Building CXX object lib/Transforms/Instrumentation/CMakeFiles/LLVMInstrumentation.dir/RealtimeSanitizer.cpp.o
Building CXX object lib/Transforms/Instrumentation/CMakeFiles/LLVMInstrumentation.dir/ControlHeightReduction.cpp.o
Building CXX object lib/Transforms/Instrumentation/CMakeFiles/LLVMInstrumentation.dir/MemProfInstrumentation.cpp.o
Building CXX object lib/Transforms/Instrumentation/CMakeFiles/LLVMInstrumentation.dir/PGOForceFunctionAttrs.cpp.o
Building CXX object lib/Transforms/Instrumentation/CMakeFiles/LLVMInstrumentation.dir/BoundsChecking.cpp.o
Building CXX object lib/Transforms/Instrumentation/CMakeFiles/LLVMInstrumentation.dir/KCFI.cpp.o
Building CXX object lib/Transforms/Instrumentation/CMakeFiles/LLVMInstrumentation.dir/ValueProfileCollector.cpp.o
Building CXX object lib/Transforms/Instrumentation/CMakeFiles/LLVMInstrumentation.dir/DataFlowSanitizer.cpp.o
Building CXX object lib/Transforms/Instrumentation/CMakeFiles/LLVMInstrumentation.dir/PGOCtxProfLowering.cpp.o
Building CXX object lib/Transforms/Instrumentation/CMakeFiles/LLVMInstrumentation.dir/CGProfile.cpp.o
Building CXX object lib/Transforms/Instrumentation/CMakeFiles/LLVMInstrumentation.dir/MemProfUse.cpp.o
Building CXX object lib/Transforms/Instrumentation/CMakeFiles/LLVMInstrumentation.dir/SanitizerBinaryMetadata.cpp.o
Building CXX object lib/Transforms/Instrumentation/CMakeFiles/LLVMInstrumentation.dir/IndirectCallPromotion.cpp.o
Building CXX object lib/Transforms/Instrumentation/CMakeFiles/LLVMInstrumentation.dir/InstrProfiling.cpp.o
Building CXX object lib/Transforms/Instrumentation/CMakeFiles/LLVMInstrumentation.dir/GCOVProfiling.cpp.o
Building CXX object lib/Transforms/Instrumentation/CMakeFiles/LLVMInstrumentation.dir/SanitizerCoverage.cpp.o
Building CXX object lib/Transforms/Instrumentation/CMakeFiles/LLVMInstrumentation.dir/NumericalStabilitySanitizer.cpp.o
Building CXX object lib/Transforms/Instrumentation/CMakeFiles/LLVMInstrumentation.dir/PGOInstrumentation.cpp.o
Building CXX object lib/Transforms/Instrumentation/CMakeFiles/LLVMInstrumentation.dir/PGOCtxProfFlattening.cpp.o
Building CXX object lib/Transforms/Instrumentation/CMakeFiles/LLVMInstrumentation.dir/AddressSanitizer.cpp.o
Building CXX object lib/Transforms/Instrumentation/CMakeFiles/LLVMInstrumentation.dir/TypeSanitizer.cpp.o
Building CXX object lib/Transforms/InstCombine/CMakeFiles/LLVMInstCombine.dir/InstructionCombining.cpp.o
Building CXX object lib/Transforms/InstCombine/CMakeFiles/LLVMInstCombine.dir/InstCombineSelect.cpp.o
Building CXX object lib/Transforms/InstCombine/CMakeFiles/LLVMInstCombine.dir/InstCombineCalls.cpp.o
Building CXX object lib/Transforms/InstCombine/CMakeFiles/LLVMInstCombine.dir/InstCombineCasts.cpp.o
Building CXX object lib/Transforms/InstCombine/CMakeFiles/LLVMInstCombine.dir/InstCombineCompares.cpp.o
Building CXX object lib/Transforms/InstCombine/CMakeFiles/LLVMInstCombine.dir/InstCombineSimplifyDemanded.cpp.o
Building CXX object lib/Transforms/InstCombine/CMakeFiles/LLVMInstCombine.dir/InstCombinePHI.cpp.o
Building CXX object lib/Transforms/InstCombine/CMakeFiles/LLVMInstCombine.dir/InstCombineLoadStoreAlloca.cpp.o
Building CXX object lib/Transforms/InstCombine/CMakeFiles/LLVMInstCombine.dir/InstCombineAddSub.cpp.o
Building CXX object lib/Transforms/InstCombine/CMakeFiles/LLVMInstCombine.dir/InstCombineVectorOps.cpp.o
Building CXX object lib/Transforms/InstCombine/CMakeFiles/LLVMInstCombine.dir/InstCombineAtomicRMW.cpp.o
Building CXX object lib/Transforms/InstCombine/CMakeFiles/LLVMInstCombine.dir/InstCombineNegator.cpp.o
Building CXX object lib/Transforms/InstCombine/CMakeFiles/LLVMInstCombine.dir/InstCombineMulDivRem.cpp.o
Building CXX object lib/Transforms/InstCombine/CMakeFiles/LLVMInstCombine.dir/InstCombineAndOrXor.cpp.o
Building CXX object lib/Transforms/InstCombine/CMakeFiles/LLVMInstCombine.dir/InstCombineShifts.cpp.o
Building CXX object lib/CGData/CMakeFiles/LLVMCGData.dir/StableFunctionMap.cpp.o
Building CXX object lib/CGData/CMakeFiles/LLVMCGData.dir/CodeGenDataWriter.cpp.o
Building CXX object lib/CGData/CMakeFiles/LLVMCGData.dir/CodeGenDataReader.cpp.o
Building CXX object lib/CGData/CMakeFiles/LLVMCGData.dir/OutlinedHashTree.cpp.o
Building CXX object lib/CGData/CMakeFiles/LLVMCGData.dir/OutlinedHashTreeRecord.cpp.o
Building CXX object lib/CGData/CMakeFiles/LLVMCGData.dir/StableFunctionMapRecord.cpp.o
Building CXX object lib/CGData/CMakeFiles/LLVMCGData.dir/CodeGenData.cpp.o
Building CXX object lib/Transforms/Vectorize/CMakeFiles/LLVMVectorize.dir/SandboxVectorizer/Passes/PackReuse.cpp.o
Building CXX object lib/Transforms/Vectorize/CMakeFiles/LLVMVectorize.dir/SandboxVectorizer/DependencyGraph.cpp.o
Building CXX object lib/Transforms/Vectorize/CMakeFiles/LLVMVectorize.dir/SandboxVectorizer/Passes/RegionsFromMetadata.cpp.o
Building CXX object lib/Transforms/Vectorize/CMakeFiles/LLVMVectorize.dir/VPlanVerifier.cpp.o
Building CXX object lib/Transforms/Vectorize/CMakeFiles/LLVMVectorize.dir/SandboxVectorizer/Passes/SeedCollection.cpp.o
Building CXX object lib/Transforms/Vectorize/CMakeFiles/LLVMVectorize.dir/VPlanTransforms.cpp.o
Building CXX object lib/Transforms/Vectorize/CMakeFiles/LLVMVectorize.dir/SLPVectorizer.cpp.o
Building CXX object lib/Transforms/Vectorize/CMakeFiles/LLVMVectorize.dir/VPlan.cpp.o
Building CXX object lib/Transforms/Vectorize/CMakeFiles/LLVMVectorize.dir/VPlanUnroll.cpp.o
Building CXX object lib/Transforms/Vectorize/CMakeFiles/LLVMVectorize.dir/SandboxVectorizer/Passes/TransactionSave.cpp.o
Building CXX object lib/Transforms/Vectorize/CMakeFiles/LLVMVectorize.dir/SandboxVectorizer/Scheduler.cpp.o
Building CXX object lib/Transforms/Vectorize/CMakeFiles/LLVMVectorize.dir/VPlanAnalysis.cpp.o
Building CXX object lib/Transforms/Vectorize/CMakeFiles/LLVMVectorize.dir/SandboxVectorizer/Interval.cpp.o
Building CXX object lib/Transforms/Vectorize/CMakeFiles/LLVMVectorize.dir/LoopVectorizationLegality.cpp.o
Building CXX object lib/Transforms/Vectorize/CMakeFiles/LLVMVectorize.dir/LoopIdiomVectorize.cpp.o
Building CXX object lib/Transforms/Vectorize/CMakeFiles/LLVMVectorize.dir/SandboxVectorizer/SeedCollector.cpp.o
Building CXX object lib/Transforms/Vectorize/CMakeFiles/LLVMVectorize.dir/SandboxVectorizer/Passes/BottomUpVec.cpp.o
Building CXX object lib/Transforms/Vectorize/CMakeFiles/LLVMVectorize.dir/SandboxVectorizer/SandboxVectorizer.cpp.o
Building CXX object lib/Transforms/Vectorize/CMakeFiles/LLVMVectorize.dir/SandboxVectorizer/Passes/RegionsFromBBs.cpp.o
Building CXX object lib/Transforms/Vectorize/CMakeFiles/LLVMVectorize.dir/VPlanConstruction.cpp.o
Building CXX object lib/Transforms/Vectorize/CMakeFiles/LLVMVectorize.dir/SandboxVectorizer/Legality.cpp.o
Building CXX object lib/Transforms/Vectorize/CMakeFiles/LLVMVectorize.dir/SandboxVectorizer/SandboxVectorizerPassBuilder.cpp.o
Building CXX object lib/Transforms/Vectorize/CMakeFiles/LLVMVectorize.dir/VPlanRecipes.cpp.o
Building CXX object lib/Transforms/Vectorize/CMakeFiles/LLVMVectorize.dir/VPlanSLP.cpp.o
Building CXX object lib/Transforms/Vectorize/CMakeFiles/LLVMVectorize.dir/SandboxVectorizer/VecUtils.cpp.o
Building CXX object lib/Transforms/Vectorize/CMakeFiles/LLVMVectorize.dir/Vectorize.cpp.o
Building CXX object lib/Transforms/Vectorize/CMakeFiles/LLVMVectorize.dir/VectorCombine.cpp.o
Building CXX object lib/Transforms/Vectorize/CMakeFiles/LLVMVectorize.dir/SandboxVectorizer/InstrMaps.cpp.o
Building CXX object lib/Transforms/Vectorize/CMakeFiles/LLVMVectorize.dir/LoopVectorize.cpp.o
Building CXX object lib/Transforms/Vectorize/CMakeFiles/LLVMVectorize.dir/VPlanUtils.cpp.o
Building CXX object lib/Transforms/Vectorize/CMakeFiles/LLVMVectorize.dir/SandboxVectorizer/Passes/TransactionAcceptOrRevert.cpp.o
Building CXX object lib/Transforms/Vectorize/CMakeFiles/LLVMVectorize.dir/VPlanPredicator.cpp.o
Building CXX object lib/Transforms/Vectorize/CMakeFiles/LLVMVectorize.dir/LoadStoreVectorizer.cpp.o
Building CXX object lib/Frontend/Driver/CMakeFiles/LLVMFrontendDriver.dir/CodeGenOptions.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/NewGVN.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/MergeICmps.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/NaryReassociate.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/MergedLoadStoreMotion.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/LoopSink.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/InstSimplifyPass.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/AnnotationRemarks.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/SpeculativeExecution.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/JumpTableToSwitch.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/AlignmentFromAssumptions.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/InductiveRangeCheckElimination.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/Scalarizer.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/BDCE.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/PlaceSafepoints.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/SeparateConstOffsetFromGEP.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/Reassociate.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/DeadStoreElimination.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/LoopDataPrefetch.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/StraightLineStrengthReduce.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/SROA.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/InferAlignment.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/EarlyCSE.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/SimplifyCFGPass.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/GuardWidening.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/LoopBoundSplit.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/GVNHoist.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/ADCE.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/CorrelatedValuePropagation.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/LoopDistribute.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/RewriteStatepointsForGC.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/ConstantHoisting.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/Scalar.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/GVNSink.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/LoopAccessAnalysisPrinter.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/JumpThreading.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/ConstraintElimination.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/WarnMissedTransforms.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/PartiallyInlineLibCalls.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/LoopLoadElimination.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/LoopDeletion.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/LowerExpectIntrinsic.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/LoopFuse.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/LowerAtomicPass.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/LoopInstSimplify.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/LoopInterchange.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/LoopVersioningLICM.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/DFAJumpThreading.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/LoopUnrollPass.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/IndVarSimplify.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/LoopPredication.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/LoopPassManager.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/SimpleLoopUnswitch.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/LoopRotation.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/DCE.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/LICM.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/LowerMatrixIntrinsics.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/Float2Int.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/LoopUnrollAndJamPass.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/TailRecursionElimination.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/LoopIdiomRecognize.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/LoopFlatten.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/Sink.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/InferAddressSpaces.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/FlattenCFGPass.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/LowerConstantIntrinsics.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/LowerGuardIntrinsic.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/MemCpyOptimizer.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/LoopTermFold.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/CallSiteSplitting.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/LoopStrengthReduce.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/StructurizeCFG.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/LowerWidenableCondition.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/DropUnnecessaryAssumes.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/GVN.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/MakeGuardsExplicit.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/Reg2Mem.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/SCCP.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/DivRemPairs.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/IVUsersPrinter.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/LoopSimplifyCFG.cpp.o
Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/ScalarizeMaskedMemIntrin.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachineModuleSlotTracker.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/RegUsageInfoPropagate.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/FixupStatepointCallerSaved.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/LiveRegUnits.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/BasicBlockSections.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MIRCanonicalizerPass.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/LivePhysRegs.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachineFunctionPass.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/ComplexDeinterleavingPass.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/RegisterBankInfo.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/GCMetadata.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/ProcessImplicitDefs.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/TargetPassConfig.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/CodeGenCommonISel.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/Analysis.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MIR2Vec.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/CFGuardLongjmp.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/ScheduleDAGPrinter.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/CallingConvLower.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/KCFI.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MultiHazardRecognizer.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/ExpandPostRAPseudos.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/SanitizerBinaryMetadata.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/RegAllocBase.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/PeepholeOptimizer.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/LowerEmuTLS.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachineLoopUtils.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/ExpandReductions.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/VLIWMachineScheduler.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachineTraceMetrics.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/ShrinkWrap.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/InsertCodePrefetch.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/ExpandIRInsts.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/InitUndef.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/SwiftErrorValueTracking.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/UnreachableBlockElim.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/LiveDebugValues/VarLocBasedImpl.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachineStripDebug.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/RegAllocPBQP.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/CodeGen.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/LiveInterval.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/LiveStacks.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachineCombiner.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/LexicalScopes.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/PostRAHazardRecognizer.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/IntrinsicLowering.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachineSink.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/RegUsageInfoCollector.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/TwoAddressInstructionPass.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/CallBrPrepare.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MIRPrinter.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/InlineSpiller.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MIRPrintingPass.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/ExpandMemCmp.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/LiveVariables.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MIRVRegNamerUtils.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/WindowScheduler.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/PatchableFunction.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/FEntryInserter.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/TargetLoweringObjectFileImpl.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/ScoreboardHazardRecognizer.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/BranchRelaxation.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachineCFGPrinter.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/RDFRegisters.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/AssignmentTrackingAnalysis.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/TargetFrameLoweringImpl.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/BasicBlockPathCloning.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/FinalizeISel.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachineBlockPlacement.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachineBranchProbabilityInfo.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MLRegAllocPriorityAdvisor.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/PHIElimination.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/LiveIntervalUnion.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachineDomTreeUpdater.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachineVerifier.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/LazyMachineBlockFrequencyInfo.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/ReachingDefAnalysis.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/WindowsSecureHotPatching.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachineOptimizationRemarkEmitter.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachineBlockFrequencyInfo.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachineScheduler.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachineDominators.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/StaticDataSplitter.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/StackSlotColoring.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/BasicBlockSectionsProfileReader.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/DwarfEHPrepare.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachinePipeliner.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/LiveIntervalCalc.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/SlotIndexes.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/RegAllocEvictionAdvisor.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/StackProtector.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachineDominanceFrontier.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/DetectDeadLanes.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachineLICM.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MIRNamerPass.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/CodeGenTargetMachineImpl.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/DFAPacketizer.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/PseudoProbeInserter.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/InterleavedAccessPass.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/AggressiveAntiDepBreaker.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachinePostDominators.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/PHIEliminationUtils.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/PseudoSourceValue.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachineFunctionPrinterPass.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachineFunction.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/LowLevelTypeUtils.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/TailDuplicator.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/TargetOptionsImpl.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachineModuleInfoImpls.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/StackColoring.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/RemoveLoadsIntoFakeUses.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/LoopTraversal.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachineCopyPropagation.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/ScheduleDAGInstrs.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachinePassManager.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/StackFrameLayoutAnalysisPass.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachineDebugify.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/WinEHPrepare.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachineCycleAnalysis.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/GlobalMerge.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/TailDuplication.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/AllocationOrder.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/DeadMachineInstructionElim.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/LibcallLoweringInfo.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/SplitKit.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachineInstr.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/RemoveRedundantDebugValues.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/RenameIndependentSubregs.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachineModuleInfo.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/StackMaps.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/TargetSchedule.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachineBlockHashInfo.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/ModuloSchedule.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachineCSE.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/ReplaceWithVeclib.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachineUniformityAnalysis.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/NonRelocatableStringpool.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/AtomicExpandPass.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/FuncletLayout.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/ExpandVectorPredication.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachineFrameInfo.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/RegisterClassInfo.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachineSSAContext.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachineRegionInfo.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/RegisterScavenging.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/LiveIntervals.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/VirtRegMap.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/BasicTargetTransformInfo.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/BasicBlockMatchingAndInference.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/BranchFolding.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/ExecutionDomainFix.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/InterferenceCache.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/EarlyIfConversion.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachineOutliner.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/RDFLiveness.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/RegisterCoalescer.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/RegisterUsageInfo.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachineRegisterInfo.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/WasmEHPrepare.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MacroFusion.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/StaticDataAnnotator.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/SafeStackLayout.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/DroppedVariableStatsMIR.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/ValueTypes.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/SelectOptimize.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/LiveRegMatrix.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachineCheckDebugify.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/RegisterPressure.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/BreakFalseDeps.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachineLoopInfo.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/GCEmptyBasicBlocks.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/TargetInstrInfo.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachineConvergenceVerifier.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/GCRootLowering.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/RegAllocBasic.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/InterleavedLoadCombinePass.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/LatencyPriorityQueue.cpp.o

@Japabu

Japabu commented Oct 11, 2026

Copy link
Copy Markdown
Collaborator Author

hosted-clang-hello, part 4 of 7, cargo test --test toyos-build -- hosted_clang_hello --nocapture at the evidence tree 45f5c2eb (0a9180449), exit 0

Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/LiveDebugVariables.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/LiveRangeEdit.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/JMCInstrumenter.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/PostRASchedulerList.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/RegAllocPriorityAdvisor.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/TypePromotion.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MIRFSDiscriminator.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/ShadowStackGCLowering.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/TargetRegisterInfo.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/ScheduleDAG.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/TargetLoweringBase.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/HardwareLoops.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/TargetSubtargetInfo.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachineLateInstrsCleanup.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MIRYamlMapping.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/LiveRangeCalc.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachineInstrBundle.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/PreISelIntrinsicLowering.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/LiveRangeShrink.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/EdgeBundles.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/RegAllocGreedy.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/EHContGuardTargets.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/StackMapLivenessAnalysis.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachineSizeOpts.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/LiveDebugValues/LiveDebugValues.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/FaultMaps.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/CodeGenPrepare.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/SpillPlacement.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/XRayInstrumentation.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachineFunctionAnalysis.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/IndirectBrExpandPass.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/PrologEpilogInserter.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachineStableHash.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/ResetMachineFunctionPass.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/CommandFlags.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MBFIWrapper.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MLRegAllocEvictAdvisor.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/CFIFixup.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/RegAllocScore.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/RegisterBank.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachineSSAUpdater.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/CalcSpillWeights.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachineBasicBlock.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/IfConversion.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/GCMetadataPrinter.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/RDFGraph.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/LiveDebugValues/InstrRefBasedImpl.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/SafeStack.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/SwitchLoweringUtils.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachineFunctionSplitter.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/CriticalAntiDepBreaker.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/OptimizePHIs.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachineOperand.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/SjLjEHPrepare.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/CFIInstrInserter.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/GlobalMergeFunctions.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/RegAllocFast.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/ImplicitNullChecks.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MIRSampleProfile.cpp.o
Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/LocalStackSlotAllocation.cpp.o
Building CXX object lib/Frontend/OpenMP/CMakeFiles/LLVMFrontendOpenMP.dir/DirectiveNameParser.cpp.o
Building CXX object lib/Frontend/OpenMP/CMakeFiles/LLVMFrontendOpenMP.dir/OMPContext.cpp.o
Building CXX object lib/Frontend/OpenMP/CMakeFiles/LLVMFrontendOpenMP.dir/OMPIRBuilder.cpp.o
Building CXX object lib/Frontend/OpenMP/CMakeFiles/LLVMFrontendOpenMP.dir/OMP.cpp.o
Building CXX object lib/CodeGen/SelectionDAG/CMakeFiles/LLVMSelectionDAG.dir/SelectionDAGISel.cpp.o
Building CXX object lib/CodeGen/SelectionDAG/CMakeFiles/LLVMSelectionDAG.dir/ResourcePriorityQueue.cpp.o
Building CXX object lib/CodeGen/SelectionDAG/CMakeFiles/LLVMSelectionDAG.dir/DAGCombiner.cpp.o
Building CXX object lib/CodeGen/SelectionDAG/CMakeFiles/LLVMSelectionDAG.dir/InstrEmitter.cpp.o
Building CXX object lib/CodeGen/SelectionDAG/CMakeFiles/LLVMSelectionDAG.dir/ScheduleDAGRRList.cpp.o
Building CXX object lib/CodeGen/SelectionDAG/CMakeFiles/LLVMSelectionDAG.dir/LegalizeVectorTypes.cpp.o
Building CXX object lib/CodeGen/SelectionDAG/CMakeFiles/LLVMSelectionDAG.dir/SDNodeInfo.cpp.o
Building CXX object lib/CodeGen/SelectionDAG/CMakeFiles/LLVMSelectionDAG.dir/SelectionDAGPrinter.cpp.o
Building CXX object lib/CodeGen/SelectionDAG/CMakeFiles/LLVMSelectionDAG.dir/StatepointLowering.cpp.o
Building CXX object lib/CodeGen/SelectionDAG/CMakeFiles/LLVMSelectionDAG.dir/LegalizeTypesGeneric.cpp.o
Building CXX object lib/CodeGen/SelectionDAG/CMakeFiles/LLVMSelectionDAG.dir/LegalizeIntegerTypes.cpp.o
Building CXX object lib/CodeGen/SelectionDAG/CMakeFiles/LLVMSelectionDAG.dir/SelectionDAG.cpp.o
Building CXX object lib/CodeGen/SelectionDAG/CMakeFiles/LLVMSelectionDAG.dir/TargetLowering.cpp.o
Building CXX object lib/CodeGen/SelectionDAG/CMakeFiles/LLVMSelectionDAG.dir/SelectionDAGDumper.cpp.o
Building CXX object lib/CodeGen/SelectionDAG/CMakeFiles/LLVMSelectionDAG.dir/SelectionDAGAddressAnalysis.cpp.o
Building CXX object lib/CodeGen/SelectionDAG/CMakeFiles/LLVMSelectionDAG.dir/LegalizeDAG.cpp.o
Building CXX object lib/CodeGen/SelectionDAG/CMakeFiles/LLVMSelectionDAG.dir/LegalizeFloatTypes.cpp.o
Building CXX object lib/CodeGen/SelectionDAG/CMakeFiles/LLVMSelectionDAG.dir/FastISel.cpp.o
Building CXX object lib/CodeGen/SelectionDAG/CMakeFiles/LLVMSelectionDAG.dir/LegalizeVectorOps.cpp.o
Building CXX object lib/CodeGen/SelectionDAG/CMakeFiles/LLVMSelectionDAG.dir/SelectionDAGBuilder.cpp.o
Building CXX object lib/CodeGen/SelectionDAG/CMakeFiles/LLVMSelectionDAG.dir/ScheduleDAGSDNodes.cpp.o
Building CXX object lib/CodeGen/SelectionDAG/CMakeFiles/LLVMSelectionDAG.dir/FunctionLoweringInfo.cpp.o
Building CXX object lib/CodeGen/SelectionDAG/CMakeFiles/LLVMSelectionDAG.dir/ScheduleDAGVLIW.cpp.o
Building CXX object lib/CodeGen/SelectionDAG/CMakeFiles/LLVMSelectionDAG.dir/SelectionDAGTargetInfo.cpp.o
Building CXX object lib/CodeGen/SelectionDAG/CMakeFiles/LLVMSelectionDAG.dir/ScheduleDAGFast.cpp.o
Building CXX object lib/CodeGen/SelectionDAG/CMakeFiles/LLVMSelectionDAG.dir/LegalizeTypes.cpp.o
Building CXX object lib/CodeGen/AsmPrinter/CMakeFiles/LLVMAsmPrinter.dir/AsmPrinter.cpp.o
Building CXX object lib/CodeGen/AsmPrinter/CMakeFiles/LLVMAsmPrinter.dir/DwarfFile.cpp.o
Building CXX object lib/CodeGen/AsmPrinter/CMakeFiles/LLVMAsmPrinter.dir/DIEHash.cpp.o
Building CXX object lib/CodeGen/AsmPrinter/CMakeFiles/LLVMAsmPrinter.dir/ARMException.cpp.o
Building CXX object lib/CodeGen/AsmPrinter/CMakeFiles/LLVMAsmPrinter.dir/DwarfCFIException.cpp.o
Building CXX object lib/CodeGen/AsmPrinter/CMakeFiles/LLVMAsmPrinter.dir/AIXException.cpp.o
Building CXX object lib/CodeGen/AsmPrinter/CMakeFiles/LLVMAsmPrinter.dir/EHStreamer.cpp.o
Building CXX object lib/CodeGen/AsmPrinter/CMakeFiles/LLVMAsmPrinter.dir/DbgEntityHistoryCalculator.cpp.o
Building CXX object lib/CodeGen/AsmPrinter/CMakeFiles/LLVMAsmPrinter.dir/WinException.cpp.o
Building CXX object lib/CodeGen/AsmPrinter/CMakeFiles/LLVMAsmPrinter.dir/DwarfUnit.cpp.o
Building CXX object lib/CodeGen/AsmPrinter/CMakeFiles/LLVMAsmPrinter.dir/DwarfDebug.cpp.o
Building CXX object lib/CodeGen/AsmPrinter/CMakeFiles/LLVMAsmPrinter.dir/ErlangGCPrinter.cpp.o
Building CXX object lib/CodeGen/AsmPrinter/CMakeFiles/LLVMAsmPrinter.dir/DwarfCompileUnit.cpp.o
Building CXX object lib/CodeGen/AsmPrinter/CMakeFiles/LLVMAsmPrinter.dir/DwarfStringPool.cpp.o
Building CXX object lib/CodeGen/AsmPrinter/CMakeFiles/LLVMAsmPrinter.dir/AsmPrinterInlineAsm.cpp.o
Building CXX object lib/CodeGen/AsmPrinter/CMakeFiles/LLVMAsmPrinter.dir/AddressPool.cpp.o
Building CXX object lib/CodeGen/AsmPrinter/CMakeFiles/LLVMAsmPrinter.dir/AsmPrinterDwarf.cpp.o
Building CXX object lib/CodeGen/AsmPrinter/CMakeFiles/LLVMAsmPrinter.dir/PseudoProbePrinter.cpp.o
Building CXX object lib/CodeGen/AsmPrinter/CMakeFiles/LLVMAsmPrinter.dir/OcamlGCPrinter.cpp.o
Building CXX object lib/CodeGen/AsmPrinter/CMakeFiles/LLVMAsmPrinter.dir/WinCFGuard.cpp.o
Building CXX object lib/CodeGen/AsmPrinter/CMakeFiles/LLVMAsmPrinter.dir/DebugHandlerBase.cpp.o
Building CXX object lib/CodeGen/AsmPrinter/CMakeFiles/LLVMAsmPrinter.dir/DebugLocStream.cpp.o
Building CXX object lib/CodeGen/AsmPrinter/CMakeFiles/LLVMAsmPrinter.dir/CodeViewDebug.cpp.o
Building CXX object lib/CodeGen/AsmPrinter/CMakeFiles/LLVMAsmPrinter.dir/WasmException.cpp.o
Building CXX object lib/CodeGen/AsmPrinter/CMakeFiles/LLVMAsmPrinter.dir/DIE.cpp.o
Building CXX object lib/CodeGen/AsmPrinter/CMakeFiles/LLVMAsmPrinter.dir/DwarfExpression.cpp.o
Building CXX object lib/CodeGen/AsmPrinter/CMakeFiles/LLVMAsmPrinter.dir/AccelTable.cpp.o
Building CXX object lib/Transforms/IPO/CMakeFiles/LLVMipo.dir/AlwaysInliner.cpp.o
Building CXX object lib/Transforms/IPO/CMakeFiles/LLVMipo.dir/WholeProgramDevirt.cpp.o
Building CXX object lib/Transforms/IPO/CMakeFiles/LLVMipo.dir/BlockExtractor.cpp.o
Building CXX object lib/Transforms/IPO/CMakeFiles/LLVMipo.dir/ConstantMerge.cpp.o
Building CXX object lib/Transforms/IPO/CMakeFiles/LLVMipo.dir/FatLTOCleanup.cpp.o
Building CXX object lib/Transforms/IPO/CMakeFiles/LLVMipo.dir/SampleContextTracker.cpp.o
Building CXX object lib/Transforms/IPO/CMakeFiles/LLVMipo.dir/CalledValuePropagation.cpp.o
Building CXX object lib/Transforms/IPO/CMakeFiles/LLVMipo.dir/Annotation2Metadata.cpp.o
Building CXX object lib/Transforms/IPO/CMakeFiles/LLVMipo.dir/Attributor.cpp.o
Building CXX object lib/Transforms/IPO/CMakeFiles/LLVMipo.dir/GlobalSplit.cpp.o
Building CXX object lib/Transforms/IPO/CMakeFiles/LLVMipo.dir/LoopExtractor.cpp.o
Building CXX object lib/Transforms/IPO/CMakeFiles/LLVMipo.dir/GlobalDCE.cpp.o
Building CXX object lib/Transforms/IPO/CMakeFiles/LLVMipo.dir/PartialInlining.cpp.o
Building CXX object lib/Transforms/IPO/CMakeFiles/LLVMipo.dir/SCCP.cpp.o
Building CXX object lib/Transforms/IPO/CMakeFiles/LLVMipo.dir/AttributorAttributes.cpp.o
Building CXX object lib/Transforms/IPO/CMakeFiles/LLVMipo.dir/ElimAvailExtern.cpp.o
Building CXX object lib/Transforms/IPO/CMakeFiles/LLVMipo.dir/MemProfContextDisambiguation.cpp.o
Building CXX object lib/Transforms/IPO/CMakeFiles/LLVMipo.dir/GlobalOpt.cpp.o
Building CXX object lib/Transforms/IPO/CMakeFiles/LLVMipo.dir/ForceFunctionAttrs.cpp.o
Building CXX object lib/Transforms/IPO/CMakeFiles/LLVMipo.dir/FunctionImport.cpp.o
Building CXX object lib/Transforms/IPO/CMakeFiles/LLVMipo.dir/IPO.cpp.o
Building CXX object lib/Transforms/IPO/CMakeFiles/LLVMipo.dir/CrossDSOCFI.cpp.o
Building CXX object lib/Transforms/IPO/CMakeFiles/LLVMipo.dir/ExpandVariadics.cpp.o
Building CXX object lib/Transforms/IPO/CMakeFiles/LLVMipo.dir/Inliner.cpp.o
Building CXX object lib/Transforms/IPO/CMakeFiles/LLVMipo.dir/BarrierNoopPass.cpp.o
Building CXX object lib/Transforms/IPO/CMakeFiles/LLVMipo.dir/SampleProfileProbe.cpp.o
Building CXX object lib/Transforms/IPO/CMakeFiles/LLVMipo.dir/DeadArgumentElimination.cpp.o
Building CXX object lib/Transforms/IPO/CMakeFiles/LLVMipo.dir/Internalize.cpp.o
Building CXX object lib/Transforms/IPO/CMakeFiles/LLVMipo.dir/EmbedBitcodePass.cpp.o
Building CXX object lib/Transforms/IPO/CMakeFiles/LLVMipo.dir/FunctionSpecialization.cpp.o
Building CXX object lib/Transforms/IPO/CMakeFiles/LLVMipo.dir/ExtractGV.cpp.o
Building CXX object lib/Transforms/IPO/CMakeFiles/LLVMipo.dir/ModuleInliner.cpp.o
Building CXX object lib/Transforms/IPO/CMakeFiles/LLVMipo.dir/HotColdSplitting.cpp.o
Building CXX object lib/Transforms/IPO/CMakeFiles/LLVMipo.dir/SampleProfile.cpp.o
Building CXX object lib/Transforms/IPO/CMakeFiles/LLVMipo.dir/OpenMPOpt.cpp.o
Building CXX object lib/Transforms/IPO/CMakeFiles/LLVMipo.dir/FunctionAttrs.cpp.o
Building CXX object lib/Transforms/IPO/CMakeFiles/LLVMipo.dir/ThinLTOBitcodeWriter.cpp.o
Building CXX object lib/Transforms/IPO/CMakeFiles/LLVMipo.dir/IROutliner.cpp.o
Building CXX object lib/Transforms/IPO/CMakeFiles/LLVMipo.dir/InferFunctionAttrs.cpp.o
Building CXX object lib/Transforms/IPO/CMakeFiles/LLVMipo.dir/StripDeadPrototypes.cpp.o
Building CXX object lib/Transforms/IPO/CMakeFiles/LLVMipo.dir/MergeFunctions.cpp.o
Building CXX object lib/Transforms/IPO/CMakeFiles/LLVMipo.dir/ArgumentPromotion.cpp.o
Building CXX object lib/Transforms/IPO/CMakeFiles/LLVMipo.dir/StripSymbols.cpp.o
Building CXX object lib/Transforms/IPO/CMakeFiles/LLVMipo.dir/LowerTypeTests.cpp.o
Building CXX object lib/Transforms/IPO/CMakeFiles/LLVMipo.dir/SampleProfileMatcher.cpp.o
Building CXX object lib/CodeGen/GlobalISel/CMakeFiles/LLVMGlobalISel.dir/InlineAsmLowering.cpp.o
Building CXX object lib/CodeGen/GlobalISel/CMakeFiles/LLVMGlobalISel.dir/CombinerHelperVectorOps.cpp.o
Building CXX object lib/CodeGen/GlobalISel/CMakeFiles/LLVMGlobalISel.dir/Combiner.cpp.o
Building CXX object lib/CodeGen/GlobalISel/CMakeFiles/LLVMGlobalISel.dir/GISelChangeObserver.cpp.o
Building CXX object lib/CodeGen/GlobalISel/CMakeFiles/LLVMGlobalISel.dir/LostDebugLocObserver.cpp.o
Building CXX object lib/CodeGen/GlobalISel/CMakeFiles/LLVMGlobalISel.dir/CSEInfo.cpp.o
Building CXX object lib/CodeGen/GlobalISel/CMakeFiles/LLVMGlobalISel.dir/GlobalISel.cpp.o
Building CXX object lib/CodeGen/GlobalISel/CMakeFiles/LLVMGlobalISel.dir/CombinerHelper.cpp.o
Building CXX object lib/CodeGen/GlobalISel/CMakeFiles/LLVMGlobalISel.dir/GIMatchTableExecutor.cpp.o
Building CXX object lib/CodeGen/GlobalISel/CMakeFiles/LLVMGlobalISel.dir/LegalityPredicates.cpp.o
Building CXX object lib/CodeGen/GlobalISel/CMakeFiles/LLVMGlobalISel.dir/LoadStoreOpt.cpp.o
Building CXX object lib/CodeGen/GlobalISel/CMakeFiles/LLVMGlobalISel.dir/LegacyLegalizerInfo.cpp.o
Building CXX object lib/CodeGen/GlobalISel/CMakeFiles/LLVMGlobalISel.dir/InstructionSelector.cpp.o
Building CXX object lib/CodeGen/GlobalISel/CMakeFiles/LLVMGlobalISel.dir/CallLowering.cpp.o
Building CXX object lib/CodeGen/GlobalISel/CMakeFiles/LLVMGlobalISel.dir/CSEMIRBuilder.cpp.o
Building CXX object lib/CodeGen/GlobalISel/CMakeFiles/LLVMGlobalISel.dir/LegalizerInfo.cpp.o
Building CXX object lib/CodeGen/GlobalISel/CMakeFiles/LLVMGlobalISel.dir/LegalizeMutations.cpp.o
Building CXX object lib/CodeGen/GlobalISel/CMakeFiles/LLVMGlobalISel.dir/CombinerHelperCompares.cpp.o
Building CXX object lib/CodeGen/GlobalISel/CMakeFiles/LLVMGlobalISel.dir/Legalizer.cpp.o
Building CXX object lib/CodeGen/GlobalISel/CMakeFiles/LLVMGlobalISel.dir/MachineFloatingPointPredicateUtils.cpp.o
Building CXX object lib/CodeGen/GlobalISel/CMakeFiles/LLVMGlobalISel.dir/MachineIRBuilder.cpp.o
Building CXX object lib/CodeGen/GlobalISel/CMakeFiles/LLVMGlobalISel.dir/RegBankSelect.cpp.o
Building CXX object lib/CodeGen/GlobalISel/CMakeFiles/LLVMGlobalISel.dir/Utils.cpp.o
Building CXX object lib/CodeGen/GlobalISel/CMakeFiles/LLVMGlobalISel.dir/CombinerHelperCasts.cpp.o
Building CXX object lib/CodeGen/GlobalISel/CMakeFiles/LLVMGlobalISel.dir/Localizer.cpp.o
Building CXX object lib/CodeGen/GlobalISel/CMakeFiles/LLVMGlobalISel.dir/CombinerHelperArtifacts.cpp.o
Building CXX object lib/CodeGen/GlobalISel/CMakeFiles/LLVMGlobalISel.dir/InstructionSelect.cpp.o
Building CXX object lib/CodeGen/GlobalISel/CMakeFiles/LLVMGlobalISel.dir/IRTranslator.cpp.o
Building CXX object lib/CodeGen/GlobalISel/CMakeFiles/LLVMGlobalISel.dir/GISelValueTracking.cpp.o
Building CXX object lib/CodeGen/GlobalISel/CMakeFiles/LLVMGlobalISel.dir/LegalizerHelper.cpp.o
Building CXX object lib/Transforms/Coroutines/CMakeFiles/LLVMCoroutines.dir/SuspendCrossingInfo.cpp.o
Building CXX object lib/Transforms/Coroutines/CMakeFiles/LLVMCoroutines.dir/CoroEarly.cpp.o
Building CXX object lib/Transforms/Coroutines/CMakeFiles/LLVMCoroutines.dir/CoroFrame.cpp.o
Building CXX object lib/Transforms/Coroutines/CMakeFiles/LLVMCoroutines.dir/Coroutines.cpp.o
Building CXX object lib/Transforms/Coroutines/CMakeFiles/LLVMCoroutines.dir/CoroSplit.cpp.o
Building CXX object lib/Transforms/Coroutines/CMakeFiles/LLVMCoroutines.dir/CoroCleanup.cpp.o
Building CXX object lib/Transforms/Coroutines/CMakeFiles/LLVMCoroutines.dir/CoroElide.cpp.o
Building CXX object lib/Transforms/Coroutines/CMakeFiles/LLVMCoroutines.dir/CoroConditionalWrapper.cpp.o
Building CXX object lib/Transforms/Coroutines/CMakeFiles/LLVMCoroutines.dir/SpillUtils.cpp.o
Building CXX object lib/Transforms/Coroutines/CMakeFiles/LLVMCoroutines.dir/MaterializationUtils.cpp.o
Building CXX object lib/Transforms/Coroutines/CMakeFiles/LLVMCoroutines.dir/CoroAnnotationElide.cpp.o
Building CXX object lib/Passes/CMakeFiles/LLVMPasses.dir/StandardInstrumentations.cpp.o
Building CXX object lib/Passes/CMakeFiles/LLVMPasses.dir/PassBuilderBindings.cpp.o
Building CXX object lib/Passes/CMakeFiles/LLVMPasses.dir/PassBuilderPipelines.cpp.o
Building CXX object lib/Passes/CMakeFiles/LLVMPasses.dir/CodeGenPassBuilder.cpp.o
Building CXX object lib/Passes/CMakeFiles/LLVMPasses.dir/PassBuilder.cpp.o
Building CXX object lib/Passes/CMakeFiles/LLVMPasses.dir/OptimizationLevel.cpp.o
Building CXX object lib/LTO/CMakeFiles/LLVMLTO.dir/ThinLTOCodeGenerator.cpp.o
Building CXX object lib/LTO/CMakeFiles/LLVMLTO.dir/LTOModule.cpp.o
Building CXX object lib/LTO/CMakeFiles/LLVMLTO.dir/LTO.cpp.o
Building CXX object lib/LTO/CMakeFiles/LLVMLTO.dir/UpdateCompilerUsed.cpp.o
Building CXX object lib/LTO/CMakeFiles/LLVMLTO.dir/LTOCodeGenerator.cpp.o
Building CXX object lib/LTO/CMakeFiles/LLVMLTO.dir/LTOBackend.cpp.o
Building CXX object lib/DTLTO/CMakeFiles/LLVMDTLTO.dir/DTLTO.cpp.o
Linking CXX static library lib/libLLVMRemarks.a
Linking CXX static library lib/libLLVMDebugInfoBTF.a
Building DeclNodes.inc...
Building AttrPCHWrite.inc...
Building Nodes.inc...
Building arm_cde_builtin_aliases.inc...
Building DiagnosticRefactoringCompatIDs.inc...
Building arm_fp16.h...
Building arm_cde_builtin_cg.inc...
Building arm_sme_builtins_za_state.inc...
Building AttrTemplateInstantiate.inc...
Building arm_vector_types.h...
Building CXX11AttributeInfo.inc...
Building arm_sme_builtins.json...
Building riscv_vector_builtin_cg.inc...
Building riscv_andes_vector_builtin_cg.inc...
Building arm_sme.h...
Building DiagnosticInstallAPICompatIDs.inc...
Building arm_sve_sema_rangechecks.inc...
Building DiagnosticDriverInterface.inc...
Building DiagnosticSemaEnums.inc...
Building DiagnosticParseInterface.inc...
Building AttrVisitor.inc...
Building arm_cde_builtins.inc...
Building arm_bf16.h...
Building BuiltinsSPIRVVK.inc...
Building arm_sve_builtin_cg.inc...
Building arm_sve_typeflags.inc...
Building arm_sme_builtin_cg.inc...
Building DiagnosticFrontendEnums.inc...
Building AttrIsTypeDependent.inc...
Building arm_mve_builtin_sema.inc...
Building AbstractBasicReader.inc...
Building AbstractTypeWriter.inc...
Building riscv_sifive_vector_builtins.inc...
Building AttributeSpellingList.inc...
Building arm_sve.h...
Building DiagnosticCommonKinds.inc...
Building AttrNodeTraverse.inc...
Building AttrSpellingListIndex.inc...
Building DiagnosticCrossTUKinds.inc...
Building DiagnosticSerializationInterface.inc...
Building riscv_andes_vector_builtins.inc...
Building arm_sme_streaming_attrs.inc...
Building DiagnosticInstallAPIEnums.inc...
Building DiagnosticLexKinds.inc...
Building arm_cde_builtin_sema.inc...
Building AttrParserStringSwitches.inc...
Building DiagnosticSemaKinds.inc...
Building BuiltinTemplates.inc...
Building riscv_sifive_vector_builtin_cg.inc...
Building DiagnosticASTCompatIDs.inc...
Building BuiltinsX86_64.inc...
Building DiagnosticSerializationKinds.inc...
Building AttrSubMatchRulesList.inc...
Building arm_sve_builtins.inc...
Building DiagnosticCommonInterface.inc...
Building AbstractBasicWriter.inc...
Building DiagnosticDriverKinds.inc...
Building DiagnosticTrapKinds.inc...
Building DiagnosticCommentCompatIDs.inc...
Building arm_mve_builtin_cg.inc...
Building DiagnosticCommonEnums.inc...
Building BuiltinsNVPTX.inc...
Building AbstractTypeReader.inc...
Building CommentCommandInfo.inc...
Building arm_mve_builtin_aliases.inc...
Building DiagnosticAllCompatIDs.inc...
Building DiagnosticIndexName.inc...
Building DiagnosticParseEnums.inc...
Building BuiltinsHexagon.inc...
Building DiagnosticLexEnums.inc...
Building AttrTextNodeDump.inc...
Building DiagnosticCrossTUCompatIDs.inc...
Building DiagnosticSemaInterface.inc...
Building arm_mve.h...
Building DiagnosticDriverCompatIDs.inc...
Building DiagnosticSerializationEnums.inc...
Building riscv_andes_vector_builtin_sema.inc...
Building arm_mve_builtins.inc...
Building DiagnosticLexInterface.inc...
Building CommentHTMLNamedCharacterReferences.inc...
Building BuiltinsX86.inc...
Building DiagnosticSerializationCompatIDs.inc...
Building DiagnosticTrapEnums.inc...
Building DiagnosticLexCompatIDs.inc...
Building DiagnosticCrossTUInterface.inc...
Building DiagnosticDriverEnums.inc...
Building arm_sve_builtins.json...
Building arm_sme_sema_rangechecks.inc...
Building BuiltinsRISCV.inc...
Building riscv_sifive_vector_builtin_sema.inc...
Building DiagnosticCrossTUEnums.inc...
Building DiagnosticCommentKinds.inc...
Building AttrList.inc...
Building Attrs.inc...
Building DiagnosticRefactoringInterface.inc...
Building AttrParsedAttrKinds.inc...
Building AttrParsedAttrList.inc...
Building AttrParsedAttrImpl.inc...
Building arm_neon.inc...
Building DiagnosticAnalysisCompatIDs.inc...
Building BuiltinsBPF.inc...
Building DiagnosticFrontendInterface.inc...
Building arm_neon.h...
Building DiagnosticAnalysisEnums.inc...
Building BuiltinsSPIRVCommon.inc...
Building Checkers.inc...
Building TypeNodes.inc...
Building NodeClasses.inc...
Building DiagnosticAnalysisKinds.inc...
Building DiagnosticParseKinds.inc...
Building DiagnosticAnalysisInterface.inc...
Building DiagnosticCommentEnums.inc...
Building arm_immcheck_types.inc...
Building AttrHasAttributeImpl.inc...
Building BuiltinsDirectX.inc...
Building DiagnosticParseCompatIDs.inc...
Building CommentCommandList.inc...
Building riscv_vector_builtins.inc...
Building DiagnosticASTKinds.inc...
Building arm_cde.h...
Building arm_sme_builtins.inc...
Building arm_fp16.inc...
Building DiagnosticInstallAPIKinds.inc...
Building arm_sve_streaming_attrs.inc...
Building DiagnosticASTEnums.inc...
Building DiagnosticCommentInterface.inc...
Building riscv_vector_builtin_sema.inc...
Building DiagnosticCommonCompatIDs.inc...
Building CommentHTMLTagsProperties.inc...
Building DiagnosticRefactoringKinds.inc...
Building StmtDataCollectors.inc...
Building DiagnosticRefactoringEnums.inc...
Building StmtNodes.inc...
Building CommentNodes.inc...
Building DiagnosticInstallAPIInterface.inc...
Building DiagnosticFrontendKinds.inc...
Building DiagnosticGroups.inc...
Building AttrPCHRead.inc...
Building RegularKeywordAttrInfo.inc...
Building DiagnosticSemaCompatIDs.inc...
Building BuiltinsSPIRVCL.inc...
Building DiagnosticTrapInterface.inc...
Building CommentHTMLTags.inc...
Building DiagnosticTrapCompatIDs.inc...
Building DiagnosticFrontendCompatIDs.inc...
Building DiagnosticASTInterface.inc...
Building AttrSubMatchRulesParserStringSwitches.inc...
Building Builtins.inc...
Building AttrImpl.inc...
Linking CXX static library lib/libLLVMTargetParser.a
Linking CXX executable bin/llvm-tblgen
Copying clang's hlsl/hlsl_spirv.h...
Copying clang's avx10_2minmaxintrin.h...
Copying clang's iso646.h...
Copying clang's openmp_wrappers/complex.h...
Copying clang's zos_wrappers/builtins.h...
Copying clang's sifive_vector.h...
Copying clang's stdint.h...
Copying clang's avxvnniint8intrin.h...
Copying clang's pconfigintrin.h...
Copying clang's movrs_avx10_2intrin.h...
Copying clang's avx512vlbitalgintrin.h...
Copying clang's cuda_wrappers/bits/basic_string.h...
Copying clang's __float_float.h...
Copying clang's avx10_2satcvtdsintrin.h...
Copying clang's avx512vlintrin.h...
Copying clang's popcntintrin.h...
Copying clang's avx512bitalgintrin.h...
Copying clang's stdcountof.h...
Copying clang's lzcntintrin.h...
Copying clang's llvm_libc_wrappers/ctype.h...
Copying clang's avx512bwintrin.h...
Copying clang's sm4evexintrin.h...
Copying clang's __clang_cuda_libdevice_declares.h...
Copying clang's openmp_wrappers/math.h...
Copying clang's hlsl/hlsl_compat_overloads.h...
Copying clang's avx512vlfp16intrin.h...
Copying clang's adcintrin.h...
Copying clang's llvm_offload_wrappers/__llvm_offload_host.h...
Copying clang's hexagon_protos.h...
Copying clang's xsaveoptintrin.h...
Copying clang's vecintrin.h...
Copying clang's __wmmintrin_aes.h...
Copying clang's movdirintrin.h...
Copying clang's x86intrin.h...
Copying clang's arm_fp16.h...
Copying clang's opencl-c.h...
Copying clang's clzerointrin.h...
Copying clang's tmmintrin.h...
Copying clang's adxintrin.h...
Copying clang's ppc_wrappers/emmintrin.h...
Copying clang's amxintrin.h...
Copying clang's htmxlintrin.h...
Copying clang's rdpruintrin.h...
Copying clang's tbmintrin.h...
Copying clang's builtins.h...
Copying clang's __stddef_size_t.h...
Copying clang's cetintrin.h...
Copying clang's cuda_wrappers/__utility/declval.h...
Copying clang's stdnoreturn.h...
Copying clang's __clang_hip_stdlib.h...
Copying clang's bmi2intrin.h...
Copying clang's avx10_2_512bf16intrin.h...
Copying clang's ppc_wrappers/x86intrin.h...
Copying clang's cuda_wrappers/algorithm...
Copying clang's openmp_wrappers/new...
Copying clang's ppc_wrappers/xmmintrin.h...
Copying clang's hresetintrin.h...
Copying clang's arm_mve.h...
Copying clang's stdarg.h...
Copying clang's movrsintrin.h...
Copying clang's wbnoinvdintrin.h...
Copying clang's wmmintrin.h...
Copying clang's stddefer.h...
Copying clang's llvm_libc_wrappers/stdio.h...
Copying clang's riscv_mips.h...
Copying clang's __stddef_null.h...
Copying clang's __stddef_max_align_t.h...
Copying clang's avx512fintrin.h...
Copying clang's stdalign.h...
Copying clang's avx10_2_512convertintrin.h...
Copying clang's bmiintrin.h...
Copying clang's cmpccxaddintrin.h...
Copying clang's cet.h...
Copying clang's xmmintrin.h...
Copying clang's __clang_spirv_builtins.h...
Copying clang's __stddef_nullptr_t.h...
Copying clang's hexagon_types.h...
Copying clang's ppc_wrappers/nmmintrin.h...
Copying clang's opencl-c-base.h...
Copying clang's lasxintrin.h...
Copying clang's velintrin.h...
Copying clang's velintrin_gen.h...
Copying clang's __stddef_ptrdiff_t.h...
Copying clang's __stddef_wchar_t.h...
Copying clang's __clang_cuda_complex_builtins.h...
Copying clang's x86gprintrin.h...
Copying clang's __stddef_header_macro.h...
Copying clang's riscv_corev_alu.h...
Copying clang's unwind.h...
Copying clang's inttypes.h...
Copying clang's smmintrin.h...
Copying clang's __stddef_wint_t.h...
Copying clang's hvx_hexagon_protos.h...
Copying clang's avx512ifmaintrin.h...
Copying clang's andes_vector.h...
Copying clang's uintrintrin.h...
Copying clang's openmp_wrappers/__clang_openmp_device_functions.h...
Copying clang's openmp_wrappers/cmath...
Copying clang's avx512vp2intersectintrin.h...
Copying clang's xsaveintrin.h...
Copying clang's avxintrin.h...
Copying clang's limits.h...
Copying clang's avx512vlbwintrin.h...
Copying clang's lsxintrin.h...
Copying clang's arm_sve.h...
Copying clang's ppc_wrappers/mm_malloc.h...
Copying clang's ppc_wrappers/x86gprintrin.h...
Copying clang's avx512vpopcntdqintrin.h...
Copying clang's hlsl/hlsl_basic_types.h...
Copying clang's __clang_cuda_texture_intrinsics.h...
Copying clang's __float_header_macro.h...
Copying clang's stddef.h...
Copying clang's avxneconvertintrin.h...
Copying clang's sm3intrin.h...
Copying clang's intrin.h...
Copying clang's arm_neon.h...
Copying clang's tgmath.h...
Copying clang's avx10_2convertintrin.h...
Copying clang's __stddef_unreachable.h...
Copying clang's amxtf32intrin.h...
Copying clang's rtmintrin.h...
Copying clang's vaesintrin.h...
Copying clang's avx512vlvbmi2intrin.h...
Copying clang's msa.h...
Copying clang's emmintrin.h...
Copying clang's cuda_wrappers/bits/basic_string.tcc...
Copying clang's ppc_wrappers/tmmintrin.h...
Copying clang's clwbintrin.h...
Copying clang's altivec.h...
Copying clang's __clang_cuda_builtin_vars.h...
Copying clang's avx512vlcdintrin.h...
Copying clang's waitpkgintrin.h...
Copying clang's larchintrin.h...
Copying clang's avxvnniint16intrin.h...
Copying clang's avx10_2niintrin.h...
Copying clang's cuda_wrappers/cmath...
Copying clang's avx10_2bf16intrin.h...
Copying clang's shaintrin.h...
Copying clang's ptrauth.h...
Copying clang's cpuid.h...
Copying clang's s390intrin.h...
Copying clang's arm_cde.h...
Copying clang's __clang_cuda_device_functions.h...
Copying clang's serializeintrin.h...
Copying clang's sha512intrin.h...
Copying clang's gpuintrin.h...
Copying clang's __float_infinity_nan.h...
Copying clang's immintrin.h...
Copying clang's avx512vlvp2intersectintrin.h...
Copying clang's amdgpuintrin.h...
Copying clang's cuda_wrappers/new...
Copying clang's ppc_wrappers/pmmintrin.h...
Copying clang's llvm_libc_wrappers/assert.h...
Copying clang's mwaitxintrin.h...
Copying clang's __wmmintrin_pclmul.h...
Copying clang's spirvintrin.h...
Copying clang's cuda_wrappers/bits/c++config.h...
Copying clang's stdatomic.h...
Copying clang's __clang_cuda_runtime_wrapper.h...
Copying clang's xsavesintrin.h...
Copying clang's module.modulemap...
Copying clang's ppc_wrappers/immintrin.h...
Copying clang's avx10_2_512niintrin.h...
Copying clang's amo.h...
Copying clang's riscv_crypto.h...
Copying clang's __stddef_rsize_t.h...
Copying clang's hexagon_circ_brev_intrinsics.h...
Copying clang's __clang_cuda_math.h...
Copying clang's avx512vlbf16intrin.h...
Copying clang's pkuintrin.h...
Copying clang's avx512vbmiintrin.h...
Copying clang's stdckdint.h...
Copying clang's avxvnniintrin.h...
Copying clang's ptwriteintrin.h...
Copying clang's enqcmdintrin.h...
Copying clang's tsxldtrkintrin.h...
Copying clang's intrin0.h...
Copying clang's amxavx512intrin.h...
Copying clang's avx512vbmi2intrin.h...
Copying clang's openmp_wrappers/complex_cmath.h...
Copying clang's arm_neon_sve_bridge.h...
Copying clang's __clang_hip_math.h...
Copying clang's arm_sme.h...
Copying clang's prfchwintrin.h...
Copying clang's f16cintrin.h...
Copying clang's cuda_wrappers/bits/shared_ptr_base.h...
Copying clang's avxifmaintrin.h...
Copying clang's riscv_ntlh.h...
Copying clang's invpcidintrin.h...
Copying clang's arm_acle.h...
Copying clang's movrs_avx10_2_512intrin.h...
Copying clang's velintrin_approx.h...
Copying clang's avx512ifmavlintrin.h...
Copying clang's htmintrin.h...
Copying clang's cldemoteintrin.h...
Copying clang's __stdarg___gnuc_va_list.h...
Copying clang's keylockerintrin.h...
Copying clang's avx512vldqintrin.h...
Copying clang's openmp_wrappers/complex...
Copying clang's ppc_wrappers/bmi2intrin.h...
Copying clang's clflushoptintrin.h...
Copying clang's xtestintrin.h...
Copying clang's llvm_offload_wrappers/__llvm_offload.h...
Copying clang's avx512fp16intrin.h...
Copying clang's __clang_cuda_math_forward_declares.h...
Copying clang's llvm_offload_wrappers/__llvm_offload_device.h...
Copying clang's avx512vbmivlintrin.h...
Copying clang's amxfp16intrin.h...
Copying clang's prfchiintrin.h...
Copying clang's riscv_bitmanip.h...
Copying clang's lwpintrin.h...
Copying clang's __stdarg_va_list.h...
Copying clang's avx512vlvnniintrin.h...
Copying clang's __clang_hip_cmath.h...
Copying clang's varargs.h...
Copying clang's stdbool.h...
Copying clang's llvm_libc_wrappers/stdlib.h...
Copying clang's yvals_core.h...
Copying clang's amxcomplexintrin.h...
Copying clang's nmmintrin.h...
Copying clang's sgxintrin.h...
Copying clang's vadefs.h...
Copying clang's avx512vpopcntdqvlintrin.h...
Copying clang's fmaintrin.h...
Copying clang's mm_malloc.h...
Copying clang's ppc_wrappers/smmintrin.h...
Copying clang's __stdarg_header_macro.h...
Copying clang's llvm_libc_wrappers/inttypes.h...
Copying clang's avx10_2copyintrin.h...
Copying clang's mm3dnow.h...
Copying clang's amxmovrsintrin.h...
Copying clang's hlsl/hlsl_intrinsics.h...
Copying clang's __clang_hip_runtime_wrapper.h...
Copying clang's __stdarg_va_arg.h...
Copying clang's arm_cmse.h...
Copying clang's rdseedintrin.h...
Copying clang's sm4intrin.h...
Copying clang's arm_vector_types.h...
Copying clang's cuda_wrappers/complex...
Copying clang's armintr.h...
Copying clang's avx512bf16intrin.h...
Copying clang's __clang_hip_libdevice_declares.h...
Copying clang's fma4intrin.h...
Copying clang's pmmintrin.h...
Copying clang's llvm_libc_wrappers/string.h...
Copying clang's arm_bf16.h...
Copying clang's xsavecintrin.h...
Copying clang's raointintrin.h...
Copying clang's nvptxintrin.h...
Copying clang's riscv_nds.h...
Copying clang's ammintrin.h...
Copying clang's avx512dqintrin.h...
Copying clang's usermsrintrin.h...
Copying clang's ppc_wrappers/mmintrin.h...
Copying clang's ppc_wrappers/bmiintrin.h...
Copying clang's llvm_libc_wrappers/time.h...
Copying clang's __clang_cuda_cmath.h...
Copying clang's avx10_2_512satcvtintrin.h...
Copying clang's xopintrin.h...
Copying clang's avx10_2_512satcvtdsintrin.h...
Copying clang's avx512vnniintrin.h...
Copying clang's gfniintrin.h...
Copying clang's hlsl/hlsl_alias_intrinsics.h...
Copying clang's float.h...
Copying clang's __stdarg___va_copy.h...
Copying clang's __stdarg_va_copy.h...
Copying clang's avx10_2_512minmaxintrin.h...
Copying clang's avx512cdintrin.h...
Copying clang's ia32intrin.h...
Copying clang's fxsrintrin.h...
Copying clang's avx2intrin.h...
Copying clang's arm64intr.h...
Copying clang's amxfp8intrin.h...
Copying clang's __clang_cuda_intrinsics.h...
Copying clang's avx10_2satcvtintrin.h...
Copying clang's mmintrin.h...
Copying clang's vpclmulqdqintrin.h...
Copying clang's crc32intrin.h...
Copying clang's wasm_simd128.h...
Copying clang's hlsl.h...
Copying clang's hlsl/hlsl_intrinsic_helpers.h...
Copying clang's __stddef_offsetof.h...
Copying clang's hlsl/hlsl_detail.h...
Linking CXX static library lib/libLLVMWindowsDriver.a
Linking CXX static library lib/libLLVMBinaryFormat.a
Building native llvm-tblgen...
Linking CXX static library lib/libLLVMDebugInfoDWARFLowLevel.a
Linking CXX static library lib/libLLVMCore.a
Linking CXX static library lib/libLLVMTextAPI.a
Linking CXX static library lib/libLLVMMC.a
Linking CXX static library lib/libLLVMBitReader.a
Linking CXX static library lib/libLLVMCFGuard.a
Linking CXX static library lib/libLLVMFrontendHLSL.a
Linking CXX static library lib/libLLVMAsmParser.a
Linking CXX static library lib/libLLVMMCParser.a
Linking CXX static library lib/libLLVMMCDisassembler.a
Linking CXX static library lib/libLLVMIRReader.a
Linking CXX static library lib/libLLVMObject.a
Linking CXX static library lib/libLLVMObjectYAML.a
Linking CXX static library lib/libLLVMDebugInfoPDB.a
Linking CXX static library lib/libLLVMDebugInfoDWARF.a
Linking CXX static library lib/libLLVMDebugInfoGSYM.a
Linking CXX static library lib/libLLVMTextAPIBinaryReader.a
Linking CXX static library lib/libLLVMSymbolize.a
Linking CXX static library lib/libLLVMProfileData.a
Linking CXX static library lib/libLLVMCoverage.a
Linking CXX static library lib/libLLVMAnalysis.a
Linking CXX static library lib/libLLVMTarget.a
Linking CXX static library lib/libLLVMSandboxIR.a
Linking CXX static library lib/libLLVMFrontendAtomic.a
Linking CXX static library lib/libLLVMBitWriter.a
Linking CXX static library lib/libLLVMIRPrinter.a
Linking CXX static library lib/libLLVMTransformUtils.a
Linking CXX static library lib/libLLVMCGData.a
Linking CXX static library lib/libLLVMVectorize.a
Linking CXX static library lib/libLLVMObjCARCOpts.a
Linking CXX static library lib/libLLVMInstCombine.a
Linking CXX static library lib/libLLVMFrontendOffloading.a
Linking CXX static library lib/libLLVMLinker.a
Linking CXX static library lib/libLLVMInstrumentation.a
Linking CXX static library lib/libLLVMHipStdPar.a
Linking CXX static library lib/libLLVMAggressiveInstCombine.a
Linking CXX static library lib/libLLVMFrontendDriver.a
Linking CXX static library lib/libLLVMScalarOpts.a
Linking CXX static library lib/libLLVMCodeGen.a
Linking CXX static library lib/libLLVMFrontendOpenMP.a
Linking CXX static library lib/libLLVMipo.a
Linking CXX static library lib/libLLVMSelectionDAG.a
Generating VCSVersion.inc
Linking CXX static library lib/libLLVMAsmPrinter.a
Building CXX object tools/lld/Common/CMakeFiles/lldCommon.dir/Filesystem.cpp.o
Building CXX object tools/lld/Common/CMakeFiles/lldCommon.dir/Version.cpp.o
Building CXX object tools/lld/Common/CMakeFiles/lldCommon.dir/DriverDispatcher.cpp.o
Building CXX object tools/lld/Common/CMakeFiles/lldCommon.dir/DWARF.cpp.o
Building CXX object tools/lld/Common/CMakeFiles/lldCommon.dir/CommonLinkerContext.cpp.o
Building CXX object tools/lld/Common/CMakeFiles/lldCommon.dir/Args.cpp.o
Building CXX object tools/lld/Common/CMakeFiles/lldCommon.dir/Utils.cpp.o
Building CXX object tools/lld/Common/CMakeFiles/lldCommon.dir/Timer.cpp.o
Building CXX object tools/lld/Common/CMakeFiles/lldCommon.dir/Strings.cpp.o
Building CXX object tools/lld/Common/CMakeFiles/lldCommon.dir/ErrorHandler.cpp.o
Building CXX object tools/lld/Common/CMakeFiles/lldCommon.dir/TargetOptionsCommandFlags.cpp.o
Building CXX object tools/lld/Common/CMakeFiles/lldCommon.dir/Reproduce.cpp.o
Building CXX object tools/lld/Common/CMakeFiles/lldCommon.dir/Memory.cpp.o
Linking CXX static library lib/libLLVMCoroutines.a
Linking CXX static library lib/libLLVMGlobalISel.a
Linking CXX static library lib/liblldCommon.a
Building native llvm-tblgen...
Building GenVT.inc...
Building IntrinsicsXCore.h...
Building IntrinsicsPowerPC.h...
Building RuntimeLibcalls.inc...
Building IntrinsicsWebAssembly.h...
Building IntrinsicsDirectX.h...
Building IntrinsicImpl.inc...
Building Attributes.inc...
Building IntrinsicsBPF.h...
Building IntrinsicsAMDGPU.h...
Building IntrinsicsARM.h...
Building IntrinsicsRISCV.h...
Building IntrinsicsNVPTX.h...
Building IntrinsicsLoongArch.h...
Building IntrinsicsS390.h...
Building IntrinsicsR600.h...
Building IntrinsicsX86.h...
Building IntrinsicsAArch64.h...
Building IntrinsicsHexagon.h...
Building IntrinsicsSPIRV.h...
Building IntrinsicsMips.h...
Building IntrinsicsVE.h...
Building IntrinsicEnums.inc...
Building CXX object lib/CodeGenTypes/CMakeFiles/LLVMCodeGenTypes.dir/LowLevelType.cpp.o
Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/GlobalISel/Patterns.cpp.o
Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/CodeGenDAGPatterns.cpp.o
Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/CodeGenInstAlias.cpp.o
Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/InfoByHwMode.cpp.o
Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/GlobalISel/PatternParser.cpp.o
Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/CodeGenSchedule.cpp.o
Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/InstructionEncoding.cpp.o
Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/CodeGenTarget.cpp.o
Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/VarLenCodeEmitterGen.cpp.o
Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/GlobalISel/CombinerUtils.cpp.o
Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/CodeGenInstruction.cpp.o
Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/PredicateExpander.cpp.o
Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/OptEmitter.cpp.o
Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/Types.cpp.o
Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/GlobalISel/GlobalISelMatchTableExecutorEmitter.cpp.o
Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/GlobalISel/CodeExpander.cpp.o
Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/AsmWriterInst.cpp.o
Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/GlobalISel/CXXPredicates.cpp.o
Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/GlobalISel/GlobalISelMatchTable.cpp.o
Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/SubtargetFeatureInfo.cpp.o
Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/Utils.cpp.o
Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/CodeGenRegisters.cpp.o
Building CXX object utils/TableGen/Common/CMakeFiles/obj.LLVMTableGenCommon.dir/CodeGenHwModes.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/CallingConvEmitter.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/CodeEmitterGen.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/RegisterInfoEmitter.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/llvm-tblgen.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/X86InstrMappingEmitter.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/SDNodeInfoEmitter.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/OptionParserEmitter.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/DAGISelMatcherEmitter.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/DisassemblerEmitter.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/InstrDocsEmitter.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/CodeGenMapTable.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/OptionRSTEmitter.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/SubtargetEmitter.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/X86DisassemblerTables.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/CTagsEmitter.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/DFAPacketizerEmitter.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/AsmWriterEmitter.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/X86ModRMFilters.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/ExegesisEmitter.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/X86RecognizableInstr.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/RegisterBankEmitter.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/DAGISelMatcherOpt.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/DecoderEmitter.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/DAGISelMatcher.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/DAGISelMatcherGen.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/DecoderTree.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/MacroFusionPredicatorEmitter.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/DecoderTableEmitter.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/DFAEmitter.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/DXILEmitter.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/DAGISelEmitter.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/PseudoLoweringEmitter.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/WebAssemblyDisassemblerEmitter.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/GlobalISelCombinerEmitter.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/AsmMatcherEmitter.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/GlobalISelEmitter.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/SearchableTableEmitter.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/X86MnemonicTables.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/FastISelEmitter.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/CompressInstEmitter.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/X86FoldTablesEmitter.cpp.o
Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/InstrInfoEmitter.cpp.o
Linking CXX static library lib/libLLVMCodeGenTypes.a
Linking CXX executable bin/llvm-tblgen
n2: ran 91 tasks, now up to date
Building X86GenCallingConv.inc...
Building X86GenAsmMatcher.inc...
Building AArch64GenRegisterInfo.inc...
Building X86GenInstrMapping.inc...
Building AArch64GenMCCodeEmitter.inc...
Building X86GenDisassemblerTables.inc...
Building X86GenRegisterInfo.inc...
Building AArch64GenAsmMatcher.inc...
Building AArch64GenExegesis.inc...
Building AArch64GenSDNodeInfo.inc...
Building AArch64GenGlobalISel.inc...
Building Options.inc...
Building AArch64GenSystemOperands.inc...
Building X86GenPreLegalizeGICombiner.inc...
Building Options.inc...
Building Options.inc...
Building X86GenRegisterBank.inc...
Building AArch64GenAsmWriter1.inc...
Building X86GenDAGISel.inc...
Building AArch64GenDisassemblerTables.inc...
Building AArch64GenFastISel.inc...
Building X86GenAsmWriter1.inc...
Building X86GenFastISel.inc...
Building AArch64GenCallingConv.inc...
Building Options.inc...
Building X86GenExegesis.inc...
Building Options.inc...
Building X86GenAsmWriter.inc...
Building AArch64GenPostLegalizeGICombiner.inc...
Building Options.inc...
Building AArch64GenPostLegalizeGILowering.inc...
Building X86GenInstrInfo.inc...
Building AArch64GenDAGISel.inc...
Building AArch64GenSubtargetInfo.inc...
Building AArch64GenO0PreLegalizeGICombiner.inc...
Building AArch64GenMCPseudoLowering.inc...
Building X86GenGlobalISel.inc...
Building Options.inc...
Building X86GenFoldTables.inc...
Building AArch64GenPreLegalizeGICombiner.inc...
Building X86GenMnemonicTables.inc...
Building AArch64GenInstrInfo.inc...
Building AArch64GenAsmWriter.inc...
Building AArch64GenRegisterBank.inc...
Building X86GenSubtargetInfo.inc...
Building CXX object lib/ToolDrivers/llvm-lib/CMakeFiles/LLVMLibDriver.dir/LibDriver.cpp.o
Building Opcodes.inc...
Generating VCSVersion.inc
Building OpenCLBuiltins.inc...
Building AttrDocTable.inc...
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/XRayArgs.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/Clang.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/Arch/Sparc.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/Managarm.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/MSVC.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/Distro.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/Arch/RISCV.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/PPCFreeBSD.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/Cygwin.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/InterfaceStubs.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/ZOS.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/AIX.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/Arch/PPC.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/MinGW.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/CSKYToolChain.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/MultilibBuilder.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/NetBSD.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/Flang.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/MSP430.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/WebAssembly.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/Arch/Mips.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/Darwin.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/SPIRV.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/BareMetal.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/Hexagon.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/CrossWindows.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/Arch/M68k.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/MipsLinux.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/Arch/CSKY.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/Haiku.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/TCE.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/Cuda.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/Types.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/FreeBSD.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/Linux.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/CommonArgs.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/Fuchsia.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/OpenBSD.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/HLSL.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/SPIRVOpenMP.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/SYCL.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/Hurd.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/CreateInvocationFromArgs.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/Solaris.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/Driver.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/HIPAMD.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/LFILinux.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/Job.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/Action.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/Compilation.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/HIPUtility.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/Arch/SystemZ.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/PS4CPU.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/OffloadBundler.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/Arch/AArch64.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/VEToolchain.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/PPCLinux.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/Arch/ARM.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/AMDGPU.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/CreateASTUnitFromArgs.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/Multilib.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/Gnu.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/Arch/VE.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/SanitizerArgs.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/Arch/X86.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/AVR.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/XCore.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/Tool.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChain.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/HIPSPV.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/DragonFly.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/ToyOS.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/AMDGPUOpenMP.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/Arch/LoongArch.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/UEFI.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/Phases.cpp.o
Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/OHOS.cpp.o
Building CXX object tools/clang/lib/Analysis/LifetimeSafety/CMakeFiles/obj.clangAnalysisLifetimeSafety.dir/FactsGenerator.cpp.o
Building CXX object tools/clang/lib/Analysis/LifetimeSafety/CMakeFiles/obj.clangAnalysisLifetimeSafety.dir/LifetimeSafety.cpp.o
Building CXX object tools/clang/lib/Analysis/LifetimeSafety/CMakeFiles/obj.clangAnalysisLifetimeSafety.dir/LifetimeStats.cpp.o
Building CXX object tools/clang/lib/Analysis/LifetimeSafety/CMakeFiles/obj.clangAnalysisLifetimeSafety.dir/LiveOrigins.cpp.o
Building CXX object tools/clang/lib/Analysis/LifetimeSafety/CMakeFiles/obj.clangAnalysisLifetimeSafety.dir/Facts.cpp.o
Building CXX object tools/clang/lib/Analysis/LifetimeSafety/CMakeFiles/obj.clangAnalysisLifetimeSafety.dir/LoanPropagation.cpp.o
Building CXX object tools/clang/lib/Analysis/LifetimeSafety/CMakeFiles/obj.clangAnalysisLifetimeSafety.dir/Origins.cpp.o
Building CXX object tools/clang/lib/Analysis/LifetimeSafety/CMakeFiles/obj.clangAnalysisLifetimeSafety.dir/LifetimeAnnotations.cpp.o
Building CXX object tools/clang/lib/Analysis/LifetimeSafety/CMakeFiles/obj.clangAnalysisLifetimeSafety.dir/Loans.cpp.o
Building CXX object tools/clang/lib/Analysis/LifetimeSafety/CMakeFiles/obj.clangAnalysisLifetimeSafety.dir/Checker.cpp.o
Building CXX object tools/clang/lib/Frontend/Rewrite/CMakeFiles/obj.clangRewriteFrontend.dir/HTMLPrint.cpp.o
Building CXX object tools/clang/lib/Frontend/Rewrite/CMakeFiles/obj.clangRewriteFrontend.dir/FixItRewriter.cpp.o
Building CXX object tools/clang/lib/Frontend/Rewrite/CMakeFiles/obj.clangRewriteFrontend.dir/RewriteModernObjC.cpp.o
Building CXX object tools/clang/lib/Frontend/Rewrite/CMakeFiles/obj.clangRewriteFrontend.dir/FrontendActions.cpp.o
Building CXX object tools/clang/lib/Frontend/Rewrite/CMakeFiles/obj.clangRewriteFrontend.dir/RewriteMacros.cpp.o
Building CXX object tools/clang/lib/Frontend/Rewrite/CMakeFiles/obj.clangRewriteFrontend.dir/RewriteObjC.cpp.o
Building CXX object tools/clang/lib/Frontend/Rewrite/CMakeFiles/obj.clangRewriteFrontend.dir/RewriteTest.cpp.o
Building CXX object tools/clang/lib/Frontend/Rewrite/CMakeFiles/obj.clangRewriteFrontend.dir/InclusionRewriter.cpp.o
Building CXX object tools/clang/lib/Analysis/CMakeFiles/obj.clangAnalysis.dir/PathDiagnostic.cpp.o
Building CXX object tools/clang/lib/Analysis/CMakeFiles/obj.clangAnalysis.dir/ProgramPoint.cpp.o
Building CXX object tools/clang/lib/Analysis/CMakeFiles/obj.clangAnalysis.dir/ReachableCode.cpp.o
Building CXX object tools/clang/lib/Analysis/CMakeFiles/obj.clangAnalysis.dir/ThreadSafetyCommon.cpp.o
Building CXX object tools/clang/lib/Analysis/CMakeFiles/obj.clangAnalysis.dir/CFGStmtMap.cpp.o
Building CXX object tools/clang/lib/Analysis/CMakeFiles/obj.clangAnalysis.dir/UninitializedValues.cpp.o

@Japabu

Japabu commented Oct 11, 2026

Copy link
Copy Markdown
Collaborator Author

hosted-clang-hello, part 5 of 7, cargo test --test toyos-build -- hosted_clang_hello --nocapture at the evidence tree 45f5c2eb (0a9180449), exit 0

Building CXX object tools/clang/lib/Analysis/CMakeFiles/obj.clangAnalysis.dir/IssueHash.cpp.o
Building CXX object tools/clang/lib/Analysis/CMakeFiles/obj.clangAnalysis.dir/ThreadSafety.cpp.o
Building CXX object tools/clang/lib/Analysis/CMakeFiles/obj.clangAnalysis.dir/ThreadSafetyTIL.cpp.o
Building CXX object tools/clang/lib/Analysis/CMakeFiles/obj.clangAnalysis.dir/CloneDetection.cpp.o
Building CXX object tools/clang/lib/Analysis/CMakeFiles/obj.clangAnalysis.dir/CFG.cpp.o
Building CXX object tools/clang/lib/Analysis/CMakeFiles/obj.clangAnalysis.dir/CFGReachabilityAnalysis.cpp.o
Building CXX object tools/clang/lib/Analysis/CMakeFiles/obj.clangAnalysis.dir/Consumed.cpp.o
Building CXX object tools/clang/lib/Analysis/CMakeFiles/obj.clangAnalysis.dir/PostOrderCFGView.cpp.o
Building CXX object tools/clang/lib/Analysis/CMakeFiles/obj.clangAnalysis.dir/CodeInjector.cpp.o
Building CXX object tools/clang/lib/Analysis/CMakeFiles/obj.clangAnalysis.dir/ThreadSafetyLogical.cpp.o
Building CXX object tools/clang/lib/Analysis/CMakeFiles/obj.clangAnalysis.dir/Dominators.cpp.o
Building CXX object tools/clang/lib/Analysis/CMakeFiles/obj.clangAnalysis.dir/MacroExpansionContext.cpp.o
Building CXX object tools/clang/lib/Analysis/CMakeFiles/obj.clangAnalysis.dir/UnsafeBufferUsage.cpp.o
Building CXX object tools/clang/lib/Analysis/CMakeFiles/obj.clangAnalysis.dir/ExprMutationAnalyzer.cpp.o
Building CXX object tools/clang/lib/Analysis/CMakeFiles/obj.clangAnalysis.dir/ObjCNoReturn.cpp.o
Building CXX object tools/clang/lib/Analysis/CMakeFiles/obj.clangAnalysis.dir/IntervalPartition.cpp.o
Building CXX object tools/clang/lib/Analysis/CMakeFiles/obj.clangAnalysis.dir/CallGraph.cpp.o
Building CXX object tools/clang/lib/Analysis/CMakeFiles/obj.clangAnalysis.dir/RetainSummaryManager.cpp.o
Building CXX object tools/clang/lib/Analysis/CMakeFiles/obj.clangAnalysis.dir/CocoaConventions.cpp.o
Building CXX object tools/clang/lib/Analysis/CMakeFiles/obj.clangAnalysis.dir/CalledOnceCheck.cpp.o
Building CXX object tools/clang/lib/Analysis/CMakeFiles/obj.clangAnalysis.dir/BodyFarm.cpp.o
Building CXX object tools/clang/lib/Analysis/CMakeFiles/obj.clangAnalysis.dir/ConstructionContext.cpp.o
Building CXX object tools/clang/lib/Analysis/CMakeFiles/obj.clangAnalysis.dir/LiveVariables.cpp.o
Building CXX object tools/clang/lib/Analysis/CMakeFiles/obj.clangAnalysis.dir/AnalysisDeclContext.cpp.o
Building CXX object tools/clang/lib/Analysis/CMakeFiles/obj.clangAnalysis.dir/FixitUtil.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/NoOwnershipChangeVisitor.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/BasicObjCFoundationChecks.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/CXXDeleteChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/ReturnUndefChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/SmartPtrChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/UndefBranchChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/CheckObjCDealloc.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/MPI-Checker/MPIChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/UndefResultChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/MmapWriteExecChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/DebugContainerModeling.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/BitwiseShiftChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/PutenvStackArrayChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/PointerSubChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/AssumeModeling.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/AnalyzerStatsChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/cert/InvalidPtrChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/WebKit/RawPtrRefLambdaCapturesChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/MacOSKeychainAPIChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/STLAlgorithmModeling.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/CXXSelfAssignmentChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/WebKit/ForwardDeclChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/DereferenceChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/FuchsiaHandleChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/CastValueChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/DebugIteratorModeling.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/DivZeroChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/TrustNonnullChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/VAListChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/CStringChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/ObjCAtSyncChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/ChrootChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/MallocChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/UndefCapturedBlockVarChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/VirtualCallChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/WebKit/RefCntblBaseVirtualDtorChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/TestAfterDivZeroChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/MismatchedIteratorChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/CStringSyntaxChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/MallocSizeofChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/ReturnValueChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/UnreachableCodeChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/TrustReturnsNonnullChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/ObjCContainersChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/IteratorRangeChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/NullabilityChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/UnixAPIChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/WebKit/RawPtrRefCallArgsChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/ObjCSuperDeallocChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/DirectIvarAssignment.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/StoreToImmutableChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/BlockInCriticalSectionChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/StdVariantChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/StringChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/WebKit/MemoryUnsafeCastChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/DynamicTypeChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/PointerArithChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/WebKit/RetainPtrCtorAdoptChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/GTestChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/MPI-Checker/MPIFunctionClassifier.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/MPI-Checker/MPIBugReporter.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/BuiltinFunctionChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/MacOSXAPIChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/ObjCSelfInitChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/CheckSecuritySyntaxOnly.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/InnerPointerChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/NonnullGlobalConstantsChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/SmartPtrModeling.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/ErrnoModeling.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/OSObjectCStyleCast.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/TaintTesterChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/NoReturnFunctionChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/CallAndMessageChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/UndefinedArraySubscriptChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/IteratorModeling.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/DeadStoresChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/InvalidatedIteratorChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/NSAutoreleasePoolChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/LocalizationChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/StdLibraryFunctionsChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/WebKit/RawPtrRefMemberChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/ObjCAutoreleaseWriteChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/ObjCContainersASTChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/VforkChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/ConversionChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/CheckObjCInstMethSignature.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/CheckPlacementNew.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/ContainerModeling.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/AnalysisOrderChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/MIGChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/RetainCountChecker/RetainCountDiagnostics.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/StackAddrEscapeChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/NonNullParamChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/UninitializedObject/UninitializedObjectChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/MoveChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/TraversalChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/GenericTaintChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/ObjCPropertyChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/FixedAddressChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/ArrayBoundChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/ObjCMissingSuperCallChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/CastToStructChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/ReturnPointerRangeChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/ErrnoTesterChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/ObjCUnusedIVarsChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/PthreadLockChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/StreamChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/Taint.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/WebKit/ASTUtils.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/PaddingChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/UninitializedObject/UninitializedPointee.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/NumberObjectConversionChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/CheckerDocumentation.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/BoolAssignmentChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/LLVMConventionsChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/CloneChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/UndefinedNewArraySizeChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/WebKit/RawPtrRefLocalVarsChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/VLASizeChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/WebKit/PtrTypesSemantics.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/SimpleStreamChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/RunLoopAutoreleaseLeakChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/GCDAntipatternChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/UndefinedAssignmentChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/RetainCountChecker/RetainCountChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/EnumCastOutOfRangeChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/IvarInvalidationChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/NSErrorChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/DynamicTypePropagation.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/DebugCheckers.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/Iterator.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/ErrnoChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/ExprInspectionChecker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/SetgidSetuidOrderChecker.cpp.o
Building CXX object tools/clang/lib/Format/CMakeFiles/obj.clangFormat.dir/ContinuationIndenter.cpp.o
Building CXX object tools/clang/lib/Format/CMakeFiles/obj.clangFormat.dir/FormatTokenLexer.cpp.o
Building CXX object tools/clang/lib/Format/CMakeFiles/obj.clangFormat.dir/UnwrappedLineFormatter.cpp.o
Building CXX object tools/clang/lib/Format/CMakeFiles/obj.clangFormat.dir/MatchFilePath.cpp.o
Building CXX object tools/clang/lib/Format/CMakeFiles/obj.clangFormat.dir/UnwrappedLineParser.cpp.o
Building CXX object tools/clang/lib/Format/CMakeFiles/obj.clangFormat.dir/IntegerLiteralSeparatorFixer.cpp.o
Building CXX object tools/clang/lib/Format/CMakeFiles/obj.clangFormat.dir/MacroCallReconstructor.cpp.o
Building CXX object tools/clang/lib/Format/CMakeFiles/obj.clangFormat.dir/DefinitionBlockSeparator.cpp.o
Building CXX object tools/clang/lib/Format/CMakeFiles/obj.clangFormat.dir/NumericLiteralInfo.cpp.o
Building CXX object tools/clang/lib/Format/CMakeFiles/obj.clangFormat.dir/ObjCPropertyAttributeOrderFixer.cpp.o
Building CXX object tools/clang/lib/Format/CMakeFiles/obj.clangFormat.dir/Format.cpp.o
Building CXX object tools/clang/lib/Format/CMakeFiles/obj.clangFormat.dir/NumericLiteralCaseFixer.cpp.o
Building CXX object tools/clang/lib/Format/CMakeFiles/obj.clangFormat.dir/TokenAnalyzer.cpp.o
Building CXX object tools/clang/lib/Format/CMakeFiles/obj.clangFormat.dir/UsingDeclarationsSorter.cpp.o
Building CXX object tools/clang/lib/Format/CMakeFiles/obj.clangFormat.dir/QualifierAlignmentFixer.cpp.o
Building CXX object tools/clang/lib/Format/CMakeFiles/obj.clangFormat.dir/TokenAnnotator.cpp.o
Building CXX object tools/clang/lib/Format/CMakeFiles/obj.clangFormat.dir/AffectedRangeManager.cpp.o
Building CXX object tools/clang/lib/Format/CMakeFiles/obj.clangFormat.dir/SortJavaScriptImports.cpp.o
Building CXX object tools/clang/lib/Format/CMakeFiles/obj.clangFormat.dir/WhitespaceManager.cpp.o
Building CXX object tools/clang/lib/Format/CMakeFiles/obj.clangFormat.dir/BreakableToken.cpp.o
Building CXX object tools/clang/lib/Format/CMakeFiles/obj.clangFormat.dir/FormatToken.cpp.o
Building CXX object tools/clang/lib/Format/CMakeFiles/obj.clangFormat.dir/NamespaceEndCommentsFixer.cpp.o
Building CXX object tools/clang/lib/Format/CMakeFiles/obj.clangFormat.dir/MacroExpander.cpp.o
Building CXX object tools/clang/lib/Tooling/Core/CMakeFiles/obj.clangToolingCore.dir/Replacement.cpp.o
Building CXX object tools/clang/lib/Tooling/Core/CMakeFiles/obj.clangToolingCore.dir/Diagnostic.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGCoroutine.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/Targets/TCE.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGNonTrivialStruct.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/Targets/Hexagon.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/SwiftCallingConv.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/Targets/CSKY.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/TargetBuiltins/DirectX.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/TargetBuiltins/RISCV.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/Targets/PPC.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CodeGenTBAA.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/ModuleBuilder.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGDebugInfo.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGVTables.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/LinkInModulesPass.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CodeGenABITypes.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGExpr.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/Targets/NVPTX.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/PatternInit.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGCXXABI.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/Targets/VE.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CodeGenSYCL.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/TargetBuiltins/ARM.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGCUDARuntime.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/TargetBuiltins/WebAssembly.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGStmt.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/MacroPPCallbacks.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/Targets/AArch64.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGBlocks.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGExprScalar.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGHLSLRuntime.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CodeGenPGO.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/TargetBuiltins/PPC.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGDecl.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/TargetBuiltins/X86.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CodeGenFunction.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/Targets/ARC.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGCall.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/SanitizerMetadata.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/Targets/AVR.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/Targets/Lanai.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/Targets/DirectX.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/TargetBuiltins/SystemZ.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/Targets/MSP430.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/Targets/SPIR.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/Targets/SystemZ.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/Targets/WebAssembly.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGObjCMac.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/Targets/ARM.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGExprCXX.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGCUDANV.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/ABIInfo.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGObjCGNU.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGOpenMPRuntime.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGBuiltin.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGCXX.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/TargetBuiltins/NVPTX.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/HLSLBufferLayoutBuilder.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/TargetInfo.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGExprComplex.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGStmtOpenMP.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/ItaniumCXXABI.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CodeGenAction.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGCleanup.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGClass.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGPointerAuth.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CodeGenTypes.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/ABIInfoImpl.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/ObjectFilePCHContainerWriter.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/TargetBuiltins/Hexagon.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/TargetBuiltins/SPIR.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGExprAgg.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/Targets/X86.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGRecordLayoutBuilder.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGObjCRuntime.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGVTT.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/TrapReasonBuilder.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGOpenCLRuntime.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/TargetBuiltins/AMDGPU.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/Targets/XCore.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CodeGenModule.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGGPUBuiltin.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGLoopInfo.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/BackendUtil.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGObjC.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/MicrosoftCXXABI.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/VarBypassDetector.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGExprConstant.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/Targets/RISCV.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/Targets/Mips.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGHLSLBuiltins.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGDeclCXX.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGAtomic.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/Targets/Sparc.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/Targets/M68k.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGException.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/Targets/LoongArch.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/ConstantInitBuilder.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CoverageMappingGen.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/Targets/AMDGPU.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGOpenMPRuntimeGPU.cpp.o
Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/Targets/BPF.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/CheckerRegistryData.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/SMTConstraintManager.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/SarifDiagnostics.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/BlockCounter.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/CallEvent.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/Checker.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/SValBuilder.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/WorkList.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/AnalyzerOptions.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/HTMLDiagnostics.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/RangedConstraintManager.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/ConstraintManager.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/RegionStore.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/ExprEngineCallAndReturn.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/ExprEngineCXX.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/EntryPointStats.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/ExplodedGraph.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/BasicValueFactory.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/BugReporter.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/ExprEngineC.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/MemRegion.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/APSIntType.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/SymbolManager.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/PlistDiagnostics.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/AnalysisManager.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/CallDescription.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/SimpleSValBuilder.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/CheckerHelpers.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/CoreEngine.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/CommonBugCategories.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/LoopWidening.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/SimpleConstraintManager.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/DynamicExtent.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/DynamicType.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/Z3CrosscheckVisitor.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/BugReporterVisitors.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/TextDiagnostics.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/ExprEngineObjC.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/Environment.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/RangeConstraintManager.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/FunctionSummary.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/LoopUnrolling.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/CheckerManager.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/Store.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/ExprEngine.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/CheckerContext.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/ProgramState.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/BugSuppression.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/SVals.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Frontend/CMakeFiles/obj.clangStaticAnalyzerFrontend.dir/FrontendActions.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Frontend/CMakeFiles/obj.clangStaticAnalyzerFrontend.dir/AnalysisConsumer.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Frontend/CMakeFiles/obj.clangStaticAnalyzerFrontend.dir/ModelConsumer.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Frontend/CMakeFiles/obj.clangStaticAnalyzerFrontend.dir/AnalyzerHelpFlags.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Frontend/CMakeFiles/obj.clangStaticAnalyzerFrontend.dir/CheckerRegistry.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Frontend/CMakeFiles/obj.clangStaticAnalyzerFrontend.dir/ModelInjector.cpp.o
Building CXX object tools/clang/lib/StaticAnalyzer/Frontend/CMakeFiles/obj.clangStaticAnalyzerFrontend.dir/CreateCheckerManager.cpp.o
Building CXX object tools/clang/lib/Index/CMakeFiles/obj.clangIndex.dir/IndexingAction.cpp.o
Building CXX object tools/clang/lib/Index/CMakeFiles/obj.clangIndex.dir/FileIndexRecord.cpp.o
Building CXX object tools/clang/lib/Index/CMakeFiles/obj.clangIndex.dir/IndexTypeSourceInfo.cpp.o
Building CXX object tools/clang/lib/Index/CMakeFiles/obj.clangIndex.dir/IndexBody.cpp.o
Building CXX object tools/clang/lib/Index/CMakeFiles/obj.clangIndex.dir/IndexingContext.cpp.o
Building CXX object tools/clang/lib/Index/CMakeFiles/obj.clangIndex.dir/IndexDecl.cpp.o
Building CXX object tools/clang/lib/Index/CMakeFiles/obj.clangIndex.dir/CommentToXML.cpp.o
Building CXX object tools/clang/lib/Index/CMakeFiles/obj.clangIndex.dir/USRGeneration.cpp.o
Building CXX object tools/clang/lib/Index/CMakeFiles/obj.clangIndex.dir/IndexSymbol.cpp.o
Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/MacroInfo.cpp.o
Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/HeaderSearch.cpp.o
Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/PPMacroExpansion.cpp.o
Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/ModuleMapFile.cpp.o
Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/ScratchBuffer.cpp.o
Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/HeaderMap.cpp.o
Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/TokenConcatenation.cpp.o
Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/PPConditionalDirectiveRecord.cpp.o
Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/PreprocessorLexer.cpp.o
Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/LiteralSupport.cpp.o
Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/PPExpressions.cpp.o
Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/PPDirectives.cpp.o
Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/PPLexerChange.cpp.o
Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/LexHLSLRootSignature.cpp.o
Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/PPCallbacks.cpp.o
Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/Lexer.cpp.o
Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/PreprocessingRecord.cpp.o
Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/TokenLexer.cpp.o
Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/Pragma.cpp.o
Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/Preprocessor.cpp.o
Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/DependencyDirectivesScanner.cpp.o
Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/InitHeaderSearch.cpp.o
Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/MacroArgs.cpp.o
Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/PPCaching.cpp.o
Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/ModuleMap.cpp.o
Building CXX object tools/clang/lib/Serialization/CMakeFiles/obj.clangSerialization.dir/ModuleManager.cpp.o
Building CXX object tools/clang/lib/Serialization/CMakeFiles/obj.clangSerialization.dir/ASTCommon.cpp.o
Building CXX object tools/clang/lib/Serialization/CMakeFiles/obj.clangSerialization.dir/ASTWriterStmt.cpp.o
Building CXX object tools/clang/lib/Serialization/CMakeFiles/obj.clangSerialization.dir/PCHContainerOperations.cpp.o
Building CXX object tools/clang/lib/Serialization/CMakeFiles/obj.clangSerialization.dir/GeneratePCH.cpp.o
Building CXX object tools/clang/lib/Serialization/CMakeFiles/obj.clangSerialization.dir/InMemoryModuleCache.cpp.o
Building CXX object tools/clang/lib/Serialization/CMakeFiles/obj.clangSerialization.dir/GlobalModuleIndex.cpp.o
Building CXX object tools/clang/lib/Serialization/CMakeFiles/obj.clangSerialization.dir/ASTWriterDecl.cpp.o
Building CXX object tools/clang/lib/Serialization/CMakeFiles/obj.clangSerialization.dir/ASTReaderDecl.cpp.o
Building CXX object tools/clang/lib/Serialization/CMakeFiles/obj.clangSerialization.dir/ObjectFilePCHContainerReader.cpp.o
Building CXX object tools/clang/lib/Serialization/CMakeFiles/obj.clangSerialization.dir/ASTReaderStmt.cpp.o
Building CXX object tools/clang/lib/Serialization/CMakeFiles/obj.clangSerialization.dir/ModuleFileExtension.cpp.o
Building CXX object tools/clang/lib/Serialization/CMakeFiles/obj.clangSerialization.dir/ASTReader.cpp.o
Building CXX object tools/clang/lib/Serialization/CMakeFiles/obj.clangSerialization.dir/ASTWriter.cpp.o
Building CXX object tools/clang/lib/Serialization/CMakeFiles/obj.clangSerialization.dir/ModuleCache.cpp.o
Building CXX object tools/clang/lib/Serialization/CMakeFiles/obj.clangSerialization.dir/ModuleFile.cpp.o
Building CXX object tools/clang/lib/Serialization/CMakeFiles/obj.clangSerialization.dir/TemplateArgumentHasher.cpp.o
Building CXX object tools/clang/lib/FrontendTool/CMakeFiles/obj.clangFrontendTool.dir/ExecuteCompilerInvocation.cpp.o
Building CXX object tools/clang/lib/InstallAPI/CMakeFiles/obj.clangInstallAPI.dir/FileList.cpp.o
Building CXX object tools/clang/lib/InstallAPI/CMakeFiles/obj.clangInstallAPI.dir/Frontend.cpp.o
Building CXX object tools/clang/lib/InstallAPI/CMakeFiles/obj.clangInstallAPI.dir/DiagnosticBuilderWrappers.cpp.o
Building CXX object tools/clang/lib/InstallAPI/CMakeFiles/obj.clangInstallAPI.dir/Visitor.cpp.o
Building CXX object tools/clang/lib/InstallAPI/CMakeFiles/obj.clangInstallAPI.dir/DylibVerifier.cpp.o
Building CXX object tools/clang/lib/InstallAPI/CMakeFiles/obj.clangInstallAPI.dir/HeaderFile.cpp.o
Building CXX object tools/clang/lib/InstallAPI/CMakeFiles/obj.clangInstallAPI.dir/DirectoryScanner.cpp.o
Building CXX object tools/clang/lib/InstallAPI/CMakeFiles/obj.clangInstallAPI.dir/Library.cpp.o
Building CXX object tools/clang/lib/Parse/CMakeFiles/obj.clangParse.dir/ParseHLSLRootSignature.cpp.o
Building CXX object tools/clang/lib/Parse/CMakeFiles/obj.clangParse.dir/Parser.cpp.o
Building CXX object tools/clang/lib/Parse/CMakeFiles/obj.clangParse.dir/ParseExprCXX.cpp.o
Building CXX object tools/clang/lib/Parse/CMakeFiles/obj.clangParse.dir/ParseStmt.cpp.o
Building CXX object tools/clang/lib/Parse/CMakeFiles/obj.clangParse.dir/ParseAST.cpp.o
Building CXX object tools/clang/lib/Parse/CMakeFiles/obj.clangParse.dir/ParseObjc.cpp.o
Building CXX object tools/clang/lib/Parse/CMakeFiles/obj.clangParse.dir/ParseInit.cpp.o
Building CXX object tools/clang/lib/Parse/CMakeFiles/obj.clangParse.dir/ParseStmtAsm.cpp.o
Building CXX object tools/clang/lib/Parse/CMakeFiles/obj.clangParse.dir/ParseDeclCXX.cpp.o
Building CXX object tools/clang/lib/Parse/CMakeFiles/obj.clangParse.dir/ParseExpr.cpp.o
Building CXX object tools/clang/lib/Parse/CMakeFiles/obj.clangParse.dir/ParseTentative.cpp.o
Building CXX object tools/clang/lib/Parse/CMakeFiles/obj.clangParse.dir/ParsePragma.cpp.o
Building CXX object tools/clang/lib/Parse/CMakeFiles/obj.clangParse.dir/ParseTemplate.cpp.o
Building CXX object tools/clang/lib/Parse/CMakeFiles/obj.clangParse.dir/ParseOpenMP.cpp.o
Building CXX object tools/clang/lib/Parse/CMakeFiles/obj.clangParse.dir/ParseHLSL.cpp.o
Building CXX object tools/clang/lib/Parse/CMakeFiles/obj.clangParse.dir/ParseDecl.cpp.o
Building CXX object tools/clang/lib/Parse/CMakeFiles/obj.clangParse.dir/ParseCXXInlineMethods.cpp.o
Building CXX object tools/clang/lib/Parse/CMakeFiles/obj.clangParse.dir/ParseOpenACC.cpp.o
Building CXX object tools/clang/lib/ExtractAPI/CMakeFiles/obj.clangExtractAPI.dir/DeclarationFragments.cpp.o
Building CXX object tools/clang/lib/ExtractAPI/CMakeFiles/obj.clangExtractAPI.dir/Serialization/SymbolGraphSerializer.cpp.o
Building CXX object tools/clang/lib/ExtractAPI/CMakeFiles/obj.clangExtractAPI.dir/TypedefUnderlyingTypeResolver.cpp.o
Building CXX object tools/clang/lib/ExtractAPI/CMakeFiles/obj.clangExtractAPI.dir/ExtractAPIConsumer.cpp.o
Building CXX object tools/clang/lib/ExtractAPI/CMakeFiles/obj.clangExtractAPI.dir/API.cpp.o
Building CXX object tools/clang/lib/ExtractAPI/CMakeFiles/obj.clangExtractAPI.dir/APIIgnoresList.cpp.o
Building CXX object tools/clang/lib/CrossTU/CMakeFiles/obj.clangCrossTU.dir/CrossTranslationUnit.cpp.o
Building CXX object tools/clang/lib/Options/CMakeFiles/obj.clangOptions.dir/OptionUtils.cpp.o
Building CXX object tools/clang/lib/Options/CMakeFiles/obj.clangOptions.dir/DriverOptions.cpp.o
Building CXX object tools/clang/lib/Rewrite/CMakeFiles/obj.clangRewrite.dir/HTMLRewrite.cpp.o
Building CXX object tools/clang/lib/Rewrite/CMakeFiles/obj.clangRewrite.dir/TokenRewriter.cpp.o
Building CXX object tools/clang/lib/Rewrite/CMakeFiles/obj.clangRewrite.dir/Rewriter.cpp.o
Building CXX object tools/clang/lib/Tooling/Inclusions/CMakeFiles/obj.clangToolingInclusions.dir/HeaderIncludes.cpp.o
Building CXX object tools/clang/lib/Tooling/Inclusions/CMakeFiles/obj.clangToolingInclusions.dir/HeaderAnalysis.cpp.o
Building CXX object tools/clang/lib/Tooling/Inclusions/CMakeFiles/obj.clangToolingInclusions.dir/IncludeStyle.cpp.o
Building CXX object tools/clang/lib/Frontend/CMakeFiles/obj.clangFrontend.dir/ASTMerge.cpp.o
Building CXX object tools/clang/lib/Frontend/CMakeFiles/obj.clangFrontend.dir/FrontendOptions.cpp.o
Building CXX object tools/clang/lib/Frontend/CMakeFiles/obj.clangFrontend.dir/HeaderIncludeGen.cpp.o
Building CXX object tools/clang/lib/Frontend/CMakeFiles/obj.clangFrontend.dir/MultiplexConsumer.cpp.o
Building CXX object tools/clang/lib/Frontend/CMakeFiles/obj.clangFrontend.dir/FrontendAction.cpp.o
Building CXX object tools/clang/lib/Frontend/CMakeFiles/obj.clangFrontend.dir/PrintPreprocessedOutput.cpp.o
Building CXX object tools/clang/lib/Frontend/CMakeFiles/obj.clangFrontend.dir/StandaloneDiagnostic.cpp.o
Building CXX object tools/clang/lib/Frontend/CMakeFiles/obj.clangFrontend.dir/InterfaceStubFunctionsConsumer.cpp.o
Building CXX object tools/clang/lib/Frontend/CMakeFiles/obj.clangFrontend.dir/PrecompiledPreamble.cpp.o
Building CXX object tools/clang/lib/Frontend/CMakeFiles/obj.clangFrontend.dir/CompilerInvocation.cpp.o
Building CXX object tools/clang/lib/Frontend/CMakeFiles/obj.clangFrontend.dir/LogDiagnosticPrinter.cpp.o
Building CXX object tools/clang/lib/Frontend/CMakeFiles/obj.clangFrontend.dir/LayoutOverrideSource.cpp.o
Building CXX object tools/clang/lib/Frontend/CMakeFiles/obj.clangFrontend.dir/TextDiagnostic.cpp.o
Building CXX object tools/clang/lib/Frontend/CMakeFiles/obj.clangFrontend.dir/DiagnosticRenderer.cpp.o
Building CXX object tools/clang/lib/Frontend/CMakeFiles/obj.clangFrontend.dir/SerializedDiagnosticPrinter.cpp.o
Building CXX object tools/clang/lib/Frontend/CMakeFiles/obj.clangFrontend.dir/SerializedDiagnosticReader.cpp.o
Building CXX object tools/clang/lib/Frontend/CMakeFiles/obj.clangFrontend.dir/TestModuleFileExtension.cpp.o
Building CXX object tools/clang/lib/Frontend/CMakeFiles/obj.clangFrontend.dir/DependencyFile.cpp.o
Building CXX object tools/clang/lib/Frontend/CMakeFiles/obj.clangFrontend.dir/FrontendActions.cpp.o
Building CXX object tools/clang/lib/Frontend/CMakeFiles/obj.clangFrontend.dir/CompilerInstance.cpp.o
Building CXX object tools/clang/lib/Frontend/CMakeFiles/obj.clangFrontend.dir/DependencyGraph.cpp.o
Building CXX object tools/clang/lib/Frontend/CMakeFiles/obj.clangFrontend.dir/TextDiagnosticPrinter.cpp.o
Building CXX object tools/clang/lib/Frontend/CMakeFiles/obj.clangFrontend.dir/SARIFDiagnostic.cpp.o
Building CXX object tools/clang/lib/Frontend/CMakeFiles/obj.clangFrontend.dir/ChainedDiagnosticConsumer.cpp.o
Building CXX object tools/clang/lib/Frontend/CMakeFiles/obj.clangFrontend.dir/VerifyDiagnosticConsumer.cpp.o
Building CXX object tools/clang/lib/Frontend/CMakeFiles/obj.clangFrontend.dir/SARIFDiagnosticPrinter.cpp.o
Building CXX object tools/clang/lib/Frontend/CMakeFiles/obj.clangFrontend.dir/ASTUnit.cpp.o
Building CXX object tools/clang/lib/Frontend/CMakeFiles/obj.clangFrontend.dir/ASTConsumers.cpp.o
Building CXX object tools/clang/lib/Frontend/CMakeFiles/obj.clangFrontend.dir/InitPreprocessor.cpp.o
Building CXX object tools/clang/lib/Frontend/CMakeFiles/obj.clangFrontend.dir/ModuleDependencyCollector.cpp.o
Building CXX object tools/clang/lib/Frontend/CMakeFiles/obj.clangFrontend.dir/TextDiagnosticBuffer.cpp.o
Building CXX object tools/clang/lib/Frontend/CMakeFiles/obj.clangFrontend.dir/ChainedIncludesSource.cpp.o
Building CXX object tools/clang/lib/APINotes/CMakeFiles/obj.clangAPINotes.dir/APINotesReader.cpp.o
Building CXX object tools/clang/lib/APINotes/CMakeFiles/obj.clangAPINotes.dir/APINotesManager.cpp.o
Building CXX object tools/clang/lib/APINotes/CMakeFiles/obj.clangAPINotes.dir/APINotesTypes.cpp.o
Building CXX object tools/clang/lib/APINotes/CMakeFiles/obj.clangAPINotes.dir/APINotesWriter.cpp.o
Building CXX object tools/clang/lib/APINotes/CMakeFiles/obj.clangAPINotes.dir/APINotesYAMLCompiler.cpp.o
Building CXX object tools/clang/lib/ASTMatchers/CMakeFiles/obj.clangASTMatchers.dir/ASTMatchersInternal.cpp.o
Building CXX object tools/clang/lib/ASTMatchers/CMakeFiles/obj.clangASTMatchers.dir/LowLevelHelpers.cpp.o
Building CXX object tools/clang/lib/ASTMatchers/CMakeFiles/obj.clangASTMatchers.dir/ASTMatchFinder.cpp.o
Building CXX object tools/clang/lib/Edit/CMakeFiles/obj.clangEdit.dir/Commit.cpp.o
Building CXX object tools/clang/lib/Edit/CMakeFiles/obj.clangEdit.dir/EditedSource.cpp.o
Building CXX object tools/clang/lib/Edit/CMakeFiles/obj.clangEdit.dir/RewriteObjCFoundationAPI.cpp.o
Linking CXX static library lib/libLLVMPasses.a
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/M68k.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/SourceLocation.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/NoSanitizeList.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/RISCV.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Sarif.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/X86.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/OperatorPrecedence.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/LangStandards.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/MSP430.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/SystemZ.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/XRayLists.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/AArch64.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/TCE.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Attributes.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/SPIR.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/FileManager.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/XCore.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Stack.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Sanitizers.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Cuda.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/OSTargets.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/TokenKinds.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Warnings.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/PPC.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/MakeSupport.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/Xtensa.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/NVPTX.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/SanitizerSpecialCaseList.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/CLWarnings.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/SimpleTypoCorrection.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Module.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/Hexagon.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/FileEntry.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/SourceManager.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/OpenCLOptions.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/ProfileList.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/ARC.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/SourceMgrAdapter.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/DiagnosticIDs.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/Lanai.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/TargetID.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/CharInfo.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/DarwinSDKInfo.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/VE.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/OpenMPKinds.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/TypeTraits.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/LoongArch.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Version.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/WebAssembly.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/DirectX.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/Mips.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/IdentifierTable.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/StackExhaustionHandler.cpp.o

@Japabu

Japabu commented Oct 11, 2026

Copy link
Copy Markdown
Collaborator Author

hosted-clang-hello, part 6 of 7, cargo test --test toyos-build -- hosted_clang_hello --nocapture at the evidence tree 45f5c2eb (0a9180449), exit 0

Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/ParsedAttrInfo.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Diagnostic.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/LangOptions.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/ASTSourceDescriptor.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/XRayInstr.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/CodeGenOptions.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/FileSystemStatCache.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/DiagnosticOptions.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Builtins.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/AMDGPU.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/AVR.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/ObjCRuntime.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/TargetInfo.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/Sparc.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/OffloadArch.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/BPF.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/ARM.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/CSKY.cpp.o
Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/ExpressionTraits.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaOpenMP.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaLoongArch.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/Scope.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaPPC.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaExprCXX.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/ParsedAttr.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateInstantiate.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaAccess.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaStmtAsm.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaExceptionSpec.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaM68k.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaARM.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaLookup.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaConcept.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/AnalysisBasedWarnings.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaStmtAttr.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/JumpDiagnostics.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaCXXScopeSpec.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaCodeComplete.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaSwift.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaBPF.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/HeuristicResolver.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaDeclAttr.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/ScopeInfo.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaDeclObjC.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaExprMember.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaLambda.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaMIPS.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaAttr.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaNVPTX.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaRISCV.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaObjCProperty.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaBase.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaSYCL.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaCoroutine.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaExprObjC.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaAvailability.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaX86.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaHLSL.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaStmt.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateInstantiateDecl.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaAMDGPU.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/CodeCompleteConsumer.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaCast.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/Sema.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/DeclSpec.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaBoundsSafety.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaMSP430.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaConsumer.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaAVR.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaDirectX.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaModule.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/HLSLBuiltinTypeDeclBuilder.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaHexagon.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaChecking.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaObjC.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaSPIRV.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaWasm.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaOpenACCAtomic.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/CheckExprLifetime.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/MultiplexExternalSemaSource.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/IdentifierResolver.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/HLSLExternalSemaSource.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaExpr.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaOpenCL.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaFixItUtils.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateDeduction.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTypeTraits.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaOpenACCClause.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaInit.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaOpenACCClauseAppertainment.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaOpenACC.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/DelayedDiagnostic.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaFunctionEffects.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateVariadic.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaOverload.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/TypeLocBuilder.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaPseudoObject.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaAPINotes.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaDeclCXX.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaSystemZ.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaType.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaDecl.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplate.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTemplateDeductionGuide.cpp.o
Building CXX object tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaCUDA.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/NSAPI.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/StmtProfile.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/ParentMapContext.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/QualTypeNames.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/ByteCode/EvaluationResult.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/ExprCXX.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/JSONNodeDumper.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/ScanfFormatString.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/StmtObjC.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/TypePrinter.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/ByteCode/InterpFrame.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/DataCollection.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/Mangle.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/ByteCode/InterpBlock.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/FormatString.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/ASTStructuralEquivalence.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/ByteCode/InterpState.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/StmtIterator.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/MicrosoftMangle.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/ItaniumMangle.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/StmtViz.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/ASTDiagnostic.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/ByteCode/Interp.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/CommentSema.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/OpenMPClause.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/ByteCode/InterpShared.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/ByteCode/Floating.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/CXXInheritance.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/Decl.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/ExprConcepts.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/ODRHash.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/ExprClassification.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/AttrImpl.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/DeclarationName.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/ByteCode/ByteCodeEmitter.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/DeclBase.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/Expr.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/VTableBuilder.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/ASTImporterLookupTable.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/TextNodeDumper.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/ComputeDependence.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/ByteCode/InterpBuiltinBitCast.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/ByteCode/Record.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/RawCommentList.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/VTTBuilder.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/ByteCode/Compiler.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/DeclOpenMP.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/DynamicRecursiveASTVisitor.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/ByteCode/DynamicAllocator.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/DeclGroup.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/StmtCXX.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/ASTConcept.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/OSLog.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/RecordLayout.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/AttrDocTable.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/ComparisonCategories.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/ByteCode/Pointer.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/ExprConstant.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/SelectorLocationsKind.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/CommentParser.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/APValue.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/ByteCode/Context.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/ItaniumCXXABI.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/StmtOpenACC.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/ExternalASTMerger.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/CommentBriefParser.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/Availability.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/ByteCode/Program.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/ByteCode/State.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/ByteCode/Disasm.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/RecordLayoutBuilder.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/StmtOpenMP.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/TypeLoc.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/TemplateBase.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/ByteCode/FunctionPointer.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/ByteCode/Function.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/ExprObjC.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/ASTConsumer.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/DeclFriend.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/Comment.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/ExternalASTSource.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/ParentMap.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/DeclPrinter.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/ByteCode/InitMap.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/ByteCode/InterpStack.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/DeclCXX.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/InferAlloc.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/NestedNameSpecifier.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/ByteCode/EvalEmitter.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/ODRDiagsEmitter.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/OpenACCClause.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/DeclOpenACC.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/ByteCode/BitcastBuffer.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/PrintfFormatString.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/Randstruct.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/StmtPrinter.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/ByteCode/MemberPointer.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/DeclObjC.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/TemplateName.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/ByteCode/PrimType.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/MicrosoftCXXABI.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/CommentCommandTraits.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/ASTContext.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/ASTImporter.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/InheritViz.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/ASTTypeTraits.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/Type.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/Stmt.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/CommentLexer.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/ByteCode/Descriptor.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/ASTDumper.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/ByteCode/Source.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/ByteCode/InterpBuiltin.cpp.o
Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/DeclTemplate.cpp.o
Linking CXX static library lib/libLLVMLibDriver.a
Building CXX object lib/Target/X86/TargetInfo/CMakeFiles/LLVMX86Info.dir/X86TargetInfo.cpp.o
Building CXX object lib/Target/X86/Disassembler/CMakeFiles/LLVMX86Disassembler.dir/X86Disassembler.cpp.o
Building CXX object lib/Target/X86/MCTargetDesc/CMakeFiles/LLVMX86Desc.dir/X86MCAsmInfo.cpp.o
Building CXX object lib/Target/X86/MCTargetDesc/CMakeFiles/LLVMX86Desc.dir/X86MnemonicTables.cpp.o
Building CXX object lib/Target/X86/MCTargetDesc/CMakeFiles/LLVMX86Desc.dir/X86AsmBackend.cpp.o
Building CXX object lib/Target/X86/MCTargetDesc/CMakeFiles/LLVMX86Desc.dir/X86ATTInstPrinter.cpp.o
Building CXX object lib/Target/X86/MCTargetDesc/CMakeFiles/LLVMX86Desc.dir/X86MCTargetDesc.cpp.o
Building CXX object lib/Target/X86/MCTargetDesc/CMakeFiles/LLVMX86Desc.dir/X86WinCOFFObjectWriter.cpp.o
Building CXX object lib/Target/X86/MCTargetDesc/CMakeFiles/LLVMX86Desc.dir/X86InstPrinterCommon.cpp.o
Building CXX object lib/Target/X86/MCTargetDesc/CMakeFiles/LLVMX86Desc.dir/X86MCCodeEmitter.cpp.o
Building CXX object lib/Target/X86/MCTargetDesc/CMakeFiles/LLVMX86Desc.dir/X86ELFObjectWriter.cpp.o
Building CXX object lib/Target/X86/MCTargetDesc/CMakeFiles/LLVMX86Desc.dir/X86MachObjectWriter.cpp.o
Building CXX object lib/Target/X86/MCTargetDesc/CMakeFiles/LLVMX86Desc.dir/X86IntelInstPrinter.cpp.o
Building CXX object lib/Target/X86/MCTargetDesc/CMakeFiles/LLVMX86Desc.dir/X86WinCOFFTargetStreamer.cpp.o
Building CXX object lib/Target/X86/MCTargetDesc/CMakeFiles/LLVMX86Desc.dir/X86EncodingOptimization.cpp.o
Building CXX object lib/Target/X86/MCTargetDesc/CMakeFiles/LLVMX86Desc.dir/X86WinCOFFStreamer.cpp.o
Building CXX object lib/Target/X86/MCTargetDesc/CMakeFiles/LLVMX86Desc.dir/X86InstComments.cpp.o
Building CXX object lib/Target/X86/MCTargetDesc/CMakeFiles/LLVMX86Desc.dir/X86ShuffleDecode.cpp.o
Building CXX object lib/Target/X86/AsmParser/CMakeFiles/LLVMX86AsmParser.dir/X86AsmParser.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86AsmPrinter.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86ISelLoweringCall.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/GISel/X86PreLegalizerCombiner.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86LoadValueInjectionLoadHardening.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/GISel/X86RegisterBankInfo.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86InstCombineIntrinsic.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86AvoidTrailingCall.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86FixupBWInsts.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/GISel/X86LegalizerInfo.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86IndirectBranchTracking.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86SpeculativeLoadHardening.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86LoadValueInjectionRetHardening.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86WinEHUnwindV2.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86SpeculativeExecutionSideEffectSuppression.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86FloatingPoint.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86CallingConv.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86CodeGenPassBuilder.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86FixupLEAs.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86LowerAMXType.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86FlagsCopyLowering.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86SelectionDAGInfo.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86FastPreTileConfig.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86TileConfig.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86InsertWait.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86InstrFMA3Info.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86IndirectThunks.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86TargetTransformInfo.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86WinEHState.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86VZeroUpper.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86FastTileConfig.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86Subtarget.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86CallFrameOptimization.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86ExpandPseudo.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86PadShortFunction.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86ISelDAGToDAG.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86FastISel.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86LowerAMXIntrinsics.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86TargetMachine.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86MacroFusion.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86FixupSetCC.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86AvoidStoreForwardingBlocks.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86CompressEVEX.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86PartialReduction.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86TargetObjectFile.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86FixupVectorConstants.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/GISel/X86CallLowering.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/GISel/X86InstructionSelector.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86InstrFoldTables.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86OptimizeLEAs.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86PreTileConfig.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86DynAllocaExpander.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86ISelLowering.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86SuppressAPXForReloc.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86DomainReassignment.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86InterleavedAccess.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86ReturnThunks.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86ArgumentStackSlotRebase.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86MachineFunctionInfo.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86RegisterInfo.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86ShuffleDecodeConstantPool.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86FixupInstTuning.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86FrameLowering.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86CmovConversion.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86LowerTileCopy.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86InstrInfo.cpp.o
Building CXX object lib/Target/X86/CMakeFiles/LLVMX86CodeGen.dir/X86MCInstLower.cpp.o
Building CXX object lib/Target/AArch64/TargetInfo/CMakeFiles/LLVMAArch64Info.dir/AArch64TargetInfo.cpp.o
Building CXX object lib/Target/AArch64/Utils/CMakeFiles/LLVMAArch64Utils.dir/AArch64BaseInfo.cpp.o
Building CXX object lib/Target/AArch64/MCTargetDesc/CMakeFiles/LLVMAArch64Desc.dir/AArch64MachObjectWriter.cpp.o
Building CXX object lib/Target/AArch64/MCTargetDesc/CMakeFiles/LLVMAArch64Desc.dir/AArch64InstPrinter.cpp.o
Building CXX object lib/Target/AArch64/MCTargetDesc/CMakeFiles/LLVMAArch64Desc.dir/AArch64WinCOFFObjectWriter.cpp.o
Building CXX object lib/Target/AArch64/MCTargetDesc/CMakeFiles/LLVMAArch64Desc.dir/AArch64AsmBackend.cpp.o
Building CXX object lib/Target/AArch64/MCTargetDesc/CMakeFiles/LLVMAArch64Desc.dir/AArch64WinCOFFStreamer.cpp.o
Building CXX object lib/Target/AArch64/MCTargetDesc/CMakeFiles/LLVMAArch64Desc.dir/AArch64TargetStreamer.cpp.o
Building CXX object lib/Target/AArch64/MCTargetDesc/CMakeFiles/LLVMAArch64Desc.dir/AArch64ELFStreamer.cpp.o
Building CXX object lib/Target/AArch64/MCTargetDesc/CMakeFiles/LLVMAArch64Desc.dir/AArch64MCAsmInfo.cpp.o
Building CXX object lib/Target/AArch64/MCTargetDesc/CMakeFiles/LLVMAArch64Desc.dir/AArch64MCCodeEmitter.cpp.o
Building CXX object lib/Target/AArch64/MCTargetDesc/CMakeFiles/LLVMAArch64Desc.dir/AArch64MCTargetDesc.cpp.o
Building CXX object lib/Target/AArch64/MCTargetDesc/CMakeFiles/LLVMAArch64Desc.dir/AArch64ELFObjectWriter.cpp.o
Building CXX object lib/Target/AArch64/MCTargetDesc/CMakeFiles/LLVMAArch64Desc.dir/AArch64MCExpr.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64Subtarget.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64A53Fix835769.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64CollectLOH.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64RedundantCopyElimination.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64StorePairSuppress.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64MIPeepholeOpt.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64PostCoalescerPass.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64SIMDInstrOpt.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64DeadRegisterDefinitionsPass.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64InstrInfo.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/GISel/AArch64PreLegalizerCombiner.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/GISel/AArch64InstructionSelector.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64FrameLowering.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64SMEAttributes.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64SpeculationHardening.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/GISel/AArch64O0PreLegalizerCombiner.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/GISel/AArch64LegalizerInfo.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64FastISel.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64CompressJumpTables.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64TargetTransformInfo.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64StackTagging.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64FalkorHWPFFix.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/GISel/AArch64PostSelectOptimize.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/GISel/AArch64PostLegalizerLowering.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64ExpandPseudoInsts.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64CondBrTuning.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64Arm64ECCallLowering.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/GISel/AArch64PostLegalizerCombiner.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64ConditionOptimizer.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64ConditionalCompares.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64PromoteConstant.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/GISel/AArch64RegisterBankInfo.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64PBQPRegAlloc.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64RedundantCondBranchPass.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64MachineScheduler.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64RegisterInfo.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/SMEPeepholeOpt.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64MCInstLower.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/SMEABIPass.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64CleanupLocalDynamicTLSPass.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64ExpandImm.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64AsmPrinter.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64ISelDAGToDAG.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64StackTaggingPreRA.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64TargetObjectFile.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64A57FPLoadBalancing.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64SLSHardening.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64ISelLowering.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/GISel/AArch64GlobalISelUtils.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64LowerHomogeneousPrologEpilog.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/MachineSMEABIPass.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64MachineFunctionInfo.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64AdvSIMDScalarPass.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64MacroFusion.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64LoadStoreOptimizer.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64SelectionDAGInfo.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64PrologueEpilogue.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64CallingConvention.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64TargetMachine.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64PointerAuth.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/GISel/AArch64CallLowering.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64BranchTargets.cpp.o
Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/SVEIntrinsicOpts.cpp.o
Building CXX object lib/Target/AArch64/AsmParser/CMakeFiles/LLVMAArch64AsmParser.dir/AArch64AsmParser.cpp.o
Building CXX object lib/Target/AArch64/Disassembler/CMakeFiles/LLVMAArch64Disassembler.dir/AArch64ExternalSymbolizer.cpp.o
Building CXX object lib/Target/AArch64/Disassembler/CMakeFiles/LLVMAArch64Disassembler.dir/AArch64Disassembler.cpp.o
Building CXX object tools/lld/COFF/CMakeFiles/lldCOFF.dir/PDB.cpp.o
Building CXX object tools/lld/COFF/CMakeFiles/lldCOFF.dir/InputFiles.cpp.o
Building CXX object tools/lld/COFF/CMakeFiles/lldCOFF.dir/Symbols.cpp.o
Building CXX object tools/lld/COFF/CMakeFiles/lldCOFF.dir/MarkLive.cpp.o
Building CXX object tools/lld/COFF/CMakeFiles/lldCOFF.dir/DLL.cpp.o
Building CXX object tools/lld/COFF/CMakeFiles/lldCOFF.dir/MinGW.cpp.o
Building CXX object tools/lld/COFF/CMakeFiles/lldCOFF.dir/LLDMapFile.cpp.o
Building CXX object tools/lld/COFF/CMakeFiles/lldCOFF.dir/Chunks.cpp.o
Building CXX object tools/lld/COFF/CMakeFiles/lldCOFF.dir/DebugTypes.cpp.o
Building CXX object tools/lld/COFF/CMakeFiles/lldCOFF.dir/Driver.cpp.o
Building CXX object tools/lld/COFF/CMakeFiles/lldCOFF.dir/COFFLinkerContext.cpp.o
Building CXX object tools/lld/COFF/CMakeFiles/lldCOFF.dir/ICF.cpp.o
Building CXX object tools/lld/COFF/CMakeFiles/lldCOFF.dir/LTO.cpp.o
Building CXX object tools/lld/COFF/CMakeFiles/lldCOFF.dir/MapFile.cpp.o
Building CXX object tools/lld/COFF/CMakeFiles/lldCOFF.dir/SymbolTable.cpp.o
Building CXX object tools/lld/COFF/CMakeFiles/lldCOFF.dir/DriverUtils.cpp.o
Building CXX object tools/lld/COFF/CMakeFiles/lldCOFF.dir/Writer.cpp.o
Building CXX object tools/lld/COFF/CMakeFiles/lldCOFF.dir/CallGraphSort.cpp.o
Building CXX object tools/clang/tools/driver/CMakeFiles/clang.dir/cc1as_main.cpp.o
Building CXX object tools/clang/tools/driver/CMakeFiles/clang.dir/cc1gen_reproducer_main.cpp.o
Building CXX object tools/clang/tools/driver/CMakeFiles/clang.dir/cc1_main.cpp.o
Building CXX object tools/clang/tools/driver/CMakeFiles/clang.dir/driver.cpp.o
Building CXX object tools/clang/tools/driver/CMakeFiles/clang.dir/clang-driver.cpp.o
Building CXX object tools/lld/ELF/CMakeFiles/lldELF.dir/Arch/PPC64.cpp.o
Building CXX object tools/lld/ELF/CMakeFiles/lldELF.dir/Arch/AMDGPU.cpp.o
Building CXX object tools/lld/ELF/CMakeFiles/lldELF.dir/Symbols.cpp.o
Building CXX object tools/lld/ELF/CMakeFiles/lldELF.dir/Arch/SystemZ.cpp.o
Building CXX object tools/lld/ELF/CMakeFiles/lldELF.dir/SymbolTable.cpp.o
Building CXX object tools/lld/ELF/CMakeFiles/lldELF.dir/Arch/AVR.cpp.o
Building CXX object tools/lld/ELF/CMakeFiles/lldELF.dir/Arch/Mips.cpp.o
Building CXX object tools/lld/ELF/CMakeFiles/lldELF.dir/Arch/MipsArchTree.cpp.o
Building CXX object tools/lld/ELF/CMakeFiles/lldELF.dir/Arch/Hexagon.cpp.o
Building CXX object tools/lld/ELF/CMakeFiles/lldELF.dir/AArch64ErrataFix.cpp.o
Building CXX object tools/lld/ELF/CMakeFiles/lldELF.dir/CallGraphSort.cpp.o
Building CXX object tools/lld/ELF/CMakeFiles/lldELF.dir/InputSection.cpp.o
Building CXX object tools/lld/ELF/CMakeFiles/lldELF.dir/Arch/RISCV.cpp.o
Building CXX object tools/lld/ELF/CMakeFiles/lldELF.dir/OutputSections.cpp.o
Building CXX object tools/lld/ELF/CMakeFiles/lldELF.dir/Writer.cpp.o
Building CXX object tools/lld/ELF/CMakeFiles/lldELF.dir/SyntheticSections.cpp.o
Building CXX object tools/lld/ELF/CMakeFiles/lldELF.dir/DWARF.cpp.o
Building CXX object tools/lld/ELF/CMakeFiles/lldELF.dir/ARMErrataFix.cpp.o
Building CXX object tools/lld/ELF/CMakeFiles/lldELF.dir/EhFrame.cpp.o
Building CXX object tools/lld/ELF/CMakeFiles/lldELF.dir/BPSectionOrderer.cpp.o
Building CXX object tools/lld/ELF/CMakeFiles/lldELF.dir/Arch/MSP430.cpp.o
Building CXX object tools/lld/ELF/CMakeFiles/lldELF.dir/Arch/ARM.cpp.o
Building CXX object tools/lld/ELF/CMakeFiles/lldELF.dir/Arch/X86_64.cpp.o
Building CXX object tools/lld/ELF/CMakeFiles/lldELF.dir/LTO.cpp.o
Building CXX object tools/lld/ELF/CMakeFiles/lldELF.dir/Arch/LoongArch.cpp.o
Building CXX object tools/lld/ELF/CMakeFiles/lldELF.dir/MapFile.cpp.o
Building CXX object tools/lld/ELF/CMakeFiles/lldELF.dir/DriverUtils.cpp.o
Building CXX object tools/lld/ELF/CMakeFiles/lldELF.dir/ScriptParser.cpp.o
Building CXX object tools/lld/ELF/CMakeFiles/lldELF.dir/Arch/SPARCV9.cpp.o
Building CXX object tools/lld/ELF/CMakeFiles/lldELF.dir/ICF.cpp.o
Building CXX object tools/lld/ELF/CMakeFiles/lldELF.dir/Target.cpp.o
Building CXX object tools/lld/ELF/CMakeFiles/lldELF.dir/Relocations.cpp.o
Building CXX object tools/lld/ELF/CMakeFiles/lldELF.dir/LinkerScript.cpp.o
Building CXX object tools/lld/ELF/CMakeFiles/lldELF.dir/Driver.cpp.o
Building CXX object tools/lld/ELF/CMakeFiles/lldELF.dir/Arch/X86.cpp.o
Building CXX object tools/lld/ELF/CMakeFiles/lldELF.dir/InputFiles.cpp.o
Building CXX object tools/lld/ELF/CMakeFiles/lldELF.dir/ScriptLexer.cpp.o
Building CXX object tools/lld/ELF/CMakeFiles/lldELF.dir/Thunks.cpp.o
Building CXX object tools/lld/ELF/CMakeFiles/lldELF.dir/MarkLive.cpp.o
Building CXX object tools/lld/ELF/CMakeFiles/lldELF.dir/Arch/PPC.cpp.o
Building CXX object tools/lld/ELF/CMakeFiles/lldELF.dir/Arch/AArch64.cpp.o
Building CXX object tools/lld/wasm/CMakeFiles/lldWasm.dir/MarkLive.cpp.o
Building CXX object tools/lld/wasm/CMakeFiles/lldWasm.dir/Relocations.cpp.o
Building CXX object tools/lld/wasm/CMakeFiles/lldWasm.dir/OutputSegment.cpp.o
Building CXX object tools/lld/wasm/CMakeFiles/lldWasm.dir/SyntheticSections.cpp.o
Building CXX object tools/lld/wasm/CMakeFiles/lldWasm.dir/InputFiles.cpp.o
Building CXX object tools/lld/wasm/CMakeFiles/lldWasm.dir/Driver.cpp.o
Building CXX object tools/lld/wasm/CMakeFiles/lldWasm.dir/SymbolTable.cpp.o
Building CXX object tools/lld/wasm/CMakeFiles/lldWasm.dir/MapFile.cpp.o
Building CXX object tools/lld/wasm/CMakeFiles/lldWasm.dir/Writer.cpp.o
Building CXX object tools/lld/wasm/CMakeFiles/lldWasm.dir/LTO.cpp.o
Building CXX object tools/lld/wasm/CMakeFiles/lldWasm.dir/InputChunks.cpp.o
Building CXX object tools/lld/wasm/CMakeFiles/lldWasm.dir/Symbols.cpp.o
Building CXX object tools/lld/wasm/CMakeFiles/lldWasm.dir/WriterUtils.cpp.o
Building CXX object tools/lld/wasm/CMakeFiles/lldWasm.dir/OutputSections.cpp.o
Building CXX object tools/lld/MachO/CMakeFiles/lldMachO.dir/MarkLive.cpp.o
Building CXX object tools/lld/MachO/CMakeFiles/lldMachO.dir/Sections.cpp.o
Building CXX object tools/lld/MachO/CMakeFiles/lldMachO.dir/Driver.cpp.o
Building CXX object tools/lld/MachO/CMakeFiles/lldMachO.dir/InputFiles.cpp.o
Building CXX object tools/lld/MachO/CMakeFiles/lldMachO.dir/OutputSegment.cpp.o
Building CXX object tools/lld/MachO/CMakeFiles/lldMachO.dir/UnwindInfoSection.cpp.o
Building CXX object tools/lld/MachO/CMakeFiles/lldMachO.dir/OutputSection.cpp.o
Building CXX object tools/lld/MachO/CMakeFiles/lldMachO.dir/Arch/ARM64Common.cpp.o
Building CXX object tools/lld/MachO/CMakeFiles/lldMachO.dir/Dwarf.cpp.o
Building CXX object tools/lld/MachO/CMakeFiles/lldMachO.dir/InputSection.cpp.o
Building CXX object tools/lld/MachO/CMakeFiles/lldMachO.dir/Target.cpp.o
Building CXX object tools/lld/MachO/CMakeFiles/lldMachO.dir/Arch/ARM64.cpp.o
Building CXX object tools/lld/MachO/CMakeFiles/lldMachO.dir/SymbolTable.cpp.o
Building CXX object tools/lld/MachO/CMakeFiles/lldMachO.dir/ObjC.cpp.o
Building CXX object tools/lld/MachO/CMakeFiles/lldMachO.dir/LTO.cpp.o
Building CXX object tools/lld/MachO/CMakeFiles/lldMachO.dir/SectionPriorities.cpp.o
Building CXX object tools/lld/MachO/CMakeFiles/lldMachO.dir/SyntheticSections.cpp.o
Building CXX object tools/lld/MachO/CMakeFiles/lldMachO.dir/Arch/X86_64.cpp.o
Building CXX object tools/lld/MachO/CMakeFiles/lldMachO.dir/ConcatOutputSection.cpp.o
Building CXX object tools/lld/MachO/CMakeFiles/lldMachO.dir/ExportTrie.cpp.o
Building CXX object tools/lld/MachO/CMakeFiles/lldMachO.dir/MapFile.cpp.o
Building CXX object tools/lld/MachO/CMakeFiles/lldMachO.dir/BPSectionOrderer.cpp.o
Building CXX object tools/lld/MachO/CMakeFiles/lldMachO.dir/LinkerOptimizationHints.cpp.o
Building CXX object tools/lld/MachO/CMakeFiles/lldMachO.dir/Writer.cpp.o
Building CXX object tools/lld/MachO/CMakeFiles/lldMachO.dir/Symbols.cpp.o
Building CXX object tools/lld/MachO/CMakeFiles/lldMachO.dir/ICF.cpp.o
Building CXX object tools/lld/MachO/CMakeFiles/lldMachO.dir/DriverUtils.cpp.o
Building CXX object tools/lld/MachO/CMakeFiles/lldMachO.dir/Relocations.cpp.o
Building CXX object tools/lld/MachO/CMakeFiles/lldMachO.dir/Arch/ARM64_32.cpp.o
Building CXX object tools/lld/MachO/CMakeFiles/lldMachO.dir/EhFrame.cpp.o
Building CXX object tools/lld/MinGW/CMakeFiles/lldMinGW.dir/Driver.cpp.o
Building CXX object tools/lld/tools/lld/CMakeFiles/lld.dir/lld-driver.cpp.o
Building CXX object tools/lld/tools/lld/CMakeFiles/lld.dir/lld.cpp.o
Linking CXX static library lib/libLLVMLTO.a
Linking CXX static library lib/libclangBasic.a
Linking CXX static library lib/libLLVMX86Info.a
Linking CXX static library lib/libLLVMAArch64Info.a
Linking CXX static library lib/libLLVMAArch64Utils.a
Linking CXX static library lib/libLLVMDTLTO.a
Linking CXX static library lib/libLLVMX86Disassembler.a
Linking CXX static library lib/libLLVMX86Desc.a
Linking CXX static library lib/libclangAPINotes.a
Linking CXX static library lib/libclangOptions.a
Linking CXX static library lib/libclangLex.a
Linking CXX static library lib/libLLVMAArch64Desc.a
Linking CXX static library lib/libLLVMX86AsmParser.a
Linking CXX static library lib/libLLVMX86CodeGen.a
Linking CXX static library lib/libLLVMAArch64AsmParser.a
Linking CXX static library lib/libLLVMAArch64CodeGen.a
Linking CXX static library lib/libLLVMAArch64Disassembler.a
Linking CXX static library lib/libclangAST.a
Linking CXX static library lib/libclangRewrite.a
Linking CXX static library lib/liblldCOFF.a
Linking CXX static library lib/liblldWasm.a
Linking CXX static library lib/liblldELF.a
Linking CXX static library lib/libclangToolingCore.a
Linking CXX static library lib/liblldMinGW.a
Linking CXX static library lib/libclangToolingInclusions.a
Linking CXX static library lib/libclangFormat.a
Linking CXX static library lib/libclangASTMatchers.a
Linking CXX static library lib/libclangEdit.a
Linking CXX static library lib/libclangInstallAPI.a
Linking CXX static library lib/libclangAnalysis.a
Linking CXX static library lib/libclangAnalysisLifetimeSafety.a
Linking CXX static library lib/libclangSema.a
Linking CXX static library lib/libclangParse.a
Linking CXX static library lib/libclangSerialization.a
Linking CXX static library lib/libclangFrontend.a
Linking CXX static library lib/libclangDriver.a
Linking CXX static library lib/libclangIndex.a
Linking CXX static library lib/libclangCodeGen.a
Linking CXX static library lib/libclangRewriteFrontend.a
Linking CXX static library lib/libclangExtractAPI.a
Linking CXX static library lib/libclangCrossTU.a
Linking CXX static library lib/libclangStaticAnalyzerCore.a
Linking CXX static library lib/libclangStaticAnalyzerCheckers.a
Linking CXX static library lib/libclangStaticAnalyzerFrontend.a
Linking CXX static library lib/libclangFrontendTool.a
Linking CXX executable bin/clang-22
Linking CXX static library lib/liblldMachO.a
Linking CXX executable bin/lld
Creating executable symlink bin/clang
n2: ran 3431 tasks, now up to date
07:00:23   [hosted_clang_hello] the host's hello.o: 1384 bytes, sha256 34e7639153e48b0b2d4f9b928a9c5c5b3c5daa5bf368669f4ba0de5462945b22
07:00:23   [hosted_clang_hello] the host's hello: 1740840 bytes, sha256 b9c5a07d13219956508bca013a9f2eda5dd29d22f72b7572a4a2c24b59052c10
07:00:23   BUILD x86_64 hosted_clang_hello of tests/toyos-rust-tests, for hosted_clang_hello
   Compiling toyos-abi v0.16.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-abi)
   Compiling find-msvc-tools v0.1.14
   Compiling shlex v2.0.1
   Compiling cfg-if v1.0.4
   Compiling zeroize v1.9.0
   Compiling untrusted v0.9.0
   Compiling httparse v1.10.1
   Compiling bytes v1.12.1
   Compiling itoa v1.0.18
   Compiling log v0.4.33
   Compiling toyos-untrusted v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-untrusted)
   Compiling rustls v0.23.45
   Compiling base64 v0.23.1
   Compiling toyos-blockhold v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-blockhold)
   Compiling once_cell v1.21.4
   Compiling toyos-transport v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-blockring/transport)
   Compiling cpal v0.18.0 (https://github.com/ToyOSOrg/cpal?branch=toyos-0.18.0#f46381d2)
   Compiling subtle v2.6.1
   Compiling rustls-pki-types v1.15.1
   Compiling toyos-gpt v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-gpt)
   Compiling cc v1.6.0
   Compiling toyos-keymap v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-keymap)
   Compiling utf8-zero v0.8.1
   Compiling toyos-font v0.2.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/userland/toyos-font)
   Compiling dasp_sample v0.11.0
   Compiling toyos-blockring v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-blockring)
   Compiling percent-encoding v2.3.2
   Compiling acpiserver-api v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/userland/acpiserver-api)
   Compiling memmap2 v0.9.11 (https://github.com/ToyOSOrg/memmap2-rs?branch=toyos-0.9.11#ad0d8905)
   Compiling toyos v0.18.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos)
   Compiling getrandom v0.2.17 (https://github.com/ToyOSOrg/getrandom?branch=toyos-0.2-sdk-0.12#2092d1cc)
   Compiling http v1.5.0
   Compiling toyos-inspect v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-inspect)
   Compiling webpki-roots v1.0.9
   Compiling toyos-logstream v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-logstream)
   Compiling toyos-trace v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-trace)
   Compiling libloading v0.8.9 (https://github.com/ToyOSOrg/rust_libloading?branch=toyos-sdk-0.12#bad8d494)
   Compiling toyos-tco v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-tco)
   Compiling inspect v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/userland/inspect)
   Compiling diskserver v0.0.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/userland/diskserver)
   Compiling logkeeper-api v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/userland/logkeeper-api)
   Compiling toyos-window v0.20.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/userland/toyos-window)
   Compiling ureq-proto v0.6.4
   Compiling ring v0.17.14 (https://github.com/ToyOSOrg/ring?branch=toyos-0.17.14#34818c45)
   Compiling rustls-webpki v0.103.15
   Compiling ureq v3.4.2
   Compiling toyos-rust-tests v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/tests/toyos-rust-tests)
    Finished `toyos` profile [optimized + debuginfo] target(s) in 10.43s
07:00:35   BUILT x86_64 hosted_clang_hello of tests/toyos-rust-tests, for hosted_clang_hello  (12s)
07:00:35   BUILD x86_64 kernel, loader, ROOT of tests/hostedclangcase, for hosted_clang_hello
    Finished `toyos` profile [optimized + debuginfo] target(s) in 0.25s
    Finished `toyos` profile [optimized + debuginfo] target(s) in 0.11s
   Compiling typenum v1.20.1
   Compiling subtle v2.6.1
   Compiling test-runner v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/userland/test-runner)
   Compiling syn v2.0.117
   Compiling generic-array v0.14.7
   Compiling block-buffer v0.10.4
   Compiling crypto-common v0.1.7
   Compiling digest v0.10.7
   Compiling sha2 v0.10.9
   Compiling curve25519-dalek-derive v0.1.1
   Compiling curve25519-dalek v4.1.3
   Compiling ed25519-dalek v2.2.0
   Compiling toyos-update v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/toyos-update)
   Compiling supervisor v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid-clang/userland/supervisor)
    Finished `toyos` profile [optimized + debuginfo] target(s) in 5.59s
07:00:43 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
07:00:43 root: adding 'bin/logkeeper' (913408 bytes)
07:00:43 root: adding 'bin/supervisor' (1510864 bytes)
07:00:43 root: adding 'bin/test-runner' (703168 bytes)
07:00:43 root: adding 'bin/test_rs_hosted_clang_hello' (662848 bytes)
07:00:43 root: adding 'etc/os-release' (287 bytes)
07:00:43 root: adding 'etc/ssl/CDLA-Permissive-2.0.txt' (2371 bytes)
07:00:43 root: adding 'etc/ssl/cert.pem' (181603 bytes)
07:00:43 root: adding 'etc/system.manifest' (186 bytes)
07:00:43 root: adding 'share/hosted-clang/bin/clang' (147557344 bytes)
07:00:43 root: adding 'share/hosted-clang/bin/ld.lld' (85591832 bytes)
07:00:43 root: adding 'share/hosted-clang/host/hello' (1740840 bytes)
07:00:43 root: adding 'share/hosted-clang/host/hello.o' (1384 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/__clang_cuda_builtin_vars.h' (4892 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/__clang_cuda_cmath.h' (18493 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/__clang_cuda_complex_builtins.h' (8866 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/__clang_cuda_device_functions.h' (58753 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/__clang_cuda_intrinsics.h' (46120 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/__clang_cuda_libdevice_declares.h' (22414 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/__clang_cuda_math.h' (16602 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/__clang_cuda_math_forward_declares.h' (8469 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/__clang_cuda_runtime_wrapper.h' (18624 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/__clang_cuda_texture_intrinsics.h' (56680 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/__clang_hip_cmath.h' (27196 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/__clang_hip_libdevice_declares.h' (20133 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/__clang_hip_math.h' (36682 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/__clang_hip_runtime_wrapper.h' (5281 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/__clang_hip_stdlib.h' (1223 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/__clang_spirv_builtins.h' (9174 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/__float_float.h' (5890 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/__float_header_macro.h' (449 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/__float_infinity_nan.h' (613 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/__stdarg___gnuc_va_list.h' (467 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/__stdarg___va_copy.h' (445 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/__stdarg_header_macro.h' (417 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/__stdarg_va_arg.h' (771 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/__stdarg_va_copy.h' (451 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/__stdarg_va_list.h' (448 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/__stddef_header_macro.h' (417 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/__stddef_max_align_t.h' (857 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/__stddef_null.h' (875 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/__stddef_nullptr_t.h' (958 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/__stddef_offsetof.h' (708 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/__stddef_ptrdiff_t.h' (717 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/__stddef_rsize_t.h' (710 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/__stddef_size_t.h' (708 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/__stddef_unreachable.h' (735 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/__stddef_wchar_t.h' (853 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/__stddef_wint_t.h' (443 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/__wmmintrin_aes.h' (5269 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/__wmmintrin_pclmul.h' (2036 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/adcintrin.h' (5565 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/adxintrin.h' (3447 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/altivec.h' (715031 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/amdgpuintrin.h' (7483 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/ammintrin.h' (7739 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/amo.h' (3986 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/amxavx512intrin.h' (19744 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/amxcomplexintrin.h' (6933 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/amxfp16intrin.h' (3327 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/amxfp8intrin.h' (8839 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/amxintrin.h' (20212 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/amxmovrsintrin.h' (2290 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/amxtf32intrin.h' (3562 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/andes_vector.h' (518 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/arm64intr.h' (993 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/arm_acle.h' (30926 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/arm_bf16.h' (548 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/arm_cde.h' (33450 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/arm_cmse.h' (6357 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/arm_fp16.h' (19040 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/arm_mve.h' (1554929 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/arm_neon.h' (3195233 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/arm_neon_sve_bridge.h' (9708 bytes)

@Japabu

Japabu commented Oct 11, 2026

Copy link
Copy Markdown
Collaborator Author

hosted-clang-hello, part 7 of 7, cargo test --test toyos-build -- hosted_clang_hello --nocapture at the evidence tree 45f5c2eb (0a9180449), exit 0

07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/arm_sme.h' (281366 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/arm_sve.h' (2174511 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/arm_vector_types.h' (10098 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/armintr.h' (843 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/avx10_2_512bf16intrin.h' (23626 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/avx10_2_512convertintrin.h' (13192 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/avx10_2_512minmaxintrin.h' (7526 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/avx10_2_512niintrin.h' (14039 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/avx10_2_512satcvtdsintrin.h' (13799 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/avx10_2_512satcvtintrin.h' (16999 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/avx10_2bf16intrin.h' (45094 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/avx10_2convertintrin.h' (108821 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/avx10_2copyintrin.h' (2410 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/avx10_2minmaxintrin.h' (13680 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/avx10_2niintrin.h' (17003 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/avx10_2satcvtdsintrin.h' (15253 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/avx10_2satcvtintrin.h' (18140 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/avx2intrin.h' (194216 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/avx512bf16intrin.h' (11211 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/avx512bitalgintrin.h' (2718 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/avx512bwintrin.h' (79636 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/avx512cdintrin.h' (4265 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/avx512dqintrin.h' (61199 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/avx512fintrin.h' (392012 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/avx512fp16intrin.h' (159816 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/avx512ifmaintrin.h' (2677 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/avx512ifmavlintrin.h' (6126 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/avx512vbmi2intrin.h' (14069 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/avx512vbmiintrin.h' (4071 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/avx512vbmivlintrin.h' (7890 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/avx512vlbf16intrin.h' (20315 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/avx512vlbitalgintrin.h' (5074 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/avx512vlbwintrin.h' (127001 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/avx512vlcdintrin.h' (8065 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/avx512vldqintrin.h' (48468 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/avx512vlfp16intrin.h' (87676 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/avx512vlintrin.h' (327382 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/avx512vlvbmi2intrin.h' (27609 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/avx512vlvnniintrin.h' (14254 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/avx512vlvp2intersectintrin.h' (4782 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/avx512vnniintrin.h' (4394 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/avx512vp2intersectintrin.h' (3055 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/avx512vpopcntdqintrin.h' (2462 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/avx512vpopcntdqvlintrin.h' (4245 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/avxifmaintrin.h' (6731 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/avxintrin.h' (203451 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/avxneconvertintrin.h' (14432 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/avxvnniint16intrin.h' (16363 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/avxvnniint8intrin.h' (17915 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/avxvnniintrin.h' (11066 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/bmi2intrin.h' (7546 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/bmiintrin.h' (20350 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/builtins.h' (846 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/cet.h' (1527 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/cetintrin.h' (3351 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/cldemoteintrin.h' (1207 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/clflushoptintrin.h' (1193 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/clwbintrin.h' (1229 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/clzerointrin.h' (1220 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/cmpccxaddintrin.h' (2383 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/cpuid.h' (17268 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/crc32intrin.h' (3347 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/cuda_wrappers/__utility/declval.h' (1051 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/cuda_wrappers/algorithm' (4612 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/cuda_wrappers/bits/basic_string.h' (352 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/cuda_wrappers/bits/basic_string.tcc' (354 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/cuda_wrappers/bits/c++config.h' (1739 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/cuda_wrappers/bits/shared_ptr_base.h' (355 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/cuda_wrappers/cmath' (2045 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/cuda_wrappers/complex' (3618 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/cuda_wrappers/new' (3739 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/emmintrin.h' (198185 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/enqcmdintrin.h' (2167 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/f16cintrin.h' (6357 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/float.h' (1416 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/fma4intrin.h' (8267 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/fmaintrin.h' (30808 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/fxsrintrin.h' (2890 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/gfniintrin.h' (10063 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/gpuintrin.h' (13222 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/hexagon_circ_brev_intrinsics.h' (15966 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/hexagon_protos.h' (383410 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/hexagon_types.h' (134014 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/hlsl.h' (1149 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/hlsl/hlsl_alias_intrinsics.h' (117207 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/hlsl/hlsl_basic_types.h' (13498 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/hlsl/hlsl_compat_overloads.h' (28013 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/hlsl/hlsl_detail.h' (1457 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/hlsl/hlsl_intrinsic_helpers.h' (5761 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/hlsl/hlsl_intrinsics.h' (28983 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/hlsl/hlsl_spirv.h' (923 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/hresetintrin.h' (1395 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/htmintrin.h' (6283 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/htmxlintrin.h' (9225 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/hvx_hexagon_protos.h' (277476 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/ia32intrin.h' (25986 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/immintrin.h' (16410 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/intrin.h' (19808 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/intrin0.h' (14093 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/inttypes.h' (2427 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/invpcidintrin.h' (764 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/iso646.h' (763 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/keylockerintrin.h' (17973 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/larchintrin.h' (8703 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/lasxintrin.h' (149402 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/limits.h' (3794 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/llvm_libc_wrappers/assert.h' (905 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/llvm_libc_wrappers/ctype.h' (846 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/llvm_libc_wrappers/inttypes.h' (915 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/llvm_libc_wrappers/stdio.h' (1431 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/llvm_libc_wrappers/stdlib.h' (916 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/llvm_libc_wrappers/string.h' (850 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/llvm_libc_wrappers/time.h' (842 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/llvm_offload_wrappers/__llvm_offload.h' (1063 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/llvm_offload_wrappers/__llvm_offload_device.h' (400 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/llvm_offload_wrappers/__llvm_offload_host.h' (569 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/lsxintrin.h' (137936 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/lwpintrin.h' (5115 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/lzcntintrin.h' (3659 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/mm3dnow.h' (729 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/mm_malloc.h' (1929 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/mmintrin.h' (62224 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/module.modulemap' (7144 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/movdirintrin.h' (1612 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/movrs_avx10_2_512intrin.h' (3939 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/movrs_avx10_2intrin.h' (6970 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/movrsintrin.h' (2025 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/msa.h' (25615 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/mwaitxintrin.h' (2244 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/nmmintrin.h' (709 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/nvptxintrin.h' (7911 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/opencl-c-base.h' (28531 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/opencl-c.h' (915865 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/openmp_wrappers/__clang_openmp_device_functions.h' (2603 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/openmp_wrappers/cmath' (5251 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/openmp_wrappers/complex' (1802 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/openmp_wrappers/complex.h' (898 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/openmp_wrappers/complex_cmath.h' (12559 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/openmp_wrappers/math.h' (2054 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/openmp_wrappers/new' (1409 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/pconfigintrin.h' (1216 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/pkuintrin.h' (934 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/pmmintrin.h' (11277 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/popcntintrin.h' (1948 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/ppc_wrappers/bmi2intrin.h' (4671 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/ppc_wrappers/bmiintrin.h' (5002 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/ppc_wrappers/emmintrin.h' (71273 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/ppc_wrappers/immintrin.h' (611 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/ppc_wrappers/mm_malloc.h' (1337 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/ppc_wrappers/mmintrin.h' (45763 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/ppc_wrappers/nmmintrin.h' (977 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/ppc_wrappers/pmmintrin.h' (5898 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/ppc_wrappers/smmintrin.h' (23559 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/ppc_wrappers/tmmintrin.h' (16341 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/ppc_wrappers/x86gprintrin.h' (499 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/ppc_wrappers/x86intrin.h' (1067 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/ppc_wrappers/xmmintrin.h' (64333 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/prfchiintrin.h' (2073 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/prfchwintrin.h' (1842 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/ptrauth.h' (19176 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/ptwriteintrin.h' (1076 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/raointintrin.h' (6748 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/rdpruintrin.h' (1624 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/rdseedintrin.h' (2919 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/riscv_bitmanip.h' (5725 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/riscv_corev_alu.h' (4033 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/riscv_crypto.h' (5211 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/riscv_mips.h' (991 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/riscv_nds.h' (2416 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/riscv_ntlh.h' (744 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/rtmintrin.h' (1280 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/s390intrin.h' (604 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/serializeintrin.h' (881 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/sgxintrin.h' (1816 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/sha512intrin.h' (6088 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/shaintrin.h' (7660 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/sifive_vector.h' (10625 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/sm3intrin.h' (7470 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/sm4evexintrin.h' (1164 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/sm4intrin.h' (8401 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/smmintrin.h' (100880 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/spirvintrin.h' (7526 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/stdalign.h' (756 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/stdarg.h' (2497 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/stdatomic.h' (8662 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/stdbool.h' (1172 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/stdckdint.h' (1666 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/stdcountof.h' (473 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/stddef.h' (5053 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/stddefer.h' (610 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/stdint.h' (27519 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/stdnoreturn.h' (1316 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/tbmintrin.h' (3507 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/tgmath.h' (30389 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/tmmintrin.h' (32725 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/tsxldtrkintrin.h' (2015 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/uintrintrin.h' (5079 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/unwind.h' (11477 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/usermsrintrin.h' (1572 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/vadefs.h' (1420 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/vaesintrin.h' (2590 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/varargs.h' (584 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/vecintrin.h' (429293 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/velintrin.h' (2153 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/velintrin_approx.h' (3623 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/velintrin_gen.h' (70721 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/vpclmulqdqintrin.h' (1086 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/waitpkgintrin.h' (1357 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/wasm_simd128.h' (83675 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/wbnoinvdintrin.h' (749 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/wmmintrin.h' (659 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/x86gprintrin.h' (1727 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/x86intrin.h' (721 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/xmmintrin.h' (120194 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/xopintrin.h' (20965 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/xsavecintrin.h' (2574 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/xsaveintrin.h' (1678 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/xsaveoptintrin.h' (1026 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/xsavesintrin.h' (1268 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/xtestintrin.h' (873 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/yvals_core.h' (687 bytes)
07:00:43 root: adding 'share/hosted-clang/lib/clang/22/include/zos_wrappers/builtins.h' (608 bytes)
07:00:43 root: adding 'share/hosted-clang/src/hello.c' (126 bytes)
07:00:43 root: adding 'share/hosted-clang/sysroot/include/arpa/inet.h' (308 bytes)
07:00:43 root: adding 'share/hosted-clang/sysroot/include/assert.h' (350 bytes)
07:00:43 root: adding 'share/hosted-clang/sysroot/include/bits/types/FILE.h' (90 bytes)
07:00:43 root: adding 'share/hosted-clang/sysroot/include/bits/types/locale_t.h' (113 bytes)
07:00:43 root: adding 'share/hosted-clang/sysroot/include/bits/types/mbstate_t.h' (155 bytes)
07:00:43 root: adding 'share/hosted-clang/sysroot/include/bits/types/wint_t.h' (124 bytes)
07:00:43 root: adding 'share/hosted-clang/sysroot/include/ctype.h' (933 bytes)
07:00:43 root: adding 'share/hosted-clang/sysroot/include/dirent.h' (644 bytes)
07:00:43 root: adding 'share/hosted-clang/sysroot/include/dlfcn.h' (558 bytes)
07:00:43 root: adding 'share/hosted-clang/sysroot/include/elf.h' (857 bytes)
07:00:43 root: adding 'share/hosted-clang/sysroot/include/endian.h' (793 bytes)
07:00:43 root: adding 'share/hosted-clang/sysroot/include/errno.h' (1838 bytes)
07:00:43 root: adding 'share/hosted-clang/sysroot/include/fcntl.h' (906 bytes)
07:00:43 root: adding 'share/hosted-clang/sysroot/include/inttypes.h' (3782 bytes)
07:00:43 root: adding 'share/hosted-clang/sysroot/include/limits.h' (734 bytes)
07:00:43 root: adding 'share/hosted-clang/sysroot/include/link.h' (646 bytes)
07:00:43 root: adding 'share/hosted-clang/sysroot/include/locale.h' (1759 bytes)
07:00:43 root: adding 'share/hosted-clang/sysroot/include/math.h' (2009 bytes)
07:00:43 root: adding 'share/hosted-clang/sysroot/include/netdb.h' (903 bytes)
07:00:43 root: adding 'share/hosted-clang/sysroot/include/netinet/in.h' (948 bytes)
07:00:43 root: adding 'share/hosted-clang/sysroot/include/netinet/tcp.h' (77 bytes)
07:00:43 root: adding 'share/hosted-clang/sysroot/include/poll.h' (382 bytes)
07:00:43 root: adding 'share/hosted-clang/sysroot/include/pthread.h' (3715 bytes)
07:00:43 root: adding 'share/hosted-clang/sysroot/include/pwd.h' (466 bytes)
07:00:43 root: adding 'share/hosted-clang/sysroot/include/sched.h' (135 bytes)
07:00:43 root: adding 'share/hosted-clang/sysroot/include/setjmp.h' (257 bytes)
07:00:43 root: adding 'share/hosted-clang/sysroot/include/signal.h' (2336 bytes)
07:00:43 root: adding 'share/hosted-clang/sysroot/include/stdint.h' (3722 bytes)
07:00:43 root: adding 'share/hosted-clang/sysroot/include/stdio.h' (1995 bytes)
07:00:43 root: adding 'share/hosted-clang/sysroot/include/stdlib.h' (2564 bytes)
07:00:43 root: adding 'share/hosted-clang/sysroot/include/string.h' (1586 bytes)
07:00:43 root: adding 'share/hosted-clang/sysroot/include/strings.h' (67 bytes)
07:00:43 root: adding 'share/hosted-clang/sysroot/include/sys/mman.h' (1093 bytes)
07:00:43 root: adding 'share/hosted-clang/sysroot/include/sys/random.h' (188 bytes)
07:00:43 root: adding 'share/hosted-clang/sysroot/include/sys/resource.h' (1063 bytes)
07:00:43 root: adding 'share/hosted-clang/sysroot/include/sys/socket.h' (1776 bytes)
07:00:43 root: adding 'share/hosted-clang/sysroot/include/sys/stat.h' (1680 bytes)
07:00:43 root: adding 'share/hosted-clang/sysroot/include/sys/statvfs.h' (633 bytes)
07:00:43 root: adding 'share/hosted-clang/sysroot/include/sys/time.h' (379 bytes)
07:00:43 root: adding 'share/hosted-clang/sysroot/include/sys/types.h' (354 bytes)
07:00:43 root: adding 'share/hosted-clang/sysroot/include/sys/ucontext.h' (272 bytes)
07:00:43 root: adding 'share/hosted-clang/sysroot/include/sys/un.h' (146 bytes)
07:00:43 root: adding 'share/hosted-clang/sysroot/include/sys/utsname.h' (288 bytes)
07:00:43 root: adding 'share/hosted-clang/sysroot/include/sys/wait.h' (512 bytes)
07:00:43 root: adding 'share/hosted-clang/sysroot/include/sysexits.h' (516 bytes)
07:00:43 root: adding 'share/hosted-clang/sysroot/include/time.h' (1259 bytes)
07:00:43 root: adding 'share/hosted-clang/sysroot/include/unistd.h' (1893 bytes)
07:00:43 root: adding 'share/hosted-clang/sysroot/include/wchar.h' (2959 bytes)
07:00:43 root: adding 'share/hosted-clang/sysroot/include/wctype.h' (1562 bytes)
07:00:43 root: adding 'share/hosted-clang/sysroot/lib/libtoyos_c.a' (9888208 bytes)
07:00:43   BUILT x86_64 kernel, loader, ROOT of tests/hostedclangcase, for hosted_clang_hello  (8s)
07:00:44 [qemu 0] Launching QEMU...
07:00:51 [serial 0] [--.--- cpu0 kernel] black box: 0x8000000 is this boot's, 16344 bytes for the next boot's loader
07:00:51 [serial 0] [--.--- cpu0 kernel] serial: 16550 loopback read 0xae (present)
07:00:51 [serial 0] [--.--- cpu0 kernel] PAT: IA32_PAT=0x0007040100070406, entry 4 = WC
07:00:51 [serial 0] [--.--- cpu0 kernel] boot: memory map 0x7bff1018+0xc60, kernel 0x7c200000+0xd0a000, stack image+0x50a000+0x800000
07:00:51 [serial 0] [--.--- cpu0 kernel] boot: kernel elf 0x7cf20018+0x252b30, rsdp 0x7f77e014, boot pml4 0x7bff4000
07:00:51 [serial 0] [--.--- cpu0 kernel] boot: gop 0x0+0x0 0x0 stride 0 format 0
07:00:51 [serial 0] [--.--- cpu0 kernel] boot: boot partition present=1 lba 264192 +69632 blocks guid [c6, 73, a6, b8, a9, c7, b9, 4e, 8e, ca, 5f, 97, a9, aa, 93, 96]
07:00:51 [serial 0] [--.--- cpu0 kernel] boot: log partition guid [8d, c2, 1d, 55, e2, ec, 01, 40, 96, 3b, cf, 46, 73, 1b, 26, 57]
07:00:51 [serial 0] [--.--- cpu0 kernel] boot: cmdline 0x7d19c498+68
07:00:51 [serial 0] [--.--- cpu0 kernel] boot: root=3fed0bace2e2c9ed118d5f5bfb1f840e
07:00:51 [serial 0] [--.--- cpu0 kernel] boot: slot A, the one the slot table marks
07:00:51 [serial 0] [--.--- cpu0 kernel] random: the loader's seed is mixed into the generator's key
07:00:51 [serial 0] [--.--- cpu0 kernel] random: RDSEED is not mixed: CPUID.07H:EBX[18] is clear, so this CPU has no RDSEED
07:00:51 [serial 0] [--.--- cpu0 kernel] random: RDRAND is mixed into the generator's key
07:00:51 [serial 0] [--.--- cpu0 kernel] random: the generator is keyed from 2 source(s), and every random byte is its ChaCha20
07:00:51 [serial 0] [--.--- cpu0 kernel] pmm: the firmware map calls 4288393216 bytes usable in 116 entries; managed=3982491648 withheld=274726912 unaligned=31174656, and the three sum to it; frames=1899 reserved_frames=131 base=0x200000 span=3071
07:00:51 [serial 0] [--.--- cpu0 kernel] paging: the direct map covers 0x0..0x180000000
07:00:51 [serial 0] [--.--- cpu0 kernel] ACPI: APIC at 0x7f778000 len=128 rev=3 oem="BOCHS" checksummed
07:00:51 [serial 0] [--.--- cpu0 kernel] ACPI: FACP at 0x7f779000 len=244 rev=3 oem="BOCHS" checksummed
07:00:51 [serial 0] [--.--- cpu0 kernel] ACPI: HPET at 0x7f777000 len=56 rev=1 oem="BOCHS" checksummed
07:00:51 [serial 0] [--.--- cpu0 kernel] ACPI: MCFG at 0x7f776000 len=60 rev=1 oem="BOCHS" checksummed
07:00:51 [serial 0] [--.--- cpu0 kernel] ACPI: DMAR at 0x7f775000 len=144 rev=1 oem="BOCHS" checksummed
07:00:51 [serial 0] [--.--- cpu0 kernel] ACPI: IVRS not read: Absent
07:00:51 [serial 0] [--.--- cpu0 kernel] ACPI: 5 of 6 tables checksummed under the RSDP at 0x7f77e014
07:00:51 [serial 0] [--.--- cpu0 kernel] ACPI: MADT cpus=[0, 1]
07:00:51 [serial 0] [--.--- cpu0 kernel] ACPI: reset register SystemIO 0xcf9 <- 0x0f
07:00:51 [serial 0] [--.--- cpu0 kernel] control_regs: cpu0 cr0=0x80010033 cr4=0x00300668 efer=0x0d01 smep smap nx
07:00:51 [serial 0] [--.--- cpu0 kernel] idt: 256 vectors, 35 declared, 221 unclaimed, table at 0xffff80007c7078d0 limit 0xfff
07:00:51 [serial 0] [--.--- cpu0 kernel] control_regs: no performance request is declared: no HWP (CPUID.6:EAX[7])
07:00:51 [serial 0] [--.--- cpu0 kernel] fpu: cpu0 xsave=0 osxsave=0 xcr0=0x0 cpuid.d.0=(0x0,0,0) cpuid.d.1.eax=0x0
07:00:51 [serial 0] [--.--- cpu0 kernel] percpu: BSP cpu_id=0 lapic_id=0
07:00:51 [serial 0] [--.--- cpu0 kernel] control_regs: cpu0 apic_base=0xfee00d00 X2apic
07:00:51 [serial 0] [--.--- cpu0 kernel] LAPIC: X2apic enabled (ID 0)
07:00:51 [serial 0] [--.--- cpu0 kernel] mmio: 0xfec00000+0x20 PAT Uncacheable (MTRR UC)
07:00:51 [serial 0] [--.--- cpu0 kernel] ioapic: id=0 at 0xfec00000 ver=0x20 gsi 0..23 masked 24/24
07:00:51 [serial 0] [--.--- cpu0 kernel] ioapic: iso bus:irq->gsi [0:0->2 edge/high, 0:5->5 level/high, 0:9->9 level/high, 0:10->10 level/high, 0:11->11 level/high]
07:00:51 [serial 0] [--.--- cpu0 kernel] counters: cpu0 reads smi=false aperf=false mperf=false hwp_request=false hwp_request_pkg=false energy_perf_bias=false
07:00:51 [serial 0] [--.--- cpu0 kernel] symbols: loaded 6237 kernel symbols
07:00:51 [serial 0] [--.--- cpu0 kernel] ACPI: HPET at 0xfed00000
07:00:51 [serial 0] [--.--- cpu0 kernel] mmio: 0xfed00000+0x1000 PAT Uncacheable (MTRR UC)
07:00:51 [serial 0] [--.--- cpu0 kernel] clock: HPET at 0xfed00000 enabled, period=10000000fs, counter reads 1400, calibrating over 5000000 ticks
07:00:51 [serial 0] [ 5.061 cpu0 kernel] TSC: 999MHz (period=1000160fs, calibrated over 50ms)
07:00:51 [serial 0] [ 5.061 cpu0 kernel] clock: TSC measured 999840025Hz against the HPET; CPUID leaves 15H and 16H stating no frequency, so nothing independent confirms it
07:00:51 [serial 0] [ 5.061 cpu0 kernel] ACPI: the FADT puts the RTC century register at CMOS 0x32
07:00:51 [serial 0] [ 5.062 cpu0 kernel] clock: the RTC reads 2026-10-11 07:00:49 UTC
07:00:51 [serial 0] [ 5.072 cpu0 kernel] LAPIC timer: 10018397 ticks/10ms, so 1001839700Hz
07:00:51 [serial 0] [ 5.072 cpu0 kernel] Boot: CPU ready (62ms)
07:00:51 [serial 0] [ 5.073 cpu0 kernel] ACPI: RSDP at 0x7f77e014
07:00:51 [serial 0] [ 5.073 cpu0 kernel] ACPI: MCFG found at 0x7f776000
07:00:51 [serial 0] [ 5.074 cpu0 kernel] ACPI: ECAM window: segment 0 buses 0x00..=0xff, bus 0 at 0xe0000000
07:00:51 [serial 0] [ 5.074 cpu0 kernel] PCI: Enumerating devices...
07:00:51 [serial 0] [ 5.074 cpu0 kernel] mmio: 0xe0000000+0x10000000 PAT Uncacheable (MTRR UC)
07:00:51 [serial 0] [ 5.075 cpu0 kernel]   PCI 00:00.0 [0600] vendor=8086 device=29c0 prog_if=00 bars=[]
07:00:51 [serial 0] [ 5.075 cpu0 kernel]   PCI 00:01.0 [0c03] vendor=1033 device=0194 prog_if=30 bars=[bar0=0xc00000c000]
07:00:51 [serial 0] [ 5.075 cpu0 kernel]   PCI 00:02.0 [0108] vendor=1b36 device=0010 prog_if=02 bars=[bar0=0xc000010000 bar4=0x80044000]
07:00:51 [serial 0] [ 5.076 cpu0 kernel]   PCI 00:03.0 [0200] vendor=1af4 device=1041 prog_if=00 bars=[bar1=0x80043000 bar4=0xc000000000]
07:00:51 [serial 0] [ 5.076 cpu0 kernel]   PCI 00:04.0 [0401] vendor=1af4 device=1059 prog_if=00 bars=[bar1=0x80042000 bar4=0xc000004000]
07:00:51 [serial 0] [ 5.076 cpu0 kernel]   PCI 00:05.0 [0780] vendor=1af4 device=1043 prog_if=00 bars=[bar1=0x80041000 bar4=0xc000008000]
07:00:51 [serial 0] [ 5.076 cpu0 kernel]   PCI 00:1f.0 [0601] vendor=8086 device=2918 prog_if=00 bars=[]
07:00:51 [serial 0] [ 5.076 cpu0 kernel]   PCI 00:1f.2 [0106] vendor=8086 device=2922 prog_if=01 bars=[bar4=none(it is an I/O BAR at port 0x6040, not memory) bar5=0x80040000]
07:00:51 [serial 0] [ 5.077 cpu0 kernel]   PCI 00:1f.3 [0c05] vendor=8086 device=2930 prog_if=00 bars=[bar4=none(it is an I/O BAR at port 0x6000, not memory)]
07:00:51 [serial 0] [ 5.079 cpu0 kernel] PCI: Enumeration complete, 9 functions.
07:00:51 [serial 0] [ 5.084 cpu0 kernel] pcidev: firmware declared root bridge memory: mem 0x80000000..0x80100000, mem 0xc000000000..0xc000100000, mem 0x80100000..0xe0000000, mem 0xc000100000..0xe000000000
07:00:51 [serial 0] [ 5.085 cpu0 kernel] pcidev: 9 functions; 2 run(s) of 2 MiB or more below 0xfec00000 and 3 from 0x100000000
07:00:51 [serial 0] [ 5.086 cpu0 kernel] pcidev:   0x80045000..0xe0000000 (1535 MiB)
07:00:51 [serial 0] [ 5.086 cpu0 kernel] pcidev:   0xf0000000..0xfec00000 (236 MiB)
07:00:51 [serial 0] [ 5.086 cpu0 kernel] pcidev:   0x180000000..0xc000000000 (780288 MiB)
07:00:51 [serial 0] [ 5.086 cpu0 kernel] pcidev:   0xc000012000..0xfd00000000 (249855 MiB)
07:00:51 [serial 0] [ 5.086 cpu0 kernel] pcidev:   0x10000000000..0xffffffffffffffff (17592184995839 MiB)
07:00:51 [serial 0] [ 5.087 cpu0 kernel] iommu: DMAR haw=48 flags=0x01 intr_remap=y x2apic_opt_out=n dma_ctrl_opt_in=n
07:00:51 [serial 0] [ 5.087 cpu0 kernel] mmio: 0xfed90000+0x1000 PAT Uncacheable (MTRR UC)
07:00:51 [serial 0] [ 5.088 cpu0 kernel] iommu: unit0 @0xfed90000 seg=0 pci_all=n ver=1.0 cap=0x80d2008c222f0686 ecap=0x0000000000f00f4a gsts=0x00000000 aw=48 sagaw=0x06 mgaw=48 nd=65536 sps2m=y cm=y psi=y nfr=1 fro=0x220 qi=y ir=y eim=n pt=y coherent=n sc=n
07:00:51 [serial 0] [ 5.088 cpu0 kernel] iommu: unit0 scope ioapic ff:00.0 id=0
07:00:51 [serial 0] [ 5.089 cpu0 kernel] iommu: unit0 scope pci-endpoint 00:00.0 id=0
07:00:51 [serial 0] [ 5.089 cpu0 kernel] iommu: unit0 scope pci-endpoint 00:01.0 id=0
07:00:51 [serial 0] [ 5.089 cpu0 kernel] iommu: unit0 scope pci-endpoint 00:02.0 id=0
07:00:51 [serial 0] [ 5.089 cpu0 kernel] iommu: unit0 scope pci-endpoint 00:03.0 id=0
07:00:51 [serial 0] [ 5.089 cpu0 kernel] iommu: unit0 scope pci-endpoint 00:04.0 id=0
07:00:51 [serial 0] [ 5.089 cpu0 kernel] iommu: unit0 scope pci-endpoint 00:05.0 id=0
07:00:51 [serial 0] [ 5.089 cpu0 kernel] iommu: unit0 scope pci-endpoint 00:1f.0 id=0
07:00:51 [serial 0] [ 5.089 cpu0 kernel] iommu: unit0 scope pci-endpoint 00:1f.2 id=0
07:00:51 [serial 0] [ 5.090 cpu0 kernel] iommu: unit0 scope pci-endpoint 00:1f.3 id=0
07:00:51 [serial 0] [ 5.090 cpu0 kernel] iommu: DMAR describes 1 units and 0 reserved regions, 0 of them inside the identity domain
07:00:51 [serial 0] [ 5.091 cpu0 kernel] iommu: identity domain aw=48 covers 0x0..0x180000000 in 3072 2 MiB leaves
07:00:51 [serial 0] [ 5.096 cpu0 kernel] iommu: unit0 @0xfed90000 translating gsts=0xc7000000 tes=y qies=y ires=y cfis=n irt=0xc0c000 irta=0xc0c007 eime=n root=0xc08000 domain=1 aw=48 streams=9
07:00:51 [serial 0] [ 5.097 cpu0 kernel] file cache: budget 15192 pages (59 MiB)
07:00:51 [serial 0] [ 5.097 cpu0 kernel] gpt: the boot volume names 551DC28D-ECE2-4001-963B-CF46731B2657 as the log partition
07:00:51 [serial 0] [ 5.097 cpu0 kernel] gpt: firmware booted us from partition B8A673C6-C7A9-4EB9-8ECA-5F97A9AA9396 at LBA 264192+69632
07:00:51 [serial 0] [ 5.098 cpu0 kernel] Boot: peripherals ready (24ms)
07:00:51 [serial 0] [ 5.098 cpu0 kernel] mtrr: the boot processor's range registers: IA32_MTRR_DEF_TYPE 0xc06 and 8 variable pairs
07:00:51 [serial 0] [ 5.110 cpu1 kernel] control_regs: cpu1 cr0=0x80010033 cr4=0x00300668 efer=0x0d01 smep smap nx
07:00:51 [serial 0] [ 5.110 cpu1 kernel] fpu: cpu1 xsave=0 osxsave=0 xcr0=0x0 cpuid.d.0=(0x0,0,0) cpuid.d.1.eax=0x0
07:00:51 [serial 0] [ 5.110 cpu1 kernel] control_regs: cpu1 apic_base=0xfee00c00 X2apic
07:00:51 [serial 0] [ 5.111 cpu1 kernel] mtrr: cpu1's range registers are off (IA32_MTRR_DEF_TYPE 0x0) and not the boot processor's: every read this CPU makes is uncached
07:00:51 [serial 0] [ 5.111 cpu0 kernel] SMP: cpu1 tsc=5109182000 inside the BSP's 5099044000..5110644000 (11600000 cycles wide)
07:00:51 [serial 0] [ 5.111 cpu0 kernel] SMP: AP cpu1 lapic=1 online
07:00:51 [serial 0] [ 5.111 cpu0 kernel] SMP: 2 of 2 MADT cpus online, 1 of 1 APs inside the BSP's TSC bracket
07:00:51 [serial 0] [ 5.112 cpu0 kernel] control_regs: 2 of 2 cpus hold cr0=0x80010033 cr4=0x00300668 efer=0x0d01 apic=X2apic
07:00:51 [serial 0] [ 5.113 cpu0 kernel] root: mounted read-only from memory at 0x6be5c000+0xfd00000, filesystem 3fed0bace2e2c9ed118d5f5bfb1f840e, 64768 blocks
07:00:51 [serial 0] [ 5.114 cpu0 kernel] Boot: subsystems ready (15ms)
07:00:51 [serial 0] [ 5.126 cpu0 kernel] spawn: /system/bin/supervisor pid=0 (layout=3ms tls=4ms total=11ms)
07:00:51 [serial 0] [ 5.127 cpu0 kernel] spawned /system/bin/supervisor pid=0
07:00:51 [serial 0] [ 5.127 cpu0 kernel] boot: the supervisor spawned with ROOT from memory; storage commands before it: 0
07:00:51 [serial 0] [ 5.127 cpu0 kernel] xHCI: found at PCI 00:01.0 1033:0194
07:00:51 [serial 0] [ 5.127 cpu0 kernel] xHCI: BAR0=0xc00000c000
07:00:51 [serial 0] [ 5.128 cpu0 kernel] iommu: irte4 source=00:01.0 p=1 sid=0x0008 svt=1 sq=0 vector=0x21 apic=0x0 dst=0x0 trigger=edge
07:00:51 [serial 0] [ 5.128 cpu0 kernel] mmio: 0xc00000f000+0x1000 PAT Uncacheable (MTRR UC)
07:00:51 [serial 0] [ 5.129 cpu0 kernel] PCI 00:01.0: msix address=0xfee00098 data=0x00000000
07:00:51 [serial 0] [ 5.129 cpu0 kernel] xHCI: MSI-X enabled (vector 0x21)
07:00:51 [serial 0] [ 5.129 cpu0 kernel] mmio: 0xc00000c000+0x10000 PAT Uncacheable (MTRR UC)
07:00:51 [serial 0] [ 5.130 cpu0 kernel] xHCI: max_slots=64 max_ports=8 ctx_size=32 pagesize=0x1
07:00:51 [serial 0] [ 5.130 cpu0 kernel] xHCI: dma 2048 KiB: scratchpad=0 device blocks=64 of 12288 B (max_slots=64)
07:00:51 [serial 0] [ 5.130 cpu0 kernel] xHCI: no USB Legacy Support capability (xECP=0x8), nothing to hand over
07:00:51 [serial 0] [ 5.131 cpu0 kernel] xHCI: USB 2.0 on ports 5..=8
07:00:51 [serial 0] [ 5.131 cpu0 kernel] xHCI: USB 3.0 on ports 1..=4
07:00:51 [serial 0] [ 5.131 cpu0 kernel] xHCI: 4 USB2 and 4 USB3 port register(s) of 8 named, 0 capability(ies) refused
07:00:51 [serial 0] [ 5.131 cpu0 kernel] xHCI: controller reset
07:00:51 [serial 0] [ 5.132 cpu0 kernel] iommu: domain2 root=0xc0d000 aw=48 mgaw=48 addresses from 0x400000000000 to 0x1000000000000
07:00:51 [serial 0] [ 5.133 cpu0 kernel] iommu: domain2 maps 0x1a00000..0x1c00000 at 0x400000000000
07:00:51 [serial 0] [ 5.133 cpu0 kernel] iommu: 00:01.0 moves to domain2
07:00:51 [serial 0] [ 5.134 cpu0 kernel] xHCI: controller started
07:00:51 [serial 0] [ 5.134 cpu0 kernel] xHCI: 8/8 root-hub ports powered (PPC=0)
07:00:51 [serial 0] [ 5.234 cpu0 kernel] xHCI: port 5 connected
07:00:51 [serial 0] [ 5.235 cpu0 kernel] xHCI: port 5 enabled, speed=3
07:00:51 [serial 0] [ 5.236 cpu0 kernel] xHCI: slot 1 enabled (dma +0x30000)
07:00:51 [serial 0] [ 5.236 cpu0 kernel] xHCI: device addressed
07:00:51 [serial 0] [ 5.237 cpu0 kernel] xHCI: device class=0x0 vendor=0627 product=0001
07:00:51 [serial 0] [ 5.237 cpu0 kernel] xHCI: HID keyboard iface=0 ep=0x81 max_pkt=8 interval=7 dci=3
07:00:51 [serial 0] [ 5.237 cpu0 kernel] xHCI: configuration set
07:00:51 [serial 0] [ 5.238 cpu0 kernel] xHCI: endpoint configured
07:00:51 [serial 0] [ 5.238 cpu0 kernel] xHCI: USB keyboard ready on slot 1, int_ring +0x30000
07:00:51 [serial 0] [ 5.238 cpu0 kernel] xHCI: 1 controller(s), 1 HID device(s)
07:00:51 [serial 0] [ 5.238 cpu0 kernel] usb-storage: 0 device(s)
07:00:51 [serial 0] [ 6.740 cpu0 kernel] usb-storage: 0 disk(s) on this machine and none carries the boot partition after 1500 ms of looking
07:00:51 [serial 0] [ 6.741 cpu0 kernel] root: the partition ROOT was read from, 92E88EFF-A8A2-4998-8264-B3940746BCEB, is not held because it is on no disk this kernel drives; every claim of it is refused; disks that did not answer: []
07:00:51 [serial 0] [ 6.741 cpu0 kernel] Boot: storage ready (1614ms)
07:00:51 [serial 0] [ 6.743 cpu0 kernel] i8042: FADT rev 3 iapc_boot_arch=0x0002, bit 1 (8042) set — probing either way
07:00:51 [serial 0] [ 6.743 cpu0 kernel] i8042: ok selftest=0x55 cfg=0x77->0x64 port1=ok port2=ok
07:00:51 [serial 0] [ 6.744 cpu0 kernel] iommu: irte5 source=ff:00.0 p=1 sid=0xff00 svt=1 sq=0 vector=0x24 apic=0x0 dst=0x0 trigger=edge
07:00:51 [serial 0] [ 6.745 cpu0 kernel] ioapic: gsi 1 on id=0 rte=0x000b000000010024
07:00:51 [serial 0] [ 6.745 cpu0 kernel] iommu: irte6 source=ff:00.0 p=1 sid=0xff00 svt=1 sq=0 vector=0x24 apic=0x0 dst=0x0 trigger=edge
07:00:51 [serial 0] [ 6.745 cpu0 kernel] ioapic: gsi 12 on id=0 rte=0x000d000000010024
07:00:51 [serial 0] [ 6.746 cpu0 kernel] i8042: kbd set2+xlat (readback 0x41) scanning on, GSI 1 -> vec 0x24 apic 0 on
07:00:51 [serial 0] [ 6.746 cpu0 kernel] i8042: aux rate=100 res=8/mm, GSI 12 -> vec 0x24 apic 0 on
07:00:51 [serial 0] [ 6.747 cpu0 kernel] acpi: the ACPI row: PM1a events 0x600+4, GPE0 0x620+16, SCI gsi 9 level/high, the fixed-hardware power button; the firmware handed over in ACPI mode
07:00:51 [serial 0] [ 6.748 cpu0 kernel] acpi: the Global Lock is the FACS's at 0x7f7dd010, in memory the firmware's map types 10
07:00:51 [serial 0] [ 6.749 cpu0 kernel] virtio-console: found at PCI 00:05.0
07:00:51 [serial 0] [ 6.749 cpu0 kernel] iommu: domain3 root=0xc10000 aw=48 mgaw=48 addresses from 0x400000000000 to 0x1000000000000
07:00:51 [serial 0] [ 6.750 cpu0 kernel] iommu: domain3 maps 0x1c00000..0x1e00000 at 0x400000000000
07:00:51 [serial 0] [ 6.750 cpu0 kernel] iommu: 00:05.0 moves to domain3
07:00:51 [serial 0] [ 6.750 cpu0 kernel] VirtIO: PCI 00:05.0 names BAR 0 and firmware assigned it no address — skipping every capability in it
07:00:51 [serial 0] [ 6.752 cpu0 kernel] mmio: 0xc000008000+0x4000 PAT Uncacheable (MTRR UC)
07:00:51 [serial 0] [ 6.752 cpu0 kernel] VirtIO: PCI 00:05.0 features device=0x10330000004 negotiated=0x300000000 access_platform=y
07:00:51 [serial 0] [ 6.757 cpu0 kernel] virtio-console: initialized (8 RX bufs of 256 bytes, TX buf 4096 bytes)
07:00:51 [serial 0] [ 6.757 cpu0 kernel] GPU: none found, running headless
07:00:51 [serial 0] [ 6.757 cpu0 kernel] Boot: devices ready (14ms)
07:00:51 [serial 0] [ 6.758 cpu0 kernel] log: /log is on a disk this kernel does not drive; its file server says whether it mounted
07:00:51 [serial 0] [ 6.758 cpu0 kernel] Boot: complete (1748ms)
07:00:51 [serial 0] [ 6.759 cpu0 kernel] boot: IA32_TSC_ADJUST not on this CPU
07:00:51 [serial 0] [ 6.759 cpu0 kernel] boot: power-on to loader 2094 ms, loader 2862 ms (ROOT read 54 ms), kernel to Boot: complete 1802 ms
07:00:51 [serial 0] [ 6.759 cpu0 kernel] kthread: klogd pid=1 tid=0 runs in the kernel address space
07:00:51 [serial 0] [ 6.760 cpu1 kernel] counters: cpu1 reads smi=false aperf=false mperf=false hwp_request=false hwp_request_pkg=false energy_perf_bias=false
07:00:51 [serial 0] [ 6.760 cpu1 kernel] CPU 1: joining scheduler
07:00:51 [serial 0] [ 6.764 cpu1 kernel] i8042: armed at 1735ms, idle at 1754ms, 0 interrupts — the pin has never asserted (kbd GSI 1, aux GSI 12)
07:00:51 [serial 0] [ 6.811 cpu0 kernel] spawn: /system/bin/logkeeper pid=2 (layout=0ms tls=2ms total=4ms)
07:00:51 [serial 0] [ 6.818 cpu0 kernel] spawn: /system/bin/test-runner pid=3 (layout=0ms tls=2ms total=3ms)
07:00:51 [serial 0] [ 6.781 supervisor] supervisor: build 0a9180449c2a598e5b032c381300a2c0bfe633ed clean, committed 2026-10-11 06:50:11 UTC, toolchain 7a788d7f5b1bfa4c, x86_64
07:00:51 [serial 0] [ 6.797 supervisor tid=1] supervisor: /home/toy could not be made, so this boot has no session home: permission denied
07:00:51 [serial 0] [ 6.801 supervisor] supervisor: logkeeper: /state/logkeeper could not be made: permission denied
07:00:51 [serial 0] [ 6.813 supervisor] supervisor: started logkeeper
07:00:51 [serial 0] [ 6.822 logkeeper] logkeeper: cannot create /log/2026-10-11-070050.log: permission denied
07:00:51 [serial 0] [ 6.822 logkeeper] logkeeper: no /log on this machine - this boot's kernel log is on the console only (2026-10-11 07:00:50 UTC)
07:00:51 [serial 0] [ 6.824 test-runner] ===READY===
07:00:51 [qemu] Reached ===READY===
07:00:51 [serial 0] [ 6.825 supervisor] supervisor: started test-runner
07:00:51 [serial 0] [ 6.870 cpu0 kernel] spawn: /system/bin/test_rs_hosted_clang_hello pid=4 (layout=0ms tls=2ms total=3ms)
07:00:51 [serial 0] [ 6.862 test-runner] ===TEST_START test_rs_hosted_clang_hello===
07:00:51 [serial 0] [ 6.890 cpu1 kernel] spawn: /system/share/hosted-clang/bin/clang pid=5 (layout=0ms tls=2ms total=3ms)
07:00:51 [serial 0] [ 7.539 cpu0 kernel] exit: clang pid=5 code=0 cpu=648ms peak=106MB allocs=74 frees=0 syscalls=967 syscall_wall=58ms 0=198 1=19 9=44 10=40 13=27 14=29 16=17 21=22 51=1 52=1 59=524 63=21 72=1 73=1 82=20 91=2
07:00:51 [serial 0] [ 7.547 cpu1 kernel] spawn: /system/share/hosted-clang/bin/ld.lld pid=6 (layout=0ms tls=2ms total=2ms)
07:00:51 [serial 0] [ 7.543 test-runner pid=4] hosted_clang_hello: clang -c ended 0
07:00:52 [serial 0] [ 8.326 cpu0 kernel tid=1] exit: ld.lld pid=6 code=0 cpu=851ms peak=116MB allocs=83 frees=1 syscalls=1021 syscall_wall=246ms 0=1 1=2 9=6 10=5 13=5 14=6 16=7 18=2 40=1 51=1 58=44 59=907 60=2 62=3 63=26 64=1 72=1 73=1
07:00:52 [serial 0] [ 8.330 cpu1 kernel] spawn: /tmp/hosted_clang_hello/hello pid=7 (layout=0ms tls=2ms total=2ms)
07:00:52 [serial 0] [ 8.337 cpu0 kernel] exit: hello pid=7 code=0 cpu=6ms peak=2MB allocs=1 frees=0 syscalls=4 syscall_wall=0ms 0=1 14=2 72=1
07:00:52 [serial 0] [ 8.327 test-runner pid=4] hosted_clang_hello: ld.lld ended 0
07:00:52 [serial 0] [ 8.348 cpu1 kernel] exit: test_rs_hosted_clang_hello pid=4 code=0 cpu=44ms peak=18MB allocs=7 frees=0 syscalls=124 syscall_wall=1459ms 1=12 6=1 9=4 10=32 14=5 21=2 24=9 25=3 40=3 41=3 50=4 51=1 53=1 63=6 72=1 73=1 91=1 99=1 102=10 105=10 106=11 108=3
07:00:52 [serial 0] [ 8.338 test-runner pid=4] hosted_clang_hello: hello said: hello from a C program compiled and linked inside ToyOS
07:00:52 [serial 0] [ 8.340 test-runner pid=4] hosted_clang_hello: clang's /tmp/hosted_clang_hello/hello.o is the host's 1384 bytes
07:00:52 [serial 0] [ 8.348 test-runner pid=4] hosted_clang_hello: ld.lld's /tmp/hosted_clang_hello/hello is the host's 1740840 bytes
07:00:52 [serial 0] [ 8.348 test-runner pid=4] hosted_clang_hello: ok
07:00:52 [serial 0] [ 8.349 test-runner] ===TEST_END test_rs_hosted_clang_hello exit=0===
07:00:52   [hosted_clang_hello] hosted_clang_hello: clang -c ended 0
07:00:52   [hosted_clang_hello] hosted_clang_hello: ld.lld ended 0
07:00:52   [hosted_clang_hello] hosted_clang_hello: hello said: hello from a C program compiled and linked inside ToyOS
07:00:52   [hosted_clang_hello] hosted_clang_hello: clang's /tmp/hosted_clang_hello/hello.o is the host's 1384 bytes
07:00:52   [hosted_clang_hello] hosted_clang_hello: ld.lld's /tmp/hosted_clang_hello/hello is the host's 1740840 bytes
07:00:52   [hosted_clang_hello] hosted_clang_hello: ok
07:00:52   PASS  hosted_clang_hello  (424s)
07:00:52   --- 1 guests, 0 of them not the shipping kernel, 1 kernel build(s): [""]

07:00:52 host: fastest boot 6860 ms against the reference 1424 ms — liveness ceilings paid at 4.82x
07:00:52 host: 14 core(s); a guest wider than that waits vcpus/cores longer again
07:00:52 test result: ok. 1 passed, 1 total (444.0s; workers: 20s building, 424s testing)
EXIT=0

@Japabu

Japabu commented Oct 11, 2026

Copy link
Copy Markdown
Collaborator Author

T14 reading at ad23112a7, judge words stat_identity (210_stat_identity, stat_identity), run by the orchestrator. Provenance was checked against the build line, and boot rc=0. Result: EXIT=0, 2 passed, 0 failed, 1 boot(s). The whole judge log, masked:

   Compiling toyos-build v0.1.0 (<path>
    Finished `test` profile [optimized + debuginfo] target(s) in 5.24s
     Running tests/toyos.rs (target/debug/deps/toyos_build-6272c6e3847618b1)
07:04:47   BUILD x86_64 binaries of tests/toyos-rust-tests
07:04:50   BUILT x86_64 binaries of tests/toyos-rust-tests  (3s)
07:04:50 [toyos] Compiling 138 C tests, and attempting 24 declared ones...
07:04:53 [metal] 0 registration(s) and 2 shared member(s) over 1 boot(s)

07:04:53 [metal] the boots
07:04:53   testcases: Boot: complete 1072 ms, a log of 41303 bytes, back in 48 s, the stick enumerated 0 s after that
07:04:53     phases: preamble 0.4 s, wipe 0.4 s, flash 9.8 s (dd 9.3 s), entry 2.9 s, down 11.0 s, read_log 0.8 s, raw_log 1.4 s
07:04:53     the panel painted 10 time(s) and put 8791296 px on the glass

07:04:53 [metal] the tests

07:04:53 [metal] testcases: 2 member(s)
07:04:53   its members took 18 ms of the 400 ms they add to the list's bound, summed over the 2 of 2 with both markers
07:04:53   its last record came 1150 ms into a list bound of 60400 ms

07:04:53 [metal] the timings
07:04:53   58 recorded number(s) this run measured nothing for: boot.acpicase.complete_ms, boot.acpicase.panel_max_us, boot.acpicase.panel_us, boot.deadlinewedge.complete_ms, boot.deadlinewedge.panel_max_us, boot.deadlinewedge.panel_us, boot.foreignrecord.complete_ms, boot.hardlockup.complete_ms, boot.hardlockup.panel_max_us, boot.hardlockup.panel_us, boot.iommu-no-remap.complete_ms, boot.iommu-no-remap.panel_max_us, boot.iommu-no-remap.panel_us, boot.isa-withheld.complete_ms, boot.isa-withheld.panel_max_us, boot.isa-withheld.panel_us, boot.latencycase.complete_ms, boot.latencycase.panel_max_us, boot.latencycase.panel_us, boot.logstallcase.complete_ms, boot.logstallcase.panel_max_us, boot.logstallcase.panel_us, boot.metalcase.complete_ms, boot.metalcase.panel_max_us, boot.metalcase.panel_us, boot.metaldevicecase.complete_ms, boot.metaldevicecase.panel_max_us, boot.metaldevicecase.panel_us, boot.proctreecase.complete_ms, boot.proctreecase.panel_max_us, boot.proctreecase.panel_us, boot.shared-debug.complete_ms, boot.shared-debug.panel_max_us, boot.shared-debug.panel_us, boot.testcases-mkdir.complete_ms, boot.testcases-mkdir.panel_max_us, boot.testcases-mkdir.panel_us, boot.testcases-readdir.complete_ms, boot.testcases-readdir.panel_max_us, boot.testcases-readdir.panel_us, boot.testcases-watchdog.complete_ms, boot.testcases-watchdog.panel_max_us, boot.testcases-watchdog.panel_us, boot.testcases-window.complete_ms, boot.testcases-window.panel_max_us, boot.testcases-window.panel_us, boot.usbbreak.complete_ms, boot.usbbreak.panel_max_us, boot.usbbreak.panel_us, boot.usbload.complete_ms, boot.usbload.panel_max_us, boot.usbload.panel_us, boot.windowscase.complete_ms, boot.windowscase.panel_max_us, boot.windowscase.panel_us, latency.p99_us, tlb.latencycase.p50_ns, tlb.latencycase.p99_ns
07:04:53   3 number(s) on <a bench>; 0 past its record, 0 whose owner failed

07:04:53 [metal] 2 passed, 0 failed, 1 boot(s)

@Japabu

Japabu commented Oct 11, 2026

Copy link
Copy Markdown
Collaborator Author

Review of #855 at ad23112 against .claude/agents/reviewer.md, round 1.

Net lines (git diff --shortstat origin/main...ad23112a7): 19 files, +586 / −264. Production +393 / −216 (net +177), tests +190 / −17, issues/ +3 / −31; spot-checked against --numstat.

Judged with no finding:

  • Directory numbers kept per path in the VFS: right for ROOT. bcachefs/src/fs.rs is_dir says the namespace is flat, so neither mount has a directory record to number.
  • Drawing every number from file_cache's counter: no number is reused, so no two live objects on a volume share one.
  • Dropping a number when its directory ends: right. Keeping it would need memory that is never freed; deriving it from the path would collide.
  • tmpfs symlink numbers carried in Entry::Symlink across replace_rename: right.
  • SYS_STAT(path, follow) is the smallest ABI change. Neither a directory nor a symlink can be opened, and getting the identity from SYS_READDIR or SYS_READLINK would need two ABI changes and a listing of the parent. It also deletes libc's and std's probes.
  • The four drop sites: delete, rename and rmdir forget, and the truncating open does not. The truncating open holds the VFS lock across delete_file and create_file (kernel/src/object/ops.rs:120), so no observer sees its directory end.
  • revoke_selftest's delete_file is only compiled with boot-actuators.
  • Other evidence:
    • The T14 reading at ad23112: EXIT=0, 2 of 2.
    • The host-side dirnodes mutations at head's blob a51b0bd98: four, each red.
    • The VFS mutations at 056ee670a, which differs from head only in two lines of refactoring: four, each red at its own assertion.

BLOCKER

  • kernel/src/vfs.rs:343, kernel/pure/dirnodes.rs:34 — Vfs::dirs is a kernel map keyed by paths userland chooses, and it has no bound. created_dirs is capped by MAX_CREATED_DIRS (vfs.rs:195) and create_dir refuses past MAX_PATH (vfs.rs:578). A tmpfs file's name, though, is bounded only by MAX_USER_STR, 64 KiB (kernel/src/user_ptr.rs:27). So one file at a deep path, say /tmp/a/a/…/f, has up to ~32K ancestor directories, and a stat of each stores a key of up to 64 KiB. Kernel heap then grows with the square of the path's length, from a single file. An unlink of that file also walks every ancestor under the global VFS lock. The figures come from those constants; nothing was measured. Fix: bound the map the way created_dirs is bounded, refuse past the bound by name, host-test that refusal in dirnodes, and measure it.
  • kernel/src/vfs.rs:347 — this mutation would pass every test: self.is_mounted_dir(&mount, &subdir).unwrap_or(true) → false. It renumbers every held ancestor that still stands (/tmp, or a mkdir'd directory that still holds a file) on any unlink, rename or rmdir beneath it. Nothing goes red:
    • an_ended_directory_is_forgotten only asserts != after an ending;
    • its truncate arm goes through delete_file, which forgets nothing;
    • 210 compares no standing directory across a removal.
      The host test checks removed against an exists it supplies itself, never the VFS's own closure. Add a stat_identity arm (tests/toyos-rust-tests/src/bin/stat_identity.rs:79) in which a directory that still stands after a removal beneath it keeps its number: one case with a second file left behind, one with a mkdir'd directory whose only file is unlinked. Show that this mutation turns it red.
  • Evidence — four shared members that this change reaches have no green measurement at this head anywhere: 207_libc_names, readdir_bound, fs_share and app_view. 207_libc_names exercises readlink's ENOENT/EINVAL fallback, which now goes through SYS_STAT, and libc's readdir. readdir_bound lists at MAX_LIST_ENTRIES, and the listing now asks FileSystem::node for each entry. The probe has them red on both arms because of its environment, and the T14 reading at ad23112 ran only 210_stat_identity and stat_identity. Needed: a T14 reading at head whose judge words cover those four (the orchestrator's).

NOTE

SEND BACK

@Japabu

Japabu commented Oct 11, 2026

Copy link
Copy Markdown
Collaborator Author

host-mutations, part 1 of 1, the dirnodes host tests at head's kernel/pure/dirnodes.rs, green and eight mutations as checked patches, each red, exit 101

===== mutate.sh =====
#!/bin/sh
# Applies each mutation as a checked patch, runs the dirnodes host tests, restores.
S=$1; cd /Users/<user>/Dev/jan/toyos-dirid
cargo test -p kernel --lib dirnodes > $S/mut-0-green.log 2>&1; echo "mut-0-green: EXIT=$?"
for p in $S/mut-*.patch; do
  name=$(basename $p .patch)
  git apply --check $p || { echo "$name: patch does not apply"; exit 3; }
  git apply $p
  cargo test -p kernel --lib dirnodes > $S/$name.log 2>&1; code=$?
  git apply -R $p
  if [ $code -eq 0 ]; then verdict=GREEN; else verdict=RED; fi
  echo "$name: EXIT=$code $verdict"
done
git diff --quiet -- kernel/pure/dirnodes.rs && echo "dirnodes.rs restored"

===== mut-1-forgets-nothing.patch =====
diff --git a/kernel/pure/dirnodes.rs b/kernel/pure/dirnodes.rs
index 94ab07d76..fdb3ed029 100644
--- a/kernel/pure/dirnodes.rs
+++ b/kernel/pure/dirnodes.rs
@@ -64,7 +64,6 @@ impl Directories {
         }
         loop {
             if self.of.contains_key(at) && !exists(at) {
-                self.of.remove(at);
             }
             match at.rfind('/') {
                 Some(0) | None => return,

===== mut-2-parent-only.patch =====
diff --git a/kernel/pure/dirnodes.rs b/kernel/pure/dirnodes.rs
index 94ab07d76..769c36783 100644
--- a/kernel/pure/dirnodes.rs
+++ b/kernel/pure/dirnodes.rs
@@ -68,7 +68,8 @@ impl Directories {
             }
             match at.rfind('/') {
                 Some(0) | None => return,
-                Some(slash) => at = &at[..slash],
+                Some(slash) if at == path => at = &at[..slash],
+                Some(_) => return,
             }
         }
     }

===== mut-3-always-draws.patch =====
diff --git a/kernel/pure/dirnodes.rs b/kernel/pure/dirnodes.rs
index 94ab07d76..31ada4eee 100644
--- a/kernel/pure/dirnodes.rs
+++ b/kernel/pure/dirnodes.rs
@@ -35,9 +35,6 @@ impl Directories {
     /// and `mkdir` refuse it, and a new one past [`MAX_DIRECTORIES`]
     /// `ResourceExhausted`.
     pub fn of(&mut self, path: &str, draw: impl FnOnce() -> u64) -> Result<u64, SyscallError> {
-        if let Some(&number) = self.of.get(path) {
-            return Ok(number);
-        }
         if path.len() > MAX_PATH {
             return Err(SyscallError::InvalidArgument);
         }

===== mut-4-judges-unheld.patch =====
diff --git a/kernel/pure/dirnodes.rs b/kernel/pure/dirnodes.rs
index 94ab07d76..8fa9aedac 100644
--- a/kernel/pure/dirnodes.rs
+++ b/kernel/pure/dirnodes.rs
@@ -63,7 +63,7 @@ impl Directories {
             }
         }
         loop {
-            if self.of.contains_key(at) && !exists(at) {
+            if !exists(at) {
                 self.of.remove(at);
             }
             match at.rfind('/') {

===== mut-5-no-length-bound.patch =====
diff --git a/kernel/pure/dirnodes.rs b/kernel/pure/dirnodes.rs
index 94ab07d76..9b570bee2 100644
--- a/kernel/pure/dirnodes.rs
+++ b/kernel/pure/dirnodes.rs
@@ -38,9 +38,6 @@ impl Directories {
         if let Some(&number) = self.of.get(path) {
             return Ok(number);
         }
-        if path.len() > MAX_PATH {
-            return Err(SyscallError::InvalidArgument);
-        }
         if self.of.len() >= MAX_DIRECTORIES {
             return Err(SyscallError::ResourceExhausted);
         }

===== mut-6-no-count-bound.patch =====
diff --git a/kernel/pure/dirnodes.rs b/kernel/pure/dirnodes.rs
index 94ab07d76..1e3954536 100644
--- a/kernel/pure/dirnodes.rs
+++ b/kernel/pure/dirnodes.rs
@@ -41,9 +41,6 @@ impl Directories {
         if path.len() > MAX_PATH {
             return Err(SyscallError::InvalidArgument);
         }
-        if self.of.len() >= MAX_DIRECTORIES {
-            return Err(SyscallError::ResourceExhausted);
-        }
         let number = draw();
         self.of.insert(String::from(path), number);
         Ok(number)

===== mut-7-count-off-by-one.patch =====
diff --git a/kernel/pure/dirnodes.rs b/kernel/pure/dirnodes.rs
index 94ab07d76..e648a74da 100644
--- a/kernel/pure/dirnodes.rs
+++ b/kernel/pure/dirnodes.rs
@@ -41,7 +41,7 @@ impl Directories {
         if path.len() > MAX_PATH {
             return Err(SyscallError::InvalidArgument);
         }
-        if self.of.len() >= MAX_DIRECTORIES {
+        if self.of.len() > MAX_DIRECTORIES {
             return Err(SyscallError::ResourceExhausted);
         }
         let number = draw();

===== mut-8-walk-starts-short.patch =====
diff --git a/kernel/pure/dirnodes.rs b/kernel/pure/dirnodes.rs
index 94ab07d76..172bf7bed 100644
--- a/kernel/pure/dirnodes.rs
+++ b/kernel/pure/dirnodes.rs
@@ -57,7 +57,7 @@ impl Directories {
     pub fn removed(&mut self, path: &str, mut exists: impl FnMut(&str) -> bool) {
         let mut at = path;
         if at.len() > MAX_PATH {
-            match at.as_bytes()[..=MAX_PATH].iter().rposition(|&b| b == b'/') {
+            match at.as_bytes()[..MAX_PATH].iter().rposition(|&b| b == b'/') {
                 Some(0) | None => return,
                 Some(slash) => at = &at[..slash],
             }

===== mutations.log =====
mut-0-green: EXIT=0
mut-1-forgets-nothing: EXIT=101 RED
mut-2-parent-only: EXIT=101 RED
mut-3-always-draws: EXIT=101 RED
mut-4-judges-unheld: EXIT=101 RED
mut-5-no-length-bound: EXIT=101 RED
mut-6-no-count-bound: EXIT=101 RED
mut-7-count-off-by-one: EXIT=101 RED
mut-8-walk-starts-short: EXIT=101 RED
dirnodes.rs restored

===== host-dirnodes.log =====
   Compiling toyos-abi v0.16.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-abi)
   Compiling kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel)
    Finished `test` profile [optimized + debuginfo] target(s) in 2.85s
     Running unittests pure/lib.rs (target/debug/deps/kernel-e2c350bea2dc3b8f)

running 7 tests
test dirnodes::tests::a_directory_is_one_number_and_two_are_two ... ok
test dirnodes::tests::a_removal_forgets_every_directory_it_ended_and_no_other ... ok
test dirnodes::tests::a_number_lasts_exactly_as_long_as_its_directory ... ok
test dirnodes::tests::a_removal_past_max_path_judges_the_numbered_above_it ... ok
test dirnodes::tests::a_path_past_max_path_is_refused_invalid ... ok
test dirnodes::tests::only_a_held_number_is_judged ... ok
test dirnodes::tests::past_max_directories_a_new_directory_is_refused_exhausted ... ok

test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 179 filtered out; finished in 0.01s


===== mut-0-green.log =====
   Compiling kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel)
    Finished `test` profile [optimized + debuginfo] target(s) in 0.50s
     Running unittests pure/lib.rs (target/debug/deps/kernel-e2c350bea2dc3b8f)

running 7 tests
test dirnodes::tests::only_a_held_number_is_judged ... ok
test dirnodes::tests::a_directory_is_one_number_and_two_are_two ... ok
test dirnodes::tests::a_path_past_max_path_is_refused_invalid ... ok
test dirnodes::tests::a_number_lasts_exactly_as_long_as_its_directory ... ok
test dirnodes::tests::a_removal_past_max_path_judges_the_numbered_above_it ... ok
test dirnodes::tests::a_removal_forgets_every_directory_it_ended_and_no_other ... ok
test dirnodes::tests::past_max_directories_a_new_directory_is_refused_exhausted ... ok

test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 179 filtered out; finished in 0.01s


===== mut-1-forgets-nothing.log =====
   Compiling kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel)
    Finished `test` profile [optimized + debuginfo] target(s) in 2.07s
     Running unittests pure/lib.rs (target/debug/deps/kernel-e2c350bea2dc3b8f)

running 7 tests
test dirnodes::tests::a_directory_is_one_number_and_two_are_two ... ok
test dirnodes::tests::a_path_past_max_path_is_refused_invalid ... ok
test dirnodes::tests::only_a_held_number_is_judged ... ok
test dirnodes::tests::a_removal_past_max_path_judges_the_numbered_above_it ... FAILED
test dirnodes::tests::a_number_lasts_exactly_as_long_as_its_directory ... FAILED
test dirnodes::tests::a_removal_forgets_every_directory_it_ended_and_no_other ... FAILED
test dirnodes::tests::past_max_directories_a_new_directory_is_refused_exhausted ... FAILED

failures:

---- dirnodes::tests::a_removal_past_max_path_judges_the_numbered_above_it stdout ----

thread 'dirnodes::tests::a_removal_past_max_path_judges_the_numbered_above_it' (280079260) panicked at kernel/pure/dirnodes.rs:200:9:
assertion `left != right` failed: the directory MAX_PATH long ended and kept its number
  left: Ok(2)
 right: Ok(2)

---- dirnodes::tests::a_number_lasts_exactly_as_long_as_its_directory stdout ----

thread 'dirnodes::tests::a_number_lasts_exactly_as_long_as_its_directory' (280079257) panicked at kernel/pure/dirnodes.rs:120:9:
assertion `left != right` failed: a directory made again where one was removed is another directory
  left: 1
 right: 1
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

---- dirnodes::tests::a_removal_forgets_every_directory_it_ended_and_no_other stdout ----

thread 'dirnodes::tests::a_removal_forgets_every_directory_it_ended_and_no_other' (280079259) panicked at kernel/pure/dirnodes.rs:138:9:
assertion failed: ![tmp, a, b, sibling].contains(&a2) && ![tmp, a, b, sibling, a2].contains(&b2)

---- dirnodes::tests::past_max_directories_a_new_directory_is_refused_exhausted stdout ----

thread 'dirnodes::tests::past_max_directories_a_new_directory_is_refused_exhausted' (280079262) panicked at kernel/pure/dirnodes.rs:183:9:
assertion failed: dirs.of("/tmp/new", &mut draw).is_ok()


failures:
    dirnodes::tests::a_number_lasts_exactly_as_long_as_its_directory
    dirnodes::tests::a_removal_forgets_every_directory_it_ended_and_no_other
    dirnodes::tests::a_removal_past_max_path_judges_the_numbered_above_it
    dirnodes::tests::past_max_directories_a_new_directory_is_refused_exhausted

test result: FAILED. 3 passed; 4 failed; 0 ignored; 0 measured; 179 filtered out; finished in 0.01s

error: test failed, to rerun pass `-p kernel --lib`

===== mut-2-parent-only.log =====
   Compiling kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel)
    Finished `test` profile [optimized + debuginfo] target(s) in 2.16s
     Running unittests pure/lib.rs (target/debug/deps/kernel-e2c350bea2dc3b8f)

running 7 tests
test dirnodes::tests::a_directory_is_one_number_and_two_are_two ... ok
test dirnodes::tests::a_removal_past_max_path_judges_the_numbered_above_it ... ok
test dirnodes::tests::a_path_past_max_path_is_refused_invalid ... ok
test dirnodes::tests::a_number_lasts_exactly_as_long_as_its_directory ... ok
test dirnodes::tests::a_removal_forgets_every_directory_it_ended_and_no_other ... FAILED
test dirnodes::tests::only_a_held_number_is_judged ... FAILED
test dirnodes::tests::past_max_directories_a_new_directory_is_refused_exhausted ... ok

failures:

---- dirnodes::tests::a_removal_forgets_every_directory_it_ended_and_no_other stdout ----

thread 'dirnodes::tests::a_removal_forgets_every_directory_it_ended_and_no_other' (280079670) panicked at kernel/pure/dirnodes.rs:140:9:
assertion failed: ![tmp, a, b, sibling].contains(&a2) && ![tmp, a, b, sibling, a2].contains(&b2)

---- dirnodes::tests::only_a_held_number_is_judged stdout ----

thread 'dirnodes::tests::only_a_held_number_is_judged' (280079672) panicked at kernel/pure/dirnodes.rs:156:9:
assertion `left == right` failed
  left: []
 right: ["/tmp/a"]
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    dirnodes::tests::a_removal_forgets_every_directory_it_ended_and_no_other
    dirnodes::tests::only_a_held_number_is_judged

test result: FAILED. 5 passed; 2 failed; 0 ignored; 0 measured; 179 filtered out; finished in 0.01s

error: test failed, to rerun pass `-p kernel --lib`

===== mut-3-always-draws.log =====
   Compiling kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel)
    Finished `test` profile [optimized + debuginfo] target(s) in 1.51s
     Running unittests pure/lib.rs (target/debug/deps/kernel-e2c350bea2dc3b8f)

running 7 tests
test dirnodes::tests::only_a_held_number_is_judged ... ok
test dirnodes::tests::a_path_past_max_path_is_refused_invalid ... ok
test dirnodes::tests::a_removal_forgets_every_directory_it_ended_and_no_other ... FAILED
test dirnodes::tests::a_removal_past_max_path_judges_the_numbered_above_it ... FAILED
test dirnodes::tests::a_number_lasts_exactly_as_long_as_its_directory ... FAILED
test dirnodes::tests::a_directory_is_one_number_and_two_are_two ... FAILED
test dirnodes::tests::past_max_directories_a_new_directory_is_refused_exhausted ... FAILED

failures:

---- dirnodes::tests::a_removal_forgets_every_directory_it_ended_and_no_other stdout ----

thread 'dirnodes::tests::a_removal_forgets_every_directory_it_ended_and_no_other' (280079948) panicked at kernel/pure/dirnodes.rs:91:9:
a held number is never drawn again, and a refused one never drawn
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

---- dirnodes::tests::a_removal_past_max_path_judges_the_numbered_above_it stdout ----

thread 'dirnodes::tests::a_removal_past_max_path_judges_the_numbered_above_it' (280079949) panicked at kernel/pure/dirnodes.rs:91:9:
a held number is never drawn again, and a refused one never drawn

---- dirnodes::tests::a_number_lasts_exactly_as_long_as_its_directory stdout ----

thread 'dirnodes::tests::a_number_lasts_exactly_as_long_as_its_directory' (280079946) panicked at kernel/pure/dirnodes.rs:91:9:
a held number is never drawn again, and a refused one never drawn

---- dirnodes::tests::a_directory_is_one_number_and_two_are_two stdout ----

thread 'dirnodes::tests::a_directory_is_one_number_and_two_are_two' (280079945) panicked at kernel/pure/dirnodes.rs:91:9:
a held number is never drawn again, and a refused one never drawn

---- dirnodes::tests::past_max_directories_a_new_directory_is_refused_exhausted stdout ----

thread 'dirnodes::tests::past_max_directories_a_new_directory_is_refused_exhausted' (280079951) panicked at kernel/pure/dirnodes.rs:178:9:
assertion `left == right` failed
  left: Err(ResourceExhausted)
 right: Ok(1)


failures:
    dirnodes::tests::a_directory_is_one_number_and_two_are_two
    dirnodes::tests::a_number_lasts_exactly_as_long_as_its_directory
    dirnodes::tests::a_removal_forgets_every_directory_it_ended_and_no_other
    dirnodes::tests::a_removal_past_max_path_judges_the_numbered_above_it
    dirnodes::tests::past_max_directories_a_new_directory_is_refused_exhausted

test result: FAILED. 2 passed; 5 failed; 0 ignored; 0 measured; 179 filtered out; finished in 0.01s

error: test failed, to rerun pass `-p kernel --lib`

===== mut-4-judges-unheld.log =====
   Compiling kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel)
    Finished `test` profile [optimized + debuginfo] target(s) in 1.53s
     Running unittests pure/lib.rs (target/debug/deps/kernel-e2c350bea2dc3b8f)

running 7 tests
test dirnodes::tests::a_path_past_max_path_is_refused_invalid ... ok
test dirnodes::tests::a_removal_past_max_path_judges_the_numbered_above_it ... ok
test dirnodes::tests::a_directory_is_one_number_and_two_are_two ... ok
test dirnodes::tests::a_removal_forgets_every_directory_it_ended_and_no_other ... ok
test dirnodes::tests::a_number_lasts_exactly_as_long_as_its_directory ... ok
test dirnodes::tests::only_a_held_number_is_judged ... FAILED
test dirnodes::tests::past_max_directories_a_new_directory_is_refused_exhausted ... ok

failures:

---- dirnodes::tests::only_a_held_number_is_judged stdout ----

thread 'dirnodes::tests::only_a_held_number_is_judged' (280080247) panicked at kernel/pure/dirnodes.rs:155:9:
assertion `left == right` failed
  left: ["/tmp/a/b/c/f", "/tmp/a/b/c", "/tmp/a/b", "/tmp/a", "/tmp"]
 right: ["/tmp/a"]
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    dirnodes::tests::only_a_held_number_is_judged

test result: FAILED. 6 passed; 1 failed; 0 ignored; 0 measured; 179 filtered out; finished in 0.01s

error: test failed, to rerun pass `-p kernel --lib`

===== mut-5-no-length-bound.log =====
   Compiling kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel)
    Finished `test` profile [optimized + debuginfo] target(s) in 1.51s
     Running unittests pure/lib.rs (target/debug/deps/kernel-e2c350bea2dc3b8f)

running 7 tests
test dirnodes::tests::only_a_held_number_is_judged ... ok
test dirnodes::tests::a_directory_is_one_number_and_two_are_two ... ok
test dirnodes::tests::a_removal_past_max_path_judges_the_numbered_above_it ... ok
test dirnodes::tests::a_removal_forgets_every_directory_it_ended_and_no_other ... ok
test dirnodes::tests::a_number_lasts_exactly_as_long_as_its_directory ... ok
test dirnodes::tests::a_path_past_max_path_is_refused_invalid ... FAILED
test dirnodes::tests::past_max_directories_a_new_directory_is_refused_exhausted ... ok

failures:

---- dirnodes::tests::a_path_past_max_path_is_refused_invalid stdout ----

thread 'dirnodes::tests::a_path_past_max_path_is_refused_invalid' (280080535) panicked at kernel/pure/dirnodes.rs:91:9:
a held number is never drawn again, and a refused one never drawn
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    dirnodes::tests::a_path_past_max_path_is_refused_invalid

test result: FAILED. 6 passed; 1 failed; 0 ignored; 0 measured; 179 filtered out; finished in 0.01s

error: test failed, to rerun pass `-p kernel --lib`

===== mut-6-no-count-bound.log =====
   Compiling kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel)
    Finished `test` profile [optimized + debuginfo] target(s) in 0.66s
     Running unittests pure/lib.rs (target/debug/deps/kernel-e2c350bea2dc3b8f)

running 7 tests
test dirnodes::tests::a_directory_is_one_number_and_two_are_two ... ok
test dirnodes::tests::only_a_held_number_is_judged ... ok
test dirnodes::tests::a_number_lasts_exactly_as_long_as_its_directory ... ok
test dirnodes::tests::a_removal_forgets_every_directory_it_ended_and_no_other ... ok
test dirnodes::tests::a_path_past_max_path_is_refused_invalid ... ok
test dirnodes::tests::a_removal_past_max_path_judges_the_numbered_above_it ... ok
test dirnodes::tests::past_max_directories_a_new_directory_is_refused_exhausted ... FAILED

failures:

---- dirnodes::tests::past_max_directories_a_new_directory_is_refused_exhausted stdout ----

thread 'dirnodes::tests::past_max_directories_a_new_directory_is_refused_exhausted' (280080809) panicked at kernel/pure/dirnodes.rs:91:9:
a held number is never drawn again, and a refused one never drawn
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    dirnodes::tests::past_max_directories_a_new_directory_is_refused_exhausted

test result: FAILED. 6 passed; 1 failed; 0 ignored; 0 measured; 179 filtered out; finished in 0.01s

error: test failed, to rerun pass `-p kernel --lib`

===== mut-7-count-off-by-one.log =====
   Compiling kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel)
    Finished `test` profile [optimized + debuginfo] target(s) in 0.69s
     Running unittests pure/lib.rs (target/debug/deps/kernel-e2c350bea2dc3b8f)

running 7 tests
test dirnodes::tests::a_directory_is_one_number_and_two_are_two ... ok
test dirnodes::tests::a_path_past_max_path_is_refused_invalid ... ok
test dirnodes::tests::a_number_lasts_exactly_as_long_as_its_directory ... ok
test dirnodes::tests::a_removal_past_max_path_judges_the_numbered_above_it ... ok
test dirnodes::tests::only_a_held_number_is_judged ... ok
test dirnodes::tests::a_removal_forgets_every_directory_it_ended_and_no_other ... ok
test dirnodes::tests::past_max_directories_a_new_directory_is_refused_exhausted ... FAILED

failures:

---- dirnodes::tests::past_max_directories_a_new_directory_is_refused_exhausted stdout ----

thread 'dirnodes::tests::past_max_directories_a_new_directory_is_refused_exhausted' (280081092) panicked at kernel/pure/dirnodes.rs:94:9:
a held number is never drawn again, and a refused one never drawn
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    dirnodes::tests::past_max_directories_a_new_directory_is_refused_exhausted

test result: FAILED. 6 passed; 1 failed; 0 ignored; 0 measured; 179 filtered out; finished in 0.01s

error: test failed, to rerun pass `-p kernel --lib`

===== mut-8-walk-starts-short.log =====
   Compiling kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel)
    Finished `test` profile [optimized + debuginfo] target(s) in 0.66s
     Running unittests pure/lib.rs (target/debug/deps/kernel-e2c350bea2dc3b8f)

running 7 tests
test dirnodes::tests::a_number_lasts_exactly_as_long_as_its_directory ... ok
test dirnodes::tests::a_directory_is_one_number_and_two_are_two ... ok
test dirnodes::tests::a_removal_forgets_every_directory_it_ended_and_no_other ... ok
test dirnodes::tests::only_a_held_number_is_judged ... ok
test dirnodes::tests::a_path_past_max_path_is_refused_invalid ... ok
test dirnodes::tests::a_removal_past_max_path_judges_the_numbered_above_it ... FAILED
test dirnodes::tests::past_max_directories_a_new_directory_is_refused_exhausted ... ok

failures:

---- dirnodes::tests::a_removal_past_max_path_judges_the_numbered_above_it stdout ----

thread 'dirnodes::tests::a_removal_past_max_path_judges_the_numbered_above_it' (280081356) panicked at kernel/pure/dirnodes.rs:201:9:
assertion `left != right` failed: the directory MAX_PATH long ended and kept its number
  left: Ok(2)
 right: Ok(2)
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    dirnodes::tests::a_removal_past_max_path_judges_the_numbered_above_it

test result: FAILED. 6 passed; 1 failed; 0 ignored; 0 measured; 179 filtered out; finished in 0.01s

error: test failed, to rerun pass `-p kernel --lib`

@Japabu

Japabu commented Oct 11, 2026

Copy link
Copy Markdown
Collaborator Author

bound-measurement, part 1 of 1, a throwaway host crate (never committed) that includes head's kernel/pure/dirnodes.rs verbatim and measures the bound at its worst, release build, exit 0

===== Cargo.toml =====
[package]
name = "dirnodes-measure"
version = "0.0.0"
edition = "2021"
publish = false

[workspace]

[dependencies]
toyos-abi = { path = "/Users/<user>/Dev/jan/toyos-dirid/toyos-abi" }

[profile.release]
debug = false

===== main.rs =====
//! THROWAWAY (never committed): what `kernel::dirnodes`'s bounds cost at their
//! worst, head's file included verbatim.
extern crate alloc;

#[path = "/Users/<user>/Dev/jan/toyos-dirid/kernel/pure/dirnodes.rs"]
mod dirnodes;

use dirnodes::{Directories, MAX_DIRECTORIES};
use std::alloc::{GlobalAlloc, Layout, System};
use std::sync::atomic::{AtomicUsize, Ordering};
use std::time::Instant;
use toyos_abi::syscall::MAX_PATH;

struct Counting;
static LIVE: AtomicUsize = AtomicUsize::new(0);
// SAFETY: forwards to `System` after a count.
unsafe impl GlobalAlloc for Counting {
    unsafe fn alloc(&self, l: Layout) -> *mut u8 {
        LIVE.fetch_add(l.size(), Ordering::Relaxed);
        unsafe { System.alloc(l) }
    }
    unsafe fn dealloc(&self, p: *mut u8, l: Layout) {
        LIVE.fetch_sub(l.size(), Ordering::Relaxed);
        unsafe { System.dealloc(p, l) }
    }
}
#[global_allocator]
static A: Counting = Counting;

fn main() {
    let mut next = 0u64;
    let mut draw = || { next += 1; next };

    // 1. Full, every key MAX_PATH long.
    let before = LIVE.load(Ordering::Relaxed);
    let mut dirs = Directories::new();
    let t = Instant::now();
    for i in 0..MAX_DIRECTORIES {
        let key = format!("/tmp/{i:05}{}", "x".repeat(MAX_PATH - 10));
        assert_eq!(key.len(), MAX_PATH);
        dirs.of(&key, &mut draw).unwrap();
    }
    let fill = t.elapsed();
    let held = LIVE.load(Ordering::Relaxed) - before;
    println!("MEASURE full map: {MAX_DIRECTORIES} keys of {MAX_PATH} bytes hold {held} bytes ({:.1} MiB), filled in {fill:?}", held as f64 / 1048576.0);
    let t = Instant::now();
    let refused = dirs.of(&format!("/tmp/new{}", "y".repeat(MAX_PATH - 8)), &mut draw);
    println!("MEASURE a new key on the full map: {refused:?} in {:?}", t.elapsed());
    let t = Instant::now();
    let refused = dirs.of(&format!("/tmp/{}", "z".repeat(64 * 1024)), &mut draw);
    println!("MEASURE a 64 KiB key: {refused:?} in {:?}", t.elapsed());
    drop(dirs);

    // 2. The longest walk: every ancestor of one path held up to MAX_PATH,
    // the map filled beside them, a removal beneath a 64 KiB name.
    let mut dirs = Directories::new();
    let mut chain = String::from("/tmp");
    let mut held = 1;
    dirs.of(&chain, &mut draw).unwrap();
    while chain.len() + 2 <= MAX_PATH {
        chain.push_str("/a");
        dirs.of(&chain, &mut draw).unwrap();
        held += 1;
    }
    let ancestors = held;
    let mut i = 0;
    while held < MAX_DIRECTORIES {
        dirs.of(&format!("{}/{i:05}", &chain[..chain.len() - 6]), &mut draw).unwrap();
        held += 1;
        i += 1;
    }
    let deep = format!("{chain}{}", "/a".repeat((64 * 1024 - chain.len()) / 2));
    let mut asked = 0;
    let t = Instant::now();
    dirs.removed(&deep, |_| { asked += 1; true });
    println!("MEASURE removal beneath a {}-byte name, {ancestors} held ancestors in a map of {held}: {asked} judged, walked in {:?}", deep.len(), t.elapsed());
    let mut asked = 0;
    let t = Instant::now();
    dirs.removed(&deep, |_| { asked += 1; false });
    println!("MEASURE the same removal ending all of them: {asked} judged and forgotten in {:?}", t.elapsed());
    let t = Instant::now();
    dirs.removed(&deep, |_| true);
    println!("MEASURE the same removal with none of them held: walked in {:?}", t.elapsed());
}

===== measure.log =====
     Locking 1 package to latest compatible version
   Compiling toyos-abi v0.16.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-abi)
   Compiling dirnodes-measure v0.0.0 (/private/tmp/claude-502/-Users-<user>-Dev-jan-toyos/80e90c3a-7449-46b8-84cc-b59e9dd31ae9/scratchpad/dirid3/measure)
    Finished `release` profile [optimized] target(s) in 0.60s
     Running `target/release/dirnodes-measure`
MEASURE full map: 16384 keys of 4096 bytes hold 68150016 bytes (65.0 MiB), filled in 20.212917ms
MEASURE a new key on the full map: Err(ResourceExhausted) in 2.5µs
MEASURE a 64 KiB key: Err(InvalidArgument) in 31.333µs
MEASURE removal beneath a 65536-byte name, 2047 held ancestors in a map of 16384: 2047 judged, walked in 1.385666ms
MEASURE the same removal ending all of them: 2047 judged and forgotten in 3.002ms
MEASURE the same removal with none of them held: walked in 453.667µs
EXIT=0

@Japabu

Japabu commented Oct 11, 2026

Copy link
Copy Markdown
Collaborator Author

vfs-mutations, part 1 of 1, the throwaway QEMU probe at tree 79abe77b9 (2c645ce; ed538e7 differs from it only in #838's acpiserver and harness files): green, and six kernel mutations, each reds stat_identity at its own assertion

===== probe-harness.patch =====
diff --git a/tests/toyos.rs b/tests/toyos.rs
index 8cedebc6c..825a5dac9 100644
--- a/tests/toyos.rs
+++ b/tests/toyos.rs
@@ -345,6 +345,7 @@ const MACHINE_TESTS: &[&str] = &[
     "https_fetch",
     // The nested-NMI report is a raw write to the 16550, which the T14 does not
     // have.
+    "dirid_probe",
     "nested_nmi_is_loud",
     // The power-off itself: the metal loop reaches the T14 over `ssh` and has
     // no way to turn it back on, so only a machine QEMU reports stopping can
@@ -3872,6 +3873,7 @@ fn run_machine_test(name: &str, test_config: &Path) -> Result<(), String> {
         "netstack_streams_e1000e" => netstack_streams(qemu::Profile::HeadlessE1000e),
         "libc_sockets" => libc_sockets(),
         "https_fetch" => https_fetch(),
+        "dirid_probe" => dirid_probe(test_config),
         "nested_nmi_is_loud" => faults::nested_nmi_is_loud(test_config),
         "machine_shutdown" => power::machine_shutdown(test_config),
         "acpi_power_button" => power::acpi_power_button(test_config),
@@ -6619,3 +6621,31 @@ fn main() {
     summary.lines().for_each(|line| eprintln!("{line}"));
     run.exit(tally.exit_code());
 }
+
+/// THROWAWAY (never committed): the shared members a stat change reaches, in QEMU.
+fn dirid_probe(test_config: &Path) -> Result<(), String> {
+    let c_names: Vec<String> = std::env::var("DIRID_C").unwrap().split(',').map(String::from).collect();
+    let rs: Vec<String> = std::env::var("DIRID_RS").unwrap().split(',').map(String::from).collect();
+    let c_bins = compile_c_tests(&c_names);
+    let rust_dir = Path::new(env!("CARGO_MANIFEST_DIR")).join("tests/toyos-rust-tests");
+    let rust_bins: Vec<(String, Vec<u8>)> =
+        rs.iter().map(|n| (n.clone(), qemu::build_toyos_bin(qemu::SUITE_ARCH, &rust_dir, n))).collect();
+    let mut q = QemuInstance::boot_with_options(test_config, &c_bins, &rust_bins, BootOptions::default());
+    let mut report = String::new();
+    let mut red = 0;
+    for name in &c_names {
+        let r = q.run_test(&format!("test_c_{name}"), Duration::from_secs(120));
+        let want = c_expectation(name).unwrap_or_default();
+        let ok = r.error.is_none() && r.exit_code == Some(0) && r.stdout.trim_end() == want.trim_end();
+        if !ok { red += 1; }
+        report.push_str(&format!("C {name}: {} exit={:?} err={:?}\n--- got ---\n{}--- want ---\n{}\n", if ok { "PASS" } else { "FAIL" }, r.exit_code, r.error, r.stdout, want));
+    }
+    for name in &rs {
+        let r = q.run_test(&format!("test_rs_{name}"), Duration::from_secs(300));
+        let ok = r.error.is_none() && r.exit_code == Some(0);
+        if !ok { red += 1; }
+        report.push_str(&format!("RS {name}: {} exit={:?} err={:?}\n{}\n", if ok { "PASS" } else { "FAIL" }, r.exit_code, r.error, r.stdout));
+    }
+    fs::write(std::env::var("DIRID_OUT").unwrap(), &report).unwrap();
+    if red == 0 { Ok(()) } else { Err(format!("{red} members red; report at $DIRID_OUT")) }
+}

===== kmutate.sh =====
#!/bin/sh
# The throwaway probe harness, then the green arm and each kernel mutation as a
# checked patch: built, 210 and stat_identity run in QEMU, reported, restored.
S=$1; cd /Users/<user>/Dev/jan/toyos-dirid
echo "tree $(git rev-parse HEAD^{tree}) at $(git rev-parse --short HEAD)"
git apply --check $S/probe-harness.patch && git apply $S/probe-harness.patch || exit 3
export DIRID_C=210_stat_identity DIRID_RS=stat_identity
run() {
  DIRID_OUT=$S/kmut-$1.report cargo test --test toyos-build -- dirid_probe > $S/kmut-$1.log 2>&1; code=$?
  echo "$1: EXIT=$code; $(grep '^C 210' $S/kmut-$1.report); $(grep '^RS stat_identity' $S/kmut-$1.report)"
  grep -n "panicked\|renumbered\|left /tmp" $S/kmut-$1.report
}
run green
for m in standing delete rename rmdir truncate; do
  git apply --check $S/kmut-$m.patch || { echo "kmut-$m does not apply"; exit 3; }
  git apply $S/kmut-$m.patch
  run $m
  git apply -R $S/kmut-$m.patch
done
git apply -R $S/probe-harness.patch
git diff --quiet && echo "tree restored to the index"

===== kmutate2.sh =====
#!/bin/sh
# The forget judging a directory by its mount alone, blind to `created_dirs`.
S=$1; cd /Users/<user>/Dev/jan/toyos-dirid
echo "tree $(git rev-parse HEAD^{tree}) at $(git rev-parse --short HEAD)"
git apply --check $S/probe-harness.patch && git apply $S/probe-harness.patch || exit 3
git apply --check $S/kmut-standing-made.patch && git apply $S/kmut-standing-made.patch || exit 3
DIRID_C=210_stat_identity DIRID_RS=stat_identity DIRID_OUT=$S/kmut-standing-made.report cargo test --test toyos-build -- dirid_probe > $S/kmut-standing-made.log 2>&1; code=$?
echo "standing-made: EXIT=$code; $(grep '^C 210' $S/kmut-standing-made.report); $(grep '^RS stat_identity' $S/kmut-standing-made.report)"
grep -n "panicked\|renumbered\|left /tmp" $S/kmut-standing-made.report
git apply -R $S/kmut-standing-made.patch
git apply -R $S/probe-harness.patch
git diff --quiet && echo "tree restored to the index"

===== kmut-standing.patch =====
diff --git a/kernel/src/vfs.rs b/kernel/src/vfs.rs
index b8a4d0a4f..3f4cfd8f7 100644
--- a/kernel/src/vfs.rs
+++ b/kernel/src/vfs.rs
@@ -328,7 +328,7 @@ impl Vfs {
         let mut dirs = core::mem::take(&mut self.dirs);
         dirs.removed(path, |dir| {
             let (mount, subdir) = self.resolve_path("/", dir);
-            self.is_mounted_dir(&mount, &subdir).unwrap_or(true)
+            self.is_mounted_dir(&mount, &subdir).map_or(false, |_| false)
         });
         self.dirs = dirs;
     }

===== kmut-standing-made.patch =====
diff --git a/kernel/src/vfs.rs b/kernel/src/vfs.rs
index b8a4d0a4f..5793a1297 100644
--- a/kernel/src/vfs.rs
+++ b/kernel/src/vfs.rs
@@ -328,7 +328,8 @@ impl Vfs {
         let mut dirs = core::mem::take(&mut self.dirs);
         dirs.removed(path, |dir| {
             let (mount, subdir) = self.resolve_path("/", dir);
-            self.is_mounted_dir(&mount, &subdir).unwrap_or(true)
+            let Some(point) = self.point(&mount) else { return false };
+            subdir.is_empty() || self.mounts[point.fs].fs.is_dir(&point.path(&subdir)).unwrap_or(true)
         });
         self.dirs = dirs;
     }

===== kmut-delete.patch =====
diff --git a/kernel/src/vfs.rs b/kernel/src/vfs.rs
index b8a4d0a4f..966801803 100644
--- a/kernel/src/vfs.rs
+++ b/kernel/src/vfs.rs
@@ -665,7 +665,6 @@ impl Vfs {
     /// Unlink `path`, and forget the node of every directory that ended with it.
     pub fn delete(&mut self, path: &str) -> Result<(), SyscallError> {
         self.delete_file(path)?;
-        self.forget_ended_dirs(&normalize(path));
         Ok(())
     }
 

===== kmut-rename.patch =====
diff --git a/kernel/src/vfs.rs b/kernel/src/vfs.rs
index b8a4d0a4f..f3f24c315 100644
--- a/kernel/src/vfs.rs
+++ b/kernel/src/vfs.rs
@@ -558,7 +558,6 @@ impl Vfs {
         let point = self.point(&old_mount).ok_or(SyscallError::NotFound)?;
         let (old_fs_path, new_fs_path) = (point.path(&old_file), point.path(&new_file));
         self.mounts[point.fs].fs.rename(&old_fs_path, &new_fs_path)?;
-        self.forget_ended_dirs(&directory(&old_mount, &old_file));
         Ok(())
     }
 

===== kmut-rmdir.patch =====
diff --git a/kernel/src/vfs.rs b/kernel/src/vfs.rs
index b8a4d0a4f..dbea913e7 100644
--- a/kernel/src/vfs.rs
+++ b/kernel/src/vfs.rs
@@ -592,7 +592,6 @@ impl Vfs {
     /// file, and a non-empty directory are each refused, not reported as removed.
     pub fn remove_dir(&mut self, path: &str) -> Result<(), SyscallError> {
         self.remove_empty_dir(path)?;
-        self.forget_ended_dirs(&normalize(path));
         Ok(())
     }
 

===== kmut-truncate.patch =====
diff --git a/kernel/src/object/ops.rs b/kernel/src/object/ops.rs
index 959490458..4d9fc949b 100644
--- a/kernel/src/object/ops.rs
+++ b/kernel/src/object/ops.rs
@@ -117,7 +117,7 @@ pub fn open(table: &mut HandleTable, path: &str, flags: OpenFlags) -> u64 {
             let mtime = crate::clock::mtime_now();
             // `NotFound` is not a failure: truncating past a name that was not there is fine.
             // Any `vfs.delete_file` error other than `NotFound` is propagated, not swallowed: truncating past it could silently create a file over one the mount could not confirm was missing.
-            match vfs.delete_file(target.as_str()) {
+            match vfs.delete(target.as_str()) {
                 Ok(()) | Err(SyscallError::NotFound) => {}
                 Err(e) => return e.to_u64(),
             }

===== kmutations.log =====
tree 79abe77b9076b2882067b47621a2422f3f17220c at 2c645ce8c
green: EXIT=0; C 210_stat_identity: PASS exit=Some(0) err=None; RS stat_identity: PASS exit=Some(0) err=None
standing: EXIT=1; C 210_stat_identity: PASS exit=Some(0) err=None; RS stat_identity: FAIL exit=Some(101) err=None
47:thread 'main' (1) panicked at src/bin/stat_identity.rs:122:5:
48:assertion `left == right` failed: an unlink beside a second file renumbered /tmp/stat-identity-stands
delete: EXIT=1; C 210_stat_identity: PASS exit=Some(0) err=None; RS stat_identity: FAIL exit=Some(101) err=None
47:thread 'main' (1) panicked at src/bin/stat_identity.rs:89:9:
48:assertion `left != right` failed: an unlink left /tmp/stat-identity-ended's number to the directory made there next
rename: EXIT=1; C 210_stat_identity: PASS exit=Some(0) err=None; RS stat_identity: FAIL exit=Some(101) err=None
47:thread 'main' (1) panicked at src/bin/stat_identity.rs:89:9:
48:assertion `left != right` failed: a rename left /tmp/stat-identity-ended's number to the directory made there next
rmdir: EXIT=1; C 210_stat_identity: PASS exit=Some(0) err=None; RS stat_identity: FAIL exit=Some(101) err=None
47:thread 'main' (1) panicked at src/bin/stat_identity.rs:89:9:
48:assertion `left != right` failed: rmdir left /tmp/stat-identity-ended's number to the directory made there next
truncate: EXIT=1; C 210_stat_identity: PASS exit=Some(0) err=None; RS stat_identity: FAIL exit=Some(101) err=None
47:thread 'main' (1) panicked at src/bin/stat_identity.rs:105:5:
48:assertion `left == right` failed: a truncating open of its one file renumbered /tmp/stat-identity-ended
tree restored to the index
EXIT=0

===== kmutations2.log =====
tree 79abe77b9076b2882067b47621a2422f3f17220c at 2c645ce8c
standing-made: EXIT=1; C 210_stat_identity: PASS exit=Some(0) err=None; RS stat_identity: FAIL exit=Some(101) err=None
47:thread 'main' (1) panicked at src/bin/stat_identity.rs:130:5:
48:assertion `left == right` failed: an unlink of its only file renumbered the made /tmp/stat-identity-stands
tree restored to the index
EXIT=0

===== kmut-green.log =====
   Compiling toyos-bootmap v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-bootmap)
   Compiling kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel)
   Compiling toyos-desktop v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/userland/compositor/desktop)
   Compiling toyos-build v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid)
   Compiling toyos-acpi v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-acpi)
   Compiling toyos-userbound v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-userbound)
    Finished `test` profile [optimized + debuginfo] target(s) in 5.66s
     Running tests/toyos.rs (target/debug/deps/toyos_build-ebedee49bbd7b2eb)

07:26:07 running 1 tests, 12 wide

07:26:07   RUN   dirid_probe
07:26:08   BUILD x86_64 stat_identity of tests/toyos-rust-tests, for dirid_probe
07:26:09 external deps changed: cleaning /Users/<user>/Dev/jan/toyos-dirid/tests/toyos-rust-tests/target/aarch64-unknown-toyos
07:26:09 external deps changed: cleaning /Users/<user>/Dev/jan/toyos-dirid/tests/toyos-rust-tests/target/x86_64-unknown-toyos
07:26:18   BUILT x86_64 stat_identity of tests/toyos-rust-tests, for dirid_probe  (11s)
07:26:18   BUILD x86_64 kernel, loader, ROOT of tests/testcases, for dirid_probe
07:26:26 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
07:26:26   BUILT x86_64 kernel, loader, ROOT of tests/testcases, for dirid_probe  (7s)
07:26:31   PASS  dirid_probe  (6s)
07:26:31   --- 1 guests, 0 of them not the shipping kernel, 1 kernel build(s): [""]

07:26:31 host: fastest boot 4408 ms against the reference 1424 ms — liveness ceilings paid at 3.10x
07:26:31 host: 14 core(s); a guest wider than that waits vcpus/cores longer again
07:26:31 test result: ok. 1 passed, 1 total (23.9s; workers: 18s building, 6s testing)

===== kmut-green.report =====
C 210_stat_identity: PASS exit=Some(0) err=None
--- got ---
two files on /tmp are two: yes
one file through two paths is one: yes
its open descriptor is the file: yes
a rename keeps the file: yes
its descriptor after the rename is the file: yes
a link is the file it names: yes
two files on /system are two: yes
/system and /tmp are two volumes: yes
two directories on /system are two: yes
a directory and its mount's root are two: yes
one directory through two paths is one: yes
a directory is on its mount's volume: yes
a directory is no file: yes
two links on /system are two: yes
a link is not the file it names: yes
d_ino is a directory's st_ino: yes
d_ino is a file's st_ino: yes
d_ino is a link's st_ino: yes
d_ino is a mount's st_ino: yes
d_ino on /tmp is st_ino: yes
--- want ---
two files on /tmp are two: yes
one file through two paths is one: yes
its open descriptor is the file: yes
a rename keeps the file: yes
its descriptor after the rename is the file: yes
a link is the file it names: yes
two files on /system are two: yes
/system and /tmp are two volumes: yes
two directories on /system are two: yes
a directory and its mount's root are two: yes
one directory through two paths is one: yes
a directory is on its mount's volume: yes
a directory is no file: yes
two links on /system are two: yes
a link is not the file it names: yes
d_ino is a directory's st_ino: yes
d_ino is a file's st_ino: yes
d_ino is a link's st_ino: yes
d_ino is a mount's st_ino: yes
d_ino on /tmp is st_ino: yes

RS stat_identity: PASS exit=Some(0) err=None
stat_identity: /tmp is volume 0x2, and its files are told apart
stat_identity: /home is volume 0x8000000000000003, and its files are told apart
stat_identity: /log is volume 0x8000000000000004, and its files are told apart
stat_identity: ok


===== kmut-standing.log =====
    Finished `test` profile [optimized + debuginfo] target(s) in 0.18s
     Running tests/toyos.rs (target/debug/deps/toyos_build-ebedee49bbd7b2eb)

07:26:31 running 1 tests, 12 wide

07:26:31   RUN   dirid_probe
07:26:32   BUILD x86_64 stat_identity of tests/toyos-rust-tests, for dirid_probe
07:26:33   BUILT x86_64 stat_identity of tests/toyos-rust-tests, for dirid_probe  (1s)
07:26:33   BUILD x86_64 kernel, loader, ROOT of tests/testcases, for dirid_probe
07:26:36 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
07:26:36   BUILT x86_64 kernel, loader, ROOT of tests/testcases, for dirid_probe  (3s)
07:26:41 FAIL dirid_probe: 1 members red; report at $DIRID_OUT
07:26:41   FAIL  dirid_probe  (6s)
07:26:41   --- 1 guests, 0 of them not the shipping kernel, 1 kernel build(s): [""]

07:26:41 host: fastest boot 4349 ms against the reference 1424 ms — liveness ceilings paid at 3.05x
07:26:41 host: 14 core(s); a guest wider than that waits vcpus/cores longer again
07:26:41 failures:
07:26:41     dirid_probe: 1 members red; report at $DIRID_OUT

07:26:41 test result: FAILED. 0 passed, 1 failed, 0 invalidated, 1 total (9.9s; workers: 4s building, 6s testing)
07:26:41 [toyos] this red run's serial logs are kept at /Users/<user>/Dev/jan/toyos-dirid/target/red-run-serial/toyos-tmp-27572-0
error: test failed, to rerun pass `--test toyos-build`

Caused by:
  process didn't exit successfully: `/Users/<user>/Dev/jan/toyos-dirid/target/debug/deps/toyos_build-ebedee49bbd7b2eb dirid_probe` (exit status: 1)

===== kmut-standing.report =====
C 210_stat_identity: PASS exit=Some(0) err=None
--- got ---
two files on /tmp are two: yes
one file through two paths is one: yes
its open descriptor is the file: yes
a rename keeps the file: yes
its descriptor after the rename is the file: yes
a link is the file it names: yes
two files on /system are two: yes
/system and /tmp are two volumes: yes
two directories on /system are two: yes
a directory and its mount's root are two: yes
one directory through two paths is one: yes
a directory is on its mount's volume: yes
a directory is no file: yes
two links on /system are two: yes
a link is not the file it names: yes
d_ino is a directory's st_ino: yes
d_ino is a file's st_ino: yes
d_ino is a link's st_ino: yes
d_ino is a mount's st_ino: yes
d_ino on /tmp is st_ino: yes
--- want ---
two files on /tmp are two: yes
one file through two paths is one: yes
its open descriptor is the file: yes
a rename keeps the file: yes
its descriptor after the rename is the file: yes
a link is the file it names: yes
two files on /system are two: yes
/system and /tmp are two volumes: yes
two directories on /system are two: yes
a directory and its mount's root are two: yes
one directory through two paths is one: yes
a directory is on its mount's volume: yes
a directory is no file: yes
two links on /system are two: yes
a link is not the file it names: yes
d_ino is a directory's st_ino: yes
d_ino is a file's st_ino: yes
d_ino is a link's st_ino: yes
d_ino is a mount's st_ino: yes
d_ino on /tmp is st_ino: yes

RS stat_identity: FAIL exit=Some(101) err=None

thread 'main' (1) panicked at src/bin/stat_identity.rs:122:5:
assertion `left == right` failed: an unlink beside a second file renumbered /tmp/stat-identity-stands
  left: (2, 55)
 right: (2, 54)
stack backtrace:
   0:      0x10000063430 - _Unwind_Backtrace
   1:      0x1000004d073 - <<std[467be37f4fecb369]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[73b405bef30eeff1]::fmt::Display>::fmt
   2:      0x10000067317 - core[73b405bef30eeff1]::fmt::write
   3:      0x10000050a9b - <std[467be37f4fecb369]::sys::stdio::toyos::Stderr as core[73b405bef30eeff1]::io::write::Write>::write_fmt
   4:      0x1000002f633 - std[467be37f4fecb369]::panicking::default_hook::{closure#0}
   5:      0x10000044c3e - std[467be37f4fecb369]::panicking::default_hook
   6:      0x10000044df9 - std[467be37f4fecb369]::panicking::panic_with_hook
   7:      0x1000002f6ed - std[467be37f4fecb369]::panicking::panic_handler::{closure#0}
   8:      0x10000027de9 - std[467be37f4fecb369]::sys::backtrace::__rust_end_short_backtrace::<std[467be37f4fecb369]::panicking::panic_handler::{closure#0}, !>
   9:      0x1000002fe58 - __rustc[d0c72ce299f394e5]::rust_begin_unwind
  10:      0x10000067a3b - core[73b405bef30eeff1]::panicking::panic_fmt
  11:      0x100000679af - core[73b405bef30eeff1]::panicking::assert_failed_inner
  12:      0x1000001c9e7 - core[73b405bef30eeff1]::panicking::assert_failed::<(u64, u64), (u64, u64)>
  13:      0x1000001b120 - stat_identity[a0be472ecfeffb6]::main
  14:      0x1000001c886 - std[467be37f4fecb369]::sys::backtrace::__rust_begin_short_backtrace::<fn(), ()>
  15:      0x1000001c8a0 - std[467be37f4fecb369]::rt::lang_start::<()>::{closure#0}
  16:      0x10000044686 - std[467be37f4fecb369]::rt::lang_start_internal
  17:      0x1000001c501 - main
  18:      0x1000004b9f3 - std[467be37f4fecb369]::sys::pal::toyos::start_rust
  19:      0x1000001cc36 - _start


===== kmut-standing-made.log =====
   Compiling toyos-build v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid)
    Finished `test` profile [optimized + debuginfo] target(s) in 0.57s
     Running tests/toyos.rs (target/debug/deps/toyos_build-ebedee49bbd7b2eb)

07:27:37 running 1 tests, 12 wide

07:27:37   RUN   dirid_probe
07:27:38   BUILD x86_64 stat_identity of tests/toyos-rust-tests, for dirid_probe
07:27:40   BUILT x86_64 stat_identity of tests/toyos-rust-tests, for dirid_probe  (1s)
07:27:40   BUILD x86_64 kernel, loader, ROOT of tests/testcases, for dirid_probe
07:27:43 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
07:27:43   BUILT x86_64 kernel, loader, ROOT of tests/testcases, for dirid_probe  (3s)
07:27:47 FAIL dirid_probe: 1 members red; report at $DIRID_OUT
07:27:47   FAIL  dirid_probe  (6s)
07:27:47   --- 1 guests, 0 of them not the shipping kernel, 1 kernel build(s): [""]

07:27:47 host: fastest boot 4354 ms against the reference 1424 ms — liveness ceilings paid at 3.06x
07:27:47 host: 14 core(s); a guest wider than that waits vcpus/cores longer again
07:27:47 failures:
07:27:47     dirid_probe: 1 members red; report at $DIRID_OUT

07:27:47 test result: FAILED. 0 passed, 1 failed, 0 invalidated, 1 total (10.2s; workers: 4s building, 6s testing)
07:27:47 [toyos] this red run's serial logs are kept at /Users/<user>/Dev/jan/toyos-dirid/target/red-run-serial/toyos-tmp-35444-0
error: test failed, to rerun pass `--test toyos-build`

Caused by:
  process didn't exit successfully: `/Users/<user>/Dev/jan/toyos-dirid/target/debug/deps/toyos_build-ebedee49bbd7b2eb dirid_probe` (exit status: 1)

===== kmut-standing-made.report =====
C 210_stat_identity: PASS exit=Some(0) err=None
--- got ---
two files on /tmp are two: yes
one file through two paths is one: yes
its open descriptor is the file: yes
a rename keeps the file: yes
its descriptor after the rename is the file: yes
a link is the file it names: yes
two files on /system are two: yes
/system and /tmp are two volumes: yes
two directories on /system are two: yes
a directory and its mount's root are two: yes
one directory through two paths is one: yes
a directory is on its mount's volume: yes
a directory is no file: yes
two links on /system are two: yes
a link is not the file it names: yes
d_ino is a directory's st_ino: yes
d_ino is a file's st_ino: yes
d_ino is a link's st_ino: yes
d_ino is a mount's st_ino: yes
d_ino on /tmp is st_ino: yes
--- want ---
two files on /tmp are two: yes
one file through two paths is one: yes
its open descriptor is the file: yes
a rename keeps the file: yes
its descriptor after the rename is the file: yes
a link is the file it names: yes
two files on /system are two: yes
/system and /tmp are two volumes: yes
two directories on /system are two: yes
a directory and its mount's root are two: yes
one directory through two paths is one: yes
a directory is on its mount's volume: yes
a directory is no file: yes
two links on /system are two: yes
a link is not the file it names: yes
d_ino is a directory's st_ino: yes
d_ino is a file's st_ino: yes
d_ino is a link's st_ino: yes
d_ino is a mount's st_ino: yes
d_ino on /tmp is st_ino: yes

RS stat_identity: FAIL exit=Some(101) err=None

thread 'main' (1) panicked at src/bin/stat_identity.rs:130:5:
assertion `left == right` failed: an unlink of its only file renumbered the made /tmp/stat-identity-stands
  left: (2, 56)
 right: (2, 55)
stack backtrace:
   0:      0x10000063430 - _Unwind_Backtrace
   1:      0x1000004d073 - <<std[467be37f4fecb369]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[73b405bef30eeff1]::fmt::Display>::fmt
   2:      0x10000067317 - core[73b405bef30eeff1]::fmt::write
   3:      0x10000050a9b - <std[467be37f4fecb369]::sys::stdio::toyos::Stderr as core[73b405bef30eeff1]::io::write::Write>::write_fmt
   4:      0x1000002f633 - std[467be37f4fecb369]::panicking::default_hook::{closure#0}
   5:      0x10000044c3e - std[467be37f4fecb369]::panicking::default_hook
   6:      0x10000044df9 - std[467be37f4fecb369]::panicking::panic_with_hook
   7:      0x1000002f6ed - std[467be37f4fecb369]::panicking::panic_handler::{closure#0}
   8:      0x10000027de9 - std[467be37f4fecb369]::sys::backtrace::__rust_end_short_backtrace::<std[467be37f4fecb369]::panicking::panic_handler::{closure#0}, !>
   9:      0x1000002fe58 - __rustc[d0c72ce299f394e5]::rust_begin_unwind
  10:      0x10000067a3b - core[73b405bef30eeff1]::panicking::panic_fmt
  11:      0x100000679af - core[73b405bef30eeff1]::panicking::assert_failed_inner
  12:      0x1000001c9e7 - core[73b405bef30eeff1]::panicking::assert_failed::<(u64, u64), (u64, u64)>
  13:      0x1000001b120 - stat_identity[a0be472ecfeffb6]::main
  14:      0x1000001c886 - std[467be37f4fecb369]::sys::backtrace::__rust_begin_short_backtrace::<fn(), ()>
  15:      0x1000001c8a0 - std[467be37f4fecb369]::rt::lang_start::<()>::{closure#0}
  16:      0x10000044686 - std[467be37f4fecb369]::rt::lang_start_internal
  17:      0x1000001c501 - main
  18:      0x1000004b9f3 - std[467be37f4fecb369]::sys::pal::toyos::start_rust
  19:      0x1000001cc36 - _start


===== kmut-delete.log =====
    Finished `test` profile [optimized + debuginfo] target(s) in 0.19s
     Running tests/toyos.rs (target/debug/deps/toyos_build-ebedee49bbd7b2eb)

07:26:41 running 1 tests, 12 wide

07:26:41   RUN   dirid_probe
07:26:42   BUILD x86_64 stat_identity of tests/toyos-rust-tests, for dirid_probe
07:26:43   BUILT x86_64 stat_identity of tests/toyos-rust-tests, for dirid_probe  (1s)
07:26:43   BUILD x86_64 kernel, loader, ROOT of tests/testcases, for dirid_probe
07:26:46 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
07:26:46   BUILT x86_64 kernel, loader, ROOT of tests/testcases, for dirid_probe  (3s)
07:26:51 FAIL dirid_probe: 1 members red; report at $DIRID_OUT
07:26:51   FAIL  dirid_probe  (6s)
07:26:51   --- 1 guests, 0 of them not the shipping kernel, 1 kernel build(s): [""]

07:26:51 host: fastest boot 4346 ms against the reference 1424 ms — liveness ceilings paid at 3.05x
07:26:51 host: 14 core(s); a guest wider than that waits vcpus/cores longer again
07:26:51 failures:
07:26:51     dirid_probe: 1 members red; report at $DIRID_OUT

07:26:51 test result: FAILED. 0 passed, 1 failed, 0 invalidated, 1 total (9.9s; workers: 4s building, 6s testing)
07:26:51 [toyos] this red run's serial logs are kept at /Users/<user>/Dev/jan/toyos-dirid/target/red-run-serial/toyos-tmp-29130-0
error: test failed, to rerun pass `--test toyos-build`

Caused by:
  process didn't exit successfully: `/Users/<user>/Dev/jan/toyos-dirid/target/debug/deps/toyos_build-ebedee49bbd7b2eb dirid_probe` (exit status: 1)

===== kmut-delete.report =====
C 210_stat_identity: PASS exit=Some(0) err=None
--- got ---
two files on /tmp are two: yes
one file through two paths is one: yes
its open descriptor is the file: yes
a rename keeps the file: yes
its descriptor after the rename is the file: yes
a link is the file it names: yes
two files on /system are two: yes
/system and /tmp are two volumes: yes
two directories on /system are two: yes
a directory and its mount's root are two: yes
one directory through two paths is one: yes
a directory is on its mount's volume: yes
a directory is no file: yes
two links on /system are two: yes
a link is not the file it names: yes
d_ino is a directory's st_ino: yes
d_ino is a file's st_ino: yes
d_ino is a link's st_ino: yes
d_ino is a mount's st_ino: yes
d_ino on /tmp is st_ino: yes
--- want ---
two files on /tmp are two: yes
one file through two paths is one: yes
its open descriptor is the file: yes
a rename keeps the file: yes
its descriptor after the rename is the file: yes
a link is the file it names: yes
two files on /system are two: yes
/system and /tmp are two volumes: yes
two directories on /system are two: yes
a directory and its mount's root are two: yes
one directory through two paths is one: yes
a directory is on its mount's volume: yes
a directory is no file: yes
two links on /system are two: yes
a link is not the file it names: yes
d_ino is a directory's st_ino: yes
d_ino is a file's st_ino: yes
d_ino is a link's st_ino: yes
d_ino is a mount's st_ino: yes
d_ino on /tmp is st_ino: yes

RS stat_identity: FAIL exit=Some(101) err=None

thread 'main' (1) panicked at src/bin/stat_identity.rs:89:9:
assertion `left != right` failed: an unlink left /tmp/stat-identity-ended's number to the directory made there next
  left: (2, 41)
 right: (2, 41)
stack backtrace:
   0:      0x10000063430 - _Unwind_Backtrace
   1:      0x1000004d073 - <<std[467be37f4fecb369]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[73b405bef30eeff1]::fmt::Display>::fmt
   2:      0x10000067317 - core[73b405bef30eeff1]::fmt::write
   3:      0x10000050a9b - <std[467be37f4fecb369]::sys::stdio::toyos::Stderr as core[73b405bef30eeff1]::io::write::Write>::write_fmt
   4:      0x1000002f633 - std[467be37f4fecb369]::panicking::default_hook::{closure#0}
   5:      0x10000044c3e - std[467be37f4fecb369]::panicking::default_hook
   6:      0x10000044df9 - std[467be37f4fecb369]::panicking::panic_with_hook
   7:      0x1000002f6ed - std[467be37f4fecb369]::panicking::panic_handler::{closure#0}
   8:      0x10000027de9 - std[467be37f4fecb369]::sys::backtrace::__rust_end_short_backtrace::<std[467be37f4fecb369]::panicking::panic_handler::{closure#0}, !>
   9:      0x1000002fe58 - __rustc[d0c72ce299f394e5]::rust_begin_unwind
  10:      0x10000067a3b - core[73b405bef30eeff1]::panicking::panic_fmt
  11:      0x100000679af - core[73b405bef30eeff1]::panicking::assert_failed_inner
  12:      0x1000001c9e7 - core[73b405bef30eeff1]::panicking::assert_failed::<(u64, u64), (u64, u64)>
  13:      0x1000001ae48 - stat_identity[a0be472ecfeffb6]::main
  14:      0x1000001c886 - std[467be37f4fecb369]::sys::backtrace::__rust_begin_short_backtrace::<fn(), ()>
  15:      0x1000001c8a0 - std[467be37f4fecb369]::rt::lang_start::<()>::{closure#0}
  16:      0x10000044686 - std[467be37f4fecb369]::rt::lang_start_internal
  17:      0x1000001c501 - main
  18:      0x1000004b9f3 - std[467be37f4fecb369]::sys::pal::toyos::start_rust
  19:      0x1000001cc36 - _start


===== kmut-rename.log =====
    Finished `test` profile [optimized + debuginfo] target(s) in 0.18s
     Running tests/toyos.rs (target/debug/deps/toyos_build-ebedee49bbd7b2eb)

07:26:51 running 1 tests, 12 wide

07:26:51   RUN   dirid_probe
07:26:52   BUILD x86_64 stat_identity of tests/toyos-rust-tests, for dirid_probe
07:26:53   BUILT x86_64 stat_identity of tests/toyos-rust-tests, for dirid_probe  (1s)
07:26:53   BUILD x86_64 kernel, loader, ROOT of tests/testcases, for dirid_probe
07:26:56 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
07:26:56   BUILT x86_64 kernel, loader, ROOT of tests/testcases, for dirid_probe  (3s)
07:27:01 FAIL dirid_probe: 1 members red; report at $DIRID_OUT
07:27:01   FAIL  dirid_probe  (6s)
07:27:01   --- 1 guests, 0 of them not the shipping kernel, 1 kernel build(s): [""]

07:27:01 host: fastest boot 4398 ms against the reference 1424 ms — liveness ceilings paid at 3.09x
07:27:01 host: 14 core(s); a guest wider than that waits vcpus/cores longer again
07:27:01 failures:
07:27:01     dirid_probe: 1 members red; report at $DIRID_OUT

07:27:01 test result: FAILED. 0 passed, 1 failed, 0 invalidated, 1 total (10.0s; workers: 4s building, 6s testing)
07:27:01 [toyos] this red run's serial logs are kept at /Users/<user>/Dev/jan/toyos-dirid/target/red-run-serial/toyos-tmp-30690-0
error: test failed, to rerun pass `--test toyos-build`

Caused by:
  process didn't exit successfully: `/Users/<user>/Dev/jan/toyos-dirid/target/debug/deps/toyos_build-ebedee49bbd7b2eb dirid_probe` (exit status: 1)

===== kmut-rename.report =====
C 210_stat_identity: PASS exit=Some(0) err=None
--- got ---
two files on /tmp are two: yes
one file through two paths is one: yes
its open descriptor is the file: yes
a rename keeps the file: yes
its descriptor after the rename is the file: yes
a link is the file it names: yes
two files on /system are two: yes
/system and /tmp are two volumes: yes
two directories on /system are two: yes
a directory and its mount's root are two: yes
one directory through two paths is one: yes
a directory is on its mount's volume: yes
a directory is no file: yes
two links on /system are two: yes
a link is not the file it names: yes
d_ino is a directory's st_ino: yes
d_ino is a file's st_ino: yes
d_ino is a link's st_ino: yes
d_ino is a mount's st_ino: yes
d_ino on /tmp is st_ino: yes
--- want ---
two files on /tmp are two: yes
one file through two paths is one: yes
its open descriptor is the file: yes
a rename keeps the file: yes
its descriptor after the rename is the file: yes
a link is the file it names: yes
two files on /system are two: yes
/system and /tmp are two volumes: yes
two directories on /system are two: yes
a directory and its mount's root are two: yes
one directory through two paths is one: yes
a directory is on its mount's volume: yes
a directory is no file: yes
two links on /system are two: yes
a link is not the file it names: yes
d_ino is a directory's st_ino: yes
d_ino is a file's st_ino: yes
d_ino is a link's st_ino: yes
d_ino is a mount's st_ino: yes
d_ino on /tmp is st_ino: yes

RS stat_identity: FAIL exit=Some(101) err=None

thread 'main' (1) panicked at src/bin/stat_identity.rs:89:9:
assertion `left != right` failed: a rename left /tmp/stat-identity-ended's number to the directory made there next
  left: (2, 45)
 right: (2, 45)
stack backtrace:
   0:      0x10000063430 - _Unwind_Backtrace
   1:      0x1000004d073 - <<std[467be37f4fecb369]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[73b405bef30eeff1]::fmt::Display>::fmt
   2:      0x10000067317 - core[73b405bef30eeff1]::fmt::write
   3:      0x10000050a9b - <std[467be37f4fecb369]::sys::stdio::toyos::Stderr as core[73b405bef30eeff1]::io::write::Write>::write_fmt
   4:      0x1000002f633 - std[467be37f4fecb369]::panicking::default_hook::{closure#0}
   5:      0x10000044c3e - std[467be37f4fecb369]::panicking::default_hook
   6:      0x10000044df9 - std[467be37f4fecb369]::panicking::panic_with_hook
   7:      0x1000002f6ed - std[467be37f4fecb369]::panicking::panic_handler::{closure#0}
   8:      0x10000027de9 - std[467be37f4fecb369]::sys::backtrace::__rust_end_short_backtrace::<std[467be37f4fecb369]::panicking::panic_handler::{closure#0}, !>
   9:      0x1000002fe58 - __rustc[d0c72ce299f394e5]::rust_begin_unwind
  10:      0x10000067a3b - core[73b405bef30eeff1]::panicking::panic_fmt
  11:      0x100000679af - core[73b405bef30eeff1]::panicking::assert_failed_inner
  12:      0x1000001c9e7 - core[73b405bef30eeff1]::panicking::assert_failed::<(u64, u64), (u64, u64)>
  13:      0x1000001ae48 - stat_identity[a0be472ecfeffb6]::main
  14:      0x1000001c886 - std[467be37f4fecb369]::sys::backtrace::__rust_begin_short_backtrace::<fn(), ()>
  15:      0x1000001c8a0 - std[467be37f4fecb369]::rt::lang_start::<()>::{closure#0}
  16:      0x10000044686 - std[467be37f4fecb369]::rt::lang_start_internal
  17:      0x1000001c501 - main
  18:      0x1000004b9f3 - std[467be37f4fecb369]::sys::pal::toyos::start_rust
  19:      0x1000001cc36 - _start


===== kmut-rmdir.log =====
    Finished `test` profile [optimized + debuginfo] target(s) in 0.19s
     Running tests/toyos.rs (target/debug/deps/toyos_build-ebedee49bbd7b2eb)

07:27:01 running 1 tests, 12 wide

07:27:01   RUN   dirid_probe
07:27:03   BUILD x86_64 stat_identity of tests/toyos-rust-tests, for dirid_probe
07:27:04   BUILT x86_64 stat_identity of tests/toyos-rust-tests, for dirid_probe  (1s)
07:27:04   BUILD x86_64 kernel, loader, ROOT of tests/testcases, for dirid_probe
07:27:07 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
07:27:07   BUILT x86_64 kernel, loader, ROOT of tests/testcases, for dirid_probe  (3s)
07:27:11 FAIL dirid_probe: 1 members red; report at $DIRID_OUT
07:27:11   FAIL  dirid_probe  (6s)
07:27:11   --- 1 guests, 0 of them not the shipping kernel, 1 kernel build(s): [""]

07:27:11 host: fastest boot 4383 ms against the reference 1424 ms — liveness ceilings paid at 3.08x
07:27:11 host: 14 core(s); a guest wider than that waits vcpus/cores longer again
07:27:11 failures:
07:27:11     dirid_probe: 1 members red; report at $DIRID_OUT

07:27:11 test result: FAILED. 0 passed, 1 failed, 0 invalidated, 1 total (10.0s; workers: 4s building, 6s testing)
07:27:11 [toyos] this red run's serial logs are kept at /Users/<user>/Dev/jan/toyos-dirid/target/red-run-serial/toyos-tmp-32274-0
error: test failed, to rerun pass `--test toyos-build`

Caused by:
  process didn't exit successfully: `/Users/<user>/Dev/jan/toyos-dirid/target/debug/deps/toyos_build-ebedee49bbd7b2eb dirid_probe` (exit status: 1)

===== kmut-rmdir.report =====
C 210_stat_identity: PASS exit=Some(0) err=None
--- got ---
two files on /tmp are two: yes
one file through two paths is one: yes
its open descriptor is the file: yes
a rename keeps the file: yes
its descriptor after the rename is the file: yes
a link is the file it names: yes
two files on /system are two: yes
/system and /tmp are two volumes: yes
two directories on /system are two: yes
a directory and its mount's root are two: yes
one directory through two paths is one: yes
a directory is on its mount's volume: yes
a directory is no file: yes
two links on /system are two: yes
a link is not the file it names: yes
d_ino is a directory's st_ino: yes
d_ino is a file's st_ino: yes
d_ino is a link's st_ino: yes
d_ino is a mount's st_ino: yes
d_ino on /tmp is st_ino: yes
--- want ---
two files on /tmp are two: yes
one file through two paths is one: yes
its open descriptor is the file: yes
a rename keeps the file: yes
its descriptor after the rename is the file: yes
a link is the file it names: yes
two files on /system are two: yes
/system and /tmp are two volumes: yes
two directories on /system are two: yes
a directory and its mount's root are two: yes
one directory through two paths is one: yes
a directory is on its mount's volume: yes
a directory is no file: yes
two links on /system are two: yes
a link is not the file it names: yes
d_ino is a directory's st_ino: yes
d_ino is a file's st_ino: yes
d_ino is a link's st_ino: yes
d_ino is a mount's st_ino: yes
d_ino on /tmp is st_ino: yes

RS stat_identity: FAIL exit=Some(101) err=None

thread 'main' (1) panicked at src/bin/stat_identity.rs:89:9:
assertion `left != right` failed: rmdir left /tmp/stat-identity-ended's number to the directory made there next
  left: (2, 38)
 right: (2, 38)
stack backtrace:
   0:      0x10000063430 - _Unwind_Backtrace
   1:      0x1000004d073 - <<std[467be37f4fecb369]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[73b405bef30eeff1]::fmt::Display>::fmt
   2:      0x10000067317 - core[73b405bef30eeff1]::fmt::write
   3:      0x10000050a9b - <std[467be37f4fecb369]::sys::stdio::toyos::Stderr as core[73b405bef30eeff1]::io::write::Write>::write_fmt
   4:      0x1000002f633 - std[467be37f4fecb369]::panicking::default_hook::{closure#0}
   5:      0x10000044c3e - std[467be37f4fecb369]::panicking::default_hook
   6:      0x10000044df9 - std[467be37f4fecb369]::panicking::panic_with_hook
   7:      0x1000002f6ed - std[467be37f4fecb369]::panicking::panic_handler::{closure#0}
   8:      0x10000027de9 - std[467be37f4fecb369]::sys::backtrace::__rust_end_short_backtrace::<std[467be37f4fecb369]::panicking::panic_handler::{closure#0}, !>
   9:      0x1000002fe58 - __rustc[d0c72ce299f394e5]::rust_begin_unwind
  10:      0x10000067a3b - core[73b405bef30eeff1]::panicking::panic_fmt
  11:      0x100000679af - core[73b405bef30eeff1]::panicking::assert_failed_inner
  12:      0x1000001c9e7 - core[73b405bef30eeff1]::panicking::assert_failed::<(u64, u64), (u64, u64)>
  13:      0x1000001ae48 - stat_identity[a0be472ecfeffb6]::main
  14:      0x1000001c886 - std[467be37f4fecb369]::sys::backtrace::__rust_begin_short_backtrace::<fn(), ()>
  15:      0x1000001c8a0 - std[467be37f4fecb369]::rt::lang_start::<()>::{closure#0}
  16:      0x10000044686 - std[467be37f4fecb369]::rt::lang_start_internal
  17:      0x1000001c501 - main
  18:      0x1000004b9f3 - std[467be37f4fecb369]::sys::pal::toyos::start_rust
  19:      0x1000001cc36 - _start


===== kmut-truncate.log =====
    Finished `test` profile [optimized + debuginfo] target(s) in 0.18s
     Running tests/toyos.rs (target/debug/deps/toyos_build-ebedee49bbd7b2eb)

07:27:12 running 1 tests, 12 wide

07:27:12   RUN   dirid_probe
07:27:13   BUILD x86_64 stat_identity of tests/toyos-rust-tests, for dirid_probe
07:27:14   BUILT x86_64 stat_identity of tests/toyos-rust-tests, for dirid_probe  (1s)
07:27:14   BUILD x86_64 kernel, loader, ROOT of tests/testcases, for dirid_probe
07:27:17 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
07:27:17   BUILT x86_64 kernel, loader, ROOT of tests/testcases, for dirid_probe  (3s)
07:27:22 FAIL dirid_probe: 1 members red; report at $DIRID_OUT
07:27:22   FAIL  dirid_probe  (6s)
07:27:22   --- 1 guests, 0 of them not the shipping kernel, 1 kernel build(s): [""]

07:27:22 host: fastest boot 4408 ms against the reference 1424 ms — liveness ceilings paid at 3.10x
07:27:22 host: 14 core(s); a guest wider than that waits vcpus/cores longer again
07:27:22 failures:
07:27:22     dirid_probe: 1 members red; report at $DIRID_OUT

07:27:22 test result: FAILED. 0 passed, 1 failed, 0 invalidated, 1 total (10.3s; workers: 4s building, 6s testing)
07:27:22 [toyos] this red run's serial logs are kept at /Users/<user>/Dev/jan/toyos-dirid/target/red-run-serial/toyos-tmp-33842-0
error: test failed, to rerun pass `--test toyos-build`

Caused by:
  process didn't exit successfully: `/Users/<user>/Dev/jan/toyos-dirid/target/debug/deps/toyos_build-ebedee49bbd7b2eb dirid_probe` (exit status: 1)

===== kmut-truncate.report =====
C 210_stat_identity: PASS exit=Some(0) err=None
--- got ---
two files on /tmp are two: yes
one file through two paths is one: yes
its open descriptor is the file: yes
a rename keeps the file: yes
its descriptor after the rename is the file: yes
a link is the file it names: yes
two files on /system are two: yes
/system and /tmp are two volumes: yes
two directories on /system are two: yes
a directory and its mount's root are two: yes
one directory through two paths is one: yes
a directory is on its mount's volume: yes
a directory is no file: yes
two links on /system are two: yes
a link is not the file it names: yes
d_ino is a directory's st_ino: yes
d_ino is a file's st_ino: yes
d_ino is a link's st_ino: yes
d_ino is a mount's st_ino: yes
d_ino on /tmp is st_ino: yes
--- want ---
two files on /tmp are two: yes
one file through two paths is one: yes
its open descriptor is the file: yes
a rename keeps the file: yes
its descriptor after the rename is the file: yes
a link is the file it names: yes
two files on /system are two: yes
/system and /tmp are two volumes: yes
two directories on /system are two: yes
a directory and its mount's root are two: yes
one directory through two paths is one: yes
a directory is on its mount's volume: yes
a directory is no file: yes
two links on /system are two: yes
a link is not the file it names: yes
d_ino is a directory's st_ino: yes
d_ino is a file's st_ino: yes
d_ino is a link's st_ino: yes
d_ino is a mount's st_ino: yes
d_ino on /tmp is st_ino: yes

RS stat_identity: FAIL exit=Some(101) err=None

thread 'main' (1) panicked at src/bin/stat_identity.rs:105:5:
assertion `left == right` failed: a truncating open of its one file renumbered /tmp/stat-identity-ended
  left: (2, 51)
 right: (2, 49)
stack backtrace:
   0:      0x10000063430 - _Unwind_Backtrace
   1:      0x1000004d073 - <<std[467be37f4fecb369]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[73b405bef30eeff1]::fmt::Display>::fmt
   2:      0x10000067317 - core[73b405bef30eeff1]::fmt::write
   3:      0x10000050a9b - <std[467be37f4fecb369]::sys::stdio::toyos::Stderr as core[73b405bef30eeff1]::io::write::Write>::write_fmt
   4:      0x1000002f633 - std[467be37f4fecb369]::panicking::default_hook::{closure#0}
   5:      0x10000044c3e - std[467be37f4fecb369]::panicking::default_hook
   6:      0x10000044df9 - std[467be37f4fecb369]::panicking::panic_with_hook
   7:      0x1000002f6ed - std[467be37f4fecb369]::panicking::panic_handler::{closure#0}
   8:      0x10000027de9 - std[467be37f4fecb369]::sys::backtrace::__rust_end_short_backtrace::<std[467be37f4fecb369]::panicking::panic_handler::{closure#0}, !>
   9:      0x1000002fe58 - __rustc[d0c72ce299f394e5]::rust_begin_unwind
  10:      0x10000067a3b - core[73b405bef30eeff1]::panicking::panic_fmt
  11:      0x100000679af - core[73b405bef30eeff1]::panicking::assert_failed_inner
  12:      0x1000001c9e7 - core[73b405bef30eeff1]::panicking::assert_failed::<(u64, u64), (u64, u64)>
  13:      0x1000001b120 - stat_identity[a0be472ecfeffb6]::main
  14:      0x1000001c886 - std[467be37f4fecb369]::sys::backtrace::__rust_begin_short_backtrace::<fn(), ()>
  15:      0x1000001c8a0 - std[467be37f4fecb369]::rt::lang_start::<()>::{closure#0}
  16:      0x10000044686 - std[467be37f4fecb369]::rt::lang_start_internal
  17:      0x1000001c501 - main
  18:      0x1000004b9f3 - std[467be37f4fecb369]::sys::pal::toyos::start_rust
  19:      0x1000001cc36 - _start


@Japabu

Japabu commented Oct 11, 2026

Copy link
Copy Markdown
Collaborator Author

negative-control, part 1 of 2, everything outside tests/ reverted to origin/main 41ad7ec merged with #854 6aa7722 (tree 0fa6a201f), head's tests kept (stat_identity.rs blob 072c7e666, head's), through the probe: exit 1, both red

===== negctl.sh =====
#!/bin/sh
# Negative control: everything but tests/ reverted to origin/main 41ad7ecd2
# merged with #854 6aa77229d (tree 0fa6a201f), head's tests kept; the probe
# runs 210 and stat_identity; then the tree is restored.
S=$1; cd /Users/<user>/Dev/jan/toyos-dirid
echo "head $(git rev-parse --short HEAD), tree $(git rev-parse HEAD^{tree})"
git apply --check $S/negative-control.patch && git apply $S/negative-control.patch || exit 3
git apply --check $S/probe-harness.patch && git apply $S/probe-harness.patch || exit 3
echo "tests/ against the base tree: $(git diff --stat 0fa6a201f8bd15e7e9a0ffdce1f284bcb3e1d1d9 -- tests | tail -1)"
echo "everything else against the base tree: $(git diff --stat 0fa6a201f8bd15e7e9a0ffdce1f284bcb3e1d1d9 -- . ':!tests' | wc -l) lines of difference"
echo "stat_identity.rs blob $(git hash-object tests/toyos-rust-tests/src/bin/stat_identity.rs), head's $(git rev-parse HEAD:tests/toyos-rust-tests/src/bin/stat_identity.rs)"
DIRID_C=210_stat_identity DIRID_RS=stat_identity DIRID_OUT=$S/negctl.report cargo test --test toyos-build -- dirid_probe > $S/negctl.log 2>&1; code=$?
echo "negctl: EXIT=$code; $(grep '^C 210' $S/negctl.report); $(grep '^RS stat_identity' $S/negctl.report)"
grep -n "panicked\|no identity\|is (0, 0)\|renumbered" $S/negctl.report
git apply -R $S/probe-harness.patch
git apply -R $S/negative-control.patch
git diff --quiet && git status --porcelain | wc -l && echo "tree restored to the index"

===== negctl-run.log =====
head 2c645ce8c, tree 79abe77b9076b2882067b47621a2422f3f17220c
tests/ against the base tree:  5 files changed, 164 insertions(+), 10 deletions(-)
everything else against the base tree:        2 lines of difference
stat_identity.rs blob 072c7e66623a03426a123e3028eccfc84bea08ad, head's 072c7e66623a03426a123e3028eccfc84bea08ad
negctl: EXIT=1; C 210_stat_identity: FAIL exit=Some(1) err=None; RS stat_identity: FAIL exit=Some(101) err=None
11:/system/bin has no identity
36:thread 'main' (1) panicked at src/bin/stat_identity.rs:19:5:
37:/tmp/stat-identity-ended has no identity: (0, 0)
       0
tree restored to the index
EXIT=0

===== negctl.log =====
   Compiling toyos-abi v0.16.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-abi)
   Compiling toyos-manifest v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-manifest)
   Compiling toyos-logstream v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-logstream)
   Compiling toyos-symbols v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-symbols)
   Compiling toyos-bootmap v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-bootmap)
   Compiling toyos-desktop v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/userland/compositor/desktop)
   Compiling kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel)
   Compiling toyos-acpi v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-acpi)
   Compiling toyos-swap v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-swap)
   Compiling toyos-userbound v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-userbound)
   Compiling toyos-build v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid)
    Finished `test` profile [optimized + debuginfo] target(s) in 1.82s
     Running tests/toyos.rs (target/debug/deps/toyos_build-ebedee49bbd7b2eb)

07:27:53 running 1 tests, 12 wide

07:27:53   RUN   dirid_probe
07:27:55 Building sysroot 20fe27f8ea61561f: ToyOS's std from /Users/<user>/Dev/jan/toyos-dirid/rust, the compiler /Users/<user>/.cache/toyos/compilers/1d9b41d3395d9551/stage2, the freestanding libraries 3a44ad7bb371012a
07:27:55 Building bootstrap
07:27:55     Finished `dev` profile [unoptimized] target(s) in 0.03s
07:27:56 WARNING: running build in stage 0. This might not work as expected.
07:27:58 Building stage0 library artifacts{alloc, compiler_builtins, core, panic_abort, panic_unwind, proc_macro, rustc-std-workspace-core, std, std_detect, sysroot, test, unwind} (stage0:aarch64-apple-darwin -> stage0:x86_64-unknown-toyos)
07:27:58     Updating crates.io index
07:27:58      Locking 2 packages to latest compatible versions
07:27:58     Updating toyos v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos) -> v0.18.0
07:27:58     Updating toyos-abi v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-abi) -> v0.16.0
07:27:58    Compiling compiler_builtins v0.1.160 (/Users/<user>/Dev/jan/toyos-dirid/rust/library/compiler-builtins/compiler-builtins)
07:27:58    Compiling core v0.0.0 (/Users/<user>/Dev/jan/toyos-dirid/rust/library/core)
07:27:58    Compiling libc v0.2.189
07:27:58    Compiling object v0.39.1
07:27:58    Compiling std v0.0.0 (/Users/<user>/Dev/jan/toyos-dirid/rust/library/std)
07:27:58    Compiling test v0.0.0 (/Users/<user>/Dev/jan/toyos-dirid/rust/library/test)
07:28:08    Compiling rustc-std-workspace-core v1.99.0 (/Users/<user>/Dev/jan/toyos-dirid/rust/library/rustc-std-workspace-core)
07:28:08    Compiling alloc v0.0.0 (/Users/<user>/Dev/jan/toyos-dirid/rust/library/alloc)
07:28:08    Compiling adler2 v2.0.1
07:28:08    Compiling cfg-if v1.0.4
07:28:08    Compiling toyos-abi v0.16.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-abi)
07:28:08    Compiling memchr v2.8.3
07:28:08    Compiling panic_abort v0.0.0 (/Users/<user>/Dev/jan/toyos-dirid/rust/library/panic_abort)
07:28:08    Compiling rustc-demangle v0.1.28
07:28:08    Compiling rustc-literal-escaper v0.0.8
07:28:08    Compiling dlmalloc v0.2.14
07:28:09    Compiling toyos v0.18.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos)
07:28:10    Compiling rustc-std-workspace-alloc v1.99.0 (/Users/<user>/Dev/jan/toyos-dirid/rust/library/rustc-std-workspace-alloc)
07:28:10    Compiling gimli v0.34.0
07:28:10    Compiling miniz_oxide v0.9.1
07:28:10    Compiling hashbrown v0.17.1
07:28:10    Compiling std_detect v0.1.5 (/Users/<user>/Dev/jan/toyos-dirid/rust/library/std_detect)
07:28:12    Compiling unwinding v0.2.10
07:28:12    Compiling addr2line v0.27.1
07:28:12    Compiling unwind v0.0.0 (/Users/<user>/Dev/jan/toyos-dirid/rust/library/unwind)
07:28:12    Compiling panic_unwind v0.0.0 (/Users/<user>/Dev/jan/toyos-dirid/rust/library/panic_unwind)
07:28:14 warning: function `exit` is never used
07:28:14    --> library/std/src/sys/pal/../../../../../../sdk/std/sys/pal/os.rs:113:8
07:28:14     |
07:28:14 113 | pub fn exit(code: i32) -> ! {
07:28:14     |        ^^^^
07:28:14     |
07:28:14     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default

07:28:14 warning: function `getpid` is never used
07:28:14    --> library/std/src/sys/pal/../../../../../../sdk/std/sys/pal/os.rs:117:8
07:28:14     |
07:28:14 117 | pub fn getpid() -> u32 {
07:28:14     |        ^^^^^^

07:28:14 warning: field `eh_frame_hdr_size` is never read
07:28:14    --> library/std/src/sys/pal/../../../../../../sdk/std/sys/pal/mod.rs:228:9
07:28:14     |
07:28:14 224 |     struct Module {
07:28:14     |            ------ field in this struct
07:28:14 ...
07:28:14 228 |         eh_frame_hdr_size: usize,
07:28:14     |         ^^^^^^^^^^^^^^^^^

07:28:19 warning: `std` (lib) generated 3 warnings
07:28:19    Compiling rustc-std-workspace-std v1.99.0 (/Users/<user>/Dev/jan/toyos-dirid/rust/library/rustc-std-workspace-std)
07:28:19    Compiling proc_macro v0.0.0 (/Users/<user>/Dev/jan/toyos-dirid/rust/library/proc_macro)
07:28:19    Compiling getopts v0.2.24
07:28:20    Compiling sysroot v0.0.0 (/Users/<user>/Dev/jan/toyos-dirid/rust/library/sysroot)
07:28:23     Finished `dist` profile [optimized + debuginfo] target(s) in 24.75s
07:28:23 Building stage0 library artifacts{alloc, compiler_builtins, core, panic_abort, panic_unwind, proc_macro, rustc-std-workspace-core, std, std_detect, sysroot, test, unwind} (stage0:aarch64-apple-darwin -> stage0:aarch64-unknown-toyos)
07:28:23    Compiling compiler_builtins v0.1.160 (/Users/<user>/Dev/jan/toyos-dirid/rust/library/compiler-builtins/compiler-builtins)
07:28:23    Compiling core v0.0.0 (/Users/<user>/Dev/jan/toyos-dirid/rust/library/core)
07:28:23    Compiling libc v0.2.189
07:28:23    Compiling object v0.39.1
07:28:23    Compiling std v0.0.0 (/Users/<user>/Dev/jan/toyos-dirid/rust/library/std)
07:28:23    Compiling test v0.0.0 (/Users/<user>/Dev/jan/toyos-dirid/rust/library/test)
07:28:34    Compiling rustc-std-workspace-core v1.99.0 (/Users/<user>/Dev/jan/toyos-dirid/rust/library/rustc-std-workspace-core)
07:28:34    Compiling alloc v0.0.0 (/Users/<user>/Dev/jan/toyos-dirid/rust/library/alloc)
07:28:34    Compiling memchr v2.8.3
07:28:34    Compiling adler2 v2.0.1
07:28:34    Compiling cfg-if v1.0.4
07:28:34    Compiling toyos-abi v0.16.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-abi)
07:28:34    Compiling panic_abort v0.0.0 (/Users/<user>/Dev/jan/toyos-dirid/rust/library/panic_abort)
07:28:34    Compiling rustc-demangle v0.1.28
07:28:34    Compiling rustc-literal-escaper v0.0.8
07:28:34    Compiling dlmalloc v0.2.14
07:28:35    Compiling toyos v0.18.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos)
07:28:36    Compiling rustc-std-workspace-alloc v1.99.0 (/Users/<user>/Dev/jan/toyos-dirid/rust/library/rustc-std-workspace-alloc)
07:28:36    Compiling gimli v0.34.0
07:28:36    Compiling miniz_oxide v0.9.1
07:28:36    Compiling hashbrown v0.17.1
07:28:36    Compiling std_detect v0.1.5 (/Users/<user>/Dev/jan/toyos-dirid/rust/library/std_detect)
07:28:38    Compiling unwinding v0.2.10
07:28:38    Compiling addr2line v0.27.1
07:28:38    Compiling unwind v0.0.0 (/Users/<user>/Dev/jan/toyos-dirid/rust/library/unwind)
07:28:38    Compiling panic_unwind v0.0.0 (/Users/<user>/Dev/jan/toyos-dirid/rust/library/panic_unwind)
07:28:40 warning: function `exit` is never used
07:28:40    --> library/std/src/sys/pal/../../../../../../sdk/std/sys/pal/os.rs:113:8
07:28:40     |
07:28:40 113 | pub fn exit(code: i32) -> ! {
07:28:40     |        ^^^^
07:28:40     |
07:28:40     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default

07:28:40 warning: function `getpid` is never used
07:28:40    --> library/std/src/sys/pal/../../../../../../sdk/std/sys/pal/os.rs:117:8
07:28:40     |
07:28:40 117 | pub fn getpid() -> u32 {
07:28:40     |        ^^^^^^

07:28:40 warning: field `eh_frame_hdr_size` is never read
07:28:40    --> library/std/src/sys/pal/../../../../../../sdk/std/sys/pal/mod.rs:228:9
07:28:40     |
07:28:40 224 |     struct Module {
07:28:40     |            ------ field in this struct
07:28:40 ...
07:28:40 228 |         eh_frame_hdr_size: usize,
07:28:40     |         ^^^^^^^^^^^^^^^^^

07:28:45 warning: `std` (lib) generated 3 warnings
07:28:45    Compiling rustc-std-workspace-std v1.99.0 (/Users/<user>/Dev/jan/toyos-dirid/rust/library/rustc-std-workspace-std)
07:28:45    Compiling proc_macro v0.0.0 (/Users/<user>/Dev/jan/toyos-dirid/rust/library/proc_macro)
07:28:45    Compiling getopts v0.2.24
07:28:46    Compiling sysroot v0.0.0 (/Users/<user>/Dev/jan/toyos-dirid/rust/library/sysroot)
07:28:49     Finished `dist` profile [optimized + debuginfo] target(s) in 26.10s
07:28:49 Build completed successfully in 0:00:54
07:28:49 Checking that the compilers of /Users/<user>/.cache/toyos/sysroots/20fe27f8ea61561f.partial keep a loop's last exit
07:28:53 Building toyos-libc for sysroot...
   Compiling toyos-abi v0.16.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-abi)
   Compiling cfg-if v1.0.4
   Compiling toyos-elf v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-elf)
   Compiling toyos-osrelease v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-osrelease)
   Compiling dlmalloc v0.2.13
   Compiling toyos v0.18.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos)
   Compiling toyos-libc v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/userland/libc)
    Finished `release` profile [optimized] target(s) in 1.55s
07:28:56 Building toyos-libc for sysroot...
   Compiling cfg-if v1.0.4
   Compiling toyos-abi v0.16.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-abi)
   Compiling toyos-elf v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-elf)
   Compiling toyos-osrelease v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-osrelease)
   Compiling dlmalloc v0.2.13
   Compiling toyos v0.18.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos)
   Compiling toyos-libc v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/userland/libc)
    Finished `release` profile [optimized] target(s) in 1.55s
07:28:59 Building the C++ runtime for x86_64-unknown-toyos under /Users/<user>/Dev/jan/toyos-dirid/target/n2/172fb458445ac68d/bin/ninja
07:29:07 Building the C++ runtime for aarch64-unknown-toyos under /Users/<user>/Dev/jan/toyos-dirid/target/n2/172fb458445ac68d/bin/ninja
07:29:16   BUILD x86_64 stat_identity of tests/toyos-rust-tests, for dirid_probe
07:29:17 external deps changed: cleaning /Users/<user>/Dev/jan/toyos-dirid/tests/toyos-rust-tests/target/x86_64-unknown-toyos
07:29:26   BUILT x86_64 stat_identity of tests/toyos-rust-tests, for dirid_probe  (10s)
07:29:26   BUILD x86_64 kernel, loader, ROOT of tests/testcases, for dirid_probe
07:29:27 external deps changed: cleaning /Users/<user>/Dev/jan/toyos-dirid/target/x86_64-unknown-toyos
07:29:43 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
07:29:43   BUILT x86_64 kernel, loader, ROOT of tests/testcases, for dirid_probe  (17s)
07:29:48 FAIL dirid_probe: 2 members red; report at $DIRID_OUT
07:29:48   FAIL  dirid_probe  (87s)
07:29:48   --- 1 guests, 0 of them not the shipping kernel, 1 kernel build(s): [""]

07:29:48 host: fastest boot 4414 ms against the reference 1424 ms — liveness ceilings paid at 3.10x
07:29:48 host: 14 core(s); a guest wider than that waits vcpus/cores longer again
07:29:48 failures:
07:29:48     dirid_probe: 2 members red; report at $DIRID_OUT

07:29:48 test result: FAILED. 0 passed, 1 failed, 0 invalidated, 1 total (114.5s; workers: 27s building, 87s testing)
07:29:48 [toyos] this red run's serial logs are kept at /Users/<user>/Dev/jan/toyos-dirid/target/red-run-serial/toyos-tmp-37071-0
error: test failed, to rerun pass `--test toyos-build`

Caused by:
  process didn't exit successfully: `/Users/<user>/Dev/jan/toyos-dirid/target/debug/deps/toyos_build-ebedee49bbd7b2eb dirid_probe` (exit status: 1)

===== negctl.report =====
C 210_stat_identity: FAIL exit=Some(1) err=None
--- got ---
two files on /tmp are two: yes
one file through two paths is one: yes
its open descriptor is the file: yes
a rename keeps the file: yes
its descriptor after the rename is the file: yes
a link is the file it names: yes
two files on /system are two: yes
/system and /tmp are two volumes: yes
/system/bin has no identity
--- want ---
two files on /tmp are two: yes
one file through two paths is one: yes
its open descriptor is the file: yes
a rename keeps the file: yes
its descriptor after the rename is the file: yes
a link is the file it names: yes
two files on /system are two: yes
/system and /tmp are two volumes: yes
two directories on /system are two: yes
a directory and its mount's root are two: yes
one directory through two paths is one: yes
a directory is on its mount's volume: yes
a directory is no file: yes
two links on /system are two: yes
a link is not the file it names: yes
d_ino is a directory's st_ino: yes
d_ino is a file's st_ino: yes
d_ino is a link's st_ino: yes
d_ino is a mount's st_ino: yes
d_ino on /tmp is st_ino: yes

RS stat_identity: FAIL exit=Some(101) err=None

thread 'main' (1) panicked at src/bin/stat_identity.rs:19:5:
/tmp/stat-identity-ended has no identity: (0, 0)
stack backtrace:
   0:      0x10000063450 - _Unwind_Backtrace
   1:      0x1000004d0d3 - <<std[467be37f4fecb369]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[73b405bef30eeff1]::fmt::Display>::fmt
   2:      0x10000067337 - core[73b405bef30eeff1]::fmt::write
   3:      0x10000050afb - <std[467be37f4fecb369]::sys::stdio::toyos::Stderr as core[73b405bef30eeff1]::io::write::Write>::write_fmt
   4:      0x1000002f673 - std[467be37f4fecb369]::panicking::default_hook::{closure#0}
   5:      0x10000044c5e - std[467be37f4fecb369]::panicking::default_hook
   6:      0x10000044e19 - std[467be37f4fecb369]::panicking::panic_with_hook
   7:      0x1000002f72d - std[467be37f4fecb369]::panicking::panic_handler::{closure#0}
   8:      0x10000027e29 - std[467be37f4fecb369]::sys::backtrace::__rust_end_short_backtrace::<std[467be37f4fecb369]::panicking::panic_handler::{closure#0}, !>
   9:      0x1000002fe98 - __rustc[d0c72ce299f394e5]::rust_begin_unwind
  10:      0x10000067a5b - core[73b405bef30eeff1]::panicking::panic_fmt
  11:      0x1000001a7ba - stat_identity[a0be472ecfeffb6]::of
  12:      0x1000001a82e - stat_identity[a0be472ecfeffb6]::main
  13:      0x1000001c8c6 - std[467be37f4fecb369]::sys::backtrace::__rust_begin_short_backtrace::<fn(), ()>
  14:      0x1000001c8e0 - std[467be37f4fecb369]::rt::lang_start::<()>::{closure#0}
  15:      0x100000446a6 - std[467be37f4fecb369]::rt::lang_start_internal
  16:      0x1000001c541 - main
  17:      0x1000004ba53 - std[467be37f4fecb369]::sys::pal::toyos::start_rust
  18:      0x1000001cc76 - _start


===== negative-control.patch =====
diff --git a/issues/a-pipe-console-socket-or-shared-memory-has-no-identity.md b/issues/a-pipe-console-socket-or-shared-memory-has-no-identity.md
deleted file mode 100644
index e81140a2c..000000000
--- a/issues/a-pipe-console-socket-or-shared-memory-has-no-identity.md
+++ /dev/null
@@ -1,24 +0,0 @@
----
-status: open
-kind: defect
-opened: 2026-10-11
----
-
-# A pipe, console, socket or shared memory has no identity
-
-`ops::fstat` (`kernel/src/object/ops.rs`) answers `volume: 0, node: 0` for
-every object but a file: a pipe or tty end, a connection, an acceptor, a
-console, shared memory, a device and the capability objects. libc answers the
-pair as `st_dev` and `st_ino` and std as `MetadataExt::dev` and `ino`, so
-every such descriptor is one file to a program that asks: two pipes, a pipe's
-two ends and a console beside a pipe all compare equal, and `0` is the pair a
-caller reads as "nothing". POSIX's `<sys/stat.h>` says `st_ino` and `st_dev`
-uniquely identify a file, a pipe included.
-
-**Read off the code; no program that depends on it has been seen to fail.**
-
-**Exit condition.** `fstat` of two pipes answers two nonzero pairs, both ends
-of one pipe answer one, and a console answers one apart from them; a guest C
-case reads them.
-
-**Owner.** `kernel/src/object/ops.rs`. Nobody holds it.
diff --git a/issues/the-kernel-numbers-no-directory-symlink-or-listing-entry.md b/issues/the-kernel-numbers-no-directory-symlink-or-listing-entry.md
new file mode 100644
index 000000000..e71abfaf3
--- /dev/null
+++ b/issues/the-kernel-numbers-no-directory-symlink-or-listing-entry.md
@@ -0,0 +1,24 @@
+---
+status: open
+kind: defect
+opened: 2026-10-01
+---
+
+# The kernel numbers no directory, symlink or listing entry
+
+A file's identity is `toyos_abi::syscall::Stat`'s `volume` and `node`, which
+libc answers as `st_dev` and `st_ino` and std as `MetadataExt::dev` and `ino`.
+Every file the kernel opens, and every name a file server stats, has one. What
+the kernel opens not has none: `SYS_OPEN` refuses a directory and a symlink, so
+on `/system` and `/tmp` libc's `stat` of a directory and `lstat` of a symlink
+answer `st_dev = st_ino = 0` (`userland/libc/src/posix_io.rs`), as std's do
+(`sdk/std/sys/fs.rs`), and every such name is one file to a program that
+asks. clang's `FileManager` keys directories on the pair too
+(`getDirectoryRef`'s `UniqueRealDirs`), so every kernel directory is one
+`DirectoryEntry` to it. `SYS_READDIR` answers no identity, so `readdir`'s
+`d_ino` is the entry's offset in the listing, which no `st_ino` equals. Pipes,
+consoles and the other kernel objects answer 0 as well.
+
+**Exit**: `stat` of two kernel directories, and `lstat` of two kernel symlinks,
+answer two nonzero pairs, `d_ino` is its entry's `st_ino`, and a guest C case
+reads them for two directories and a link.
diff --git a/issues/toyos-builds-itself.md b/issues/toyos-builds-itself.md
index e18419ff4..522edd739 100644
--- a/issues/toyos-builds-itself.md
+++ b/issues/toyos-builds-itself.md
@@ -61,8 +61,10 @@ libc's state it is `userland/libc` at `15625e0cb`.
   `socketpair`, which it does not define; a file `mmap` and record locks
   (`issues/libc-refuses-what-toyos-cannot-yet-answer.md`); paths resolved by
   POSIX's rules, which `realpath` answers by the kernel's
-  (`issues/the-kernel-resolves-a-path-by-rules-of-its-own.md`); and socket
-  descriptors that are pollable and
+  (`issues/the-kernel-resolves-a-path-by-rules-of-its-own.md`); file
+  identities
+  (`issues/the-kernel-numbers-no-directory-symlink-or-listing-entry.md`),
+  served like the locks by fsd; and socket descriptors that are pollable and
   can be non-blocking
   (`issues/libc-close-of-a-socket-ends-the-process.md`). Read from each
   library's source and not run: SQLite's default VFS takes `fcntl` record
@@ -128,8 +130,9 @@ commit that lands M2's compile-and-run test, which links inside the guest.
 --hosted-clang` makes a clang and an `ld.lld` for `x86_64-unknown-toyos`,
 static PIEs that name no library (`src/hostedclang.rs`): 147.5 MB and
 85.6 MB, 121.9 MB and 70.9 MB stripped. No guest has run either.
-- Run: what `issues/libc-refuses-what-toyos-cannot-yet-answer.md` lists, and
-  `issues/libc-has-no-pread-or-pwrite.md`.
+- Run: what `issues/libc-refuses-what-toyos-cannot-yet-answer.md` lists,
+  `issues/libc-has-no-pread-or-pwrite.md`, and
+  `issues/the-kernel-numbers-no-directory-symlink-or-listing-entry.md`.
 
 **What M3 adds: a rustc that carries that LLVM**, after all of M2's.
 - Build: `issues/rustc-llvm-cannot-build-for-a-toyos-host.md`, and
diff --git a/kernel/pure/dirnodes.rs b/kernel/pure/dirnodes.rs
deleted file mode 100644
index 94ab07d76..000000000
--- a/kernel/pure/dirnodes.rs
+++ /dev/null
@@ -1,203 +0,0 @@
-//! The numbers a kernel volume gives its directories
-//! (`toyos_abi::syscall::Stat::node`).
-//!
-//! ROOT and `/tmp` keep no record of a directory: one is the prefix its names
-//! share, or a name `mkdir` left in the VFS. So the VFS numbers each by its
-//! absolute path, drawing the number on the first ask, and forgets it once a
-//! removal beneath the path leaves no directory there: a number is never
-//! another directory's while both exist. The paths are userland's choice, so
-//! what this holds is bounded: [`MAX_DIRECTORIES`] keys of at most
-//! [`MAX_PATH`] bytes, a directory past either refused by name.
-
-#![forbid(unsafe_code)]
-
-use alloc::collections::BTreeMap;
-use alloc::string::String;
-use toyos_abi::syscall::{SyscallError, MAX_PATH};
-
-/// The most directories numbered at once: past it a directory not yet
-/// numbered is refused `ResourceExhausted` until one that is ends.
-pub const MAX_DIRECTORIES: usize = 16_384;
-
-#[derive(Default)]
-pub struct Directories {
-    of: BTreeMap<String, u64>,
-}
-
-impl Directories {
-    pub const fn new() -> Self {
-        Self { of: BTreeMap::new() }
-    }
-
-    /// The number of the directory at `path`, drawn by `draw` when this does
-    /// not hold one; `draw` answers a number nothing else on its volume holds.
-    /// A path longer than [`MAX_PATH`] is refused `InvalidArgument`, as `cd`
-    /// and `mkdir` refuse it, and a new one past [`MAX_DIRECTORIES`]
-    /// `ResourceExhausted`.
-    pub fn of(&mut self, path: &str, draw: impl FnOnce() -> u64) -> Result<u64, SyscallError> {
-        if let Some(&number) = self.of.get(path) {
-            return Ok(number);
-        }
-        if path.len() > MAX_PATH {
-            return Err(SyscallError::InvalidArgument);
-        }
-        if self.of.len() >= MAX_DIRECTORIES {
-            return Err(SyscallError::ResourceExhausted);
-        }
-        let number = draw();
-        self.of.insert(String::from(path), number);
-        Ok(number)
-    }
-
-    /// A name at `path` was removed or moved away: `path` and every directory
-    /// above it whose number this holds and that `exists` no longer answers for
-    /// is forgotten, so a directory made there later is drawn a new one. The
-    /// walk begins at the longest of them within [`MAX_PATH`], since nothing
-    /// longer is held, so its length is bounded whatever `path`'s is.
-    pub fn removed(&mut self, path: &str, mut exists: impl FnMut(&str) -> bool) {
-        let mut at = path;
-        if at.len() > MAX_PATH {
-            match at.as_bytes()[..=MAX_PATH].iter().rposition(|&b| b == b'/') {
-                Some(0) | None => return,
-                Some(slash) => at = &at[..slash],
-            }
-        }
-        loop {
-            if self.of.contains_key(at) && !exists(at) {
-                self.of.remove(at);
-            }
-            match at.rfind('/') {
-                Some(0) | None => return,
-                Some(slash) => at = &at[..slash],
-            }
-        }
-    }
-}
-
-#[cfg(test)]
-mod tests {
-    use super::*;
-    use alloc::format;
-    use std::cell::Cell;
-    use std::vec::Vec;
-
-    /// A counter that never rewinds, as the file cache's is.
-    fn counter() -> impl FnMut() -> u64 {
-        let mut next = 0;
-        move || {
-            next += 1;
-            next
-        }
-    }
-
-    fn never() -> u64 {
-        panic!("a held number is never drawn again, and a refused one never drawn")
-    }
-
-    /// Asked twice, a directory answers one number; two directories answer two.
-    #[test]
-    fn a_directory_is_one_number_and_two_are_two() {
-        let mut draw = counter();
-        let mut dirs = Directories::new();
-        let a = dirs.of("/tmp/a", &mut draw).unwrap();
-        let b = dirs.of("/tmp/b", &mut draw).unwrap();
-        assert_ne!(a, b);
-        assert_eq!(dirs.of("/tmp/a", never), Ok(a));
-    }
-
-    /// A removal that leaves the directory standing keeps its number; one that
-    /// ends it forgets it, and the directory made there next is a new one.
-    #[test]
-    fn a_number_lasts_exactly_as_long_as_its_directory() {
-        let mut draw = counter();
-        let mut dirs = Directories::new();
-        let a = dirs.of("/tmp/a", &mut draw).unwrap();
-
-        dirs.removed("/tmp/a/f", |_| true);
-        assert_eq!(dirs.of("/tmp/a", never), Ok(a));
-
-        dirs.removed("/tmp/a/f", |dir| dir != "/tmp/a");
-        let again = dirs.of("/tmp/a", &mut draw).unwrap();
-        assert_ne!(again, a, "a directory made again where one was removed is another directory");
-    }
-
-    /// Every directory above the removal is judged, not only its parent, and
-    /// one that only shares a prefix with it is not.
-    #[test]
-    fn a_removal_forgets_every_directory_it_ended_and_no_other() {
-        let mut draw = counter();
-        let mut dirs = Directories::new();
-        let tmp = dirs.of("/tmp", &mut draw).unwrap();
-        let a = dirs.of("/tmp/a", &mut draw).unwrap();
-        let b = dirs.of("/tmp/a/b", &mut draw).unwrap();
-        let sibling = dirs.of("/tmp/ab", &mut draw).unwrap();
-
-        dirs.removed("/tmp/a/b/f", |dir| dir == "/tmp" || dir == "/tmp/ab");
-        assert_eq!(dirs.of("/tmp", never), Ok(tmp));
-        assert_eq!(dirs.of("/tmp/ab", never), Ok(sibling));
-        let (a2, b2) = (dirs.of("/tmp/a", &mut draw).unwrap(), dirs.of("/tmp/a/b", &mut draw).unwrap());
-        assert!(![tmp, a, b, sibling].contains(&a2) && ![tmp, a, b, sibling, a2].contains(&b2));
-    }
-
-    /// The mount's directories are asked about only where a number is held:
-    /// a removal costs nothing for what nobody numbered.
-    #[test]
-    fn only_a_held_number_is_judged() {
-        let mut dirs = Directories::new();
-        dirs.of("/tmp/a", || 7).unwrap();
-        let asked = Cell::new(Vec::new());
-        dirs.removed("/tmp/a/b/c/f", |dir| {
-            let mut seen = asked.take();
-            seen.push(String::from(dir));
-            asked.set(seen);
-            true
-        });
-        assert_eq!(asked.take(), [String::from("/tmp/a")]);
-    }
-
-    /// A path of `MAX_PATH` bytes is numbered; one byte more is refused by
-    /// name, and nothing is drawn or held for it.
-    #[test]
-    fn a_path_past_max_path_is_refused_invalid() {
-        let mut draw = counter();
-        let mut dirs = Directories::new();
-        let longest = format!("/{}", "a".repeat(MAX_PATH - 1));
-        assert!(dirs.of(&longest, &mut draw).is_ok());
-        let past = format!("{longest}a");
-        assert_eq!(dirs.of(&past, never), Err(SyscallError::InvalidArgument));
-        assert_eq!(dirs.of.len(), 1);
-    }
-
-    /// Full, a new directory is refused by name while a numbered one still
-    /// answers; once one ends, a new one is numbered again.
-    #[test]
-    fn past_max_directories_a_new_directory_is_refused_exhausted() {
-        let mut draw = counter();
-        let mut dirs = Directories::new();
-        for i in 0..MAX_DIRECTORIES {
-            dirs.of(&format!("/tmp/{i}"), &mut draw).unwrap();
-        }
-        assert_eq!(dirs.of("/tmp/new", never), Err(SyscallError::ResourceExhausted));
-        assert_eq!(dirs.of("/tmp/0", never), Ok(1));
-
-        dirs.removed("/tmp/0/f", |dir| dir != "/tmp/0");
-        assert!(dirs.of("/tmp/new", &mut draw).is_ok());
-        assert_eq!(dirs.of("/tmp/0", never), Err(SyscallError::ResourceExhausted));
-    }
-
-    /// A removal beneath a path longer than `MAX_PATH` still judges every
-    /// numbered directory above it.
-    #[test]
-    fn a_removal_past_max_path_judges_the_numbered_above_it() {
-        let mut draw = counter();
-        let mut dirs = Directories::new();
-        let near = format!("/tmp/{}", "a".repeat(MAX_PATH - 5));
-        assert_eq!(near.len(), MAX_PATH);
-        let top = dirs.of("/tmp", &mut draw).unwrap();
-        dirs.of(&near, &mut draw).unwrap();
-        let deep = format!("{near}{}/f", "/b".repeat(MAX_PATH));
-        dirs.removed(&deep, |dir| dir == "/tmp");
-        assert_eq!(dirs.of("/tmp", never), Ok(top));
-        assert_ne!(dirs.of(&near, &mut draw), Ok(2), "the directory MAX_PATH long ended and kept its number");
-    }
-}
diff --git a/kernel/pure/lib.rs b/kernel/pure/lib.rs
index 0a5560492..deda3b590 100644
--- a/kernel/pure/lib.rs
+++ b/kernel/pure/lib.rs
@@ -3,8 +3,7 @@
 //! address space is handed ([`pcid`]), what type the range registers give a
 //! range ([`mtrr`]), what a pipe's ends are told of each other ([`pipe`]), what
 //! a CPU waiting on the boot processor's write to `SMI_CMD` decides
-//! ([`bootwrite`]), what the clock computes from counter ticks ([`clock`]) and
-//! which number a kernel volume's directory answers ([`dirnodes`]).
+//! ([`bootwrite`]) and what the clock computes from counter ticks ([`clock`]).
 //! The kernel binary links it; the host runs
 //! its tests, because none of it reads a register, a clock or a kernel lock.
 
@@ -17,7 +16,6 @@ extern crate std;
 
 pub mod bootwrite;
 pub mod clock;
-pub mod dirnodes;
 pub mod mtrr;
 pub mod pcid;
 pub mod pipe;
diff --git a/kernel/src/bcachefs_adapter.rs b/kernel/src/bcachefs_adapter.rs
index 48d1ce301..94ff0fc2b 100644
--- a/kernel/src/bcachefs_adapter.rs
+++ b/kernel/src/bcachefs_adapter.rs
@@ -60,71 +60,24 @@ fn present<T>(op: &str, name: &str, result: Result<Option<T>, FsError>) -> Resul
 }
 
 
-/// What a name on ROOT is numbered by, once asked.
-#[derive(Clone, Copy)]
-enum Node {
-    /// A file: the `FileId` every open of it answers.
-    File(FileId),
-    /// A symlink: a number `file_cache::draw_node` drew, which no file holds.
-    Symlink(u64),
-}
-
 /// VFS adapter for ROOT, a read-only bcachefs volume in memory.
 ///
 /// Every backing it hands out reads the image the mount was opened over, so a
 /// file cannot be served off bytes its filesystem does not occupy.
 pub struct ReadOnlyBcacheFsAdapter {
     fs: Mounted<MemoryImage, ReadOnly>,
-    /// Every name's node once asked. The volume never changes, so a name is
-    /// one entry for the boot.
-    nodes: BTreeMap<String, Node>,
+    name_to_id: BTreeMap<String, FileId>,
 }
 
 impl ReadOnlyBcacheFsAdapter {
     pub fn new(fs: Mounted<MemoryImage, ReadOnly>) -> Self {
-        Self { fs, nodes: BTreeMap::new() }
-    }
-
-    /// The `FileId` of the file `name`, `size` bytes long, made with no
-    /// reference held when this is its first ask; `Io` for a name the volume
-    /// answered as a symlink before and as a file now, which only a corrupt
-    /// image can.
-    fn file_id(&mut self, name: &str, size: u64) -> Result<FileId, SyscallError> {
-        match self.nodes.get(name) {
-            Some(&Node::File(file_id)) => return Ok(file_id),
-            Some(&Node::Symlink(_)) => {
-                log!("bcachefs: '{}' has extents and was a symlink", name);
-                return Err(SyscallError::Io);
-            }
-            None => {}
-        }
-        // Its mtime is the volume's (`file_mtime`), never the cache's.
-        let file_id = file_cache::create_file(true, 0);
-        file_cache::set_size(file_id, size);
-        file_cache::release(file_id);
-        self.nodes.insert(String::from(name), Node::File(file_id));
-        Ok(file_id)
+        Self { fs, name_to_id: BTreeMap::new() }
     }
 }
 
 impl FileSystem for ReadOnlyBcacheFsAdapter {
-    fn list(&mut self, dir: &str, limit: usize) -> Result<Vec<String>, SyscallError> {
-        let listed = mapped("list", dir, self.fs.list(limit, &|name| crate::vfs::under_directory(name, dir)))?;
-        Ok(listed.into_iter().map(|(name, _)| name).collect())
-    }
-
-    fn node(&mut self, name: &str) -> Result<u64, SyscallError> {
-        match self.nodes.get(name) {
-            Some(&(Node::File(node) | Node::Symlink(node))) => return Ok(node),
-            None => {}
-        }
-        if mapped("is_symlink", name, self.fs.is_symlink(name))? {
-            let node = file_cache::draw_node();
-            self.nodes.insert(String::from(name), Node::Symlink(node));
-            return Ok(node);
-        }
-        let (_, size) = present("node", name, self.fs.file_extents(name))?;
-        self.file_id(name, size)
+    fn list(&mut self, dir: &str, limit: usize) -> Result<Vec<(String, u64)>, SyscallError> {
+        mapped("list", dir, self.fs.list(limit, &|name| crate::vfs::under_directory(name, dir)))
     }
 
     fn is_dir(&mut self, dir: &str) -> Result<bool, SyscallError> {
@@ -141,8 +94,18 @@ impl FileSystem for ReadOnlyBcacheFsAdapter {
 
     fn open_file(&mut self, name: &str) -> Result<(FileId, Option<Arc<dyn FileBacking>>), SyscallError> {
         let (extents, size) = present("open", name, self.fs.file_extents(name))?;
-        let file_id = self.file_id(name, size)?;
-        file_cache::open(file_id).commit();
+        if let Some(&file_id) = self.name_to_id.get(name) {
+            file_cache::open(file_id).commit();
+            let backing = Arc::new(ReadOnlyBacking::new(*self.fs.io(), extents, size));
+            return Ok((file_id, Some(backing)));
+        }
+
+        // Its mtime is the volume's (`file_mtime`), never the cache's.
+        let file_id = file_cache::create_file(true, 0);
+        file_cache::set_size(file_id, size);
+
+        self.name_to_id.insert(String::from(name), file_id);
+
         let backing = Arc::new(ReadOnlyBacking::new(*self.fs.io(), extents, size));
         Ok((file_id, Some(backing)))
     }
diff --git a/kernel/src/file_cache.rs b/kernel/src/file_cache.rs
index 0d29ebfc4..3e30efea3 100644
--- a/kernel/src/file_cache.rs
+++ b/kernel/src/file_cache.rs
@@ -87,16 +87,6 @@ pub fn create_file(evictable: bool, mtime: u64) -> FileId {
     id
 }
 
-/// A number from the count `FileId`s are drawn from, which no file will ever
-/// hold: a kernel volume's node for a name the cache keeps no file for, so no
-/// node on a kernel volume is another's (`vfs::FileSystem::node`).
-pub fn draw_node() -> u64 {
-    let mut cache = FILE_CACHE.lock();
-    let node = cache.next_id;
-    cache.next_id += 1;
-    node
-}
-
 /// Point a file at the store its evicted pages come back from; idempotent across opens of the same file.
 pub fn set_backing(file_id: FileId, backing: Arc<dyn FileBacking>) {
     let mut cache = FILE_CACHE.lock();
diff --git a/kernel/src/object/ops.rs b/kernel/src/object/ops.rs
index 959490458..ecaad068c 100644
--- a/kernel/src/object/ops.rs
+++ b/kernel/src/object/ops.rs
@@ -116,8 +116,8 @@ pub fn open(table: &mut HandleTable, path: &str, flags: OpenFlags) -> u64 {
         let built = if truncate && create {
             let mtime = crate::clock::mtime_now();
             // `NotFound` is not a failure: truncating past a name that was not there is fine.
-            // Any `vfs.delete_file` error other than `NotFound` is propagated, not swallowed: truncating past it could silently create a file over one the mount could not confirm was missing.
-            match vfs.delete_file(target.as_str()) {
+            // Any `vfs.delete` error other than `NotFound` is propagated, not swallowed: truncating past it could silently create a file over one the mount could not confirm was missing.
+            match vfs.delete(target.as_str()) {
                 Ok(()) | Err(SyscallError::NotFound) => {}
                 Err(e) => return e.to_u64(),
             }
diff --git a/kernel/src/syscall/dispatch.rs b/kernel/src/syscall/dispatch.rs
index e61b604b5..f8beb9ade 100644
--- a/kernel/src/syscall/dispatch.rs
+++ b/kernel/src/syscall/dispatch.rs
@@ -29,7 +29,7 @@ use super::device::{
 };
 use super::fs::{
     spawn_cwd, sys_chdir, sys_delete, sys_getcwd, sys_mkdir, sys_open, sys_readdir, sys_readlink,
-    sys_rename, sys_rmdir, sys_stat, sys_symlink,
+    sys_rename, sys_rmdir, sys_symlink,
 };
 use super::handles::{sys_close, sys_dup2, sys_handle_dup, with_object, with_object_ref};
 use super::io::{
@@ -138,22 +138,6 @@ pub(crate) fn syscall_dispatch(num: u64, a1: u64, a2: u64, a3: u64, a4: u64) ->
                 Err(e) => e.refuse(),
             }
         }
-        SYS_STAT => {
-            let path = match ctx.user_str(UserAddr::new(a1), a2) { Ok(s) => s, Err(e) => return e.to_u64() };
-            let follow = match a4 {
-                0 => false,
-                1 => true,
-                _ => return SyscallError::InvalidArgument.to_u64(),
-            };
-            let stat = match sys_stat(&path, follow) {
-                Ok(stat) => stat,
-                Err(e) => return e.to_u64(),
-            };
-            match ctx.copy_out(UserAddr::new(a3), &stat) {
-                Ok(()) => 0,
-                Err(e) => e.to_u64(),
-            }
-        }
         SYS_READDIR => {
             let path = match ctx.user_str(UserAddr::new(a1), a2) { Ok(s) => s, Err(e) => return e.to_u64() };
             let Some(mut buf) = ctx.user_bytes_mut(UserAddr::new(a3), a4) else { return bad_addr };
diff --git a/kernel/src/syscall/fs.rs b/kernel/src/syscall/fs.rs
index 856ba4b05..268548780 100644
--- a/kernel/src/syscall/fs.rs
+++ b/kernel/src/syscall/fs.rs
@@ -38,14 +38,6 @@ pub(super) fn sys_open(path: &str, flags: OpenFlags) -> u64 {
     process::with_process_data(|data| ops::open(&mut data.handles, &resolved, flags))
 }
 
-/// What `path` names, a final symlink followed when `follow` says so.
-pub(super) fn sys_stat(path: &str, follow: bool) -> Result<ops::Stat, SyscallError> {
-    let cwd = process::with_process_data(|d| d.cwd.clone());
-    let mut vfs = vfs::lock();
-    let resolved = vfs.resolve_absolute(&cwd, path);
-    vfs.stat(&resolved, follow)
-}
-
 /// Returns the length needed; writes the listing only when it fits (`n <= out.len()`).
 pub(super) fn sys_readdir(path: &str, out: &mut UserBytesMut) -> u64 {
     let cwd = process::with_process_data(|d| d.cwd.clone());
@@ -62,7 +54,7 @@ pub(super) fn sys_readdir(path: &str, out: &mut UserBytesMut) -> u64 {
     }
 
     let mut pos = 0;
-    for (name, node) in &entries {
+    for (name, size) in &entries {
         let is_dir = name.ends_with('/');
         let clean_name = if is_dir { &name[..name.len() - 1] } else { name.as_str() };
         out.write_at(pos, &[if is_dir { DIRENT_DIR } else { DIRENT_FILE }]);
@@ -71,7 +63,7 @@ pub(super) fn sys_readdir(path: &str, out: &mut UserBytesMut) -> u64 {
         pos += clean_name.len();
         out.write_at(pos, &[0]);
         pos += 1;
-        out.write_at(pos, &node.to_le_bytes());
+        out.write_at(pos, &size.to_le_bytes());
         pos += 8;
     }
     debug_assert_eq!(pos, needed);
diff --git a/kernel/src/tmpfs.rs b/kernel/src/tmpfs.rs
index d16084900..1a6fc879c 100644
--- a/kernel/src/tmpfs.rs
+++ b/kernel/src/tmpfs.rs
@@ -52,8 +52,7 @@ fn retire(id: FileId, alive: &AtomicBool) {
 /// each see a different namespace.
 pub(crate) enum Entry {
     File { id: FileId, alive: Arc<AtomicBool> },
-    /// `node` is drawn at the link's making and moves with its entry.
-    Symlink { target: String, node: u64 },
+    Symlink { target: String },
 }
 
 /// In-memory filesystem: file data lives in the file cache.
@@ -101,30 +100,22 @@ impl ReplaceRename for TmpFs {
 
 impl FileSystem for TmpFs {
     // Nothing else caps file count here.
-    fn list(&mut self, dir: &str, limit: usize) -> Result<Vec<String>, SyscallError> {
+    fn list(&mut self, dir: &str, limit: usize) -> Result<Vec<(String, u64)>, SyscallError> {
         let mut out = Vec::new();
         for (name, entry) in &self.entries {
-            if let Entry::File { .. } = entry {
+            if let Entry::File { id, .. } = entry {
                 if !crate::vfs::under_directory(name, dir) {
                     continue;
                 }
                 if out.len() == limit {
                     return Err(SyscallError::ResourceExhausted);
                 }
-                out.push(name.clone());
+                out.push((name.clone(), file_cache::size(*id)));
             }
         }
         Ok(out)
     }
 
-    fn node(&mut self, name: &str) -> Result<u64, SyscallError> {
-        match self.entries.get(name) {
-            Some(Entry::File { id, .. }) => Ok(*id),
-            Some(Entry::Symlink { node, .. }) => Ok(*node),
-            None => Err(SyscallError::NotFound),
-        }
-    }
-
     /// The first name at or after `dir/` in key order is the only one that can
     /// lie beneath it.
     fn is_dir(&mut self, dir: &str) -> Result<bool, SyscallError> {
@@ -146,7 +137,7 @@ impl FileSystem for TmpFs {
 
     fn read_link(&mut self, name: &str) -> Result<Option<String>, SyscallError> {
         Ok(match self.entries.get(name) {
-            Some(Entry::Symlink { target, .. }) => Some(target.clone()),
+            Some(Entry::Symlink { target }) => Some(target.clone()),
             _ => None,
         })
     }
@@ -198,8 +189,8 @@ impl FileSystem for TmpFs {
 
     fn create_symlink(&mut self, name: &str, target: &str) -> Result<(), SyscallError> {
         // Displaces whatever answered to this name: one name, one entry.
-        let link = Entry::Symlink { target: String::from(target), node: file_cache::draw_node() };
-        if let Some(Entry::File { id, alive, .. }) = self.entries.insert(String::from(name), link)
+        if let Some(Entry::File { id, alive, .. }) =
+            self.entries.insert(String::from(name), Entry::Symlink { target: String::from(target) })
         {
             retire(id, &alive);
         }
diff --git a/kernel/src/vfs.rs b/kernel/src/vfs.rs
index b8a4d0a4f..4b3cdf1ce 100644
--- a/kernel/src/vfs.rs
+++ b/kernel/src/vfs.rs
@@ -5,11 +5,9 @@ use alloc::collections::BTreeSet;
 use alloc::vec::Vec;
 
 use core::ops::{Deref, DerefMut};
-use toyos_abi::syscall::{FileType, SyscallError, MAX_LINKS, MAX_PATH};
-use crate::file_cache::{self, FileId};
-use crate::object::ops::Stat;
+use toyos_abi::syscall::{SyscallError, MAX_LINKS, MAX_PATH};
+use crate::file_cache::FileId;
 use crate::sync::{Lock, LockGuard};
-use kernel::dirnodes::Directories;
 
 static VFS: Lock<Option<Vfs>> = Lock::new(None);
 
@@ -36,13 +34,7 @@ pub fn lock() -> VfsGuard {
 pub trait FileSystem: Send {
     /// Every name [`under_directory`] puts at or under `dir` (`""` is the mount
     /// root), or `ResourceExhausted` above `limit`, which counts only those.
-    fn list(&mut self, dir: &str, limit: usize) -> Result<Vec<String>, SyscallError>;
-
-    /// The number of the file or symlink `name`, not followed, as
-    /// `toyos_abi::syscall::Stat::node` says: a file's is the `FileId`
-    /// [`open_file`](Self::open_file) answers, a symlink's one drawn by
-    /// `file_cache::draw_node`; `NotFound` for anything else.
-    fn node(&mut self, name: &str) -> Result<u64, SyscallError>;
+    fn list(&mut self, dir: &str, limit: usize) -> Result<Vec<(String, u64)>, SyscallError>;
 
     /// Whether `dir` (`""` is the mount root) is a directory: a working
     /// directory is judged by this, on every spawn and `SYS_CHDIR`, under the
@@ -124,19 +116,6 @@ impl MountPoint {
     }
 }
 
-/// The volume `/` and every [`ROOT_ENTRIES`] name nothing is mounted at are
-/// on: the directories the VFS makes itself, below a file server's bit 63 and
-/// above every [`MountPoint::volume`].
-const NAMESPACE_VOLUME: u64 = (1 << 63) - 1;
-
-/// The node of `/` on [`NAMESPACE_VOLUME`].
-const ROOT_NODE: u64 = 1;
-
-/// The node on [`NAMESPACE_VOLUME`] of the [`ROOT_ENTRIES`] name at `slot`.
-fn namespace_node(slot: usize) -> u64 {
-    ROOT_NODE + 1 + slot as u64
-}
-
 /// A path with every symlink followed, minted only by [`Vfs::resolve_for_open`]:
 /// the mount an `OpenTarget` names is the mount opened, never one a link aimed away from.
 pub struct OpenTarget(String);
@@ -159,8 +138,6 @@ pub struct Vfs {
     /// Each mounted filesystem once, however many names reach it.
     mounts: Vec<Mount>,
     created_dirs: BTreeSet<String>,
-    /// Every mounted directory's node, by absolute path.
-    dirs: Directories,
 }
 
 /// The most entries one `FileSystem::list` may materialise for one directory.
@@ -211,7 +188,6 @@ impl Vfs {
             at: [const { None }; ROOT_ENTRIES.len()],
             mounts: Vec::new(),
             created_dirs: BTreeSet::new(),
-            dirs: Directories::new(),
         }
     }
 
@@ -295,47 +271,21 @@ impl Vfs {
             return Err(SyscallError::InvalidArgument);
         }
 
+        if self.created_dirs.contains(&abs) {
+            return Ok(abs);
+        }
+
         // A mount point exists whether or not anything is mounted on it; and
         // under one this kernel mounts nothing at, the directory is a file
         // server's, which the caller's client asked and this kernel cannot.
-        if Self::entry(&mount).is_some() && self.point(&mount).is_none() {
+        if Self::entry(&mount).is_some() && (subdir.is_empty() || self.point(&mount).is_none()) {
             return Ok(abs);
         }
 
-        if self.is_mounted_dir(&mount, &subdir)? { Ok(abs) } else { Err(SyscallError::NotFound) }
-    }
-
-    /// Whether `/mount/subdir` is a directory of what is mounted at `mount`:
-    /// its root, one `mkdir` left in `created_dirs`, or one the filesystem holds.
-    fn is_mounted_dir(&mut self, mount: &str, subdir: &str) -> Result<bool, SyscallError> {
-        let Some(point) = self.point(mount) else { return Ok(false) };
-        Ok(subdir.is_empty()
-            || self.created_dirs.contains(&directory(mount, subdir))
-            || self.mounts[point.fs].fs.is_dir(&point.path(subdir))?)
-    }
-
-    /// The node of the mounted directory at the absolute `path`
-    /// ([`Directories`]), which the caller found is one; refused past
-    /// [`Directories`]'s bounds.
-    fn dir_node(&mut self, path: &str) -> Result<u64, SyscallError> {
-        self.dirs.of(path, file_cache::draw_node)
-    }
-
-    /// A name at the absolute `path` was removed or moved away: every
-    /// directory that ended with it loses its node. A mount that cannot answer
-    /// keeps the node, since forgetting a directory that stands renumbers it.
-    fn forget_ended_dirs(&mut self, path: &str) {
-        let mut dirs = core::mem::take(&mut self.dirs);
-        dirs.removed(path, |dir| {
-            let (mount, subdir) = self.resolve_path("/", dir);
-            self.is_mounted_dir(&mount, &subdir).unwrap_or(true)
-        });
-        self.dirs = dirs;
+        let (fs, fs_path) = self.resolve_fs(&mount, &subdir).ok_or(SyscallError::NotFound)?;
+        if fs.is_dir(&fs_path)? { Ok(abs) } else { Err(SyscallError::NotFound) }
     }
 
-    /// Each entry of the directory, a directory's name ending in `/`, and its
-    /// node, as [`Self::stat`] answers it.
-    ///
     /// `list` refuses above [`MAX_LIST_ENTRIES`] rather than truncating because a short listing is a confidently wrong answer to a caller checking existence or deleting a tree.
     pub fn list(&mut self, cwd: &str, path: &str) -> Result<Vec<(String, u64)>, SyscallError> {
         let (mount, subdir) = if path.is_empty() {
@@ -345,18 +295,10 @@ impl Vfs {
         };
 
         if mount.is_empty() {
-            let mut entries = Vec::with_capacity(ROOT_ENTRIES.len());
-            for (slot, name) in ROOT_ENTRIES.iter().enumerate() {
-                let node = match self.point(name) {
-                    Some(_) => self.dir_node(&format!("/{name}"))?,
-                    None => namespace_node(slot),
-                };
-                entries.push((format!("{name}/"), node));
-            }
-            return Ok(entries);
+            return Ok(ROOT_ENTRIES.iter().map(|name| (format!("{name}/"), 0)).collect());
         }
 
-        let Some(point) = self.point(&mount) else {
+        let Some((fs, fs_path)) = self.resolve_fs(&mount, &subdir) else {
             // A mount point with nothing mounted on it is an empty directory;
             // anything under it, and any other name, is not there at all.
             return match Self::entry(&mount) {
@@ -364,9 +306,7 @@ impl Vfs {
                 _ => Err(SyscallError::NotFound),
             };
         };
-        let fs_path = point.path(&subdir);
-        let all_files = self.mounts[point.fs].fs.list(&fs_path, MAX_LIST_ENTRIES)?;
-        let listed = directory(&mount, &subdir);
+        let all_files = fs.list(&fs_path, MAX_LIST_ENTRIES)?;
 
         let prefix = if fs_path.is_empty() {
             String::new()
@@ -379,12 +319,12 @@ impl Vfs {
         }
 
         // Dedup only removes entries, so `matching` is a true upper bound on the final result count.
-        let matching = all_files.iter().filter(|n| under_prefix(n, &prefix).is_some()).count();
+        let matching = all_files.iter().filter(|(n, _)| under_prefix(n, &prefix).is_some()).count();
         let mut result = Vec::with_capacity(matching);
         let mut seen_dirs = BTreeSet::new();
         let mut saw_self = false;
 
-        for name in &all_files {
+        for (name, size) in &all_files {
             let Some(rest) = under_prefix(name, &prefix) else { continue };
 
             // The listed directory's own entry: proof it exists, not a child.
@@ -393,19 +333,18 @@ impl Vfs {
                 continue;
             }
             if let Some(slash_pos) = rest.find('/') {
-                let child = &rest[..slash_pos];
-                if seen_dirs.insert(format!("{child}/")) {
-                    let node = self.dir_node(&format!("{listed}/{child}"))?;
-                    result.push((format!("{child}/"), node));
+                let dir_name = format!("{}/", &rest[..slash_pos]);
+                if seen_dirs.insert(dir_name.clone()) {
+                    result.push((dir_name, 0));
                 }
             } else {
-                result.push((String::from(rest), self.mounts[point.fs].fs.node(name)?));
+                result.push((String::from(rest), *size));
             }
         }
 
         // A directory the VFS carries is its parent's entry whether or not a
         // file is under it yet.
-        let parent = format!("{listed}/");
+        let parent = format!("{}/", directory(&mount, &subdir));
         for dir in self.created_dirs.range(parent.clone()..) {
             let Some(rest) = dir.strip_prefix(parent.as_str()) else { break };
             let child = rest.split('/').next().unwrap_or(rest);
@@ -415,7 +354,7 @@ impl Vfs {
                     if result.len() == MAX_LIST_ENTRIES {
                         return Err(SyscallError::ResourceExhausted);
                     }
-                    result.push((dir_name, self.dirs.of(&format!("{parent}{child}"), file_cache::draw_node)?));
+                    result.push((dir_name, 0));
                 }
             }
         }
@@ -438,75 +377,30 @@ impl Vfs {
         if intent == ResolveIntent::UserModify && !self.user_may_modify(path) {
             return Err(SyscallError::PermissionDenied);
         }
-        let (mount, file) = self.followed(path)?;
-        // A mount point is a directory, never a file to open.
-        if file.is_empty() || self.point(&mount).is_none() {
-            return Err(SyscallError::NotFound);
-        }
-        let target = OpenTarget(format!("/{mount}/{file}"));
+        let target = self.resolve_for_open_depth(path, 0)?;
         if intent == ResolveIntent::UserModify && !self.user_may_modify(target.as_str()) {
             return Err(SyscallError::PermissionDenied);
         }
         Ok(target)
     }
 
-    /// The mount and the path under it that the absolute `path` names once
-    /// every symlink it ends in is followed, [`MAX_LINKS`] at most.
-    fn followed(&mut self, path: &str) -> Result<(String, String), SyscallError> {
-        let (mut mount, mut file) = self.resolve_path("/", path);
-        for _ in 0..=MAX_LINKS {
-            let link = match self.resolve_fs(&mount, &file) {
-                Some((fs, fs_path)) if !file.is_empty() => fs.read_link(&fs_path)?,
-                _ => None,
-            };
-            let Some(target) = link else { return Ok((mount, file)) };
+    fn resolve_for_open_depth(&mut self, path: &str, depth: u32) -> Result<OpenTarget, SyscallError> {
+        if depth > MAX_LINKS { return Err(SyscallError::InvalidArgument); }
+        let (mount, file) = self.resolve_path("/", path);
+        // A mount point is a directory, never a file to open.
+        if file.is_empty() { return Err(SyscallError::NotFound); }
+        let (fs, fs_path) = self.resolve_fs(&mount, &file).ok_or(SyscallError::NotFound)?;
+        if let Some(target) = fs.read_link(&fs_path)? {
             // An absolute target names the whole hierarchy; a relative one is
             // read against the mount the link is on.
-            let next = if target.starts_with('/') { target } else { format!("/{mount}/{target}") };
-            (mount, file) = self.resolve_path("/", &next);
-        }
-        Err(SyscallError::InvalidArgument)
-    }
-
-    /// What the absolute `path` names, a final symlink followed when `follow`
-    /// says so, as `toyos_abi::syscall::Stat` describes it.
-    pub fn stat(&mut self, path: &str, follow: bool) -> Result<Stat, SyscallError> {
-        let (mount, file) = if follow { self.followed(path)? } else { self.resolve_path("/", path) };
-        let named = |file_type: FileType, size, mtime, volume, node| {
-            Stat { file_type: file_type as u64, size, mtime, volume, node }
-        };
-        if mount.is_empty() {
-            return Ok(named(FileType::Directory, 0, 0, NAMESPACE_VOLUME, ROOT_NODE));
-        }
-        let Some(point) = self.point(&mount) else {
-            return match Self::entry(&mount) {
-                Some(slot) if file.is_empty() => {
-                    Ok(named(FileType::Directory, 0, 0, NAMESPACE_VOLUME, namespace_node(slot)))
-                }
-                _ => Err(SyscallError::NotFound),
+            let next = if target.starts_with('/') {
+                target
+            } else {
+                format!("/{}/{}", mount, target)
             };
-        };
-        let volume = point.volume();
-        if !file.is_empty() {
-            let fs_path = point.path(&file);
-            let fs = &mut self.mounts[point.fs].fs;
-            if let Some(target) = fs.read_link(&fs_path)? {
-                return Ok(named(FileType::Symlink, target.len() as u64, 0, volume, fs.node(&fs_path)?));
-            }
-            match fs.file_mtime(&fs_path) {
-                Ok(mtime) => {
-                    // A file's node is its `FileId`.
-                    let node = fs.node(&fs_path)?;
-                    return Ok(named(FileType::File, file_cache::size(node), mtime, volume, node));
-                }
-                Err(SyscallError::NotFound) => {}
-                Err(e) => return Err(e),
-            }
-        }
-        if !self.is_mounted_dir(&mount, &file)? {
-            return Err(SyscallError::NotFound);
+            return self.resolve_for_open_depth(&next, depth + 1);
         }
-        Ok(named(FileType::Directory, 0, 0, volume, self.dir_node(&directory(&mount, &file))?))
+        Ok(OpenTarget(format!("/{mount}/{file}")))
     }
 
     /// `target`'s filesystem, its path there, and its volume ([`MountPoint::volume`]).
@@ -541,8 +435,7 @@ impl Vfs {
         Ok((file_id, point.volume()))
     }
 
-    /// Unlink `path` on its mount, every directory keeping its node: for a
-    /// caller that puts a file back at once (`ops::open`'s truncate).
+    /// Unlink `path` on its mount.
     pub fn delete_file(&mut self, path: &str) -> Result<(), SyscallError> {
         let (mount, file) = self.resolve_path("/", path);
         if file.is_empty() { return Err(SyscallError::InvalidArgument); }
@@ -557,9 +450,7 @@ impl Vfs {
         if old_mount != new_mount { return Err(SyscallError::NotSupported); }
         let point = self.point(&old_mount).ok_or(SyscallError::NotFound)?;
         let (old_fs_path, new_fs_path) = (point.path(&old_file), point.path(&new_file));
-        self.mounts[point.fs].fs.rename(&old_fs_path, &new_fs_path)?;
-        self.forget_ended_dirs(&directory(&old_mount, &old_file));
-        Ok(())
+        self.mounts[point.fs].fs.rename(&old_fs_path, &new_fs_path)
     }
 

@Japabu

Japabu commented Oct 11, 2026

Copy link
Copy Markdown
Collaborator Author

negative-control, part 2 of 2, everything outside tests/ reverted to origin/main 41ad7ec merged with #854 6aa7722 (tree 0fa6a201f), head's tests kept (stat_identity.rs blob 072c7e666, head's), through the probe: exit 1, both red

     /// The `Result` is as much the point as the bound: a caller that discards it and reports success anyway turns the bound into a silent failure.
@@ -591,12 +482,6 @@ impl Vfs {
     /// the point, as in [`Self::create_dir`]. A mount root, a missing name, a
     /// file, and a non-empty directory are each refused, not reported as removed.
     pub fn remove_dir(&mut self, path: &str) -> Result<(), SyscallError> {
-        self.remove_empty_dir(path)?;
-        self.forget_ended_dirs(&normalize(path));
-        Ok(())
-    }
-
-    fn remove_empty_dir(&mut self, path: &str) -> Result<(), SyscallError> {
         let (mount, subdir) = self.resolve_path("/", path);
         // A mount point (and `/`) is not a directory a caller may remove.
         if subdir.is_empty() {
@@ -622,10 +507,10 @@ impl Vfs {
         let (fs, fs_path) = self.resolve_fs(&mount, &subdir).ok_or(SyscallError::NotFound)?;
         let names = fs.list(&fs_path, MAX_LIST_ENTRIES)?;
         let child_prefix = format!("{fs_path}/");
-        let is_file = names.contains(&fs_path);
+        let is_file = names.iter().any(|(n, _)| *n == fs_path);
         // A listing mount's own `name/` self-entry is not a child, or every empty directory reads non-empty.
         let has_file_child =
-            names.iter().any(|n| n.starts_with(&child_prefix) && *n != child_prefix);
+            names.iter().any(|(n, _)| n.starts_with(&child_prefix) && *n != child_prefix);
 
         // The name resolves to a file, not a directory.
         if is_file {
@@ -662,11 +547,8 @@ impl Vfs {
         fs.read_link(&fs_path)
     }
 
-    /// Unlink `path`, and forget the node of every directory that ended with it.
     pub fn delete(&mut self, path: &str) -> Result<(), SyscallError> {
-        self.delete_file(path)?;
-        self.forget_ended_dirs(&normalize(path));
-        Ok(())
+        self.delete_file(path)
     }
 
     pub fn open_backing(&mut self, path: &str) -> Result<alloc::sync::Arc<dyn crate::file_backing::FileBacking>, SyscallError> {
diff --git a/sdk/std/os/fs.rs b/sdk/std/os/fs.rs
index 744be6974..ca2ee0424 100644
--- a/sdk/std/os/fs.rs
+++ b/sdk/std/os/fs.rs
@@ -7,7 +7,8 @@ use crate::sys::AsInner;
 #[stable(feature = "toyos_ext", since = "1.0.0")]
 pub trait MetadataExt {
     /// The volume the file is on (`toyos_abi::syscall::Stat::volume`), as
-    /// Unix's `dev`: 0 for what has none.
+    /// Unix's `dev`: 0 for what has none, a directory or symlink the kernel
+    /// serves among them.
     #[stable(feature = "toyos_ext", since = "1.0.0")]
     fn dev(&self) -> u64;
     /// The file on that volume (`toyos_abi::syscall::Stat::node`), as Unix's
diff --git a/sdk/std/sys/fs.rs b/sdk/std/sys/fs.rs
index b4967e35a..d95dcb8a7 100644
--- a/sdk/std/sys/fs.rs
+++ b/sdk/std/sys/fs.rs
@@ -122,7 +122,8 @@ pub struct FileAttr {
     size: u64,
     file_type: FileType,
     mtime: u64,
-    /// `toyos_abi::syscall::Stat`'s identity.
+    /// `toyos_abi::syscall::Stat`'s identity; 0 for what the kernel numbers
+    /// not — its directories and symlinks.
     volume: u64,
     node: u64,
 }
@@ -202,13 +203,18 @@ impl FileAttr {
     fn of_kernel(stat: syscall::Stat) -> FileAttr {
         FileAttr {
             size: stat.size,
-            file_type: kernel_file_type(stat.file_type),
+            file_type: opened_file_type(stat.file_type),
             mtime: stat.mtime,
             volume: stat.volume,
             node: stat.node,
         }
     }
 
+    /// What the kernel answers of a name it opens not: its kind and size alone.
+    fn unopened(size: u64, file_type: FileType) -> FileAttr {
+        FileAttr { size, file_type, mtime: 0, volume: 0, node: 0 }
+    }
+
     pub fn volume(&self) -> u64 {
         self.volume
     }
@@ -285,7 +291,7 @@ impl DirEntry {
         self.name.clone()
     }
 
-    /// Asked of the entry, as Unix's is.
+    /// Asked of the entry, as Unix's is: a listing carries no identity.
     pub fn metadata(&self) -> io::Result<FileAttr> {
         lstat(&self.path())
     }
@@ -758,15 +764,23 @@ impl fmt::Debug for File {
     }
 }
 
-/// The type of something the kernel answered a `stat` or `fstat` of.
-fn kernel_file_type(ty: syscall::FileType) -> FileType {
-    FileType {
-        is_file: ty == syscall::FileType::File,
-        is_dir: ty == syscall::FileType::Directory,
-        is_symlink: ty == syscall::FileType::Symlink,
+/// Whether the kernel's `path` names a directory, asked through `readdir`: a
+/// directory too large to list is still one, which is why
+/// `ResourceExhausted` is a yes.
+fn kernel_is_dir(path: &[u8]) -> bool {
+    let mut buf = [0u8; 1];
+    match syscall::readdir(path, &mut buf) {
+        Ok(_) | Err(SyscallError::ResourceExhausted) => true,
+        Err(_) => false,
     }
 }
 
+/// The type of something the kernel's `open` accepted, which is never a
+/// directory.
+fn opened_file_type(ty: syscall::FileType) -> FileType {
+    FileType { is_file: ty == syscall::FileType::File, is_dir: false, is_symlink: false }
+}
+
 /// A listing too large for a first buffer is asked again at the size it
 /// named; a directory that outgrows its own listing this many times is
 /// refused rather than waited on.
@@ -934,16 +948,37 @@ pub fn link(_src: &Path, _dst: &Path) -> io::Result<()> {
     Err(io::Error::new(io::ErrorKind::Unsupported, "no hard links on ToyOS"))
 }
 
-fn kernel_stat(abs: &str, follow: bool) -> io::Result<FileAttr> {
-    syscall::stat(abs.as_bytes(), follow).map(FileAttr::of_kernel).map_err(to_io_error)
+fn kernel_stat(abs: &str) -> io::Result<FileAttr> {
+    if let Ok(fd) = syscall::open(abs.as_bytes(), OpenFlags::READ) {
+        let result = syscall::fstat(fd);
+        syscall::close(fd);
+        return result.map(FileAttr::of_kernel).map_err(to_io_error);
+    }
+    if kernel_is_dir(abs.as_bytes()) {
+        return Ok(FileAttr::unopened(0, FileType { is_file: false, is_dir: true, is_symlink: false }));
+    }
+    Err(io::Error::new(io::ErrorKind::NotFound, "file not found"))
 }
 
 pub fn stat(path: &Path) -> io::Result<FileAttr> {
-    on_path(path, |abs| kernel_stat(abs, true), |_, dir, rel| dir.stat(rel, true).map(FileAttr::of))
+    on_path(path, kernel_stat, |_, dir, rel| dir.stat(rel, true).map(FileAttr::of))
 }
 
 pub fn lstat(path: &Path) -> io::Result<FileAttr> {
-    on_path(path, |abs| kernel_stat(abs, false), |_, dir, rel| dir.stat(rel, false).map(FileAttr::of))
+    on_path(
+        path,
+        |abs| {
+            let mut link_buf = [0u8; 4096];
+            if let Ok(n) = syscall::readlink(abs.as_bytes(), &mut link_buf) {
+                return Ok(FileAttr::unopened(
+                    n as u64,
+                    FileType { is_file: false, is_dir: false, is_symlink: true },
+                ));
+            }
+            kernel_stat(abs)
+        },
+        |_, dir, rel| dir.stat(rel, false).map(FileAttr::of),
+    )
 }
 
 pub fn canonicalize(p: &Path) -> io::Result<PathBuf> {
diff --git a/toyos-abi/src/syscall.rs b/toyos-abi/src/syscall.rs
index 081566671..7c356c318 100644
--- a/toyos-abi/src/syscall.rs
+++ b/toyos-abi/src/syscall.rs
@@ -8,8 +8,6 @@ pub const SYS_CLOSE: u64 = 10;
 pub const SYS_SEEK: u64 = 13;
 pub const SYS_FSTAT: u64 = 14;
 pub const SYS_FSYNC: u64 = 15;
-/// What a path names, as a [`Stat`]: [`stat`].
-pub const SYS_STAT: u64 = 16;
 pub const SYS_READDIR: u64 = 17;
 pub const SYS_DELETE: u64 = 18;
 pub const SYS_SHUTDOWN: u64 = 19;
@@ -557,10 +555,6 @@ pub enum FileType {
     /// A shared-memory region; `size` is its length. A program's stdout and
     /// stderr are one when they are its log ring (`toyos::log`).
     SharedMemory = 10,
-    /// A directory, which only [`stat`] answers.
-    Directory = 11,
-    /// A symbolic link, which only [`stat`] answers; `size` is its target's length.
-    Symlink = 12,
 }
 
 impl FileType {
@@ -576,8 +570,6 @@ impl FileType {
             7 => Some(Self::Mouse),
             8 => Some(Self::Socket),
             10 => Some(Self::SharedMemory),
-            11 => Some(Self::Directory),
-            12 => Some(Self::Symlink),
             _ => None,
         }
     }
@@ -668,7 +660,7 @@ pub struct RealTime {
     pub seconds: u8,
 }
 
-/// File metadata returned by [`fstat`] and [`stat`].
+/// File metadata returned by [`fstat`].
 #[repr(C)]
 #[derive(Clone, Copy, Debug, Default)]
 pub struct Stat {
@@ -1077,15 +1069,6 @@ pub fn fstat(handle: RawHandle) -> Result<Stat, SyscallError> {
     Ok(stat)
 }
 
-/// What the kernel's `path` names: a file, a directory, or, unless `follow`
-/// follows it, a symlink, each with the identity [`fstat`] answers a file.
-pub fn stat(path: &[u8], follow: bool) -> Result<Stat, SyscallError> {
-    let mut stat = Stat::default();
-    let out = &mut stat as *mut Stat as u64;
-    check_unit(syscall(SYS_STAT, path.as_ptr() as u64, path.len() as u64, out, follow as u64))?;
-    Ok(stat)
-}
-
 /// Flush a file handle to disk, or a partition claim's writes out of its
 /// device's cache ([`crate::part`]): `Ok` is the device's own word that every
 /// write the claim returned from before this call is durable.
@@ -1116,11 +1099,11 @@ pub const DIRENT_FILE: u8 = 1;
 pub const DIRENT_DIR: u8 = 2;
 
 /// One entry of a [`readdir`] listing: its kind byte, its name, a NUL, and its
-/// node as eight bytes, little-endian: the [`Stat::node`] [`stat`] answers it.
+/// size as eight bytes, little-endian.
 pub struct Dirent<'a> {
     pub is_dir: bool,
     pub name: &'a [u8],
-    pub node: u64,
+    pub size: u64,
 }
 
 /// The entry at `*at` in a whole [`readdir`] listing, with `*at` moved past
@@ -1134,11 +1117,11 @@ pub fn dirent<'a>(listing: &'a [u8], at: &mut usize) -> Option<Dirent<'a>> {
         kind => panic!("SYS_READDIR answered an entry of kind {kind}"),
     };
     let len = rest[1..].iter().position(|&b| b == 0).expect("SYS_READDIR answered a name with no NUL");
-    let node = rest
+    let size = rest
         .get(len + 2..len + 10)
-        .expect("SYS_READDIR answered an entry with no node");
+        .expect("SYS_READDIR answered an entry with no size");
     *at += len + 10;
-    Some(Dirent { is_dir, name: &rest[1..1 + len], node: u64::from_le_bytes(node.try_into().unwrap()) })
+    Some(Dirent { is_dir, name: &rest[1..1 + len], size: u64::from_le_bytes(size.try_into().unwrap()) })
 }
 
 /// Delete a file or directory.
@@ -2890,14 +2873,14 @@ mod tests {
     }
 
     /// A listing of `entries`, each a name, whether it is a directory and a
-    /// node, encoded as `sys_readdir` (`kernel/src/syscall/fs.rs`) encodes it.
+    /// size, encoded as `sys_readdir` (`kernel/src/syscall/fs.rs`) encodes it.
     fn listing(entries: &[(&str, bool, u64)]) -> std::vec::Vec<u8> {
         let mut out = std::vec::Vec::new();
-        for (name, is_dir, node) in entries {
+        for (name, is_dir, size) in entries {
             out.push(if *is_dir { 2 } else { 1 });
             out.extend_from_slice(name.as_bytes());
             out.push(0);
-            out.extend_from_slice(&node.to_le_bytes());
+            out.extend_from_slice(&size.to_le_bytes());
         }
         out
     }
@@ -2906,15 +2889,15 @@ mod tests {
         let mut at = 0;
         let mut out = std::vec::Vec::new();
         while let Some(entry) = dirent(bytes, &mut at) {
-            out.push((std::string::String::from_utf8(entry.name.to_vec()).unwrap(), entry.is_dir, entry.node));
+            out.push((std::string::String::from_utf8(entry.name.to_vec()).unwrap(), entry.is_dir, entry.size));
         }
         assert_eq!(at, bytes.len(), "the reader stopped short of the listing's end");
         out
     }
 
     #[test]
-    fn every_dirent_is_read_back_whatever_its_node_holds() {
-        // Nodes whose bytes are NULs, kind bytes and letters: a reader that
+    fn every_dirent_is_read_back_whatever_its_size_holds() {
+        // Sizes whose bytes are NULs, kind bytes and letters: a reader that
         // does not step over all eight takes them for names.
         let entries = [
             ("a", false, 0),
@@ -2935,7 +2918,7 @@ mod tests {
     }
 
     #[test]
-    #[should_panic(expected = "no node")]
+    #[should_panic(expected = "no size")]
     fn a_short_dirent_is_a_broken_kernel() {
         read_listing(&[1, b'x', 0, 0, 0]);
     }
diff --git a/userland/libc/src/posix_io.rs b/userland/libc/src/posix_io.rs
index a8099f209..764cad305 100644
--- a/userland/libc/src/posix_io.rs
+++ b/userland/libc/src/posix_io.rs
@@ -133,38 +133,31 @@ pub unsafe extern "C" fn lseek(raw_fd: i32, offset: i64, whence: i32) -> i64 {
 
 #[no_mangle]
 pub unsafe extern "C" fn fstat(raw_fd: i32, buf: *mut Stat) -> i32 {
-    unsafe { answered(syscall::fstat(fd(raw_fd)), buf) }
-}
-
-/// `buf` filled from the kernel's `answer`, or `errno` from its refusal.
-unsafe fn answered(answer: Result<syscall::Stat, syscall::SyscallError>, buf: *mut Stat) -> i32 {
-    let st = match answer {
-        Ok(st) => st,
-        Err(e) => return set_errno(e),
-    };
-    if !buf.is_null() {
-        // SAFETY: C's caller hands one `struct stat` at `buf`.
-        unsafe { ptr::write_bytes(buf, 0, 1) };
-        let s = unsafe { &mut *buf };
-        s.st_dev = st.volume;
-        s.st_ino = st.node;
-        s.st_size = st.size as i64;
-        s.st_mtim = Timespec {
-            tv_sec: (st.mtime / NANOS_PER_SEC) as i64,
-            tv_nsec: (st.mtime % NANOS_PER_SEC) as i64,
-        };
-        s.st_mode = match st.file_type {
-            syscall::FileType::File => S_IFREG | 0o644,
-            syscall::FileType::Directory => S_IFDIR | 0o755,
-            syscall::FileType::Symlink => S_IFLNK | 0o777,
-            syscall::FileType::Pipe => S_IFIFO | 0o644,
-            syscall::FileType::Tty => S_IFCHR | 0o644,
-            syscall::FileType::Keyboard => S_IFCHR | 0o444,
-            syscall::FileType::Serial => S_IFCHR | 0o644,
-            _ => 0o644,
-        };
+    match syscall::fstat(fd(raw_fd)) {
+        Ok(st) => {
+            if !buf.is_null() {
+                ptr::write_bytes(buf, 0, 1);
+                let s = &mut *buf;
+                s.st_dev = st.volume;
+                s.st_ino = st.node;
+                s.st_size = st.size as i64;
+                s.st_mtim = Timespec {
+                    tv_sec: (st.mtime / NANOS_PER_SEC) as i64,
+                    tv_nsec: (st.mtime % NANOS_PER_SEC) as i64,
+                };
+                s.st_mode = match st.file_type {
+                    syscall::FileType::File => S_IFREG | 0o644,
+                    syscall::FileType::Pipe => S_IFIFO | 0o644,
+                    syscall::FileType::Tty => S_IFCHR | 0o644,
+                    syscall::FileType::Keyboard => S_IFCHR | 0o444,
+                    syscall::FileType::Serial => S_IFCHR | 0o644,
+                    _ => 0o644,
+                };
+            }
+            0
+        }
+        Err(e) => set_errno(e),
     }
-    0
 }
 
 #[no_mangle]
@@ -295,15 +288,56 @@ pub unsafe extern "C" fn chdir(path: *const u8) -> i32 {
     }
 }
 
+/// Whether `path` names a directory, asked through `readdir`.
+///
+/// `open` refuses every directory, so this is the only way to tell. The buffer
+/// is deliberately tiny — only whether the kernel accepted the path matters,
+/// and a listing that does not fit is reported rather than written, so a
+/// directory too large to list is still a yes.
+unsafe fn is_dir(path_bytes: &[u8]) -> bool {
+    let mut probe = [0u8; 1];
+    matches!(
+        syscall::readdir(path_bytes, &mut probe),
+        Ok(_) | Err(syscall::SyscallError::ResourceExhausted)
+    )
+}
+
+/// Fill `buf` with what a directory looks like to `stat`: a mode and nothing
+/// else, because `readdir` answers existence and the kernel keeps no size or
+/// mtime for one.
+unsafe fn stat_a_directory(buf: *mut Stat) -> i32 {
+    if !buf.is_null() {
+        ptr::write_bytes(buf, 0, 1);
+        (*buf).st_mode = S_IFDIR | 0o755;
+    }
+    0
+}
+
+// stat by path: open + fstat + close, or readdir for what open refuses
 #[no_mangle]
 pub unsafe extern "C" fn stat(path: *const u8, buf: *mut Stat) -> i32 {
-    unsafe { answered(syscall::stat(c_str_to_bytes(path), true), buf) }
+    stat_impl(path, buf)
 }
 
 /// `stat` that does not follow a final symbolic link.
+///
+/// `SYS_READLINK` is what distinguishes one, and it is asked first: it succeeds
+/// on a link and on nothing else, so a success is both the answer and the
+/// target length `st_size` reports. Everything else is [`stat`].
 #[no_mangle]
 pub unsafe extern "C" fn lstat(path: *const u8, buf: *mut Stat) -> i32 {
-    unsafe { answered(syscall::stat(c_str_to_bytes(path), false), buf) }
+    let path_bytes = c_str_to_bytes(path);
+    let mut target = [0u8; 4096];
+    if let Ok(n) = syscall::readlink(path_bytes, &mut target) {
+        if !buf.is_null() {
+            ptr::write_bytes(buf, 0, 1);
+            let s = &mut *buf;
+            s.st_mode = S_IFLNK | 0o777;
+            s.st_size = n as i64;
+        }
+        return 0;
+    }
+    stat_impl(path, buf)
 }
 
 /// `SYS_READLINK` answers `NotFound` for a path that is no link as for one
@@ -319,8 +353,8 @@ pub unsafe extern "C" fn readlink(path: *const u8, buf: *mut u8, size: usize) ->
     match syscall::readlink(c_str_to_bytes(path), target) {
         Ok(n) => n as isize,
         Err(syscall::SyscallError::NotFound) => {
-            // `stat` sets `errno` for a path that names nothing.
-            if unsafe { stat(path, ptr::null_mut()) } == 0 {
+            // `stat_impl` sets `errno` for a path that names nothing.
+            if unsafe { stat_impl(path, ptr::null_mut()) } == 0 {
                 crate::errno::set(EINVAL);
             }
             -1
@@ -341,7 +375,8 @@ impl crate::resolve::Kernel for TheKernel {
     }
 
     fn is_dir(&mut self, at: &[u8]) -> bool {
-        syscall::stat(at, true).is_ok_and(|st| st.file_type == syscall::FileType::Directory)
+        // SAFETY: `is_dir` reads only `at`.
+        unsafe { is_dir(at) }
     }
 }
 
@@ -377,10 +412,29 @@ pub unsafe extern "C" fn realpath(path: *const u8, resolved: *mut u8) -> *mut u8
     out
 }
 
-/// ToyOS has no permissions model: whether `path` names anything.
+unsafe fn stat_impl(path: *const u8, buf: *mut Stat) -> i32 {
+    let path_bytes = c_str_to_bytes(path);
+    // Try opening read-only
+    match syscall::open(path_bytes, OpenFlags::READ) {
+        Ok(f) => {
+            let result = fstat(f.0 as i32, buf);
+            syscall::close(f);
+            result
+        }
+        Err(_) if is_dir(path_bytes) => stat_a_directory(buf),
+        Err(e) => set_errno(e),
+    }
+}
+
 #[no_mangle]
 pub unsafe extern "C" fn access(path: *const u8, _mode: i32) -> i32 {
-    unsafe { stat(path, ptr::null_mut()) }
+    // ToyOS has no permissions model; just check existence
+    let path_bytes = c_str_to_bytes(path);
+    match syscall::open(path_bytes, OpenFlags::READ) {
+        Ok(f) => { syscall::close(f); 0 }
+        Err(_) if is_dir(path_bytes) => 0,
+        Err(e) => set_errno(e),
+    }
 }
 
 #[no_mangle]
@@ -465,6 +519,7 @@ pub unsafe extern "C" fn opendir(path: *const u8) -> *mut DIR {
 pub unsafe extern "C" fn readdir(dir: *mut DIR) -> *mut dirent {
     if dir.is_null() { return ptr::null_mut(); }
     let d = &mut *dir;
+    let start = d.at;
     let Some(entry) = syscall::dirent(&d.listing, &mut d.at) else { return ptr::null_mut() };
     let Some(d_name) = crate::listing::d_name(entry.name) else {
         crate::errno::set(crate::errcode::EOVERFLOW);
@@ -474,7 +529,7 @@ pub unsafe extern "C" fn readdir(dir: *mut DIR) -> *mut dirent {
     // Use a static buffer for the dirent (not thread-safe, matching POSIX convention)
     static mut DIRENT_BUF: dirent = dirent { d_ino: 0, d_type: 0, d_name: [0; crate::listing::D_NAME] };
     let ent = &raw mut DIRENT_BUF;
-    ent.write(dirent { d_ino: entry.node, d_type: if entry.is_dir { DT_DIR } else { DT_UNKNOWN }, d_name });
+    ent.write(dirent { d_ino: (start + 1) as u64, d_type: if entry.is_dir { DT_DIR } else { DT_UNKNOWN }, d_name });
     ent
 }
 

@Japabu

Japabu commented Oct 11, 2026

Copy link
Copy Markdown
Collaborator Author

merge-854-resolution, part 1 of 1, git show --remerge-diff 2c645ce: the hand resolution of #854's three conflicts

===== merge-854.diff =====
commit 2c645ce8c77a5d5355503b4c73bae179ee550d42
Merge: 123aa8c83 6aa77229d
Author: japabu <japa.busse@gmail.com>
Date:   Sun Oct 11 09:21:28 2026 +0200

    Merge #854 at 6aa77229d, in the merge queue, into directory identity
    
    The link walk is bounded by its MAX_LINKS, a directory key by its MAX_PATH;
    realpath asks is_dir through SYS_STAT, and stat_impl, which only stat and
    access called, goes with them.
    
    Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_017cSFvbD35xJ2kGANVdm23C

diff --git a/issues/toyos-builds-itself.md b/issues/toyos-builds-itself.md
remerge CONFLICT (content): Merge conflict in issues/toyos-builds-itself.md
index ebeba6dd1..e18419ff4 100644
--- a/issues/toyos-builds-itself.md
+++ b/issues/toyos-builds-itself.md
@@ -58,19 +58,11 @@ libc's state it is `userland/libc` at `15625e0cb`.
   builds none, because a descriptor is a handle and passes `FD_SETSIZE`; what
   `select` answers for such a descriptor is open.
 - **libc gains what cargo's libraries call**, among them `setvbuf` and
-<<<<<<< 123aa8c83 (Merge origin/main at 41ad7ecd2 (#819) into directory identity)
-  `socketpair`, which it does not define; a `realpath` that resolves, a file
-  `mmap` and record locks
-  (`issues/libc-refuses-what-toyos-cannot-yet-answer.md`); and socket descriptors that are pollable and
-=======
   `socketpair`, which it does not define; a file `mmap` and record locks
   (`issues/libc-refuses-what-toyos-cannot-yet-answer.md`); paths resolved by
   POSIX's rules, which `realpath` answers by the kernel's
-  (`issues/the-kernel-resolves-a-path-by-rules-of-its-own.md`); file
-  identities
-  (`issues/the-kernel-numbers-no-directory-symlink-or-listing-entry.md`),
-  served like the locks by fsd; and socket descriptors that are pollable and
->>>>>>> 6aa77229d (The kernel bounds the cwd by toyos_abi's MAX_PATH, not a copy of its own)
+  (`issues/the-kernel-resolves-a-path-by-rules-of-its-own.md`); and socket
+  descriptors that are pollable and
   can be non-blocking
   (`issues/libc-close-of-a-socket-ends-the-process.md`). Read from each
   library's source and not run: SQLite's default VFS takes `fcntl` record
diff --git a/kernel/src/vfs.rs b/kernel/src/vfs.rs
remerge CONFLICT (content): Merge conflict in kernel/src/vfs.rs
index f289c53bb..b8a4d0a4f 100644
--- a/kernel/src/vfs.rs
+++ b/kernel/src/vfs.rs
@@ -5,14 +5,9 @@ use alloc::collections::BTreeSet;
 use alloc::vec::Vec;
 
 use core::ops::{Deref, DerefMut};
-<<<<<<< 123aa8c83 (Merge origin/main at 41ad7ecd2 (#819) into directory identity)
-use toyos_abi::syscall::{FileType, SyscallError};
+use toyos_abi::syscall::{FileType, SyscallError, MAX_LINKS, MAX_PATH};
 use crate::file_cache::{self, FileId};
 use crate::object::ops::Stat;
-=======
-use toyos_abi::syscall::{SyscallError, MAX_LINKS, MAX_PATH};
-use crate::file_cache::FileId;
->>>>>>> 6aa77229d (The kernel bounds the cwd by toyos_abi's MAX_PATH, not a copy of its own)
 use crate::sync::{Lock, LockGuard};
 use kernel::dirnodes::Directories;
 
@@ -455,26 +450,16 @@ impl Vfs {
         Ok(target)
     }
 
-<<<<<<< 123aa8c83 (Merge origin/main at 41ad7ecd2 (#819) into directory identity)
     /// The mount and the path under it that the absolute `path` names once
-    /// every symlink it ends in is followed, ten at most.
+    /// every symlink it ends in is followed, [`MAX_LINKS`] at most.
     fn followed(&mut self, path: &str) -> Result<(String, String), SyscallError> {
         let (mut mount, mut file) = self.resolve_path("/", path);
-        for _ in 0..=10 {
+        for _ in 0..=MAX_LINKS {
             let link = match self.resolve_fs(&mount, &file) {
                 Some((fs, fs_path)) if !file.is_empty() => fs.read_link(&fs_path)?,
                 _ => None,
             };
             let Some(target) = link else { return Ok((mount, file)) };
-=======
-    fn resolve_for_open_depth(&mut self, path: &str, depth: u32) -> Result<OpenTarget, SyscallError> {
-        if depth > MAX_LINKS { return Err(SyscallError::InvalidArgument); }
-        let (mount, file) = self.resolve_path("/", path);
-        // A mount point is a directory, never a file to open.
-        if file.is_empty() { return Err(SyscallError::NotFound); }
-        let (fs, fs_path) = self.resolve_fs(&mount, &file).ok_or(SyscallError::NotFound)?;
-        if let Some(target) = fs.read_link(&fs_path)? {
->>>>>>> 6aa77229d (The kernel bounds the cwd by toyos_abi's MAX_PATH, not a copy of its own)
             // An absolute target names the whole hierarchy; a relative one is
             // read against the mount the link is on.
             let next = if target.starts_with('/') { target } else { format!("/{mount}/{target}") };
diff --git a/userland/libc/src/posix_io.rs b/userland/libc/src/posix_io.rs
remerge CONFLICT (content): Merge conflict in userland/libc/src/posix_io.rs
index 31331c796..a8099f209 100644
--- a/userland/libc/src/posix_io.rs
+++ b/userland/libc/src/posix_io.rs
@@ -329,9 +329,6 @@ pub unsafe extern "C" fn readlink(path: *const u8, buf: *mut u8, size: usize) ->
     }
 }
 
-<<<<<<< 123aa8c83 (Merge origin/main at 41ad7ecd2 (#819) into directory identity)
-/// ToyOS has no permissions model: whether `path` names anything.
-=======
 struct TheKernel;
 
 impl crate::resolve::Kernel for TheKernel {
@@ -344,8 +341,7 @@ impl crate::resolve::Kernel for TheKernel {
     }
 
     fn is_dir(&mut self, at: &[u8]) -> bool {
-        // SAFETY: `is_dir` reads only `at`.
-        unsafe { is_dir(at) }
+        syscall::stat(at, true).is_ok_and(|st| st.file_type == syscall::FileType::Directory)
     }
 }
 
@@ -381,21 +377,7 @@ pub unsafe extern "C" fn realpath(path: *const u8, resolved: *mut u8) -> *mut u8
     out
 }
 
-unsafe fn stat_impl(path: *const u8, buf: *mut Stat) -> i32 {
-    let path_bytes = c_str_to_bytes(path);
-    // Try opening read-only
-    match syscall::open(path_bytes, OpenFlags::READ) {
-        Ok(f) => {
-            let result = fstat(f.0 as i32, buf);
-            syscall::close(f);
-            result
-        }
-        Err(_) if is_dir(path_bytes) => stat_a_directory(buf),
-        Err(e) => set_errno(e),
-    }
-}
-
->>>>>>> 6aa77229d (The kernel bounds the cwd by toyos_abi's MAX_PATH, not a copy of its own)
+/// ToyOS has no permissions model: whether `path` names anything.
 #[no_mangle]
 pub unsafe extern "C" fn access(path: *const u8, _mode: i32) -> i32 {
     unsafe { stat(path, ptr::null_mut()) }

@Japabu

Japabu commented Oct 11, 2026

Copy link
Copy Markdown
Collaborator Author

metal-staged, part 1 of 1, cargo test --test toyos-build -- --metal --metal-readback

stat_identity 207_libc_names readdir_bound fs_share app_view at ed538e7, exit 2 (staged, machine untouched)

===== metal-stage.log =====
    Finished `test` profile [optimized + debuginfo] target(s) in 0.20s
     Running tests/toyos.rs (target/debug/deps/toyos_build-ebedee49bbd7b2eb)
07:46:12   BUILD x86_64 binaries of tests/toyos-rust-tests
07:46:13 external deps changed: cleaning /Users/<user>/Dev/jan/toyos-dirid/tests/toyos-rust-tests/tls-dlopen-lib/target/x86_64-unknown-toyos
07:46:13 external deps changed: cleaning /Users/<user>/Dev/jan/toyos-dirid/tests/toyos-rust-tests/tls-lib/target/x86_64-unknown-toyos
07:46:13 external deps changed: cleaning /Users/<user>/Dev/jan/toyos-dirid/tests/toyos-rust-tests/tls-multi-crate/target/x86_64-unknown-toyos
07:46:13 external deps changed: cleaning /Users/<user>/Dev/jan/toyos-dirid/tests/toyos-rust-tests/tls-cranelift/target/x86_64-unknown-toyos
07:47:04   BUILT x86_64 binaries of tests/toyos-rust-tests  (53s)
07:47:04 [toyos] Compiling 138 C tests, and attempting 24 declared ones...
07:47:08 [metal] 3 registration(s) and 3 shared member(s) over 3 boot(s)
07:47:08   BUILD x86_64 kernel, loader, ROOT of /private/tmp/claude-502/-Users-<user>-Dev-jan-toyos/80e90c3a-7449-46b8-84cc-b59e9dd31ae9/scratchpad/dirid3/metal/proctreecase
07:47:10 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
07:47:10   BUILT x86_64 kernel, loader, ROOT of /private/tmp/claude-502/-Users-<user>-Dev-jan-toyos/80e90c3a-7449-46b8-84cc-b59e9dd31ae9/scratchpad/dirid3/metal/proctreecase  (2s)
07:47:11 [metal] proctreecase: 6 job(s) under a list bound of 60000 ms, armed with [] and a boot deadline of 120000 ms — /private/tmp/claude-502/-Users-<user>-Dev-jan-toyos/80e90c3a-7449-46b8-84cc-b59e9dd31ae9/scratchpad/dirid3/metal/proctreecase/image.img
07:47:11   BUILD x86_64 ROOT of /private/tmp/claude-502/-Users-<user>-Dev-jan-toyos/80e90c3a-7449-46b8-84cc-b59e9dd31ae9/scratchpad/dirid3/metal/testcases
07:47:12 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
07:47:12   BUILT x86_64 ROOT of /private/tmp/claude-502/-Users-<user>-Dev-jan-toyos/80e90c3a-7449-46b8-84cc-b59e9dd31ae9/scratchpad/dirid3/metal/testcases  (2s)
07:47:12 [metal] testcases: 3 job(s) under a list bound of 60500 ms, armed with [] and a boot deadline of 121000 ms — /private/tmp/claude-502/-Users-<user>-Dev-jan-toyos/80e90c3a-7449-46b8-84cc-b59e9dd31ae9/scratchpad/dirid3/metal/testcases/image.img
07:47:12   BUILD x86_64 ROOT of /private/tmp/claude-502/-Users-<user>-Dev-jan-toyos/80e90c3a-7449-46b8-84cc-b59e9dd31ae9/scratchpad/dirid3/metal/testcases-readdir
07:47:14 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
07:47:14   BUILT x86_64 ROOT of /private/tmp/claude-502/-Users-<user>-Dev-jan-toyos/80e90c3a-7449-46b8-84cc-b59e9dd31ae9/scratchpad/dirid3/metal/testcases-readdir  (1s)
07:47:14 [metal] testcases-readdir: 1 job(s) under a list bound of 60000 ms, armed with [] and a boot deadline of 120000 ms — /private/tmp/claude-502/-Users-<user>-Dev-jan-toyos/80e90c3a-7449-46b8-84cc-b59e9dd31ae9/scratchpad/dirid3/metal/testcases-readdir/image.img
# One boot per image. Each invocation is `cargo <words>` from this worktree.

proctreecase
  image: /private/tmp/claude-502/-Users-<user>-Dev-jan-toyos/80e90c3a-7449-46b8-84cc-b59e9dd31ae9/scratchpad/dirid3/metal/proctreecase/image.img
  cargo run --bin toyos-metal -- --image /private/tmp/claude-502/-Users-<user>-Dev-jan-toyos/80e90c3a-7449-46b8-84cc-b59e9dd31ae9/scratchpad/dirid3/metal/proctreecase/image.img --readback /private/tmp/claude-502/-Users-<user>-Dev-jan-toyos/80e90c3a-7449-46b8-84cc-b59e9dd31ae9/scratchpad/dirid3/metal/proctreecase --fat32-check

testcases
  image: /private/tmp/claude-502/-Users-<user>-Dev-jan-toyos/80e90c3a-7449-46b8-84cc-b59e9dd31ae9/scratchpad/dirid3/metal/testcases/image.img
  cargo run --bin toyos-metal -- --image /private/tmp/claude-502/-Users-<user>-Dev-jan-toyos/80e90c3a-7449-46b8-84cc-b59e9dd31ae9/scratchpad/dirid3/metal/testcases/image.img --readback /private/tmp/claude-502/-Users-<user>-Dev-jan-toyos/80e90c3a-7449-46b8-84cc-b59e9dd31ae9/scratchpad/dirid3/metal/testcases --fat32-check

testcases-readdir
  image: /private/tmp/claude-502/-Users-<user>-Dev-jan-toyos/80e90c3a-7449-46b8-84cc-b59e9dd31ae9/scratchpad/dirid3/metal/testcases-readdir/image.img
  cargo run --bin toyos-metal -- --image /private/tmp/claude-502/-Users-<user>-Dev-jan-toyos/80e90c3a-7449-46b8-84cc-b59e9dd31ae9/scratchpad/dirid3/metal/testcases-readdir/image.img --readback /private/tmp/claude-502/-Users-<user>-Dev-jan-toyos/80e90c3a-7449-46b8-84cc-b59e9dd31ae9/scratchpad/dirid3/metal/testcases-readdir --fat32-check
07:47:14 [metal] staged 3 image(s); /private/tmp/claude-502/-Users-<user>-Dev-jan-toyos/80e90c3a-7449-46b8-84cc-b59e9dd31ae9/scratchpad/dirid3/metal/request.txt lists them. The machine was not touched, so this run establishes nothing about it.
error: test failed, to rerun pass `--test toyos-build`

Caused by:
  process didn't exit successfully: `/Users/<user>/Dev/jan/toyos-dirid/target/debug/deps/toyos_build-ebedee49bbd7b2eb --metal --metal-readback /private/tmp/claude-502/-Users-<user>-Dev-jan-toyos/80e90c3a-7449-46b8-84cc-b59e9dd31ae9/scratchpad/dirid3/metal stat_identity 207_libc_names readdir_bound fs_share app_view` (exit status: 2)
EXIT=2

===== metal-request.txt =====
# One boot per image. Each invocation is `cargo <words>` from this worktree.

proctreecase
  image: /private/tmp/claude-502/-Users-<user>-Dev-jan-toyos/80e90c3a-7449-46b8-84cc-b59e9dd31ae9/scratchpad/dirid3/metal/proctreecase/image.img
  cargo run --bin toyos-metal -- --image /private/tmp/claude-502/-Users-<user>-Dev-jan-toyos/80e90c3a-7449-46b8-84cc-b59e9dd31ae9/scratchpad/dirid3/metal/proctreecase/image.img --readback /private/tmp/claude-502/-Users-<user>-Dev-jan-toyos/80e90c3a-7449-46b8-84cc-b59e9dd31ae9/scratchpad/dirid3/metal/proctreecase --fat32-check

testcases
  image: /private/tmp/claude-502/-Users-<user>-Dev-jan-toyos/80e90c3a-7449-46b8-84cc-b59e9dd31ae9/scratchpad/dirid3/metal/testcases/image.img
  cargo run --bin toyos-metal -- --image /private/tmp/claude-502/-Users-<user>-Dev-jan-toyos/80e90c3a-7449-46b8-84cc-b59e9dd31ae9/scratchpad/dirid3/metal/testcases/image.img --readback /private/tmp/claude-502/-Users-<user>-Dev-jan-toyos/80e90c3a-7449-46b8-84cc-b59e9dd31ae9/scratchpad/dirid3/metal/testcases --fat32-check

testcases-readdir
  image: /private/tmp/claude-502/-Users-<user>-Dev-jan-toyos/80e90c3a-7449-46b8-84cc-b59e9dd31ae9/scratchpad/dirid3/metal/testcases-readdir/image.img
  cargo run --bin toyos-metal -- --image /private/tmp/claude-502/-Users-<user>-Dev-jan-toyos/80e90c3a-7449-46b8-84cc-b59e9dd31ae9/scratchpad/dirid3/metal/testcases-readdir/image.img --readback /private/tmp/claude-502/-Users-<user>-Dev-jan-toyos/80e90c3a-7449-46b8-84cc-b59e9dd31ae9/scratchpad/dirid3/metal/testcases-readdir --fat32-check

===== metal-proctreecase.toml =====
# Derived by `toyos_build::metalimage::derive` — not committed, not edited.
# A metal boot ends itself: the job list below, then `reboot`.
[apps]
folder = "read-write"

[boot]
start = ["logkeeper", "diskserver", "fileserver", "test-runner"]

[programs.diskserver]
devices = ["pci:1b36:0010"]
restart = true
serves = ["block"]
service = true

[programs.fileserver]
receives = ["block"]
restart = true
roles = ["data", "log", "boot"]

[programs.grants]
receives = ["grants"]

[programs.logkeeper]
service = true
syscap = ["logread"]

[programs.proctest]

[programs.shell]
login = true
starts = ["toybox", "shell", "grants"]

[programs.swap]
receives = ["swap"]

[programs.test-runner]
args = ["--bound-ms=60000", "test_rs_process_tree", "test_rs_launch_toctou", "test_rs_launch_authority", "test_rs_port_badge", "test_rs_fs_share", "test_rs_app_view", "reboot"]
receives = ["power"]
starts = ["toybox", "shell", "swap", "update", "grants", "/apps"]
syscap = ["dup", "roster"]

[programs.toybox]
starts = ["swap"]
syscap = ["roster"]

[programs.update]
slots = true

[symlinks]
"bin/cat" = "/system/bin/toybox"
"bin/reboot" = "/system/bin/toybox"

===== metal-testcases.toml =====
# Derived by `toyos_build::metalimage::derive` — not committed, not edited.
# A metal boot ends itself: the job list below, then `reboot`.
[boot]
start = ["logkeeper", "diskserver", "fileserver", "soundserver", "acpiserver", "test-runner"]

[programs.acpiserver]
devices = ["acpi"]
receives = ["power"]
service = true

[programs.diskserver]
devices = ["pci:1b36:0010"]
restart = true
serves = ["block"]
service = true

[programs.fileserver]
receives = ["block"]
restart = true
roles = ["data", "log", "boot"]

[programs.logkeeper]
serves = ["log"]
service = true
syscap = ["logread"]

[programs.soundserver]
devices = ["hda-audio", "pci:1af4:1059"]
serves = ["soundserver"]
service = true
syscap = ["rt"]

[programs.symbolize]

[programs.test-runner]
args = ["--bound-ms=60500", "test_rs_stat_identity", "207_libc_names", "210_stat_identity", "reboot"]
receives = ["soundserver", "power", "log"]
syscap = ["device", "dup", "logread", "power", "roster", "counters", "trace"]

[programs.toybox]
receives = ["soundserver"]

[programs.toyfetch]

[programs.usbd]

[symlinks]
"bin/207_libc_names" = "/system/bin/test_rs_ccheck"
"bin/210_stat_identity" = "/system/bin/test_rs_ccheck"
"bin/cat" = "/system/bin/toybox"
"bin/cp" = "/system/bin/toybox"
"bin/echo" = "/system/bin/toybox"
"bin/free" = "/system/bin/toybox"
"bin/grep" = "/system/bin/toybox"
"bin/hexdump" = "/system/bin/toybox"
"bin/ls" = "/system/bin/toybox"
"bin/mkdir" = "/system/bin/toybox"
"bin/mv" = "/system/bin/toybox"
"bin/ps" = "/system/bin/toybox"
"bin/pwd" = "/system/bin/toybox"
"bin/reboot" = "/system/bin/toybox"
"bin/rm" = "/system/bin/toybox"
"bin/shutdown" = "/system/bin/toybox"
"bin/tone" = "/system/bin/toybox"

===== metal-testcases-readdir.toml =====
# Derived by `toyos_build::metalimage::derive` — not committed, not edited.
# A metal boot ends itself: the job list below, then `reboot`.
[boot]
start = ["logkeeper", "diskserver", "fileserver", "soundserver", "acpiserver", "test-runner"]

[programs.acpiserver]
devices = ["acpi"]
receives = ["power"]
service = true

[programs.diskserver]
devices = ["pci:1b36:0010"]
restart = true
serves = ["block"]
service = true

[programs.fileserver]
receives = ["block"]
restart = true
roles = ["data", "log", "boot"]

[programs.logkeeper]
serves = ["log"]
service = true
syscap = ["logread"]

[programs.soundserver]
devices = ["hda-audio", "pci:1af4:1059"]
serves = ["soundserver"]
service = true
syscap = ["rt"]

[programs.symbolize]

[programs.test-runner]
args = ["--bound-ms=60000", "test_rs_readdir_bound", "reboot"]
receives = ["soundserver", "power", "log"]
syscap = ["device", "dup", "logread", "power", "roster", "counters", "trace"]

[programs.toybox]
receives = ["soundserver"]

[programs.toyfetch]

[programs.usbd]

[symlinks]
"bin/cat" = "/system/bin/toybox"
"bin/cp" = "/system/bin/toybox"
"bin/echo" = "/system/bin/toybox"
"bin/free" = "/system/bin/toybox"
"bin/grep" = "/system/bin/toybox"
"bin/hexdump" = "/system/bin/toybox"
"bin/ls" = "/system/bin/toybox"
"bin/mkdir" = "/system/bin/toybox"
"bin/mv" = "/system/bin/toybox"
"bin/ps" = "/system/bin/toybox"
"bin/pwd" = "/system/bin/toybox"
"bin/reboot" = "/system/bin/toybox"
"bin/rm" = "/system/bin/toybox"
"bin/shutdown" = "/system/bin/toybox"
"bin/tone" = "/system/bin/toybox"

@Japabu

Japabu commented Oct 11, 2026

Copy link
Copy Markdown
Collaborator Author

ci-host, part 1 of 9, cargo run -- --ci host at ed538e7, exit 0, 79 steps green

   Compiling toyos-abi v0.16.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-abi)
   Compiling toyos-manifest v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-manifest)
   Compiling toyos-logstream v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-logstream)
   Compiling toyos-symbols v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-symbols)
   Compiling toyos-swap v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-swap)
   Compiling toyos-build v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid)
    Finished `dev` profile [optimized + debuginfo] target(s) in 3.04s
     Running `target/debug/toyos-build --ci host`

07:39:00 === [ci] the build system
   Compiling toyos-bootmap v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-bootmap)
   Compiling toyos-desktop v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/userland/compositor/desktop)
   Compiling kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel)
   Compiling acpiserver-api v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/userland/acpiserver-api)
   Compiling toyos-acpi v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-acpi)
   Compiling toyos-userbound v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-userbound)
   Compiling toyos-build v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid)
    Finished `test` profile [optimized + debuginfo] target(s) in 9.58s
     Running unittests src/lib.rs (target/debug/deps/toyos_build-f69418d1a35720f0)

running 387 tests
test arch::tests::a_guest_of_another_architecture_is_emulated ... ok
test bootlog::record_time_tests::a_records_elapsed_field_is_read_past_whatever_tag_precedes_it ... ok
test bootlog::record_time_tests::the_last_record_is_the_last_line_that_carries_a_time ... ok
test arch::tests::every_target_names_its_own_architecture ... ok
test bootlog::tests::a_long_binarys_record_is_the_prefix_the_kernel_keeps ... ok
test bootlog::record_time_tests::the_panel_census_is_read_off_either_channel ... ok
test bootlog::tests::a_boot_is_handed_back_by_its_done_and_its_last_word ... ok
test arch::tests::every_name_parses_back_to_its_arch_and_nothing_else_does ... ok
test bootlog::tests::a_power_off_is_the_supervisors_stop_naming_a_shutdown ... ok
test bootlog::tests::a_part_whose_rotation_the_log_does_not_hold_is_a_hole ... ok
test bootlog::tests::a_boot_that_lost_parts_of_its_own_log_is_told_from_one_that_is_whole ... ok
test bootlog::tests::the_boot_record_is_the_kernels_own_line ... ok
test bootlog::tests::a_boot_record_without_the_supervisors_stop_is_not_a_pass ... ok
test bootlog::tests::only_a_declaration_of_the_whole_value_counts ... ok
test bootlog::tests::a_programs_line_is_never_the_kernels ... ok
test bootlog::tests::the_loaders_file_is_told_from_logkeepers_however_a_driver_spelled_it ... ok
test build::tests::a_hold_in_front_of_the_save_is_an_entry_the_judge_refuses_to_read ... ok
test build::tests::a_bin_entry_no_name_reaches_is_refused ... ok
test build::tests::a_clean_entry_is_the_shipping_kernels ... ok
test build::tests::a_kernel_of_any_other_feature_set_is_not_judged ... ok
test build::tests::a_hold_is_refused_in_a_shipping_entry_however_its_labels_are_spelled ... ok
test build::tests::a_kernel_that_does_not_name_exactly_one_entry_is_refused ... ok
test build::tests::a_boot_that_asks_for_no_feature_gets_the_shipping_kernel ... ok
test bootlog::tests::the_loader_writes_the_lines_the_host_reads ... ok
test build::tests::a_valued_parameter_is_one_the_kernel_claims_by_prefix ... ok
test build::tests::an_artifact_build_is_not_part_of_a_test_execution_price ... ok
test build::tests::a_case_plan_carries_the_config_and_the_parameters ... ok
test build::tests::debug_mode_declares_only_its_debug_kernel ... ok
test bootlog::tests::the_kernel_writes_the_records_the_host_reads ... ok
test build::tests::every_boot_config_runs_logkeeper ... ok
test build::tests::every_config_renders_its_manifest ... ok
test build::tests::a_provides_name_is_never_also_a_serves_name ... ok
test build::tests::an_installed_app_receives_only_names_the_supervisor_holds ... ok
test build::tests::a_row_starts_only_what_a_launch_can_start ... ok
test build::tests::every_modes_crates_and_the_supervisor_ship ... ok
test build::tests::every_declared_capability_is_one_the_abi_has ... ok
test build::tests::every_device_class_has_at_most_one_claimant ... ok
test build::tests::every_receives_names_a_provider ... ok
test build::tests::no_actuator_is_also_a_cargo_feature ... ok
test build::tests::no_diag_program_claims_the_screen ... ok
test build::tests::no_shipped_boot_config_starts_sshserver ... ok
test build::tests::only_the_consent_server_holds_the_prompt_and_serves_consent ... ok
test build::tests::every_started_program_is_declared ... ok
test build::tests::params_read_the_kernels_own_list ... ok
test build::tests::the_actuator_umbrella_is_a_leaf ... ok
test build::tests::the_apps_folder_ceiling_is_one_of_two_spellings ... ok
test build::tests::only_their_holders_may_hold_the_swap_port_and_the_slots ... ok
test build::tests::the_check_does_not_reach_a_spawner_that_never_spawns ... ok
test build::tests::the_kernel_declares_only_the_builds_that_earned_one ... ok
test assets::tests::the_console_font_covers_the_swiss_german_altgr_layer ... ok
test build::tests::every_model_control_is_run ... ok
test build::tests::the_pre_flash_gate_clears_a_valued_parameter_and_refuses_an_actuator ... ok
test build::tests::the_log_right_doc_names_exactly_the_manifests_holders ... ok
test assets::tests::the_system_fonts_ship_with_their_licence ... ok
test build::tests::a_boot_config_that_is_not_a_case_is_refused ... ok
test build::tests::every_shipped_boot_config_is_covered ... ok
test buildlock::tests::child_role ... ignored, the competing process for the tests below; never runs on its own
test build::tests::a_stamp_that_cannot_be_written_panics ... ok

running 1 test

running 1 test

running 1 test

running 1 test

running 1 test

running 1 test

running 1 test
07:39:10 [build-lock] waiting for the build lock (exclusive, queued exclusive phase) — held by other builds in this tree
test build::tests::moved_libraries_take_what_was_built_for_them_and_a_moved_compiler_all ... ok
test buildlock::tests::shared_admits_shared ... ok
test ci::tests::a_carried_jobs_step ... ignored, the driver of the test above; never runs on its own
test ci::tests::a_control_is_judged_by_its_verdict_and_not_its_exit_alone ... ok
test ci::tests::a_hung_step ... ignored, the step of the driver above; never runs on its own
test ci::tests::a_hung_steps_child ... ignored, what the step above spawns; never runs on its own
test ci::tests::a_hung_steps_driver ... ignored, the driver of the tests around it; never runs on its own
test ci::tests::a_job_is_named_and_takes_nothing_after_it ... ok

running 1 test
test buildlock::tests::killed_holder_releases_the_lock ... ok
test buildlock::tests::child_role ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 386 filtered out; finished in 0.02s


running 1 test

running 1 test
07:39:10 [build-lock] waiting for the sysroot lock (using sysroot 6ab9f1eb8f7d3388) — held by pid 51434 (building sysroot 6ab9f1eb8f7d3388), 0s so far
test buildlock::tests::child_role ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 386 filtered out; finished in 0.02s

07:39:10 [build-lock] waiting for the build lock (shared, child) — an exclusive phase is queued ahead of it
test buildlock::tests::child_role ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 386 filtered out; finished in 0.02s

test buildlock::tests::a_released_holder_is_gone ... ok
test ci::tests::a_steps_cargo ... ignored, the driver of the test above; never runs on its own
test buildlock::tests::exclusive_excludes_every_other_acquirer ... ok
test ci::tests::an_app_is_judged_for_every_host_its_fails_does_not_name ... ok

running 1 test
07:39:10 [build-lock] waiting for the build lock (exclusive, clean the crate target) — held by other builds in this tree
test ci::tests::an_interrupt_of_the_driver_ends_the_group_its_step_runs_in ... ok
test ci::tests::an_interrupted_drivers_judge ... ignored, the judge of the test above; never runs on its own
test ci::tests::left_behind_refuses_a_tmpdir_that_never_saw_the_lock ... ok
test ci::tests::only_mains_tip_publishes ... ok
test assets::tests::only_its_reader_opens_an_owned_file ... ok
test ci::tests::the_declared_version_is_a_version ... ok
test ci::tests::the_host_job_names_what_its_tests_left_behind ... ok
test ci::tests::the_required_check_is_a_job_on_every_pull_request ... ok
test ci::tests::the_summary_keeps_the_count_and_the_verdicts ... ok
test ci::tests::the_version_parser_takes_what_qemu_prints_and_refuses_the_rest ... ok
test ci::tests::the_job_names_a_short_root_a_step_left_when_it_died ... ok
test ci::tests::workflows_run_against_main_on_hosted_runners ... ok
test assets::tests::an_owned_asset_ships_only_where_its_reader_does ... ok
test assets::tests::a_system_font_ships_as_it_is_and_the_console_font_as_its_raster ... ok
test assets::tests::root_carries_what_the_repository_declares ... ok
test cicache::tests::a_reader_whose_clock_is_not_after_the_entry_is_refused ... ok
test cicache::tests::a_seal_refuses_what_its_save_would_store_above_the_bound ... ok
test cicache::tests::a_seal_dates_every_target_and_refuses_a_written_source ... ok
test cicache::tests::every_spelling_of_code_run_at_build_time_is_found ... ok
test cicache::tests::only_a_driver_built_in_its_own_target_carries_the_cache ... ok
test ci::tests::a_step_of_a_job_that_carries_the_cache_builds_in_its_own_target ... ok
07:39:10 [build-lock] acquired (exclusive, queued exclusive phase) after 305.0ms
07:39:10 [build-lock] acquired (shared, child) after 288.5ms
test buildlock::tests::child_role ... ok
test buildlock::tests::child_role ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 386 filtered out
test result: ; finished in 0.31s

ok. 1 passed; 0 failed; 0 ignored; 0 measured; 386 filtered out; finished in 0.30s

test buildlock::tests::a_queued_exclusive_phase_goes_first ... ok
test clippy::tests::the_adopted_set_expands_into_the_shapes_that_name_it ... ok
test buildlock::tests::child_role ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 386 filtered out; finished in 0.31s

test buildlock::tests::child_role ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 386 filtered out; finished in 0.29s


running 1 test
test buildlock::tests::child_role ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 386 filtered out; finished in 0.01s

test buildlock::tests::a_key_being_built_is_waited_for_and_another_key_is_not ... ok
07:39:10 [build-lock] still waiting for the build lock (exclusive, clean the crate target), 301ms so far — the holder left no readable note
test clang::tests::a_toolchain_carries_the_clang_of_its_llvm_or_is_refused ... ok
test cicache::tests::targets_restored_without_a_manifest_are_refused ... ok
test build::tests::the_kernel_resolves_no_libc_for_either_target ... ok
test build::tests::a_tree_records_its_commit_its_commit_time_and_whether_it_is_dirty ... ok
test compiler::tests::child_role ... ignored, the competing process for the test above; never runs on its own
test compiler::tests::every_compiler_is_built_lean_against_the_host_s_llvm ... ok
test ci::tests::a_steps_cargo_finds_fresh_what_the_jobs_cargo_built ... ok
test buildlock::tests::a_lasting_wait_keeps_saying_so ... ok
test fatformat::tests::an_empty_volume_mounts_free_and_checks_clean ... ok
07:39:10 [build-lock] still waiting for the build lock (exclusive, clean the crate target), 611ms so far — the holder left no readable note
test cicache::tests::an_entry_built_on_another_runner_is_deleted ... ok
test firmware::tests::a_descriptor_that_does_not_parse_is_refused_by_name ... ok
test firmware::tests::a_glob_matches_a_trailing_star_as_a_prefix_and_refuses_anything_else ... ok
test firmware::tests::a_read_only_templates_copy_is_still_writable ... ok
test firmware::tests::an_earlier_directory_hides_a_later_ones_name_and_a_missing_one_holds_nothing ... ok
test firmware::tests::nothing_fitting_is_refused_naming_what_was_read ... ok
test firmware::tests::the_first_non_secure_uefi_flash_descriptor_for_the_machine_wins ... ok
test firmware::tests::the_machine_is_the_versioned_type_its_alias_resolves_to ... ok
test firmware::tests::the_users_and_the_systems_directories_come_before_qemus_own ... ok
test flags::tests::a_declared_flags_value_is_never_read_as_a_flag ... ok
test flags::tests::a_flag_left_without_its_value_is_refused ... ok
test flags::tests::a_flag_that_reads_one_value_is_refused_when_it_is_written_twice ... ok
test flags::tests::a_repeatable_flag_keeps_every_value_it_was_given ... ok
test flags::tests::an_argument_the_declaration_does_not_expect_is_refused_by_name ... ok
test flags::tests::an_inline_value_is_refused_exactly_where_it_would_be_dropped ... ok
test flags::tests::help_is_the_whole_declared_list ... ok
test gptwrite::tests::a_random_guid_is_version_4_of_the_rfc_variant ... ok
07:39:10 [build-lock] acquired (exclusive, clean the crate target) after 697.8ms
test buildlock::tests::child_role ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 386 filtered out; finished in 0.71s

test buildlock::tests::a_clean_cannot_land_inside_a_build ... ok
test gptwrite::tests::toyos_gpt_reads_it_from_either_copy ... ok
test hostedclang::tests::a_product_without_a_binary_or_its_headers_is_not_whole ... ok
test hostedclang::tests::the_key_moves_with_the_llvm_the_sysroot_and_the_options ... ok
test hostedclang::tests::the_suffix_is_what_follows_the_version ... ok
test hostws::tests::every_crate_in_the_tree_joined_the_workspace_or_was_excluded_by_name ... ok
test hostws::tests::every_member_and_every_exclusion_still_names_a_directory ... ok
test cicache::tests::a_file_cargo_was_never_told_about_rebuilds_its_package ... ok
test hostws::tests::the_dead_path_scan_names_the_member_and_ignores_an_excluded_crate ... ok
test hostws::tests::the_dead_path_scan_reads_code_and_not_the_comment_beside_it ... ok
test hostws::tests::the_gate_refuses_a_crate_that_joined_neither_list ... ok
test hostws::tests::the_root_package_is_the_only_default_member ... ok
test gptwrite::tests::the_gpt_crate_writes_the_same_table ... ok
test icons::tests::a_disc_and_a_ring_cover_their_areas ... ok
test icons::tests::a_fill_is_nonzero ... ok
test icons::tests::a_group_is_refused - should panic ... ok
test icons::tests::a_literal_colour_is_refused - should panic ... ok
test icons::tests::a_square_cap_is_refused - should panic ... ok
test icons::tests::a_square_covers_its_samples ... ok
test icons::tests::an_unpainted_shape_is_refused - should panic ... ok
test icons::tests::an_unread_attribute_is_refused - should panic ... ok
test icons::tests::an_unread_command_is_refused - should panic ... ok
test hostws::tests::nothing_that_runs_names_a_target_directory_a_member_does_not_have ... ok
test identity::tests::a_file_that_is_not_rust_is_its_bytes ... ok
test identity::tests::a_literal_is_never_read_as_a_comment ... ok
test identity::tests::a_signature_or_a_value_is_a_change ... ok
test icons::tests::the_icons_are_the_pixels_compared_with_resvg ... ok
test identity::tests::the_doc_fix_that_cost_a_version_and_a_sysroot_is_neither ... ok
test hostws::tests::the_walk_reaches_the_tree_and_descends_into_it ... ok
test image::tests::a_damaged_image_is_refused_by_the_reader_that_caught_it ... ok
test identity::tests::every_doc_comment_in_the_sysroot_crates_is_invisible ... ok
test image::tests::a_second_build_at_the_boundary_does_not_run_out ... ok
test image::tests::every_declared_path_resolves_inside_the_root_partition ... ok
test image::tests::an_image_s_marked_slot_is_signed_over_exactly_what_it_carries ... ok
test image::tests::one_ordering_of_one_set_is_one_image ... ok
test image::tests::the_esp_and_a_slot_carry_what_the_bootloader_looks_for ... ok
test image::tests::an_install_makes_its_disk_and_refuses_one_that_exists ... ok
test image::tests::the_volumes_this_build_writes_break_no_format_rule ... ok
test kernelconsole::tests::a_console_that_ends_mid_line_shows_its_last_line ... ok
test kernelconsole::tests::a_port_the_firmware_left_alone_passes_whole ... ok
test image::tests::the_root_partition_reads_back_as_the_files_the_build_put_in_it ... ok
test kernelconsole::tests::a_terminal_is_shown_the_firmware_as_it_came_and_the_kernel_in_colour ... ok
test kernelconsole::tests::nothing_before_the_kernel_passes ... ok
test kernelconsole::tests::the_fused_line_is_the_kernels_first_record_wherever_the_chunks_fall ... ok
test kernelkeys::tests::every_declared_row_names_the_minter_of_its_keys ... ok
test image::tests::root_carries_less_than_an_alignment_unit_of_free_blocks ... ok
test kernelkeys::tests::the_scan_reads_a_nested_generic_to_its_balanced_close ... ok
test kernelkeys::tests::the_scan_walks_past_four_measured_forms ... ok

running 1 test
test buildlock::tests::child_role ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 386 filtered out; finished in 0.01s

test keystore::tests::a_product_used_again_is_kept ... ok
test keystore::tests::a_stopped_retire_leaves_nothing_at_its_name ... ok
test keystore::tests::a_sweep_leaves_hidden_names_and_refuses_names_no_key_owns ... ok

running 1 test
test buildlock::tests::child_role ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 386 filtered out; finished in 0.01s

test keystore::tests::a_sweep_removes_what_nobody_used_for_the_keep_time_and_nobody_uses ... ok
test keystore::tests::only_what_key_of_gives_is_a_key ... ok
test libc::tests::the_c_sysroot_names_the_empty_libraries ... ok
test licence::tests::a_cfg_edge_is_walked_and_excepted_only_while_every_edge_in_is_under_it ... ok
test licence::tests::a_committed_file_is_judged_by_its_row_when_it_ships ... ok
test licence::tests::a_disallowed_licence_is_refused_by_name ... ok
test licence::tests::a_font_licence_does_not_reach_a_row_that_is_no_font ... ok
test licence::tests::a_git_dependency_is_judged_like_any_other ... ok
test licence::tests::a_graph_is_walked_over_normal_edges_from_the_shipped_root ... ok
test licence::tests::a_malformed_expression_is_refused_not_guessed ... ok
test licence::tests::a_notice_section_is_judged_when_what_no_row_names_ships ... ok
test licence::tests::a_notice_section_that_disagrees_with_a_row_is_refused ... ok
test licence::tests::a_notice_section_without_one_spdx_line_or_without_files_is_refused ... ok
test licence::tests::a_root_the_metadata_does_not_hold_is_refused ... ok
test licence::tests::an_and_passes_only_when_every_part_does ... ok
test licence::tests::an_embed_is_what_a_build_script_or_an_include_names ... ok
test licence::tests::an_exception_matches_by_name_and_licence_and_a_stale_one_reds ... ok
test licence::tests::an_or_passes_when_any_branch_does ... ok
test licence::tests::every_pending_exception_cites_an_issue_that_exists ... ok
test licence::tests::metadata_is_given_the_features_the_build_gives ... ok
test licence::tests::mpl_passes_and_is_named ... ok
test licence::tests::no_guest_target_satisfies_an_only_under_cfg ... ok
test licence::tests::only_a_workspace_member_is_a_documents_own ... ok
test licence::tests::the_trust_roots_pass_only_with_their_crates_licence_text ... ok
test llvm::tests::a_build_directory_keeps_no_llvm_of_its_own ... ok
test kernelkeys::tests::every_hashed_kernel_container_is_declared_with_a_kernel_minted_key ... ok
test fatformat::tests::differs_from_the_fatfs_format_only_in_the_bios_stub ... ok
test kernelconsole::tests::a_relay_waits_out_a_pty_that_would_block ... ok
test compiler::tests::a_compiler_is_keyed_by_its_whole_build ... ok
test compiler::tests::an_uncommitted_llvm_edit_is_refused ... ok
test compiler::tests::a_compiler_whose_sources_moved_while_it_was_built_is_not_stored ... ok
test compiler::tests::a_compiler_s_build_directory_keeps_no_llvm_of_its_own ... ok
test cicache::tests::an_entry_serves_exactly_the_sources_it_was_built_from ... ok
test compiler::tests::a_build_directory_another_llvm_filled_starts_from_nothing ... ok
test llvm::tests::a_staged_llvm_gitlink_is_refused ... ok
test cicache::tests::code_run_at_build_time_runs_again_on_every_read ... ok

running 1 test

running 1 test
test llvm::tests::an_llvm_is_stamped_with_what_its_fork_s_commit_names ... ok
test llvm::tests::child_role ... ignored, the competing process for the tests below; never runs on its own
test llvm::tests::keyed_and_built ... ignored, the process the environment test runs; never runs on its own
07:39:14 Building compiler a364b40fdca86752 in /private/var/folders/gr/mr4_fg4n34jb417sx1g5cgxc0000gp/T/toyos-tmp-51159-0/ci-host-0/toyos-tmp-51331-0/compiler-48/a/rust: nobody on this host has
07:39:14 Building LLVM b35e868eaefa0691 in /private/var/folders/gr/mr4_fg4n34jb417sx1g5cgxc0000gp/T/toyos-tmp-51159-0/ci-host-0/toyos-tmp-51331-0/llvm-sweep-stopped-66/a/rust: nobody on this host has

running 1 test
test llvm::tests::a_placed_llvm_is_read_only ... ok
test compiler::tests::child_role ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 386 filtered out; finished in 0.67s

07:39:14 Building LLVM b35e868eaefa0691 in /private/var/folders/gr/mr4_fg4n34jb417sx1g5cgxc0000gp/T/toyos-tmp-51159-0/ci-host-0/toyos-tmp-51331-0/llvm-made-elsewhere-68/b/rust: nobody on this host has

running 1 test

running 1 test
test llvm::tests::child_role ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 386 filtered out; finished in 0.75s

07:39:14 Building compiler 6321218378aecae7 in /private/var/folders/gr/mr4_fg4n34jb417sx1g5cgxc0000gp/T/toyos-tmp-51159-0/ci-host-0/toyos-tmp-51331-0/compiler-48/a/rust: nobody on this host has
07:39:15 Building LLVM b35e868eaefa0691 in /private/var/folders/gr/mr4_fg4n34jb417sx1g5cgxc0000gp/T/toyos-tmp-51159-0/ci-host-0/toyos-tmp-51331-0/llvm-sweep-71/a/rust: nobody on this host has

running 1 test
test llvm::tests::child_role ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 386 filtered out; finished in 0.88s

test compiler::tests::child_role ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 386 filtered out; finished in 0.66s

test llvm::tests::a_stopped_sweep_leaves_no_llvm_that_passes_for_whole ... ok
test buildlock::tests::child_role ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 386 filtered out; finished in 0.26s

test llvm::tests::a_checkout_behind_its_gitlink_is_built_at_the_gitlink ... ok
test llvm::tests::the_key_names_the_host_s_tools ... ok
test llvm::tests::the_llvm_config_turns_every_host_library_off ... ok
test llvm::tests::a_sweep_after_the_llvm_is_found_whole_fails_no_build ... ok
test llvm::tests::an_llvm_is_made_only_with_the_worktree_lock_exclusive ... ok
test llvm::tests::an_llvm_being_made_elsewhere_is_not_made_again ... ok
test metal::tests::a_boot_entry_is_matched_on_the_partition_its_path_names ... ok
test metal::tests::a_boot_entry_the_firmware_did_not_name_cannot_be_filled_in ... ok
test metal::tests::a_command_line_that_names_no_image_flashes_none ... ok
test metal::tests::a_create_that_moved_the_boot_order_is_refused ... ok
test metal::tests::a_failed_boot_and_a_loop_that_could_not_run_are_different_answers ... ok
test metal::tests::a_node_is_a_whole_scsi_or_nvme_disk_and_nothing_else ... ok
test metal::tests::a_pass_that_reported_and_booted_nothing_is_named_as_that ... ok
test metal::tests::a_readback_directory_holds_nothing_the_last_run_left ... ok
test metal::tests::a_refusal_is_read_back_off_the_drivers_stderr ... ok
test metal::tests::a_sudoers_word_escapes_what_sudoers_reads ... ok
test metal::tests::an_account_name_that_would_widen_the_rule_is_refused ... ok
test metal::tests::an_arm_with_no_ruling_never_reaches_the_stick ... ok
test compiler::tests::one_compiler_per_key_whichever_checkout_names_it ... ok
test metal::tests::an_image_armed_to_stop_itself_owes_a_record_and_no_reboot ... ok
test metal::tests::an_image_with_no_bound_on_its_own_boot_is_refused ... ok
test metal::tests::an_image_admits_only_the_table_the_installed_rule_names ... ok
test metal::tests::dd_is_believed_only_where_it_states_a_count ... ok
test metal::tests::either_bounds_record_is_a_wedged_boots_pass ... ok
test metal::tests::every_arm_that_stops_this_machine_is_cleared_and_judged_as_one ... ok
test metal::tests::every_ruling_names_a_parameter_the_kernel_declares ... ok
test metal::tests::installing_the_rule_is_not_also_a_boot ... ok
test metal::tests::one_table_feeds_the_rule_and_the_argv ... ok
test metal::tests::the_arguments_name_the_t14_by_default ... ok
test metal::tests::the_bound_the_gate_demands_is_a_bound_the_gate_clears ... ok
test metal::tests::the_deadlines_lateness_is_counted_from_its_arm ... ok
test metal::tests::the_foreign_record_arm_reaches_its_judge_through_the_hang_it_stages ... ok
test metal::tests::the_host_clock_crosses_in_the_boot_file ... ok
test metal::tests::the_identity_is_the_stick_or_it_is_refused ... ok
test metal::tests::the_lid_policy_is_systemds_effective_one ... ok
test metal::tests::the_loops_verdict_crosses_in_the_readback ... ok
test metal::tests::the_machine_crosses_in_the_boot_file ... ok
test metal::tests::the_outside_judges_read_can_write_nothing ... ok
test metal::tests::the_phases_cross_in_the_boot_file ... ok
test metal::tests::the_readback_carries_the_verdict_the_loop_returns ... ok
test metal::tests::the_rule_is_the_command_table_rendered ... ok
test metal::tests::the_ssh_line_carries_the_key_and_nothing_interactive ... ok
test metal::tests::the_wait_outlasts_every_watchdog_a_boot_runs_under ... ok
test metaldevices::tests::a_needle_that_only_appears_in_a_comment_is_not_found ... ok
test metaldevices::tests::the_kernel_writes_the_quiesce_lines_the_host_reads ... ok
test metaldevices::tests::the_shutdowns_own_account_is_read_out_of_the_loaders_file ... ok
test metalimage::tests::a_config_with_no_runner_is_refused_by_name ... ok
test metalimage::tests::every_derived_config_ends_its_own_boot ... ok
test metalimage::tests::nothing_the_config_declared_is_dropped ... ok
test metaltimings::tests::a_failing_owners_reading_is_judged_and_not_recorded ... ok
test metaltimings::tests::a_known_machine_outside_its_record_fails_and_keeps_its_record ... ok
test metaltimings::tests::a_known_machine_within_its_record_passes ... ok
test metaltimings::tests::a_machine_is_three_non_empty_lines ... ok
test metaltimings::tests::a_name_recorded_twice_is_refused ... ok
test metaltimings::tests::a_new_name_on_a_known_machine_is_recorded_and_not_failed ... ok
test metaltimings::tests::a_record_survives_the_file_it_is_written_to ... ok
test metaltimings::tests::a_recorded_name_nothing_measured_is_named ... ok
test metaltimings::tests::an_unknown_machine_is_recorded_and_not_judged ... ok
test metaltimings::tests::another_bios_fails_naming_both_and_records_nothing ... ok
test metaltimings::tests::every_committed_record_loads_from_its_own_path ... ok
test metaltimings::tests::two_machines_sharing_a_file_name_are_refused ... ok
test miscompile::tests::an_endless_caller_is_not_one_that_returns_true ... ok
test n2::tests::an_installed_n2_is_not_installed_again ... ok
test publish::tests::a_first_publish_mints_root_one_and_a_machine_accepts_it ... ok
test publish::tests::a_publish_moves_forward_and_renews_a_root_near_its_expiry ... ok
test publish::tests::a_publish_that_would_move_anything_back_is_refused_by_name ... ok
test publish::tests::a_timestamp_naming_the_last_targets_version_is_refused ... ok
test llvm::tests::the_caller_s_environment_reaches_neither_the_build_nor_the_key ... ok
test release::tests::a_job_is_told_each_layer_s_entry_and_path ... ok
test llvm::tests::child_role ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 386 filtered out; finished in 2.29s

test publish::tests::two_rows_naming_one_archive_with_other_bytes_are_refused ... ok
test release::tests::a_job_saves_only_what_it_built ... ok
test release::tests::a_landing_during_the_nightly_puts_nothing_up_and_is_no_failure ... ok
test release::tests::a_layer_that_is_not_whole_is_refused ... ok
test release::tests::a_release_is_made_to_carry_these_bytes_and_no_other ... ok
test release::tests::a_job_lays_out_the_one_sysroot_it_restored ... ok
test release::tests::only_mains_publisher_publishes ... ok
test release::tests::the_glibc_scan_takes_the_newest_version_and_nothing_else ... ok
test release::tests::one_sysroot_packs_to_one_digest_and_unpacks_whole ... ok
test sdkversion::tests::a_changed_crate_takes_the_minor_after_the_newest_and_an_unchanged_one_keeps_it ... ok
test sdkversion::tests::a_dependent_whose_newest_names_a_stale_dependency_goes_up_again ... ok
test llvm::tests::an_llvm_keeps_what_builds_read_and_nothing_else ... ok
test sdkversion::tests::every_lockfile_resolves_the_published_crates_from_the_tree ... ok
test sdkversion::tests::every_row_is_a_crate_the_tree_holds_in_dependency_order ... ok
test sdkversion::tests::the_published_manifests_resolve_as_the_forks_name_them ... ok
test signing::tests::a_checkouts_throwaway_key_is_minted_once_and_read_back ... ok
test signing::tests::an_owner_key_reads_back_and_signs_what_the_loader_verifies ... ok
test signing::tests::an_owner_key_wider_than_0600_is_refused ... ok
test soundfont::tests::doom1_wads_music_selects_the_instruments_it_selects ... ok
test soundfont::tests::the_shipped_bank_carries_nothing_doom_does_not_select ... ok
test soundfont::tests::the_shipped_bank_sounds_every_instrument_the_shipped_wad_selects ... ok
test soundfont::tests::the_shipped_bank_still_carries_its_source_licence ... ok
test sourcegate::tests::a_capability_closing_ends_no_log_poll ... ok
test sourcegate::tests::a_value_is_refused_by_its_shape_and_what_resembles_one_is_not ... ok
test llvm::tests::an_uncommitted_bootstrap_names_no_llvm ... ok
test sourcegate::tests::bus_mastering_is_armed_at_exactly_the_declared_sites ... ok
test sourcegate::tests::every_hand_written_auto_trait_impl_is_declared ... ok
test llvm::tests::an_llvm_is_swept_once_nothing_used_it_for_the_keep_time ... ok
test sourcegate::tests::nmi_does_not_log ... ok
test sourcegate::tests::no_slice_or_exclusive_reference_is_built_over_a_mapped_page ... ok
test sourcegate::tests::every_host_scratch_is_the_guard ... ok
test compiler::tests::every_source_of_a_compiler_moves_its_key ... ok
test sourcegate::tests::the_scan_reaches_the_tree_it_claims_to ... ok
test sourcegate::tests::every_committed_binary_file_is_declared ... ok
test sysroot::tests::a_compiler_made_again_under_its_key_leaves_all_of_a_crate_stale ... ok
test sdkversion::tests::a_key_moves_with_the_crate_and_its_published_dependencies ... ok
test sysroot::tests::a_std_build_downloads_no_llvm_and_asks_for_no_ninja ... ok
test llvm::tests::two_sdk_versions_are_two_keys ... ok
test sysroot::tests::a_std_build_under_the_same_compiler_keeps_no_llvm ... ok
test metal::tests::coming_back_is_ssh_answering_and_not_its_port ... ok
test llvm::tests::an_llvm_that_is_not_whole_is_made_again ... ok
test sysroot::tests::a_switch_that_cannot_remove_records_nothing_and_the_next_one_removes ... ok
test sysroot::tests::a_sysroot_records_the_witness_it_was_built_from ... ok
test sysroot::tests::a_sysroot_is_whole_or_it_is_made_again ... ok
test sysroot::tests::a_sysroot_that_cannot_be_made_whole_is_made_once_and_refused ... ok
test sysroot::tests::a_submodule_named_otherwise_than_by_its_path_is_refused ... ok
test sysroot::tests::another_compiler_s_std_build_goes_and_the_same_one_s_stays ... ok
test sysroot::tests::the_libraries_placed_are_the_ones_the_stamp_names ... ok
test sourcegate::tests::no_tracked_file_identifies_a_machine_or_its_network ... ok
test llvm::tests::the_kept_sources_are_the_commit_s ... ok
test testargs::tests::a_boot_word_names_a_metal_boot_and_nothing_else ... ok
test testargs::tests::a_deleted_flag_is_refused_rather_than_becoming_the_filter ... ok
test testargs::tests::a_flag_left_without_its_value_is_refused_by_name ... ok
test testargs::tests::a_flag_written_twice_is_refused_by_name ... ok
test testargs::tests::a_flags_value_is_not_the_filter ... ok
test testargs::tests::a_readback_directory_alone_selects_no_tier ... ok
test testargs::tests::a_readback_flag_with_no_directory_never_reaches_the_metal_driver ... ok
test testargs::tests::an_inline_value_on_a_flag_that_has_none_is_refused ... ok
test testargs::tests::an_unknown_flag_is_refused_before_metal_decides_a_mode ... ok
test testargs::tests::every_word_that_is_nobodys_value_is_a_filter ... ok
test testargs::tests::metal_and_list_never_drives ... ok
test testargs::tests::metal_list_beside_a_readback_directory_is_refused ... ok
test testargs::tests::metal_refuses_a_filter_that_is_a_flags_name_or_empty ... ok
test testargs::tests::metal_refuses_the_flags_it_reads_nothing_of_by_name ... ok
test testargs::tests::metal_resolves_to_a_mode_that_reaches_the_machine_only_when_asked ... ok
test testargs::tests::the_documented_command_lines_parse ... ok
test testargs::tests::the_filter_is_the_word_that_is_nobodys_value ... ok
test tether::tests::a_tethered_child_dies_with_its_owner ... ok
test tether::tests::owner ... ignored, the owner `a_tethered_child_dies_with_its_owner` kills; never runs on its own
test tether::tests::parked ... ignored, the tethered child of `owner`; never runs on its own
test toolchain::tests::a_bootstrap_run_leaves_both_lockfiles_as_they_were ... ok
test toolchain::tests::a_bootstrap_run_sees_no_ci_variables ... ok
test toolchain::tests::a_compiler_build_finds_the_llvm_s_objcopy_where_rustc_strips_with_it ... ok
test toolchain::tests::a_fake_bootstrap ... ignored, the bootstrap `a_bootstrap_run_leaves_both_lockfiles_as_they_were` runs; never runs on its own
test toolchain::tests::a_fake_bootstrap_that_reads_ci ... ignored, the bootstrap `a_bootstrap_run_sees_no_ci_variables` runs; never runs on its own
test toolchain::tests::a_fake_bootstrap_that_strips ... ignored, the bootstrap `a_compiler_build_finds_the_llvm_s_objcopy_where_rustc_strips_with_it` runs; never runs on its own
test toolchain::tests::a_link_failure_is_not_a_compile_error ... ok
test toolchain::tests::a_restore_that_cannot_write_leaves_the_file_whole ... ok
test toolchain::tests::a_toolchain_bin_without_cargo_is_one_rustup_narrates ... ok
test toolchain::tests::dep_info_names_the_checkout_std_was_really_built_from ... ok
test toolchain::tests::dep_info_that_cannot_be_read_is_refused ... ok
test release::tests::the_layers_are_the_stores_the_build_makes ... ok
test toolchain::tests::the_first_real_error_is_the_one_reported ... ok
test userlandhost::tests::a_host_declaration_is_read_whole_and_refused_by_name ... ok
test userlandhost::tests::a_manifest_that_switches_tests_off_is_named ... ok
test userlandhost::tests::a_test_attribute_is_a_word_and_not_a_substring ... ok
test userlandhost::tests::every_program_the_images_ship_declares_what_it_is_to_a_host ... ok
test toolchain::tests::freestanding_libraries_that_read_the_worktree_are_refused ... ok
test userlandhost::tests::every_userland_test_is_in_the_gate ... ok
test userlandhost::tests::what_could_hide_a_test_is_a_condition ... ok
test userlandhost::tests::the_survey_gates_what_cargo_test_runs_and_names_the_rest ... ok
test llvm::tests::the_key_moves_with_the_llvm_and_only_with_it ... ok
test sysroot::tests::a_comment_is_the_same_sysroot_and_a_signature_is_another ... ok
Preparing worktree (detached HEAD e3cb481)
HEAD is now at e3cb481 C2
test wallpaper::tests::the_wallpaper_does_not_band ... ok
test wallpaper::tests::the_wallpaper_is_the_same_on_every_host ... ok
Preparing worktree (detached HEAD 466344d)
HEAD is now at 466344d backtrace, later
Preparing worktree (detached HEAD 2cc0c6d)
HEAD is now at 2cc0c6d C2
Preparing worktree (detached HEAD 466344d)
HEAD is now at 466344d backtrace, later
test ci::tests::a_step_that_goes_quiet_is_ended_with_what_it_spawned_and_names_its_last_line ... ok
test sysroot::tests::a_submodule_is_the_commit_its_gitlink_records_checked_out_or_not ... ok
test llvm::tests::two_compilers_of_one_llvm_make_it_once ... ok
Preparing worktree (detached HEAD 3100a15)
HEAD is now at 3100a15 C2
Preparing worktree (detached HEAD 466344d)
HEAD is now at 466344d backtrace, later
test sysroot::tests::ensure_shallow_fork_initialises_no_submodule_in_a_linked_worktree ... ok
Preparing worktree (detached HEAD 8ce9f3d)
HEAD is now at 8ce9f3d C2
Preparing worktree (detached HEAD 09298a0)
HEAD is now at 09298a0 backtrace, later
test sysroot::tests::a_linked_refusal_s_command_leaves_no_commit_of_the_agent_s ... ok
test sysroot::tests::twelve_builds_at_once_make_one_fork_checkout ... ok
test sysroot::tests::a_linked_worktree_lacking_a_nested_commit_is_refused_and_the_primary_s_is_not_written ... ok
test llvm::tests::what_the_key_does_not_name_is_never_stored ... ok
test sysroot::tests::a_worktree_pinning_another_fork_commit_gets_its_own_checkout ... ok
Synchronizing submodule url for 'rust'
From /private/var/folders/gr/mr4_fg4n34jb417sx1g5cgxc0000gp/T/toyos-tmp-51159-0/ci-host-0/toyos-tmp-51331-0/fork-primary-137/fork-moved
   4e7bbb0..3467590  main       -> origin/main
Submodule path 'rust': checked out '346759045d34226573eb980581e223e2974a54a9'
Synchronizing submodule url for 'rust'
From /private/var/folders/gr/mr4_fg4n34jb417sx1g5cgxc0000gp/T/toyos-tmp-51159-0/ci-host-0/toyos-tmp-51331-0/fork-primary-137/fork-moved
   3467590..370d4e4  main       -> origin/main
Submodule path 'rust': checked out '370d4e4784bbfe0021041a3dfacb48cc7534f80f'
Synchronizing submodule url for 'library/backtrace'
From /private/var/folders/gr/mr4_fg4n34jb417sx1g5cgxc0000gp/T/toyos-tmp-51159-0/ci-host-0/toyos-tmp-51331-0/fork-primary-137/backtrace-moved
 + 466344d...00c0d15 main       -> origin/main  (forced update)
Submodule path 'library/backtrace': checked out '00c0d154e2f62c465fd1097708b1ff21343e18c4'
test sysroot::tests::the_primary_s_fork_checkout_is_moved_to_its_pin ... ok

test result: ok. 372 passed; 0 failed; 15 ignored; 0 measured; 0 filtered out; finished in 12.12s

07:39:22 [ci] the build system: cargo test --lib

07:39:22 === [ci] the harness's own checks
   Compiling toyos-build v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid)
    Finished `test` profile [optimized + debuginfo] target(s) in 3.51s
     Running tests/checks.rs (target/debug/deps/toyos_checks-07a88afc9fca4d59)

running 39 tests
test checks::a_run_selects_by_filter ... ok
test checks::a_name_registered_twice_is_refused ... ok
test checks::metal_boots_last_job_is_behind_every_other ... ok
test checks::a_stall_stays_red ... ok
test checks::a_shared_chunk_stages_every_binary_its_members_name ... ok
test checks::metal_domains_end_below_the_host_bridges ... ok
test checks::mask_windows_verdict ... ok
test checks::irq_census_verdict ... ok
test checks::metal_claim_spends_one_remapping_entry ... ok
test checks::metal_audio_judges ... ok
test checks::control_regs_verdict ... ok
test checks::metal_list_from_parse_reaches_run_without_the_machine ... ok
test checks::metal_rows_run_before_members_under_a_bound_the_members_widen ... ok
test checks::metal_words_take_rows_members_and_whole_boots ... ok
test checks::metal_usb_judge ... ok
test checks::nvme_image_is_held_by_one_guest ... ok
test checks::nested_nmi_verdict ... ok
test checks::psci_power_off_judge ... ok
test checks::metal_judges_read_the_page_for_what_only_the_page_carries ... ok
test checks::run_exit_status ... ok
test checks::screen_decoder ... ok
test checks::serial_vocabulary ... ok
test checks::suspend_invalidates_a_verdict ... ok
test checks::the_c_corpus_stages_the_expectation_the_host_compares ... ok
test checks::the_foreign_record_judge_demands_the_stop_sealed_done ... ok
test checks::the_xecp_judge_reads_the_t14s_handoff ... ok
test checks::metal_name_measured_twice_is_refused ... ok
test checks::suite_split ... ok
test checks::suspend_detector ... ok
test checks::metal_cleared_page_owes_no_panel ... ok
test checks::metal_boot_that_lost_parts_of_its_log_judges_no_row ... ok
test checks::metal_failing_shared_member_fails_itself_alone ... ok
test checks::metal_name_two_owners_measured_is_refused ... ok
test checks::metal_run_under_another_bios_fails_and_records_nothing ... ok
test checks::metal_reading_past_its_record_fails_and_moves_nothing ... ok
test checks::metal_stop_owes_its_record_and_leaves_no_operation_open ... ok
test checks::metal_number_fails_with_its_owner_alone ... ok
test checks::metal_loader_kernel_and_program_count_from_one_zero ... ok
test checks::metal_bound_fires_within_one_period_of_itself ... ok

test result: ok. 39 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s

07:39:26 [ci] the harness's own checks: cargo test --test toyos-checks

07:39:26 === [ci] the workspace's host members
   Compiling kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel)
   Compiling kernel-loom v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel/loom)
   Compiling toyos-smmu v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-smmu)
   Compiling toyos-inspect v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-inspect)
   Compiling toyos-pci v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel/pci)
   Compiling toyos-trace v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-trace)
   Compiling toyos-libc-copies v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/tests/libc-arch)
   Compiling toyos-userbound v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-userbound)
   Compiling toyos-symbols v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-symbols)
   Compiling toyos-swap v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-swap)
   Compiling toyos-acpi v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-acpi)
   Compiling kernel-sim v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel/sim)
   Compiling toyos-bootmap v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-bootmap)
   Compiling toyos-manifest v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-manifest)
   Compiling toyos-logstream v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-logstream)
   Compiling toyos-abi v0.16.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-abi)
    Finished `test` profile [optimized + debuginfo] target(s) in 3.77s
     Running unittests src/lib.rs (target/debug/deps/bcachefs-dd31ce931b3f7dd7)

running 72 tests
test block_io::image_bounds::a_block_past_the_end_is_refused_rather_than_read ... ok
test block_io::image_bounds::a_block_number_whose_byte_offset_wraps_is_refused_and_does_not_panic ... ok
test block_io::image_bounds::a_block_that_starts_inside_and_ends_outside_is_refused ... ok
test block_io::image_bounds::an_empty_image_holds_no_block_at_all ... ok
test btree::tests::a_descent_gives_up_before_it_runs_out_of_stack ... ok
test block_io::image_bounds::every_block_the_image_holds_is_served_whole ... ok
test btree::tests::an_entry_larger_than_the_payload_is_refused ... ok
test crc32c::tests::known_vectors ... ok
test btree::tests::write_to_refuses_an_overfull_node_instead_of_underflowing ... ok
test btree::tests::an_interior_node_with_no_children_is_refused ... ok
test btree::tests::a_crafted_entry_count_never_reaches_the_allocator ... ok
test btree::tests::an_interior_child_shorter_than_a_block_number_is_refused ... ok
test btree::tests::a_child_pointer_off_the_device_is_refused ... ok
test btree::tests::pack_fills_each_node_in_order_and_none_past_a_block ... ok
test crc32c::tests::zeroes ... ok
test btree::tests::a_split_short_of_a_sibling_gives_back_the_ones_it_took ... ok
test fs::tests::a_block_allocated_to_bridge_a_gap_reads_as_zeros ... ok
test fs::tests::a_bitmap_too_small_to_cover_the_volume_is_refused ... ok
test fs::tests::a_bitmap_outside_the_volume_is_refused ... ok
test fs::tests::a_child_pointer_past_the_end_of_the_device_is_refused ... ok
test fs::tests::a_file_ending_in_a_hole_still_reads_as_zeros ... ok
test fs::tests::a_file_naming_more_blocks_than_the_volume_has_is_refused ... ok
test fs::tests::a_delete_of_a_name_that_is_not_here_destroys_nothing ... ok
test fs::tests::a_page_resolved_against_an_extent_at_the_end_of_the_address_space_is_total ... ok
test fs::tests::a_run_ending_on_the_volumes_last_block_is_accepted ... ok
test fs::tests::a_size_inside_the_volume_but_over_the_ceiling_never_reaches_the_allocator ... ok
test fs::tests::a_size_longer_than_the_volume_never_reaches_the_allocator ... ok
test fs::tests::a_superblock_claiming_more_blocks_than_the_device_has_is_refused ... ok
test fs::tests::a_shortened_record_gives_its_tail_back ... ok
test upstream::bkey::tests::a_field_past_its_unpacked_width_is_refused_not_truncated ... ok
test fs::tests::an_extent_outside_the_volume_is_refused_before_the_bitmap_is_touched ... ok
test fs::tests::an_untampered_volume_still_mounts_and_reads ... ok
test upstream::bkey::tests::a_field_wider_than_the_one_it_fills_is_refused ... ok
test fs::tests::a_volume_copied_onto_a_larger_device_does_not_mount ... ok
test fs::tests::an_interior_value_too_short_for_a_block_number_is_refused ... ok
test fs::tests::an_extent_past_the_end_of_the_volume_is_refused ... ok
test fs::tests::is_dir_over_a_corrupt_node_is_refused ... ok
test upstream::bkey::tests::a_key_that_does_not_fit_is_refused ... ok
test upstream::bkey::tests::a_truncated_format_is_refused ... ok
test upstream::bkey::tests::field_fit_vectors ... ok
test upstream::bkey::tests::format_vectors ... ok
test upstream::bkey::tests::the_identity_format_is_the_unpacked_one ... ok
test upstream::bkey::tests::the_identity_format_round_trips_a_position ... ok
test upstream::bkey::tests::unpack_vectors ... ok
test upstream::csum::tests::encryption_csum_types_are_refused_by_name ... ok
test upstream::csum::tests::published_check_values ... ok
test upstream::csum::tests::xxh64_covers_every_tail ... ok
test upstream::fs::tests::a_crc_entry_states_the_extent_it_covers ... ok
test upstream::fs::tests::a_file_longer_than_its_device_is_refused_without_allocating_it ... ok
test upstream::fs::tests::an_entry_before_the_checksum_does_not_move_the_pointer ... ok
test upstream::fs::tests::an_entry_this_volume_cannot_size_is_refused ... ok
test upstream::fs::tests::dirent_vectors ... ok
test fs::tests::is_dir_is_a_name_beneath ... ok
test upstream::raw::tests::a_short_window_refuses_by_name ... ok
test upstream::raw::tests::an_offset_that_would_wrap_refuses ... ok
test upstream::raw::tests::bitmask_matches_upstreams_accessor ... ok
test fs::tests::a_root_that_points_at_itself_is_refused_not_followed ... ok
test upstream::node::tests::a_bset_this_filesystem_did_not_write_is_refused ... ok
test upstream::node::tests::a_node_that_is_not_the_one_asked_for_is_refused ... ok
test upstream::node::tests::a_key_longer_than_its_bset_is_refused ... ok
test upstream::node::tests::the_crafted_node_is_accepted ... ok
test upstream::sb::fixture::a_huge_u64s_is_refused_without_allocating_it ... ok
test upstream::sb::fixture::a_clean_section_shorter_than_its_header_is_refused ... ok
test upstream::sb::fixture::a_member_bigger_than_its_device_is_refused ... ok
test upstream::sb::fixture::a_volume_without_a_clean_section_is_refused_by_name ... ok
test upstream::sb::fixture::the_interim_reader_rejects_bcachefs_s_magic ... ok
test upstream::sb::fixture::a_superblock_that_is_not_this_ones_is_refused ... ok
test upstream::node::tests::a_bset_longer_than_its_node_is_refused ... ok
test upstream::sb::fixture::the_crafted_superblock_is_accepted ... ok
test upstream::sb::fixture::every_unsupported_format_feature_is_refused_by_name ... ok
test fs::tests::is_dir_over_a_split_root_finds_every_directory ... ok
test fs::tests::a_tree_past_the_ceiling_is_refused_before_it_materialises ... ok

test result: ok. 72 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.40s

     Running tests/crash.rs (target/debug/deps/crash-e98227d3fa9db16d)

running 2 tests
test a_directory_rename_is_whole_under_one_name_whichever_write_is_refused ... ok
test a_directory_rename_is_whole_under_one_name_wherever_the_device_stops ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 8.12s

     Running tests/integration.rs (target/debug/deps/integration-b9da2c39aca32c0f)

running 57 tests
test a_btree_node_the_device_refuses_is_not_a_node_of_zeros ... ok
test a_block_zero_the_device_refuses_does_not_fall_through_to_the_backup ... ok
test a_refused_sync_stays_refused_through_the_filesystem ... ok
test a_file_grown_past_what_the_volume_spares_leaves_the_reserve ... ok
test a_filesystems_name_round_trips_through_its_superblock ... ok
test a_create_that_runs_out_of_space_leaves_the_old_file_where_it_was ... ok
test a_data_block_the_device_refuses_is_not_a_page_of_zeros ... ok
test a_file_renamed_onto_a_symlink_leaves_one_entry ... ok
test a_rename_carries_the_file_to_the_new_name ... ok
test a_rename_onto_itself_keeps_the_file ... ok
test a_rename_of_a_symlink_stays_a_symlink ... ok
test a_rename_with_no_source_touches_nothing ... ok
test a_file_past_the_old_extent_cap_round_trips ... ok
test a_sparse_write_resolves_inside_the_blocks_it_reserved ... ok
test a_value_too_large_for_any_node_is_an_error_not_a_panic ... ok
test bad_magic_alone_disowns_the_volume ... ok
test a_renamed_file_keeps_every_extent_it_had ... ok
test a_write_the_device_refuses_is_reported_and_gives_its_blocks_back ... ok
test corrupt_data_block_returns_raw_bytes ... ok
test a_sequential_file_needs_one_extent ... ok
test bad_magic_means_no_copy_claims_the_volume ... ok
test create_single_small_file ... ok
test crc_verification_on_nodes ... ok
test dangling_symlink_allowed ... ok
test every_page_of_a_fragmented_file_owns_a_distinct_block ... ok
test empty_file ... ok
test create_multiple_files ... ok
test file_mtime_nonexistent ... ok
test duplicate_filename_overwrites ... ok
test a_rename_onto_an_existing_name_frees_that_file_and_only_it ... ok
test format_and_mount_empty ... ok
test file_not_found ... ok
test large_file_exact_block_boundary ... ok
test large_file_crosses_block_boundary ... ok
test format_mount_unmount_create_mount_roundtrip ... ok
test large_file_single_extent ... ok
test long_filename_near_entry_limit ... ok
test list_includes_symlinks ... ok
test mounted_readwrite_create_and_read ... ok
test mounted_readwrite_delete ... ok
test mounted_readwrite_sync_and_reopen ... ok
test mounted_readwrite_symlink ... ok
test mounted_readwrite_overwrite_file ... ok
test filesystem_full_returns_no_space ... ok
test mounted_readwrite_overwrite_with_smaller_data ... ok
test rename_bounds_the_new_name ... ok
test mounted_readwrite_double_roundtrip ... ok
test read_link ... ok
test zero_length_filename_rejected ... ok
test superblock_backup_recovery ... ok
test a_metadata_update_that_cannot_be_reinserted_leaves_the_entry_alone ... ok
test a_write_that_runs_out_of_space_gives_back_what_it_took ... ok
test many_files_with_large_data ... ok
test entries_of_mixed_size_survive_node_splits ... ok
test a_mount_after_a_stop_counts_the_blocks_its_bitmap_holds ... ok
test a_volume_full_of_empty_names_still_deletes_and_frees ... ok
test incremental_insert_and_read ... ok

test result: ok. 57 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s

     Running tests/upstream_fixture.rs (target/debug/deps/upstream_fixture-d7fa786868950279)

running 2 tests
test a_path_the_volume_does_not_hold_reads_back_as_absent ... ok
test the_upstream_volume_reads_back_as_what_upstream_wrote ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

     Running tests/console_handoff.rs (target/debug/deps/console_handoff-85dd59feb09dc330)

running 1 test
test the_stop_finds_the_wire_free_or_klogd_sees_the_ask ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/counters_round.rs (target/debug/deps/counters_round-11dfc91978c41ece)

running 1 test
test a_cpu_read_as_answered_is_read_with_its_answer ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/device_irq.rs (target/debug/deps/device_irq-f63df1e817bc26b1)

running 3 tests
test an_idle_record_answers_nothing ... ok
test every_message_is_counted_once ... ok
test a_reads_times_are_its_own_messages ... ok

test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s

     Running tests/i8042_tally.rs (target/debug/deps/i8042_tally-339ba828634795e9)

running 3 tests
test an_empty_interrupt_is_never_counted_as_one_that_carried ... ok
test a_counted_interrupt_carries_its_bytes_with_it ... ok
test the_split_counters_this_replaced_are_read_torn ... ok

test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/inbox_answer.rs (target/debug/deps/inbox_answer-d8647e410c7f555e)

running 16 tests
test a_submitter_parks_only_with_nothing_it_could_answer ... ok
test a_poll_left_standing_still_answers ... ok
test a_replaced_poll_is_withdrawn_from_its_watch ... ok
test a_poll_fired_as_it_is_renewed_waits_for_the_next_look ... ok
test a_post_that_lands_after_its_bytes_were_read_answers_nothing ... ok
test a_full_ring_leaves_a_fired_poll_for_the_next_look ... ok
test a_ring_torn_down_withdraws_every_poll ... ok
test a_watch_during_a_look_that_finds_bytes_answers_alone ... ok
test a_handle_closed_since_its_watch_is_answered_with_the_refusal ... ok
test a_ring_keeps_its_cap_of_polls_and_no_more ... ok
test a_watch_during_a_look_that_finds_nothing_is_the_handles_one_poll ... ok
test a_post_answers_for_an_object_with_nothing_to_look_at ... ok
test a_poll_armed_again_does_not_end_the_look ... ok
test a_post_with_nothing_to_read_answers_nothing ... ok
test an_ended_source_is_answered_gone_without_a_look ... ok
test a_watch_replaces_a_poll_a_post_already_fired ... ok

test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/log_body_words.rs (target/debug/deps/log_body_words-8dcbe1b063588f6e)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/log_cursor.rs (target/debug/deps/log_cursor-eed329d0c4717dde)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/log_publish.rs (target/debug/deps/log_publish-c6697501cbd6a21f)

running 2 tests
test an_unpublished_slot_answers_for_nothing ... ok
test a_reader_that_finds_a_shard_finds_it_built ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/log_record.rs (target/debug/deps/log_record-a4920ee6befbcd00)

running 7 tests
test a_shard_nothing_has_written_answers_for_nothing ... ok
test a_recycled_slot_does_not_answer_for_the_record_it_replaced ... ok
test the_readable_window_is_exactly_the_last_shard_records ... ok
test a_concurrent_reader_sees_head_grow_and_never_shrink ... ok
test a_committed_record_is_whole_or_absent ... ok
test a_key_and_the_record_it_names_come_from_one_generation ... ok
test a_reader_racing_a_recycle_gets_nothing_rather_than_a_mixture ... ok

test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 11.50s

     Running tests/log_ring.rs (target/debug/deps/log_ring-bbfc48994aa697bc)

running 3 tests
test a_slot_is_reused_only_after_its_record_was_read ... ok
test a_lane_publishes_whole_and_reuses_only_after_a_read ... ok
test a_published_record_is_whole_and_read_once ... ok

test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.37s

     Running tests/log_wake.rs (target/debug/deps/log_wake-12a72c067258506f)

running 2 tests
test exactly_one_producer_owns_a_park ... ok
test a_commit_and_an_arm_cannot_both_miss ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s

     Running tests/log_zeroed_init.rs (target/debug/deps/log_zeroed_init-0893d8dc88f9dbcd)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/loom_exploration.rs (target/debug/deps/loom_exploration-952781b90d4b7985)

running 2 tests
test loom_runs_a_store_ahead_of_an_earlier_load ... ok
test loom_runs_a_read_modify_write_ahead_of_an_earlier_load ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/loom_mailbox.rs (target/debug/deps/loom_mailbox-b657564e0022bd63)

running 2 tests
test steal_probe_node_is_never_double_linked ... ok
test preempt_disabled_push_keeps_the_queue_drainable ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.25s

     Running tests/loom_park.rs (target/debug/deps/loom_park-5669bd0546449f50)

running 3 tests
test cancel_and_notify_agree_on_who_won ... ok
test a_pre_park_claim_never_posts_a_message ... ok
test a_notify_ends_exactly_one_iteration ... ok

test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s

     Running tests/loom_push.rs (target/debug/deps/loom_push-d59a25112dbf307f)

running 2 tests
test a_push_rings_nobody_when_nobody_is_asleep ... ok
test a_cpu_that_halts_without_seeing_the_surplus_was_pushed ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

     Running tests/loom_retire.rs (target/debug/deps/loom_retire-fedb56bbbe883084)

running 6 tests
test the_retire_chase_reuses_one_node_under_a_racing_migration ... ok
test an_adopting_cpu_always_observes_the_kill_bit ... ok
test a_retire_racing_the_park_commit_always_leaves_someone_to_reap ... ok
test a_wake_and_a_retire_ride_distinct_nodes ... ok
test a_retire_and_a_wake_never_both_claim_a_parked_task ... ok
test the_retire_arm_never_loses_a_parked_task_to_a_racing_wake ... ok

test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s

     Running tests/loom_sleep.rs (target/debug/deps/loom_sleep-f498be1e5fe9034e)

running 2 tests

@Japabu

Japabu commented Oct 11, 2026

Copy link
Copy Markdown
Collaborator Author

ci-host, part 2 of 9, cargo run -- --ci host at ed538e7, exit 0, 79 steps green

test a_halted_cpu_with_queued_work_was_kicked ... ok
test a_kicked_cpu_comes_back_and_drains_everything ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.11s

     Running tests/loom_watch.rs (target/debug/deps/loom_watch-ee28bf6faa307918)

running 12 tests
test an_end_racing_a_post_answers_a_poll_once ... ok
test an_end_racing_a_post_in_place_answers_a_poll_once ... ok
test a_bounded_post_racing_a_timeout_reaches_a_live_waiter ... ok
test a_poll_registered_racing_a_post_in_place_completes_exactly_once ... ok
test a_poll_registered_racing_a_post_completes_exactly_once ... ok
test a_revoke_racing_the_wait_loop_ends_it_in_every_arm ... ok
test a_post_racing_a_registration_leaves_nobody_parked ... ok
test a_transition_racing_an_opening_gate_is_never_missed ... ok
test a_poll_on_two_watches_racing_both_posts_completes_exactly_once ... ok
test a_second_post_is_not_lost_to_a_flag_the_waiter_consumed ... ok
test a_fire_racing_a_submitters_park_is_never_lost ... ok
test an_answer_wakes_the_submitter_its_look_hid_the_poll_from ... ok

test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 42.65s

     Running tests/owed_lock.rs (target/debug/deps/owed_lock-82472084fc952815)

running 1 test
test a_turned_away_cpu_holds_the_lock_or_is_answered ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/panic_capture.rs (target/debug/deps/panic_capture-49407ae928806208)

running 5 tests
test a_released_latch_hands_the_snapshot_to_the_next_captor ... ok
test the_owner_refreshes_and_a_second_captor_stays_out ... ok
test two_panicking_cpus_write_one_snapshot ... ok
test the_unlatched_capture_this_replaced_interleaves_two_reports ... ok
test a_reader_and_refresh_never_overlap_on_the_snapshot ... ok

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s

     Running tests/panic_console_publish.rs (target/debug/deps/panic_console_publish-fe37875c6e2f9122)

running 1 test
test a_snapshot_is_one_publication_whole ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.89s

     Running tests/poll_once.rs (target/debug/deps/poll_once-47fa26b617c9cc3b)

running 2 tests
test a_withdrawal_and_a_post_never_both_take_a_poll ... ok
test a_post_and_a_recheck_answer_a_poll_once ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

     Running tests/reap_gate.rs (target/debug/deps/reap_gate-462174cd688180b2)

running 4 tests
test an_unraised_gate_claims_nothing ... ok
test a_claim_sees_the_enrolled_work ... ok
test a_raise_is_never_dropped ... ok
test one_raise_is_claimed_once ... ok

test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/serial_lock.rs (target/debug/deps/serial_lock-fa753c944dbedabc)

running 9 tests
test a_lost_try_lock_leaves_the_lock_held ... ok
test a_seize_gives_up_on_a_holder_that_never_lets_go ... ok
test a_seize_reenters_its_own_cpus_hold ... ok
test a_burst_beneath_its_own_cpus_fatal_path_is_refused - should panic ... ok
test within_asks_a_silent_attempt_exactly_its_tries ... ok
test a_burst_waits_out_another_cpus_fatal_path ... ok
test a_seize_and_a_burst_never_overlap ... ok
test a_seize_takes_a_burst_let_go_inside_the_bound ... ok
test two_writers_never_overlap ... ok

test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

     Running tests/sleep_lock.rs (target/debug/deps/sleep_lock-1a1fca6f3f1ac287)

running 4 tests
test try_lock_observes_the_previous_holders_writes ... ok
test a_queued_contender_is_served_and_named ... ok
test two_holders_never_overlap ... ok
test a_parking_contender_observes_the_holders_writes ... ok

test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s

     Running tests/smp_bringup.rs (target/debug/deps/smp_bringup-cd2a9c8182d7caee)

running 3 tests
test an_ap_that_reads_another_id_is_refused - should panic ... ok
test a_released_machine_is_answering ... ok
test a_committed_count_never_outruns_its_slot ... ok

test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

     Running tests/ticket_lock.rs (target/debug/deps/ticket_lock-2447e48bc2cede20)

running 3 tests
test try_lock_at_the_wrap_boundary_does_not_panic ... ok
test try_lock_observes_the_previous_owners_writes ... ok
test two_try_locks_do_not_both_succeed ... ok

test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/tlb_shootdown.rs (target/debug/deps/tlb_shootdown-52849ef51a0854c1)

running 4 tests
test an_initiator_answers_while_it_waits ... ok
test a_nested_serve_is_not_undone_by_the_one_it_interrupted ... ok
test an_acknowledged_flush_postdates_the_page_table_write ... ok
test one_serve_answers_two_concurrent_shootdowns ... ok

test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.81s

     Running unittests src/lib.rs (target/debug/deps/kernel_sim-ddcd977293e22acb)

running 15 tests
test choice::tests::bytes_are_the_decisions ... ok
test choice::tests::bytes_wide_draw_uses_two_bytes ... ok
test choice::tests::bytes_full_range_reachable ... ok
test choice::tests::pct_never_starves_a_lone_step ... ok
test choice::tests::pct_prefers_the_highest_priority_actor_and_is_stable ... ok
test choice::tests::replay_reproduces_a_recording ... ok
test choice::tests::seeds_differ ... ok
test latency::tests::a_losing_maximum_becomes_the_runner_up ... ok
test latency::tests::an_empty_distribution_measures_nothing ... ok
test choice::tests::seeded_is_deterministic ... ok
test latency::tests::causes_are_kept_apart ... ok
test latency::tests::merging_is_exactly_the_union ... ok
test latency::tests::one_sample_has_no_runner_up ... ok
test latency::tests::the_runner_up_is_the_second_largest_sample ... ok
test choice::tests::zero_options_is_a_bug - should panic ... ok

test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/main.rs (target/debug/deps/kernel_sim-cb04f5b6dbf474b5)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/deadline_claim_race.rs (target/debug/deps/deadline_claim_race-ae5ba098c0dcbdfd)

running 1 test
test a_claim_between_the_drain_and_the_fire_leaves_the_timer_armed_for_what_is_parked ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/policy.rs (target/debug/deps/policy-c8d6313bf8224213)

running 12 tests
test a_stopped_cpu_stops_taking_work ... ok
test per_thread_shares_lose_the_floor ... ok
test the_share_deficit_is_an_offset_and_not_a_drift ... ok
test a_wakeup_storm_drains_without_serializing ... ok
test an_interactive_wake_waits_out_at_most_the_band_it_is_queued_behind ... ok
test the_two_cures_are_priced_against_the_pull_path ... ok
test a_process_cannot_buy_cpu_by_forking ... ok
test a_runnable_task_waits_at_most_one_dispatch_per_rival ... ok
test without_the_balance_path_a_lopsided_machine_stays_lopsided ... ok
test the_balance_path_drains_the_cpu_an_adversary_loaded ... ok
test a_push_on_surplus_reaches_every_cpu_the_pull_path_left_asleep ... ok
test a_bounded_re_arm_reaches_every_cpu_the_pull_path_left_asleep ... ok

test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 4.68s

     Running tests/scenarios.rs (target/debug/deps/scenarios-63544582fcbe5101)

running 25 tests
test corpus_traces_still_do_what_they_were_committed_for ... ok
test old_commit_before_pass_is_caught ... ok
test a_pass_that_overruns_its_budget_is_recorded ... ok
test a_run_replays_exactly ... ok
test old_steal_port_is_caught ... ok
test blind_spot_needed_the_step_split ... ok
test a_pass_inside_the_registration_window_is_caught ... ok
test a_retire_inside_the_registration_window_is_honoured_by_the_core ... ok
test shrinking_keeps_the_failure_and_loses_the_noise ... ok
test the_new_protocol_survives_the_schedule_that_breaks_the_old_one ... ok
test double_charging_a_share_is_caught ... ok
test rt_starving_the_corpse_is_caught ... ok
test per_thread_fair_shares_are_caught ... ok
test the_park_sees_claims_that_landed_after_its_commit ... ok
test old_migrate_keeping_the_corpse_is_caught ... ok
test a_retire_completes_inside_its_derived_bound ... ok
test the_audio_pipeline_holds_on_one_cpu ... ok
test old_park_keeping_the_lend_is_caught ... ok
test the_unwind_gate_lasts_one_chunk_and_not_one_unwind ... ok
test identity_ordering_within_a_share_is_caught ... ok
test the_fairness_storm_is_measured_and_holds ... ok
test invariant_i13_is_measured_and_holds ... ok
test an_identity_tiebreak_changes_the_schedule_and_not_the_sibling_split ... ok
test every_scenario_survives_raw_fuzz_bytes ... ok
test every_scenario_survives_a_seed_sweep ... ok

test result: ok. 25 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.67s

     Running unittests src/lib.rs (target/debug/deps/toyos_abi-fe6fb68be58597b7)

running 53 tests
test boot::tests::a_window_holds_an_extent_and_not_merely_its_first_address ... ok
test boot::tests::the_kernel_is_handed_the_windows_firmware_named_and_none_of_the_array_behind_them ... ok
test boot::tests::the_two_readings_of_a_boot_parameter_partition_it ... ok
test clock::tests::the_formula_is_the_kernels ... ok
test clock::tests::the_page_is_four_words ... ok
test counters::tests::a_flag_no_counter_names_is_refused ... ok
test counters::tests::a_present_zero_is_not_an_absent_counter ... ok
test counters::tests::a_word_under_an_absent_counter_is_refused ... ok
test counters::tests::counters_are_indexed_by_their_place_and_named_once ... ok
test counters::tests::every_shape_of_record_reads_back_as_written ... ok
test counters::tests::what_times_a_program_or_is_power_needs_the_trace_right ... ok
test handle::tests::a_bit_no_right_uses_is_not_a_rights_set ... ok
test handle::tests::a_generation_past_the_field_is_generation_zero_again ... ok
test handle::tests::a_handle_answers_the_slot_and_generation_it_was_made_from ... ok
test handle::tests::every_right_in_all_has_a_name_and_every_name_is_in_all ... ok
test boot::tests::a_count_past_the_array_is_refused_rather_than_clamped - should panic ... ok
test handle::tests::nothing_below_the_retirement_generation_can_be_the_invalid_handle ... ok
test handle::tests::generation_zero_is_the_bare_index ... ok
test handle::tests::rights_only_shrink ... ok
test inbox::tests::the_ring_layout_is_what_both_ends_index_by ... ok
test inventory::tests::a_byte_that_names_nothing_is_refused_by_name ... ok
test inventory::tests::a_record_is_one_fixed_width ... ok
test inventory::tests::every_record_round_trips ... ok
test log::tests::a_fresh_cursor_has_read_nothing ... ok
test log::tests::a_length_past_the_bound_is_clamped_and_not_a_panic ... ok
test log::tests::a_non_utf8_body_renders_what_decoded ... ok
test log::tests::a_record_renders_the_same_line_for_every_consumer ... ok
test log::tests::an_undeclared_severity_byte_decodes_to_nothing ... ok
test log::tests::every_sayer_gets_the_one_head ... ok
test log::tests::a_wall_clock_goes_through_the_bracket_and_an_empty_one_changes_nothing ... ok
test log::tests::its_bytes_are_the_fields_and_nothing_between_them ... ok
test log::tests::severities_are_ordered_from_info_to_alert ... ok
test log::tests::the_record_is_the_size_and_shape_both_sides_assume ... ok
test log::tests::untimed_severity_and_elided_are_in_the_line_rather_than_in_a_convention ... ok
test part::tests::a_guid_is_the_uppercase_registry_form_and_nothing_else ... ok
test part::tests::a_guid_survives_the_wire ... ok
test part::tests::the_esp_type_guid_is_the_specification_s_bytes ... ok
test ring::tests::a_scribbled_header_leaves_the_stream_exact ... ok
test ring::tests::the_pipe_capacity_does_not_divide_the_u32_cursor_space ... ok
test syscall::tests::a_devices_entry_is_a_class_or_one_named_function ... ok
test ring::tests::a_read_split_across_the_cursor_wrap_returns_what_was_written ... ok
test syscall::tests::a_partition_entry_carries_its_guid_in_both_selector_words ... ok
test syscall::tests::a_pci_id_is_four_lowercase_hex_digits_each_and_nothing_else ... ok
test syscall::tests::a_dirent_of_another_kind_is_a_broken_kernel - should panic ... ok
test syscall::tests::a_request_writes_back_the_name_it_parsed ... ok
test syscall::tests::an_isa_entry_survives_the_wire_and_nothing_else_decodes ... ok
test syscall::tests::a_short_dirent_is_a_broken_kernel - should panic ... ok
test syscall::tests::every_dirent_is_read_back_whatever_its_node_holds ... ok
test syscall::tests::module_info_s_bytes_are_the_fields_and_nothing_between_them ... ok
test syscall::tests::modules_decodes_every_record_and_its_path ... ok
test syscall::tests::the_selector_survives_the_wire ... ok
test syscall::tests::modules_refuses_a_path_past_the_answer - should panic ... ok
test ring::tests::a_stream_survives_the_cursor_reaching_two_to_the_thirty_two ... ok

test result: ok. 53 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.47s

     Running unittests src/lib.rs (target/debug/deps/toyos_acpi-ed93591cfd9580f5)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/amd_laptop.rs (target/debug/deps/amd_laptop-c48696c95457d08b)

running 2 tests
test the_fadt_names_a_control_method_power_button ... ok
test the_reset_register_is_smi_cmd_and_its_value_is_one_the_tables_name ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/corpus.rs (target/debug/deps/corpus-c5c16e8fc94021eb)

running 36 tests
test a_dsdt_that_cannot_be_found_is_the_first_block_refused ... ok
test a_century_register_outside_cmos_ram_is_told_apart_from_none ... ok
test a_fadt_before_acpi_5_1_says_nothing_about_psci ... ok
test a_fadt_of_the_acpi_1_0_length_is_read_without_its_x_fields ... ok
test a_fadt_that_ends_before_arm_boot_arch_is_short ... ok
test a_fadt_too_short_for_the_boot_architecture_flags_is_refused ... ok
test a_length_longer_than_the_mapping_is_refused_before_a_byte_is_read ... ok
test a_dsdt_whose_fadt_could_not_be_read_is_refused_as_unread_and_not_as_absent ... ok
test a_length_over_the_ceiling_is_refused_without_walking_it ... ok
test a_length_shorter_than_the_fixed_part_is_refused_with_both_numbers ... ok
test a_length_under_the_header_is_refused_even_when_the_caller_needs_nothing ... ok
test a_madt_entry_running_past_the_list_halts_the_walk ... ok
test a_madt_entry_of_zero_length_halts_the_walk_instead_of_looping ... ok
test a_madt_entry_too_short_for_its_own_type_is_not_decoded_as_that_type ... ok
test a_reset_register_this_kernel_cannot_write_is_refused_by_the_field_that_refused_it ... ok
test a_revision_1_fadt_is_read_at_its_32_bit_fields_alone ... ok
test a_revision_1_fadt_long_enough_to_hold_x_dsdt_is_still_read_at_its_32_bit_field ... ok
test a_revision_that_promises_x_dsdt_over_a_table_that_cannot_hold_it_falls_back ... ok
test a_table_that_does_not_sum_to_zero_is_refused ... ok
test an_rsdp_address_the_reader_cannot_reach_is_refused ... ok
test a_trailing_byte_that_cannot_be_an_entry_header_ends_the_walk_quietly ... ok
test an_xsdt_entry_pointing_at_nothing_is_skipped_and_the_next_one_is_read ... ok
test fixed_hardware_reads_whichever_form_names_a_block ... ok
test fixed_hardware_this_kernel_does_not_serve_is_refused_by_name ... ok
test reset_fields_are_read_only_from_a_revision_that_defines_them ... ok
test the_crafted_fixed_hardware_decodes_before_any_field_is_broken ... ok
test the_definition_blocks_are_the_dsdt_and_then_each_ssdt_in_the_xsdts_order ... ok
test the_psci_conduit_is_read_off_a_fadt_that_defines_it ... ok
test the_sci_defaults_to_level_and_active_low_where_nothing_says_otherwise ... ok
test the_root_pointer_is_refused_one_reason_at_a_time ... ok
test the_shared_reader_refuses_what_it_does_not_hold ... ok
test the_xsdt_walk_answers_with_its_first_match_and_tries_no_second ... ok
test the_values_the_fadt_names_for_smi_cmd_are_each_read_from_their_own_byte ... ok
test two_edits_that_cancel_pass_the_checksum_and_decode_to_the_lie ... ok
test no_single_byte_mutation_of_a_firmwares_descriptor_list_panics_or_runs_away ... ok
test no_single_byte_mutation_of_a_real_table_panics_or_runs_away ... ok

test result: ok. 36 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.04s

     Running tests/facs.rs (target/debug/deps/facs-1619c04409e4ea79)

running 5 tests
test a_structure_that_is_no_facs_is_refused_by_name ... ok
test both_transitions_are_the_specifications_own_sequences ... ok
test a_facs_off_its_sixty_four_byte_boundary_is_refused ... ok
test s4bios_f_is_bit_zero_of_the_flags ... ok
test the_wide_address_wins_where_it_is_not_zero_and_the_narrow_one_serves_where_it_is ... ok

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/fixtures.rs (target/debug/deps/fixtures-4a7f17fb56a60883)

running 14 tests
test a_second_firmwares_bytes_decode_to_that_machines_own_windows ... ok
test the_boot_architecture_flags_come_off_a_revision_that_defines_them ... ok
test the_fadt_names_the_century_register_the_wall_clock_read ... ok
test the_fadt_names_the_power_block_and_the_dsdt ... ok
test the_hpet_table_names_the_window_the_timer_driver_mapped ... ok
test the_fadt_names_the_reset_register_qemu_acts_on ... ok
test the_definition_blocks_of_qemu_are_its_dsdt_alone ... ok
test the_madt_names_the_two_cpus_that_boot_and_the_chip_that_interrupts_them ... ok
test the_mcfg_names_the_ecam_window_the_pci_walk_used ... ok
test the_q35_fadt_names_the_fixed_hardware_its_sci_is_served_through ... ok
test the_q35_fadt_predates_arm_boot_arch ... ok
test the_q35_madt_names_its_sci_level_and_active_high ... ok
test the_windows_a_boot_printed_are_what_that_firmwares_own_bytes_say ... ok
test the_xsdt_walk_reaches_every_entry ... ok

test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/iort.rs (target/debug/deps/iort-41214c1b48b4fa19)

running 31 tests
test a_node_array_inside_the_header_is_refused ... ok
test a_mapping_carries_an_id_by_its_offset_from_the_input_base_and_ends_at_its_last_id ... ok
test a_mapping_whose_range_leaves_the_id_space_is_refused ... ok
test a_node_array_past_the_table_is_refused_as_its_first_node ... ok
test a_node_count_that_overruns_the_table_is_refused_where_the_bytes_end ... ok
test a_node_longer_than_the_table_or_shorter_than_its_type_is_refused ... ok
test a_node_revision_whose_layout_was_not_read_is_refused ... ok
test a_node_type_not_decoded_is_answered_by_its_type_and_refuses_nothing ... ok
test a_revision_whose_layout_was_not_read_is_refused ... ok
test a_root_complex_has_no_mapping_of_its_own ... ok
test a_revision_4_smmu_indexes_its_own_mapping_whenever_a_control_interrupt_is_not_wired ... ok
test a_route_through_an_output_reference_to_a_node_its_source_may_not_reach_is_refused ... ok
test a_route_through_an_output_reference_that_names_no_node_is_refused ... ok
test a_single_mapping_that_is_not_its_smmus_own_is_refused ... ok
test a_stream_is_not_judged_alone_past_an_id_array_out_of_its_node ... ok
test a_stream_the_smmu_maps_nowhere_has_no_its ... ok
test a_stream_another_mapping_puts_out_to_the_same_smmu_is_refused ... ok
test a_table_too_short_for_its_own_header_fields_is_refused ... ok
test an_id_array_lying_over_its_nodes_own_fields_is_refused ... ok
test an_id_array_running_past_its_node_is_refused ... ok
test an_id_two_mappings_claim_is_refused_when_it_is_asked_for ... ok
test an_its_group_of_other_than_one_its_is_refused ... ok
test an_its_node_declaring_an_id_array_is_refused ... ok
test an_smmus_own_mapping_index_at_or_past_its_id_array_is_refused ... ok
test the_hardware_gic_boot_routes_bus_zero_through_the_smmu_and_nothing_to_an_its ... ok
test the_hardware_gic_boots_madt_names_no_its ... ok
test the_its_boots_madt_names_the_its_the_iort_routes_to ... ok
test the_its_boot_routes_bus_zero_through_the_smmu_to_the_its_and_the_rest_past_it ... ok
test the_mapping_a_revision_5_smmu_indexes_is_the_units_own_and_routes_no_stream ... ok
test opening_a_table_and_routing_a_requester_each_read_it_a_bounded_number_of_times ... ok
test no_corruption_of_a_published_iort_panics_or_hangs_the_decoder ... ok

test result: ok. 31 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.38s

     Running tests/ivrs.rs (target/debug/deps/ivrs-ea6d6ca6ea9b2a1c)

running 13 tests
test a_refused_list_refuses_its_walk_and_not_the_table ... ok
test a_block_shorter_than_its_header_or_longer_than_the_table_is_refused ... ok
test a_table_too_short_for_its_first_block_is_refused_by_length ... ok
test an_ivmd_range_running_backwards_or_past_the_address_space_is_refused ... ok
test an_entry_the_block_cannot_hold_is_refused_not_read_past ... ok
test a_walk_that_meets_a_bad_entry_ends_on_its_refusal ... ok
test every_block_type_decodes_and_a_unit_is_answered_once_at_its_highest_type ... ok
test every_device_entry_decodes_with_its_range_paired_and_its_padding_dropped ... ok
test qemus_table_is_one_unit_described_twice_and_answered_once_at_its_higher_type ... ok
test qemus_unit_serves_every_function_of_bus_zero_by_one_select_each ... ok
test two_ivhds_of_one_type_naming_one_unit_are_refused_and_two_units_are_not ... ok
test more_ivhds_than_the_bound_are_refused ... ok
test no_corruption_of_an_ivrs_panics_or_runs_away ... ok

test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s

     Running tests/mapped.rs (target/debug/deps/mapped-55cae07355ade6f9)

running 3 tests
test a_table_past_the_direct_map_is_refused_before_a_byte_is_read ... ok
test address_zero_and_a_range_past_every_address_are_refused ... ok
test an_xsdt_entry_past_the_direct_map_is_skipped ... ok

test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/mcfg.rs (target/debug/deps/mcfg-fca11030e9eb881b)

running 10 tests
test a_malformed_structure_is_refused_and_the_next_is_still_read ... ok
test a_window_of_sixty_four_buses_decodes_sixty_four_megabytes ... ok
test a_window_ending_on_the_last_byte_is_accepted_and_one_bus_more_wraps ... ok
test a_table_ending_inside_a_structure_refuses_the_part ... ok
test a_window_off_the_grain_is_refused_and_on_it_is_mapped ... ok
test a_window_over_memory_is_refused ... ok
test a_window_over_another_windows_bytes_is_refused ... ok
test a_window_reaching_the_limit_is_refused ... ok
test another_segment_and_an_overlap_are_refused ... ok
test a_window_starting_at_bus_0x10_counts_its_functions_from_bus_0x10 ... ok

test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/resource.rs (target/debug/deps/resource-ee037686f3f75096)

running 13 tests
test a_descriptor_this_decoder_does_not_read_is_refused_by_its_tag ... ok
test a_list_that_runs_off_the_end_of_what_can_be_read_is_refused ... ok
test a_list_with_no_end_tag_stops_at_the_bound ... ok
test a_range_the_bridge_consumes_is_not_a_window_it_forwards ... ok
test a_resource_type_this_decoder_does_not_read_is_refused_by_its_kind ... ok
test a_maximum_that_is_not_the_minimum_plus_the_length_is_refused ... ok
test a_short_descriptor_is_refused_rather_than_read_past ... ok
test a_translated_window_is_refused_rather_than_taken_at_its_minimum ... ok
test a_window_of_no_length_is_not_carried ... ok
test an_amd_laptops_controller_is_two_fixed_ports_in_the_lists_order ... ok
test an_io_run_that_is_no_fixed_port_is_refused_by_name ... ok
test more_windows_than_there_is_room_for_is_refused_whole ... ok
test only_the_memory_ranges_of_a_root_bridge_become_windows ... ok

test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/thinkpad_t14.rs (target/debug/deps/thinkpad_t14-6c3f06e6d69b6dfb)

running 2 tests
test the_t14s_fadt_names_the_blocks_linux_served_its_sci_through ... ok
test the_t14s_madt_names_its_sci_level_and_active_high ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_blackbox-233dc461abc742ca)

running 36 tests
test fault_tests::only_a_record_of_the_declared_width_decodes ... ok
test fault_tests::a_fault_round_trips_word_for_word ... ok
test fault_tests::a_fault_survives_the_page_it_is_sealed_into ... ok
test stamp_tests::a_records_date_cannot_be_changed_under_it ... ok
test stamp_tests::a_record_belongs_to_the_stick_that_wrote_it ... ok
test stamp_tests::an_unstamped_page_reads_as_no_date ... ok
test tests::a_cleared_page_is_not_harvested_twice ... ok
test tests::a_window_with_no_boundary_keeps_none_of_it ... ok
test tests::an_armed_page_with_nothing_in_it_is_still_a_state ... ok
test tests::an_account_cut_off_mid_line_is_readable_to_the_last_whole_line ... ok
test tests::every_line_is_covered_once_its_last_fragment_arrives ... ok
test tests::a_break_is_told_by_what_the_driver_says_and_by_who_said_it ... ok
test tests::a_report_that_fits_carries_no_drop_line ... ok
test tests::a_sealed_page_comes_back_as_what_went_in ... ok
test tests::a_length_past_the_page_is_refused ... ok
test tests::a_page_nobody_wrote_carries_nothing ... ok
test tests::a_boot_with_no_break_says_so_in_one_line ... ok
test tests::an_over_long_run_of_records_is_cut_at_a_boundary ... ok
test tests::every_state_has_a_word_of_its_own ... ok
test tests::a_multi_line_record_is_never_entered_part_way ... ok
test tests::lines_that_fit_their_room_are_kept_and_nothing_is_said ... ok
test tests::no_state_can_be_read_as_another ... ok
test tests::a_ring_that_moved_between_the_walks_leaves_no_line_out_of_place ... ok
test tests::one_flipped_bit_anywhere_refuses_the_whole_page ... ok
test tests::the_address_is_found_in_a_raw_parameter_buffer ... ok
test tests::the_first_line_that_does_not_fit_drops_itself_and_every_later_one ... ok
test tests::the_parameter_round_trips_the_address_it_names ... ok
test tests::the_driver_says_a_break_the_way_the_section_finds_one ... ok
test tests::the_head_is_kept_and_the_tail_fills_what_is_left ... ok
test tests::a_storm_keeps_the_first_break_and_counts_what_it_dropped ... ok
test tests::a_cut_report_says_how_many_records_it_dropped ... ok
test tests::the_section_is_the_usb_stacks_records_from_the_first_break_on_oldest_first ... ok
test tests::a_report_that_fills_the_page_still_leaves_the_account_its_room ... ok
test tests::the_section_under_a_sealed_report_leaves_the_account_its_reserve ... ok
test tests::saying_what_was_dropped_never_runs_the_page_over ... ok
test tests::the_line_that_counts_the_dropped_fits_the_room_it_was_given ... ok

test result: ok. 36 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s

     Running unittests src/lib.rs (target/debug/deps/toyos_blockhold-2c59279906453074)

running 9 tests
test tests::a_write_after_the_loss_finds_it ... ok
test tests::a_clean_release_leaves_nothing ... ok
test tests::a_holder_is_the_hold_of_exactly_that_span ... ok
test tests::a_block_has_one_holder ... ok
test tests::a_write_released_unflushed_is_lost_to_the_next_holder ... ok
test tests::a_loss_outlives_the_hold_that_wrote_it ... ok
test tests::a_writer_silent_since_the_loss_is_told_when_another_flushes_first ... ok
test tests::writes_an_earlier_flush_made_durable_are_not_lost ... ok
test tests::every_interleaving_tells_each_loss_to_the_blocks_it_touched ... ok

test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s

     Running unittests src/lib.rs (target/debug/deps/toyos_blockring-e59e68baa3f5367e)

running 23 tests
test entry::tests::a_completion_survives_its_words_and_refuses_what_it_does_not_define ... ok
test entry::tests::a_request_outside_its_bounds_is_refused_by_tag ... ok
test entry::tests::a_request_survives_its_words ... ok
test client::tests::a_second_answer_for_one_tag_is_a_violation ... ok
test client::tests::nothing_goes_out_before_a_session ... ok
test client::tests::a_lost_flush_reissues_then_asks_again ... ok
test server::tests::a_flush_after_a_loss_answers_lost_once ... ok
test client::tests::read_only_answers_a_write_alone ... ok
test client::tests::overlapping_writes_go_out_again_in_order ... ok
test client::tests::a_write_given_up_poisons_every_later_flush ... ok
test client::tests::what_was_on_the_wire_at_the_end_is_refused_and_what_was_not_waits ... ok
test server::tests::a_read_only_session_refuses_a_write_unissued ... ok
test server::tests::a_reset_answers_in_the_order_taken ... ok
test server::tests::a_reset_answers_once_and_the_late_device_answer_is_dropped ... ok
test model::tests::a_used_page_reads_fresh_once_a_servers_ends_are_made_over_it ... ok
test server::tests::a_tag_in_flight_twice_is_refused_unissued ... ok
test wire::tests::a_grant_reaches_its_own_partitions_and_decodes_only_whole ... ok
test wire::tests::opened_and_refusal_survive_their_bytes_and_nothing_else_decodes ... ok
test model::tests::states_named_alike_act_alike ... ok
test model::tests::the_model_reaches_the_end_it_should ... ok
test model::tests::the_model_reaches_a_write_given_up ... ok
test model::tests::every_request_is_answered_exactly_once ... ok
test model::tests::what_a_flush_calls_durable_is_on_the_medium ... ok

test result: ok. 23 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 4.83s

     Running unittests src/lib.rs (target/debug/deps/toyos_bootmap-22b269a37e3ab679)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/aarch64_direct_map.rs (target/debug/deps/aarch64_direct_map-6e4ee97640c4b179)

running 9 tests
test a_map_with_no_memory_ends_at_zero ... ok
test a_page_wholly_memory_is_one_block ... ok
test a_reserved_page_inside_ram_is_left_out_of_its_block ... ok
test a_start_off_a_page_is_refused ... ok
test an_end_below_its_start_is_refused ... ok
test memory_is_mapped_and_a_register_is_not ... ok
test off_a_page_is_refused ... ok
test past_the_window_is_refused ... ok
test runtime_services_data_is_left_out_and_acpi_tables_are_not ... ok

test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/direct_map.rs (target/debug/deps/direct_map-36cb8608940d8e17)

running 11 tests
test a_range_past_the_window_that_is_not_memory_is_not_refused ... ok
test acpi_tables_above_the_last_ram_are_mapped ... ok
test an_empty_map_is_the_boot_map ... ok
test an_unsorted_map_is_read_whole ... ok
test every_type_the_pmm_hands_out_is_mapped ... ok
test memory_above_4_gib_is_mapped_to_its_end_in_whole_pages ... ok
test memory_past_the_window_is_refused_by_name ... ok
test no_other_type_reaches_past_the_boot_map ... ok
test the_pmm_hands_out_exactly_the_types_uefi_gives_the_os ... ok
test the_captured_map_is_usable_where_its_boot_said ... ok
test the_reserved_hole_below_1_tib_is_not_mapped ... ok

test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/plan.rs (target/debug/deps/plan-059f128f59d79140)

running 26 tests
test a_base_off_the_page_is_refused_rather_than_rounded_down ... ok
test a_framebuffer_inside_the_low_map_adds_no_directory ... ok
test a_framebuffer_across_512_gib_names_both_second_level_tables ... ok
test a_framebuffer_above_the_low_map_adds_its_own_directory ... ok
test a_framebuffer_at_the_boundary_is_outside_the_low_map ... ok
test a_framebuffer_past_512_gib_adds_its_own_second_level_table ... ok
test a_loader_inside_the_low_map_adds_nothing ... ok
test a_framebuffer_that_straddles_the_low_maps_end_is_mapped_from_both_arms ... ok
test a_map_typed_scanout_off_a_small_page_is_refused ... ok
test a_range_no_map_can_hold_is_refused_by_name ... ok
test a_page_that_is_part_memory_is_refused_by_address ... ok
test a_loader_beside_the_scanout_shares_its_directory ... ok
test the_aarch64_descriptors_carry_the_attribute_index_the_mair_names ... ok
test a_machine_with_no_framebuffer_is_the_low_map_and_nothing_else ... ok
test the_high_half_slot_is_the_top_nine_bits_of_phys_offset ... ok
test a_map_typed_loader_is_memory ... ok
test uncacheable_is_pat_entry_three_and_plain_memory_is_entry_zero ... ok
test a_map_typed_plan_is_memory_where_firmware_says_write_back_and_a_device_elsewhere ... ok
test a_loader_across_a_page_is_both_pages ... ok
test a_loader_above_the_low_map_adds_its_own_directory_of_plain_memory ... ok
test a_framebuffer_that_straddles_a_gib_claims_both ... ok
test every_second_level_table_the_budget_has_fits_the_pool ... ok
test a_range_past_the_window_is_refused_by_name ... ok
test a_scanout_inside_memory_is_typed_as_the_scanout ... ok
test a_scanout_carved_out_of_ram_splits_the_pages_it_shares ... ok
test a_loader_no_map_can_hold_is_refused_by_name ... ok

test result: ok. 26 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

     Running tests/walk.rs (target/debug/deps/walk-081ee47cc6ddc3fd)

running 3 tests
test the_laptops_scanout_at_1010_gib_translates_in_both_views ... ok
test a_split_page_translates_through_its_table_of_small_leaves ... ok
test every_second_level_table_is_reached_from_its_own_root_slots ... ok

test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_cpuvuln-5700bd7ff46f21af)

running 63 tests
test counters::tests::an_amd_with_leaf_6_has_aperf_and_mperf_and_no_smi_count ... ok
test hwp::tests::the_request_is_the_minimum_ratio_the_highest_level_and_the_preference ... ok
test counters::tests::the_tcg_model_has_none ... ok
test counters::tests::a_guest_counts_no_smis ... ok
test hwp::tests::the_tcg_model_is_refused ... ok
test tests::a_blacklist_row_for_stepping_zero_stands_before_its_any_stepping_row ... ok
test counters::tests::the_t14_has_what_linux_counted_on_it ... ok
test tests::a_comet_lake_guest_cannot_know_its_hosts_smt ... ok
test tests::a_bad_microcode_row_is_its_model_and_its_stepping ... ok
test tests::a_blacklist_row_matches_only_its_steppings ... ok
test hwp::tests::a_cpu_outside_family_6_is_refused_by_name ... ok
test hwp::tests::the_t14_is_declared_with_its_notification ... ok
test tests::a_guest_cannot_know_its_gds_mitigation ... ok
test counters::tests::an_intel_model_off_the_list_counts_no_smis ... ok
test tests::a_guest_with_verw_clear_mitigates_tsa ... ok
test hwp::tests::a_missing_register_refuses_the_whole_request_by_name ... ok
test tests::a_milan_kvm_guest_gives_the_tags_lines ... ok
test tests::a_retpoline_guest_leaves_bhi_to_retpolines_only_with_rrsba_disabled ... ok
test tests::a_retpoline_guest_without_rrsba_leaves_bhi_to_retpolines ... ok
test tests::a_tsa_row_keyed_by_a_model_nibble_of_8_or_more_is_read ... ok
test tests::a_turin_kvm_guest_gives_the_tags_lines ... ok
test tests::a_zen2_guest_has_no_ibpb_brtype ... ok
test tests::alder_lake_mitigates_bhi_in_hardware ... ok
test tests::amd_0x15_to_0x17_take_ssbd_from_the_ls_cfg_probe ... ok
test tests::amd_stibp_always_on_is_strict_without_the_untrained_return_thunk ... ok
test tests::a_native_zen3_without_its_probe_is_a_contradiction - should panic ... ok
test tests::a_hygon_cpu_without_its_ls_cfg_probe_is_a_contradiction - should panic ... ok
test tests::an_intel_guest_cannot_know_its_mitigations_or_its_hosts_smt ... ok
test tests::an_amd_cpu_with_feat_ctl_is_a_contradiction - should panic ... ok
test tests::an_msbds_only_cpu_reports_its_smt_as_mitigated ... ok
test tests::an_unknown_vendors_retbleed_is_unmitigated ... ok
test tests::autoibrs_leaves_stibp_to_select ... ok
test tests::bad_microcode_drops_the_controls_only_beside_one_of_them ... ok
test tests::bad_microcode_is_intel_family_6s ... ok
test tests::centaur_family_5_has_only_itlb_multihit ... ok
test tests::comet_lake_clears_cpu_buffers_by_mds_no_and_fb_clear ... ok
test tests::comet_lake_varies_one_fact_at_a_time ... ok
test tests::family_and_model_are_derived_as_arch_x86_lib_derives_them ... ok
test tests::firmware_can_lock_the_gds_mitigation ... ok
test tests::hygon_decides_as_linux_does ... ok
test tests::hygon_without_smt_and_with_ibpb_brtype_has_srso_smt_disabled ... ok
test tests::itlb_multihit_reads_what_feat_ctl_left_of_vmx ... ok
test tests::only_amd_and_hygon_are_probed ... ok
test tests::rfds_is_cleared_only_with_rfds_clear ... ok
test tests::rtm_absent_from_cpuid_is_rtm_off ... ok
test tests::rtm_always_abort_decides_tsx_first ... ok
test tests::spectre_bad_microcode_includes_its_bound ... ok
test tests::srbds_is_tsx_disabled_only_without_rtm_and_mmio ... ok
test tests::srso_user_kernel_no_mitigates_only_the_vm_exit ... ok
test tests::the_first_matching_blacklist_row_decides ... ok
test tests::the_t14_with_arch_capabilities_read_as_zero ... ok
test tests::the_t14s_facts_give_its_lines_and_its_spec_ctrl ... ok
test tests::the_t14s_no_bits_each_rule_out_their_bug ... ok
test tests::the_t14s_facts_are_linuxs_reading_of_it ... ok
test tests::tsa_is_ruled_out_only_by_both_its_no_bits ... ok
test tests::zen1_by_btc_no_ssb_no_and_ibpb ... ok
test tests::zen1_forces_stibp_from_the_untrained_return_thunk ... ok
test tests::zen2_selects_by_smt ... ok
test tests::zen3_by_srso_no_and_an_enumerated_ibpb_brtype ... ok
test tests::zen3_native_reads_its_probe_and_its_tsa_microcode ... ok
test tests::zen4_reads_its_row_of_the_tsa_microcode_table ... ok
test tests::the_tcg_models_signature_gives_its_lines ... ok
test tests::zhaoxin_without_spectre_v2_sets_up_no_ibpb ... ok

test result: ok. 63 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_device_memory-c371b2b03a73bcf2)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_dhcp-bafcabb9fc8c9713)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/ack.rs (target/debug/deps/ack-49c542e77a101715)

running 8 tests
test s_dhcp_dh_015_rapid_commit ... ok
test s_dhcp_dh_016_an_ack_without_rapid_commit_while_selecting ... ok
test s_dhcp_dh_018_the_lease_runs_from_the_first_request ... ok
test s_dhcp_dh_012_verified_configures ... ok
test s_dhcp_dh_017_a_rapid_ack_answers_a_request_too ... ok
test s_dhcp_dh_011_an_ack_is_probed_first ... ok
test s_dhcp_dh_014_every_decline_waits_ten_seconds ... ok
test s_dhcp_dh_013_a_conflict_declines ... ok

test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/lease.rs (target/debug/deps/lease-35f10df30fc859ed)

running 19 tests
test s_dhcp_dh_023_reconfigured ... ok
test s_dhcp_dh_032_a_later_timer_expires ... ok
test s_dhcp_dh_022_extended ... ok
test s_dhcp_dh_027_a_nak_while_renewing ... ok
test s_dhcp_dh_029_a_nak_while_requesting ... ok
test s_dhcp_dh_028_a_nak_from_another_server ... ok
test s_dhcp_dh_031_a_late_timer_rebinds_once ... ok
test s_dhcp_dh_025_an_ack_from_another_server ... ok
test s_dhcp_dh_024_an_ack_for_another_address ... ok
test s_dhcp_dh_020_renew_rebind_expire ... ok
test s_dhcp_dh_026_rebinding_takes_any_server ... ok
test s_dhcp_dh_030_a_nak_loop_is_slowed ... ok
test s_dhcp_dh_033_timer_options ... ok
test s_dhcp_dh_021_t2_alone_means_rebinding_at_t1 ... ok
test s_dhcp_dh_034_an_infinite_lease ... ok
test s_dhcp_dh_035_a_ten_second_lease ... ok
test s_dhcp_dh_019_the_first_renew ... ok
test s_dhcp_dh_036_a_lease_that_expired_while_probed ... ok
test s_dhcp_dh_037_each_renewal_has_its_own_xid ... ok

test result: ok. 19 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/link.rs (target/debug/deps/link-3206abe1f547eb83)

running 10 tests
test s_dhcp_dh_070_link_up_while_selecting ... ok
test s_dhcp_dh_067_an_unanswered_reboot_keeps_the_lease ... ok
test s_dhcp_dh_076_the_link_went_down_while_probing ... ok
test s_dhcp_dh_071_link_up_while_probing ... ok
test s_dhcp_dh_072_an_address_lost_in_use ... ok
test s_dhcp_dh_066_the_reboot_is_refused ... ok
test s_dhcp_dh_069_a_reboot_ack_for_another_address ... ok
test s_dhcp_dh_068_the_lease_expires_while_rebooting ... ok
test s_dhcp_dh_065_the_reboot_is_acknowledged ... ok
test s_dhcp_dh_064_link_up_with_a_lease ... ok

test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/parse.rs (target/debug/deps/parse-e9d3378615f2ecec)

running 26 tests
test s_dhcp_dh_040_the_hardware_type ... ok
test s_dhcp_dh_042_another_transaction ... ok
test s_dhcp_dh_039_not_a_reply ... ok
test s_dhcp_dh_041_another_clients_reply ... ok
test s_dhcp_dh_045_an_option_past_its_field ... ok
test s_dhcp_dh_046_no_end ... ok
test s_dhcp_dh_043_bootp_is_refused ... ok
test s_dhcp_dh_047_a_repeated_message_type ... ok
test s_dhcp_dh_050_an_overloaded_file_field ... ok
test s_dhcp_dh_049_split_options_are_joined ... ok
test s_dhcp_dh_044_past_end_and_padding ... ok
test s_dhcp_dh_051_overload_misused ... ok
test s_dhcp_dh_048_option_lengths ... ok
test s_dhcp_dh_052_message_types ... ok
test s_dhcp_dh_053_a_foreign_client_identifier ... ok
test s_dhcp_dh_054_the_server_identifier ... ok
test s_dhcp_dh_056_the_lease_time ... ok
test s_dhcp_dh_055_yiaddr_must_be_a_host ... ok
test s_dhcp_dh_058_network_and_broadcast_yiaddr ... ok
test s_dhcp_dh_057_the_mask ... ok
test s_dhcp_dh_060_at_most_three_resolvers ... ok
test s_dhcp_dh_059_the_first_usable_router ... ok
test s_dhcp_dh_063_a_refused_offer_then_another ... ok
test s_dhcp_dh_061_identity_while_requesting ... ok
test s_dhcp_dh_062_offers_nobody_asked_for ... ok
test s_dhcp_dh_038_truncated ... ok

test result: ok. 26 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/props.rs (target/debug/deps/props-ad1dc5ab60e095ea)

running 2 tests
test s_dhcp_dh_074_prop_every_message_is_built_one_way ... ok
test s_dhcp_dh_073_prop_invariants ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s

     Running tests/stack.rs (target/debug/deps/stack-c85f569b53db936f)

running 2 tests
test s_dhcp_dh_007_either_framing_of_the_offer ... ok
test s_dhcp_dh_075_the_acquisition_exception_ends_with_an_address ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/tx.rs (target/debug/deps/tx-76e510ba10e25106)

running 9 tests
test s_dhcp_dh_005_secs_saturates ... ok
test s_dhcp_dh_004_jitter_offsets ... ok
test s_dhcp_dh_002_the_host_name ... ok
test s_dhcp_dh_003_the_discover_schedule ... ok
test s_dhcp_dh_009_four_requests_then_start_over ... ok
test s_dhcp_dh_010_a_slow_offer_still_counts ... ok
test s_dhcp_dh_008_the_request_repeats_the_discovers_secs ... ok
test s_dhcp_dh_006_the_request ... ok
test s_dhcp_dh_001_the_first_discover ... ok

test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_dma-54049e6a6738179b)

running 17 tests
test tests::a_u32_at_size_minus_four_is_allowed ... ok
test tests::a_natural_offset_from_a_natural_base_is_aligned ... ok
test tests::a_refused_register_names_its_numbers ... ok
test tests::an_access_of_no_width_is_refused ... ok
test tests::a_u32_at_size_minus_one_is_refused ... ok
test tests::a_refusal_names_its_numbers ... ok
test tests::an_access_that_straddles_two_registers_is_refused ... ok
test tests::an_empty_region_admits_only_an_empty_access ... ok
test tests::an_offset_inside_the_region_does_not_make_the_access_inside_it ... ok
test tests::an_empty_window_admits_no_register ... ok
test tests::a_zero_length_access_lands_at_the_end_and_no_further ... ok
test tests::an_offset_plus_length_that_wraps_is_refused ... ok
test tests::an_offset_that_wraps_its_own_width_is_refused ... ok
test tests::an_unaligned_volatile_access_is_refused ... ok
test tests::the_base_is_part_of_the_question ... ok
test tests::the_last_whole_register_is_inside_the_window ... ok
test tests::the_whole_region_is_inside_itself ... ok

test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_dns-a0d3e445ce9eaa6c)

running 62 tests
test tests::a_chain_exactly_at_the_bound_is_followed ... ok
test tests::a_late_answer_to_an_earlier_query_still_ends_the_lookup ... ok
test tests::a_lookup_whose_every_server_failed_says_how ... ok
test tests::a_lookup_whose_newest_query_is_not_waited_for_wakes_at_the_next_servers_turn ... ok
test tests::a_lookup_that_then_reached_neither_server_waits_for_an_older_querys_answer ... ok
test tests::a_lookup_whose_last_query_reached_nobody_waits_for_the_answers_still_read ... ok
test tests::a_lookup_with_no_server_does_not_start ... ok
test tests::a_loop_of_aliases_ends_at_the_bound ... ok
test tests::a_real_reply_with_two_addresses_gives_both_in_order ... ok
test tests::a_server_failure_asks_the_next_server_at_once ... ok
test tests::a_server_named_twice_is_one_server_and_is_asked_once_a_wait_whatever_is_reported ... ok
test tests::a_lookup_whose_newest_query_reached_nobody_waits_for_an_older_querys_answer ... ok
test tests::a_server_known_unreached_is_asked_again_a_wait_after_that_and_the_lookup_waits_for_its_turn ... ok
test tests::a_reported_query_the_caller_then_knows_reached_nobody_is_let_go ... ok
test tests::a_server_not_reached_is_not_asked_again_at_once_because_another_failed ... ok
test tests::a_server_failure_before_an_alias_is_not_the_aliases_failure ... ok
test tests::a_server_that_answered_with_a_failure_is_what_a_lookup_that_then_reached_nobody_reports ... ok
test tests::a_truncated_reply_ends_the_lookup_by_name ... ok
test tests::an_older_query_that_reached_nobody_asks_nobody_and_ends_nothing ... ok
test tests::aliases_are_counted_across_the_names_a_lookup_asks ... ok
test tests::an_older_query_that_reached_nobody_does_not_hurry_the_next_server ... ok
test tests::records_of_another_class_or_type_are_passed_over ... ok
test tests::reports_and_another_servers_failures_hurry_no_server_that_has_not_answered_and_end_no_lookup_early ... ok
test tests::rfc1034_3_6_2_a_chain_is_followed_in_any_order ... ok
test tests::rfc1034_5_3_3_a_chain_that_ends_without_an_address_is_asked_again_at_its_end ... ok
test tests::rfc1034_3_6_2_a_real_chain_of_aliases_is_followed_to_its_address ... ok
test tests::rfc1035_2_3_4_a_label_is_63_bytes_and_a_name_255 ... ok
test tests::rfc1035_2_3_4_a_name_built_past_255_bytes_by_pointers_is_refused ... ok
test tests::rfc1035_2_3_4_an_owner_of_255_bytes_is_read_and_one_of_256_is_refused ... ok
test tests::rfc1035_3_3_1_an_alias_record_is_one_name ... ok
test tests::rfc1035_4_1_1_a_query_is_one_header_and_one_question_for_a_in_in ... ok
test tests::rfc1035_4_1_1_a_query_or_another_opcode_is_no_reply ... ok
test tests::rfc1035_3_4_1_an_address_record_is_four_bytes ... ok
test tests::rfc1035_4_1_1_every_rcode_is_named ... ok
test tests::rfc1035_4_1_3_a_record_or_a_count_past_the_end_is_malformed ... ok
test tests::rfc1035_4_1_4_a_pointer_to_a_prior_name_is_read ... ok
test tests::rfc1035_4_1_4_a_pointer_that_does_not_point_back_is_refused ... ok
test tests::rfc1035_4_1_4_the_two_reserved_label_types_are_refused ... ok
test tests::rfc1035_4_2_1_a_query_that_reached_nobody_is_not_waited_for_and_the_next_server_is_asked_at_once ... ok
test tests::every_prefix_of_a_real_reply_is_dropped_or_reads_as_the_whole ... ok
test tests::rfc1035_4_2_1_every_server_is_asked_before_any_again_and_the_lookup_ends_after_its_rounds ... ok
test tests::rfc1035_4_2_1_a_server_not_reached_is_asked_again_in_its_turn_a_wait_later ... ok
test tests::rfc1035_4_2_1_no_server_is_asked_again_at_once_a_lookup_that_reached_none_ends ... ok
test tests::rfc1035_5_1_a_name_off_the_wire_is_written_with_every_odd_byte_escaped ... ok
test tests::rfc1123_2_1_a_name_is_letters_digits_hyphens_and_nothing_else ... ok
test tests::rfc2181_10_1_two_aliases_for_one_name_are_malformed ... ok
test tests::rfc2181_5_4_1_an_address_for_a_name_not_asked_is_not_read ... ok
test tests::rfc2181_9_a_truncated_reply_is_refused_whatever_it_carries ... ok
test tests::rfc2308_2_2_a_name_with_no_address_is_an_empty_answer ... ok
test tests::rfc2308_nxdomain_and_nodata_end_the_lookup_apart ... ok
test tests::rfc4343_names_compare_without_regard_to_case ... ok
test tests::rfc5452_9_1_a_reply_is_read_only_for_its_id_and_its_question ... ok
test tests::rfc5452_9_1_only_the_asked_server_port_and_id_are_read ... ok
test tests::rfc5452_9_2_an_id_is_drawn_for_a_query_that_is_sent_and_for_nothing_else ... ok
test tests::rfc6761_6_4_a_real_invalid_name_does_not_exist ... ok
test tests::rfc8085_5_2_a_report_of_an_older_query_asks_nobody ... ok
test tests::rfc8085_5_2_a_reported_query_is_still_read_and_the_next_server_is_asked_at_once ... ok
test tests::rfc8085_5_2_reports_alone_end_no_lookup_and_ask_no_server_twice_inside_a_wait ... ok
test tests::every_pair_of_bytes_in_the_header_and_question_is_read_soundly ... ok
test tests::random_bytes_are_never_an_answer_to_an_id_they_do_not_carry ... ok
test tests::random_answer_sections_behind_a_valid_question_are_read_soundly ... ok
test tests::every_byte_of_a_real_reply_set_to_every_value_is_read_soundly ... ok

test result: ok. 62 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s

     Running unittests src/lib.rs (target/debug/deps/toyos_elf-1dee33cd8b2d3927)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/crafted.rs (target/debug/deps/crafted-5e6c5e5f64fbcab9)

running 30 tests
test a_file_extent_that_overflows_is_refused ... ok
test a_file_with_no_load_segment_is_refused ... ok
test a_header_naming_a_vaddr_outside_the_image_is_refused_by_name ... ok
test a_header_one_byte_short_is_too_small ... ok
test a_program_header_count_past_the_buffer_is_refused ... ok
test a_program_header_offset_inside_the_file_header_is_refused_by_name ... ok
test a_program_header_size_that_is_not_56_is_refused ... ok
test a_program_header_offset_that_overflows_is_refused ... ok
test a_table_no_segment_holds_whole_is_absent ... ok
test a_segment_extent_that_overflows_is_refused ... ok
test a_section_table_the_loader_cannot_index_is_dropped_not_refused ... ok
test a_tls_template_starting_in_bss_has_no_file_offset ... ok
test an_empty_file_is_too_small ... ok
test a_zero_size_tls_segment_is_present_not_absent ... ok
test an_entry_point_outside_the_image_is_refused ... ok
test an_image_for_the_other_machine_is_refused_and_one_for_this_machine_is_not ... ok
test class_endianness_version_type_and_machine_are_each_refused_by_name ... ok
test filesz_above_memsz_is_refused_for_load_and_for_tls ... ok
test no_program_headers_is_refused ... ok
test only_a_segments_file_bytes_have_a_file_offset ... ok
test only_a_tls_segment_with_bytes_is_occupied ... ok
test segment_flags_survive_the_parse ... ok
test segments_that_share_a_page_are_an_overlap ... ok
test the_load_segment_count_is_bounded_and_the_bound_is_generous ... ok
test the_magic_is_checked ... ok
test the_program_header_table_is_where_its_segment_places_it ... ok
test the_stack_after_an_image_is_aligned_wherever_the_image_ends ... ok
test the_writable_window_spans_every_writable_segment ... ok
test tls_alignment_is_a_power_of_two_within_a_page_or_it_is_refused ... ok
test tls_bss_may_extend_past_the_image ... ok

test result: ok. 30 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/fuzz.rs (target/debug/deps/fuzz-3b69a54ee7aafce0)

running 2 tests
test no_note_segment_panics_the_build_id_read ... ok
test every_derived_address_lies_inside_the_image_or_the_image_is_refused ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.70s

     Running tests/note.rs (target/debug/deps/note-afcd23549fb7d2d4)

running 13 tests
test a_build_id_of_the_wrong_type_is_none ... ok
test a_build_id_under_another_name_is_none ... ok
test a_descriptor_of_0_or_past_32_bytes_is_no_build_id ... ok
test a_header_with_no_readable_table_lists_no_note ... ok
test a_note_running_past_its_segment_names_none ... ok
test an_eight_aligned_segment_pads_to_eight ... ok
test a_lone_build_id_is_read ... ok
test no_build_id_note_names_none ... ok
test an_alignment_no_note_section_has_names_none ... ok
test the_build_id_after_an_unpadded_name_is_found ... ok
test every_pt_note_is_listed_wherever_its_bytes_are ... ok
test the_first_of_two_build_ids_is_the_answer ... ok
test the_constant_is_the_gabis ... ok

test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/real.rs (target/debug/deps/real-405aa2c1d23718ba)

running 2 tests
test a_linked_binary_parses_to_what_readelf_says ... ok
test an_lld_binarys_build_id_is_what_object_and_readelf_read ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/tables.rs (target/debug/deps/tables-c3231c6816106e1a)

running 39 tests
test a_bucket_below_the_symbol_offset_is_the_symbol_offset ... ok
test a_bucket_pointing_past_the_chain_array_yields_no_symbol_count ... ok
test a_chain_index_below_the_symbol_offset_ends_the_lookup ... ok
test a_consistent_table_finds_its_symbol_and_counts_it ... ok
test a_chain_naming_a_symbol_the_table_does_not_hold_resolves_to_nothing ... ok
test a_dynamic_table_with_no_null_terminator_stops_at_the_buffer ... ok
test a_name_offset_past_the_string_table_is_empty ... ok
test a_name_that_is_not_utf8_matches_nothing ... ok
test a_chain_that_never_terminates_yields_no_symbol_count ... ok
test a_hash_header_that_cannot_be_used_is_refused ... ok
test a_read_table_on_a_page_of_the_write_window_is_refused ... ok
test a_read_table_inside_the_write_window_is_refused_by_name ... ok
test a_relocation_form_a_rela_loader_would_not_apply_is_refused ... ok
test a_symbol_index_at_the_edge_of_the_bytes_reads_nothing ... ok
test a_symbol_index_is_bounded_by_the_whole_entries_of_its_table ... ok
test a_symbol_index_past_the_table_is_refused_except_for_relative ... ok
test a_symbol_section_whose_link_names_nothing_is_no_symbol_section ... ok
test a_symbol_table_that_cannot_be_read_names_nothing ... ok
test a_symbol_with_no_size_owns_everything_above_it ... ok
test a_table_needs_both_of_its_tags_and_a_non_zero_size ... ok
test a_tag_is_absent_or_present_never_zero_meaning_absent ... ok
test a_trailing_partial_relocation_is_not_a_relocation ... ok
test a_truncated_section_table_names_the_sections_it_covers ... ok
test an_aarch64_tls_descriptor_is_refused_by_name ... ok
test an_address_resolves_to_the_function_that_contains_it ... ok
test an_alias_pair_resolves_to_the_one_that_carries_a_size ... ok
test an_empty_symbol_table_answers_every_question_with_nothing ... ok
test an_unterminated_name_is_the_rest_of_the_string_table ... ok
test counts_are_per_kind_over_every_table ... ok
test data_symbols_and_zero_valued_ones_name_no_frame ... ok
test dladdr_names_the_symbol_glibc_names ... ok
test each_machine_reads_its_own_relocation_numbers ... ok
test every_written_type_is_validated_and_no_other_is ... ok
test everything_after_dt_null_is_ignored ... ok
test lookups_skip_undefined_symbols_and_the_null_entry ... ok
test one_byte_past_a_sized_symbol_is_not_that_symbol ... ok
test relocation_types_map_to_the_width_the_writers_use ... ok
test the_symbol_count_is_the_hash_tables_or_the_gap ... ok
test validation_refuses_a_write_outside_the_window_by_name ... ok

test result: ok. 39 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/tls.rs (target/debug/deps/tls-d5beb1df92b2f1d9)

running 9 tests
test a_tpoff_no_segment_or_word_holds_is_refused ... ok
test an_alignment_that_is_not_a_power_of_two_has_no_plan ... ok
test the_executables_extent_is_its_size_rounded_to_its_alignment ... ok
test each_machine_has_its_own_variant ... ok
test a_size_no_allocation_can_hold_has_no_plan ... ok
test the_dtv_is_never_overwritten_by_tls_data ... ok
test tpoff_carries_the_addend ... ok
test variant_i_agrees_with_what_lld_linked ... ok
test variant_i_puts_the_module_where_its_linker_put_it ... ok

test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_elide-ec7866da0b8a7d1f)

running 12 tests
test limit::tests::a_quiet_site_is_never_limited ... ok
test limit::tests::a_storm_is_said_to_its_burst_counted_after_and_reported_once ... ok
test tests::a_head_cut_inside_a_character_stops_before_it ... ok
test tests::a_tail_wider_than_the_value_keeps_all_of_it ... ok
test tests::a_value_that_fits_is_untouched ... ok
test tests::both_ends_survive_and_the_count_is_exact ... ok
test tests::one_byte_past_what_is_kept_elides ... ok
test tests::a_tail_cut_inside_a_character_drops_its_remainder ... ok
test tests::no_length_and_no_width_produces_invalid_utf8 ... ok
test limit::tests::racing_sites_count_exactly ... ok
test tests::nothing_renders_wider_than_widest ... ok
test tests::the_chunking_a_value_arrives_in_does_not_change_it ... ok

test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_fat32-9a543f2935caa0c2)

running 18 tests
test dir::tests::a_write_time_keeps_the_even_second ... ok
test name::tests::basis_truncates_and_uppercases ... ok
test name::tests::anything_else_needs_one ... ok

@Japabu

Japabu commented Oct 11, 2026

Copy link
Copy Markdown
Collaborator Author

ci-host, part 3 of 9, cargo run -- --ci host at ed538e7, exit 0, 79 steps green

test name::tests::exact_multiple_of_thirteen_has_no_terminator ... ok
test name::tests::groups_pad_with_terminator_then_filler ... ok
test name::tests::checksum_rotates_and_is_not_constant ... ok
test name::tests::candidates_are_distinct_and_well_formed ... ok
test name::tests::lone_surrogates_decode_to_a_name_rather_than_failing ... ok
test name::tests::rejects_what_fat_cannot_store ... ok
test time::tests::clamps_instead_of_wrapping ... ok
test name::tests::plain_uppercase_names_need_no_long_entry ... ok
test name::tests::long_name_comparison_is_ascii_case_insensitive ... ok
test name::tests::rejects_names_past_the_format_limit ... ok
test name::tests::hash_tails_differ_between_long_names ... ok
test time::tests::seconds_round_down_to_two ... ok
test time::tests::zero_entry_has_a_time ... ok
test time::tests::every_bit_pattern_decodes ... ok
test time::tests::every_representable_day_round_trips ... ok

test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/host_read.rs (target/debug/deps/host_read-054ce0316637f8c4)

running 10 tests
test lowercase_short_names_survive ... ok
test a_four_kib_cluster_volume_reads_the_same ... ok
test missing_paths_are_not_found_rather_than_anything_else ... ok
test lookup_ignores_case ... ok
test every_file_reads_back_byte_for_byte ... ok
test walk_sees_exactly_what_the_host_wrote ... ok
test extents_cover_the_file_and_point_at_its_bytes ... ok
test reads_land_correctly_at_every_offset_and_length ... ok
test the_volume_label_is_not_a_file ... ok
test subdirectories_list_independently ... ok

test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s

     Running tests/host_write.rs (target/debug/deps/host_write-5850e42c39a4048a)

running 21 tests
test creating_an_existing_name_in_another_case_is_refused ... ok
test empty_directories_are_removable_and_full_ones_are_not ... ok
test a_log_file_written_a_line_at_a_time ... ok
test files_crossing_cluster_boundaries_are_intact ... ok
test our_own_reader_agrees_with_the_host_on_our_own_volume ... ok
test colliding_short_names_stay_unique ... ok
test appending_extends_the_chain ... ok
test rename_moves_a_file_between_directories ... ok
test rename_repoints_a_moved_directorys_parent ... ok
test a_chain_that_outran_its_entry_is_reconciled ... ok
test same_entry_is_case_insensitive_identity ... ok
test a_directory_grows_into_further_clusters ... ok
test every_fat_copy_stays_in_step ... ok
test the_host_sees_the_timestamp_we_stamped ... ok
test the_host_accepts_a_volume_we_populated ... ok
test sparse_writes_zero_the_gap ... ok
test truncation_releases_clusters_and_the_host_agrees ... ok
test four_kib_clusters_write_correctly ... ok
test a_chain_no_entry_reaches_is_reconciled ... ok
test deleted_clusters_come_back ... ok
test a_full_volume_refuses_cleanly ... ok

test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.87s

     Running tests/hostile.rs (target/debug/deps/hostile-c6039959a84466df)

running 33 tests
test a_refused_flush_is_io ... ok
test a_cluster_that_links_to_itself_is_refused ... ok
test a_longer_cycle_is_bounded_rather_than_endless ... ok
test a_stale_handle_is_refused ... ok
test a_device_that_fails_mid_read_reports_it ... ok
test a_directory_entry_pointing_outside_the_volume_is_refused ... ok
test a_directory_tree_cycle_terminates ... ok
test a_stale_handle_over_a_reused_empty_slot_is_refused ... ok
test a_long_name_with_a_wrong_checksum_falls_back_to_the_short_one ... ok
test a_bad_signature_is_not_a_volume ... ok
test a_crafted_entry_can_still_be_deleted ... ok
test a_write_through_a_dead_handle_allocates_nothing ... ok
test a_volume_too_small_for_fat32_is_refused ... ok
test a_fat_too_small_for_its_clusters_is_refused ... ok
test a_crafted_zero_size_entry_cannot_write_outside_the_volume ... ok
test impossible_names_are_refused_not_mangled ... ok
test a_chain_link_outside_the_volume_is_refused ... ok
test lone_surrogates_in_a_long_name_produce_a_name ... ok
test a_volume_larger_than_its_device_is_truncated ... ok
test the_caller_limit_refuses_rather_than_truncates ... ok
test the_caller_limit_is_the_named_directorys_and_not_the_volumes ... ok
test removing_a_cyclic_chain_never_leaves_an_entry_naming_free_clusters ... ok
test a_cyclic_directory_chain_terminates ... ok
test the_corpus_is_a_volume_we_can_read ... ok
test writes_past_the_format_limit_are_refused ... ok
test truncating_a_cyclic_chain_does_not_free_the_clusters_it_keeps ... ok
test nonsense_long_name_ordinals_do_not_break_the_scan ... ok
test every_illegal_bpb_field_is_refused ... ok
test an_empty_file_is_not_a_corrupt_directory ... ok
test a_directory_longer_than_the_entry_bound_is_refused ... ok
test random_damage_to_directory_entries_never_panics ... ok
test random_damage_to_the_metadata_never_panics ... ok
test every_boot_sector_byte_can_be_anything ... ok

test result: ok. 33 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.63s

     Running tests/refused_writes.rs (target/debug/deps/refused_writes-ad10e0710e1ba982)

running 20 tests
test a_remove_reports_a_corrupt_chain_under_the_name_it_erased ... ok
test a_stop_that_refuses_every_retry_for_a_while_leaks_nothing ... ok
test a_remove_whose_free_the_device_fails_answers_ok_and_the_next_call_the_failure ... ok
test every_refused_write_of_a_long_name_create_is_undone ... ok
test a_call_that_refused_nothing_keeps_the_free_count ... ok
test every_refused_write_of_a_rename_is_undone ... ok
test every_refused_write_of_a_remove_dir_leaves_nothing_behind ... ok
test an_unlanded_rollback_is_the_answer ... ok
test every_refused_read_of_a_truncation_is_retried_to_the_same_end ... ok
test every_refused_read_of_a_truncation_to_zero_is_retried_to_the_same_end ... ok
test every_refused_write_of_a_truncation_is_carried_through ... ok
test every_refused_write_of_a_directory_growth_is_undone ... ok
test every_refused_write_of_a_truncation_to_zero_is_carried_through ... ok
test every_refused_write_of_a_first_allocation_is_undone ... ok
test the_deepest_repair_reaches_its_bound_and_no_further ... ok
test every_refused_write_of_a_remove_leaves_nothing_behind ... ok
test every_refused_write_of_a_nested_create_dir_is_undone ... ok
test every_refused_write_of_an_append_and_its_sync_converges ... ok
test every_refused_write_of_an_append_is_undone ... ok
test a_stop_at_any_write_leaves_only_the_named_windows ... ok

test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.46s

     Running tests/replace_rename.rs (target/debug/deps/replace_rename-26aeae76b6ebf7eb)

running 2 tests
test source_move_failure_restores_destination_before_any_free ... ok
test a_failed_rollback_names_where_the_destination_went ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_fat32_check-9b00a76f29be5a2b)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/teeth.rs (target/debug/deps/teeth-e08b231553914a95)

running 66 tests
test a_cluster_past_the_formats_ceiling ... ok
test a_cluster_that_is_not_a_power_of_two_sectors ... ok
test a_chain_link_into_the_bad_cluster_mark ... ok
test a_chain_link_that_is_not_a_cluster ... ok
test a_boot_sector_without_its_signature ... ok
test a_chain_that_links_back_into_itself ... ok
test a_dot_entry_in_the_root_directory ... ok
test a_dot_entry_naming_someone_elses_cluster ... ok
test a_directory_entry_naming_no_cluster ... ok
test a_dot_dot_naming_the_root_cluster_instead_of_zero ... ok
test a_fat32_volume_counting_sectors_in_the_sixteen_bit_field ... ok
test a_boot_sector_that_does_not_jump ... ok
test a_directory_entry_carrying_a_size ... ok
test a_fat32_volume_claiming_a_fixed_root_directory ... ok
test a_fat32_volume_sizing_its_fat_in_the_sixteen_bit_field ... ok
test a_fat_copy_left_behind_by_a_write ... ok
test a_long_name_entry_ahead_of_the_dot_entries ... ok
test a_fat_too_small_for_the_clusters_it_must_describe ... ok
test a_fat_zero_that_does_not_carry_the_media_byte ... ok
test a_fat_one_that_is_not_an_end_of_chain_mark ... ok
test a_file_holding_more_clusters_than_its_size_needs ... ok
test a_fat_of_no_sectors ... ok
test a_long_name_entry_naming_a_cluster ... ok
test a_long_name_entry_with_a_type_the_format_reserves ... ok
test a_file_system_version_this_specification_does_not_define ... ok
test a_long_name_run_that_does_not_reach_ordinal_one ... ok
test a_long_name_run_no_short_entry_follows ... ok
test a_long_name_run_whose_checksum_is_not_its_short_names ... ok
test a_media_byte_the_format_does_not_define ... ok
test a_root_cluster_that_is_not_a_cluster ... ok
test a_long_name_run_whose_ordinals_do_not_count_down ... ok
test a_long_name_run_of_more_entries_than_a_long_name_has ... ok
test a_reserved_entry_byte_carrying_something_nothing_defines ... ok
test a_free_count_that_is_not_the_free_count ... ok
test a_next_free_hint_that_is_not_a_cluster ... ok
test a_second_volume_label_in_the_root ... ok
test a_long_name_run_that_does_not_begin_with_the_last_entry_flag ... ok
test a_report_that_stops_enumerating_says_it_stopped ... ok
test a_file_whose_size_needs_more_clusters_than_it_holds ... ok
test a_sector_size_the_format_does_not_define ... ok
test a_tree_deeper_than_the_walk_follows ... ok
test a_volume_that_is_all_metadata ... ok
test a_volume_flagged_as_not_cleanly_unmounted ... ok
test a_volume_of_no_sectors ... ok
test a_volume_with_too_few_clusters_to_be_fat32 ... ok
test a_free_count_the_writer_left_unknown ... ok
test a_volume_shorter_than_its_boot_sector_says ... ok
test an_active_fat_the_volume_does_not_have ... ok
test fewer_bytes_than_a_boot_sector ... ok
test a_volume_flagged_as_having_met_a_disk_error ... ok
test a_subdirectory_that_does_not_begin_with_dot ... ok
test an_entry_naming_a_cluster_outside_the_volume ... ok
test a_volume_label_outside_the_root_directory ... ok
test an_fsinfo_without_its_lead_signature ... ok
test an_fsinfo_sector_outside_the_reserved_region ... ok
test an_fsinfo_without_its_struct_signature ... ok
test no_reserved_sectors_at_all ... ok
test no_fat_at_all ... ok
test an_unfinished_fixture_is_not_clean ... ok
test an_fsinfo_without_its_trail_signature ... ok
test an_orphaned_ring_of_clusters ... ok
test the_lowercase_name_bits_are_not_a_complaint ... ok
test the_fixture_is_clean ... ok
test two_entries_in_one_directory_with_the_same_short_name ... ok
test clusters_allocated_and_reachable_from_nothing ... ok
test two_files_holding_one_cluster ... ok

test result: ok. 66 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

     Running unittests src/lib.rs (target/debug/deps/toyos_gicv3-85668e2fdba4881c)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/gicv3.rs (target/debug/deps/gicv3-a7593114838353de)

running 9 tests
test sgi_to_cpu_zero_is_bit_zero_of_range_zero ... ok
test affinity_drops_mpidr_flags_between_aff2_and_aff3 ... ok
test sgi_names_aff0_by_range_and_bit ... ok
test walk_steps_over_virtual_lpi_frames ... ok
test sgi_to_every_other_cpu_is_irm_and_the_intid_alone ... ok
test unpacking_puts_each_field_back_and_no_flag ... ok
test walk_steps_two_frames_without_them ... ok
test walk_stops_at_the_last ... ok
test walk_stops_at_the_region_end ... ok

test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_gpt-1688af75d0970822)

running 6 tests
test guid::tests::zero_is_zero ... ok
test crc32::tests::not_castagnoli ... ok
test guid::tests::esp_type_guid_round_trips ... ok
test crc32::tests::catalogue_check_value ... ok
test crc32::tests::streaming_matches_one_shot ... ok
test tests::the_block_sizes_parsed_are_the_declared_range ... ok

test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/mutate.rs (target/debug/deps/mutate-5f160bce851bb0fc)

running 1 test
test a_resealed_table_with_any_value_bent_never_panics_and_hands_back_only_partitions ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.97s

     Running tests/oracle.rs (target/debug/deps/oracle-21195d4b2f2024ba)

running 3 tests
test both_readers_spell_the_types_alike ... ok
test on_tables_uefi_lays_out_both_readers_agree_entry_for_entry ... ok
test on_bent_tables_every_disagreement_is_a_named_difference ... ok

test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.21s

     Running tests/parse.rs (target/debug/deps/parse-7e7c8abeb42665bb)

running 43 tests
test a_backwards_partition_is_refused ... ok
test a_device_with_no_room_for_a_table ... ok
test a_list_leaves_no_slot_it_did_not_fill ... ok
test a_damaged_primary_falls_back_to_a_good_backup ... ok
test a_backup_retry_leaves_no_slot_of_the_primary ... ok
test a_list_is_every_used_entry_in_order ... ok
test a_four_kibibyte_block_device_parses ... ok
test a_tiny_entry_array_cannot_buy_the_backup_header ... ok
test a_partition_outside_the_disk_is_refused ... ok
test a_partition_over_the_table_is_refused ... ok
test a_read_that_does_not_happen_is_an_error ... ok
test a_type_scan_over_a_damaged_array_is_refused ... ok
test a_type_scan_says_how_many_it_could_not_hand_back ... ok
test a_billion_entries_is_refused_not_read ... ok
test a_type_scan_lists_every_entry_of_that_type ... ok
test an_array_lba_near_the_top_of_the_range_does_not_wrap ... ok
test absent_guid_is_not_found_and_says_how_many_there_were ... ok
test a_zero_guid_matches_nothing ... ok
test a_valid_primary_that_lacks_the_guid_is_not_retried_against_the_backup ... ok
test an_honest_table_on_a_floored_device_view_parses ... ok
test both_copies_damaged_is_refused_by_name ... ok
test header_must_claim_lba_one ... ok
test block_sizes_outside_the_supported_range ... ok
test header_reserved_word ... ok
test finds_the_partition_by_unique_guid ... ok
test header_revision ... ok
test a_usable_range_reaching_the_backup_gpt_is_refused ... ok
test header_signature ... ok
test an_overlapping_neighbour_is_refused ... ok
test hybrid_mbr_is_refused ... ok
test header_size_bounds ... ok
test one_flipped_bit_in_the_header ... ok
test no_protective_mbr ... ok
test the_array_ends_where_the_header_says ... ok
test one_flipped_bit_in_the_entry_array ... ok
test entry_size_must_be_a_power_of_two_multiple_of_128_that_fits_a_block ... ok
test each_guid_finds_its_own_entry ... ok
test zero_entries_is_refused ... ok
test the_array_may_not_sit_on_the_header_or_past_the_usable_range ... ok
test usable_range_must_be_a_range_inside_the_device ... ok
test two_entries_claiming_the_target_guid_are_refused ... ok
test the_array_ceiling_is_where_it_says_it_is ... ok
test no_byte_of_the_table_can_panic_the_parser ... ok

test result: ok. 43 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.01s

     Running unittests src/lib.rs (target/debug/deps/toyos_hda-d8e32426ac3fcbc4)

running 88 tests
test caps::tests::a_widget_type_keeps_the_nibble_it_was_decoded_from ... ok
test caps::tests::an_unsoldered_pin_still_calls_itself_a_speaker ... ok
test caps::tests::both_laptop_output_pins_can_power_an_external_amplifier ... ok
test caps::tests::eight_channel_display_audio_decodes_its_channel_count ... ok
test caps::tests::the_converter_amp_has_gain_and_cannot_mute ... ok
test caps::tests::the_internal_speaker_is_fixed_and_the_jack_is_a_jack ... ok
test caps::tests::qemu_s_converter_offers_it_too ... ok
test caps::tests::the_laptop_s_speaker_dac_decodes_as_a_stereo_converter ... ok
test caps::tests::the_laptop_s_speaker_pin_has_a_connection_list_and_an_output_amp ... ok
test caps::tests::the_laptop_s_vendor_widget_is_the_one_with_processing_coefficients ... ok
test caps::tests::the_pin_amp_can_mute_and_has_no_gain ... ok
test caps::tests::the_laptop_s_converter_offers_what_this_pipeline_plays ... ok
test config::tests::a_hop_shared_by_two_pins_is_powered_once ... ok
test config::tests::qemus_path_writes_its_amplifier_on_the_converter_and_none_on_the_pin ... ok
test graph::tests::a_function_type_keeps_the_byte_it_was_decoded_from ... ok
test graph::tests::a_list_shorter_than_it_declared_is_refused ... ok
test graph::tests::a_long_form_entry_carries_sixteen_bits ... ok
test graph::tests::a_long_form_node_past_the_node_space_is_refused ... ok
test graph::tests::a_range_entry_expands_from_the_entry_before_it ... ok
test graph::tests::a_range_longer_than_the_bound_is_refused_rather_than_truncated ... ok
test graph::tests::a_range_that_runs_backwards_is_not_a_range ... ok
test graph::tests::a_range_with_nothing_before_it_is_refused ... ok
test graph::tests::a_six_entry_mixer_list_spans_two_responses ... ok
test graph::tests::the_laptop_s_headphone_pin_names_two_converters ... ok
test config::tests::the_converter_learns_the_format_and_the_tag_last ... ok
test graph::tests::the_laptop_s_speaker_pin_names_one ... ok
test path::tests::a_connection_naming_a_node_outside_the_group_is_refused_by_name ... ok
test config::tests::the_jack_is_told_to_drive_headphones_and_the_speaker_is_not ... ok
test path::tests::a_cycle_is_a_refusal_and_not_a_hang ... ok
test path::tests::a_selector_on_the_way_is_told_which_input_to_take ... ok
test path::tests::a_speaker_outranks_a_line_out_whatever_order_the_nodes_are_in ... ok
test path::tests::a_speaker_pin_with_no_converter_behind_it_is_refused ... ok
test path::tests::an_unwired_speaker_pin_does_not_win_by_coming_first ... ok
test path::tests::qemu_has_no_speaker_and_binds_its_line_out ... ok
test path::tests::display_audio_alone_is_a_refusal_naming_it ... ok
test path::tests::only_one_of_the_laptop_s_five_speaker_labelled_pins_is_a_candidate ... ok
test path::tests::the_display_codec_does_not_win_when_it_comes_first ... ok
test path::tests::the_laptop_picks_its_internal_speaker_and_the_jack_that_shares_a_converter ... ok
test config::tests::the_two_halves_of_the_laptop_s_volume_control_are_written_where_they_exist ... ok
test probe::tests::a_group_that_is_not_audio_is_kept_and_not_walked ... ok
test probe::tests::a_subordinate_range_running_off_the_node_space_is_refused_by_name ... ok
test probe::tests::a_widget_count_past_the_bound_costs_the_widgets_past_it_and_nothing_else ... ok
test probe::tests::walking_qemus_two_codecs_binds_the_line_out ... ok
test stream::tests::a_buffer_that_would_wrap_the_address_space_is_refused ... ok
test stream::tests::a_built_format_decodes_back_to_the_rate_it_was_asked_for ... ok
test stream::tests::a_divided_rate_uses_the_divisor_field ... ok
test path::tests::the_pin_amp_the_laptop_offers_is_the_one_that_can_mute ... ok
test stream::tests::a_driver_that_slept_a_whole_lap_is_told_the_mask_cannot_place_the_engine ... ok
test stream::tests::a_last_index_outside_the_ring_is_refused ... ok
test stream::tests::a_mask_names_the_period_the_engine_returns_to_first ... ok
test stream::tests::a_mask_that_is_not_one_run_is_refused_rather_than_placed ... ok
test stream::tests::a_multiplied_rate_uses_the_multiplier_field ... ok
test stream::tests::a_period_count_past_the_mask_is_refused_rather_than_masked_short ... ok
test stream::tests::a_position_inside_the_period_still_being_played_marks_nothing_new ... ok
test probe::tests::a_codec_statests_named_and_the_link_does_not_carry_is_named_not_skipped ... ok
test stream::tests::a_position_past_the_buffer_is_not_an_index ... ok
test stream::tests::a_rate_the_field_cannot_express_is_refused_and_not_rounded ... ok
test stream::tests::a_ring_with_nothing_to_wrap_to_is_refused ... ok
test stream::tests::a_run_that_wraps_does_not_start_at_its_lowest_bit ... ok
test stream::tests::an_unrepresentable_width_or_channel_count_is_refused ... ok
test stream::tests::completion_marks_every_period_between_two_positions ... ok
test stream::tests::completion_wraps_the_ring ... ok
test stream::tests::every_rate_linux_tabulates_encodes_to_the_number_linux_tabulates ... ok
test config::tests::nothing_in_the_sequence_ever_sets_the_mute_bit ... ok
test stream::tests::forty_eight_kilohertz_is_the_other_base ... ok
test stream::tests::the_pipeline_s_own_shape_builds_a_ring ... ok
test config::tests::the_laptop_s_speaker_is_told_to_power_its_external_amplifier ... ok
test stream::tests::the_rate_this_pipeline_plays_encodes_as_the_forty_four_one_base ... ok
test stream::tests::widths_and_channel_counts_land_in_their_own_fields ... ok
test verb::tests::a_range_running_past_the_node_space_is_refused ... ok
test config::tests::every_widget_on_the_path_that_has_a_power_state_is_told_d0 ... ok
test verb::tests::all_ones_is_not_a_response ... ok
test stream::tests::every_position_completed_can_report_reads_back_as_the_run_it_walked ... ok
test verb::tests::an_address_and_a_node_print_the_way_a_dump_names_them ... ok
test config::tests::a_converter_that_does_not_offer_the_rate_is_a_refusal_and_not_a_substitution ... ok
test config::tests::both_machines_offer_the_one_rate_this_driver_asks_for ... ok
test verb::tests::long_verb_puts_its_payload_under_a_four_bit_verb ... ok
test verb::tests::present_reports_every_codec_and_not_the_first ... ok
test verb::tests::short_verb_is_the_probe_s_encoding ... ok
test verb::tests::statests_bit_15_is_not_an_address ... ok
test verb::tests::the_laptop_s_widget_range_decodes_to_its_own_nodes ... ok
test fixture::tests::every_pin_in_the_fixture_has_a_configuration_default ... ok
test fixture::tests::the_speaker_pin_round_trips_through_the_log_format ... ok
test verb::tests::zero_subordinates_is_no_range_at_all ... ok
test fixture::tests::the_laptop_fixture_carries_both_codecs_and_every_widget ... ok
test fixture::tests::the_converters_keep_their_rates ... ok
test probe::tests::walking_the_laptop_reaches_the_graph_its_own_log_describes ... ok
test probe::tests::the_walked_laptop_binds_the_same_speaker_the_parsed_one_does ... ok

test result: ok. 88 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

     Running unittests src/lib.rs (target/debug/deps/toyos_i219-34ecf7da27a76327)

running 89 tests
test tests::a_flag_the_part_already_let_go_is_not_written_again ... ok
test tests::a_frame_goes_out_whole ... ok
test tests::a_grant_that_never_comes_is_refused_by_name_and_the_request_withdrawn ... ok
test tests::a_claim_that_stops_answering_is_handed_up_and_not_read_as_quiet ... ok
test tests::a_flag_that_never_comes_does_not_stop_the_reset ... ok
test tests::a_frame_arrives_whole ... ok
test tests::a_frame_longer_than_a_transmit_buffer_is_refused_and_not_truncated ... ok
test tests::a_buffer_given_back_out_of_turn_does_not_carry_the_tail_over_an_older_one ... ok
test tests::a_link_drop_does_not_lose_the_ring ... ok
test tests::a_flag_another_agent_holds_is_neither_asked_over_nor_cleared ... ok
test tests::a_lying_length_is_refused_and_the_frames_behind_it_still_arrive ... ok
test tests::a_part_is_told_which_vector_each_cause_uses ... ok
test tests::a_part_that_does_not_take_ivar_is_refused ... ok
test tests::a_part_that_does_not_take_rctl_is_refused ... ok
test tests::a_part_with_no_station_address_is_refused ... ok
test tests::a_partner_on_an_unconfigured_phy_raises_no_link ... ok
test tests::a_phy_in_reach_is_asked_once_and_left_powered ... ok
test tests::a_phy_left_in_loopback_or_configured_by_hand_raises_no_link ... ok
test tests::a_grant_that_comes_late_inside_the_bound_is_taken ... ok
test tests::a_full_transmit_ring_answers_room_0 ... ok
test tests::a_link_that_is_down_has_no_room ... ok
test tests::a_multicast_group_sets_the_one_table_bit_its_address_hashes_to ... ok
test tests::a_phy_that_is_not_the_one_this_map_describes_is_refused_by_its_identifier ... ok
test tests::a_part_that_takes_none_of_the_datasheets_latitudes_is_brought_up_the_same_way ... ok
test tests::a_refused_descriptor_does_not_carry_the_tail_over_a_frame_still_held ... ok
test tests::a_register_nothing_decodes_is_refused_and_never_written ... ok
test tests::a_ladder_stopped_on_smbus_leaves_the_mac_off_it ... ok
test tests::a_phy_left_out_of_reach_is_climbed_to_before_the_reset ... ok
test tests::a_part_that_grants_over_the_engines_standing_bit_is_brought_up ... ok
test tests::a_phy_left_in_low_power_link_up_links_at_a_gigabit ... ok
test tests::a_platform_that_asks_for_low_power_link_up_in_d0a_gets_it ... ok
test tests::a_spurious_interrupt_costs_a_pass_and_nothing_else ... ok
test tests::a_reset_that_never_finishes_is_refused ... ok
test tests::a_window_or_grant_too_small_is_refused ... ok
test tests::a_master_that_never_goes_quiet_does_not_stop_the_bring_up ... ok
test tests::a_window_that_reads_ones_is_refused ... ok
test tests::a_seeded_workload_loses_nothing_and_invents_nothing ... ok
test tests::a_phy_reset_restores_the_defaults_and_not_the_state_the_claim_inherited ... ok
test tests::a_release_over_a_window_of_ones_writes_nothing ... ok
test tests::bring_up_programs_what_the_initialization_sections_name ... ok
test tests::causes_are_acknowledged_by_writing_them_back ... ok
test tests::a_mac_that_keeps_its_phy_down_is_a_phy_no_cycle_reaches ... ok
test tests::every_reading_of_the_other_two_ownership_bits_names_who_stands_beside_the_flag ... ok
test tests::a_ring_never_written_back_is_refused ... ok
test tests::a_written_back_descriptor_returns_room ... ok
test tests::frames_come_up_in_order_under_batched_and_reordered_write_back ... ok
test tests::null_descriptor_padding_is_not_a_frame ... ok
test tests::ones_inside_the_grant_wait_do_not_leave_the_request_standing ... ok
test tests::ones_on_the_way_out_do_not_leave_the_flag_standing ... ok
test tests::a_phy_no_rung_reaches_is_refused_after_the_reset ... ok
test tests::ones_through_the_whole_release_bound_write_nothing ... ok
test tests::quiesce_stops_what_a_previous_holder_left_running ... ok
test tests::refusals::a_descriptor_with_nothing_in_it_is_refused ... ok
test tests::refusals::a_descriptor_without_end_of_packet_is_refused ... ok
test tests::refusals::a_frame_the_hardware_reported_an_error_on_is_refused ... ok
test tests::refusals::more_bytes_than_the_buffer_holds_is_refused ... ok
test tests::the_82574s_own_phy_register_map_is_refused_by_name ... ok
test tests::the_driver_and_the_macs_statistics_count_the_same_frames ... ok
test tests::a_request_registered_while_the_engine_holds_it_is_still_granted ... ok
test tests::the_head_register_does_run_ahead_of_memory ... ok
test tests::the_link_going_away_and_coming_back_is_seen ... ok
test tests::the_oem_bits_carry_the_platforms_d0a_policy_and_nothing_else ... ok
test tests::a_phy_reset_the_firmware_blocks_is_never_issued ... ok
test tests::an_mdi_read_the_part_could_not_complete_is_refused_by_name ... ok
test tests::every_ask_carries_the_parts_own_word_and_keeps_the_pace ... ok
test tests::a_ring_a_link_change_left_full_stays_the_parts ... ok
test tests::host_wake_up_left_armed_is_cleared_behind_the_reset ... ok
test tests::an_interconnect_in_transition_is_waited_out_and_never_written_over ... ok
test tests::the_receiver_reporting_on_itself_is_counted ... ok
test tests::the_refusal_names_each_agent_standing_beside_the_flag ... ok
test tests::the_refusal_names_the_last_reading_before_the_deadline ... ok
test tests::the_ownership_claim_leaves_the_rest_of_the_register_standing ... ok
test tests::the_oem_bits_restart_follows_the_control_restart_where_a_phy_reset_is_allowed ... ok
test tests::transmit_descriptors_are_reclaimed_under_batched_write_back ... ok
test tests::what_one_power_reading_decides ... ok
test tests::what_the_wake_and_the_full_reset_write ... ok
test tests::the_pchs_mac_gets_its_three_registers_and_the_82574_none ... ok
test tests::the_phy_is_found_at_whichever_address_answers_its_identifier ... ok
test tests::an_mdi_transaction_that_never_reports_ready_is_refused_by_name ... ok
test tests::the_phy_is_brought_up_and_the_mac_sees_the_link_it_raises ... ok
test tests::the_power_step_is_what_lets_an_mdi_cycle_run_at_all ... ok
test tests::the_transmit_cause_is_armed_only_when_asked ... ok
test tests::the_word_to_the_firmware_goes_with_the_driver ... ok
test tests::no_two_accesses_to_the_arbitration_are_nearer_than_the_pace ... ok
test tests::a_descriptors_fields_are_read_only_after_an_observe_that_follows_the_load_that_found_dd ... ok
test tests::the_advertised_abilities_are_what_the_link_resolves_to ... ok
test tests::a_tail_register_is_written_only_after_a_publish_that_follows_the_last_descriptor_store ... ok
test tests::the_interface_is_given_back_on_every_path_that_took_it ... ok
test tests::a_burst_past_the_ring_leaves_whole_on_the_room_it_is_told ... ok

test result: ok. 89 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.21s

     Running unittests src/lib.rs (target/debug/deps/toyos_inspect-f58f964bd2fd297e)

running 25 tests
test dev::tests::the_header_is_read_at_the_kernels_offsets ... ok
test invocation::tests::a_command_line_is_one_optional_selector_and_one_optional_flag ... ok
test dev::tests::every_record_renders_to_paths_the_grammar_accepts ... ok
test kernel::tests::a_cpu_two_records_name_is_refused_by_its_path ... ok
test dev::tests::a_path_two_records_render_to_is_refused_by_name ... ok
test kernel::tests::an_absent_counter_has_no_path ... ok
test kernel::tests::a_stale_cpu_says_so_and_an_unread_one_says_only_that ... ok
test path::tests::a_path_is_refused_by_name ... ok
test render::tests::a_line_is_path_equals_value ... ok
test kernel::tests::every_counter_a_record_carries_is_a_path_the_grammar_accepts ... ok
test dev::tests::a_star_never_lines_up_the_parts_of_an_address ... ok
test render::tests::json_is_one_flat_object_with_typed_values ... ok
test selector::tests::a_malformed_selector_is_refused_by_name ... ok
test selector::tests::a_selector_reaches_only_the_owners_it_can_name ... ok
test tests::every_owner_root_is_one_valid_segment_and_distinct ... ok
test selector::tests::a_pathological_selector_is_answered_in_polynomial_time ... ok
test selector::tests::a_star_is_one_or_more_whole_segments ... ok
test wire::tests::a_malformed_answer_is_refused_by_name ... ok
test wire::tests::a_snapshot_round_trips ... ok
test wire::tests::an_answer_for_another_owner_is_refused ... ok
test wire::tests::every_truncation_is_refused ... ok
test wire::tests::an_owner_that_answers_past_one_frame_is_told_so ... ok
test wire::tests::an_owner_cannot_answer_one_path_twice - should panic ... ok
test wire::tests::an_owner_cannot_put_a_second_line_in_a_value - should panic ... ok
test wire::tests::an_owner_cannot_put_a_path_outside_the_grammar - should panic ... ok

test result: ok. 25 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_its-19d0b13c69263954)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/encodings.rs (target/debug/deps/encodings-641e75abe325d634)

running 21 tests
test a_devices_events_are_at_least_two_and_no_more_than_the_its_has_bits_for ... ok
test a_collection_is_one_the_its_holds_or_its_table_does ... ok
test a_redistributor_is_named_as_the_its_asks_by_number_or_by_address ... ok
test a_redistributor_that_reads_other_bits_back_has_no_lpis_of_the_layout ... ok
test a_table_is_given_flat_valid_and_counted_in_its_own_pages ... ok
test a_table_is_sized_in_its_own_pages_for_the_entries_it_must_hold ... ok
test a_table_register_says_what_it_backs_and_how_it_is_read ... ok
test an_event_is_one_its_devices_table_holds ... ok
test an_its_without_physical_lpis_is_refused ... ok
test an_lpi_is_an_intid_from_8192_that_the_tables_and_the_distributor_both_count ... ok
test an_lpi_layout_is_inside_the_distributors_intids ... ok
test an_offset_register_names_a_command_by_its_offset_field_alone ... ok
test each_command_holds_its_number_and_parameters_where_its_figure_has_them ... ok
test an_lpis_configuration_is_its_priority_a_set_bit_and_its_enable ... ok
test inv_and_discard_hold_a_device_and_an_event_and_nothing_else ... ok
test the_configuration_table_starts_at_intid_8192_and_the_pending_table_at_zero ... ok
test the_command_queue_is_counted_in_4_kib_pages_and_holds_one_command_fewer ... ok
test the_its_registers_sit_where_tables_12_33_and_12_34_have_them ... ok
test the_redistributors_base_registers_name_the_two_tables ... ok
test the_redistributors_lpi_registers_sit_where_table_12_27_has_them ... ok
test the_type_register_says_how_wide_an_its_is ... ok

test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_keymap-d6d5366800ae26a6)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/compose.rs (target/debug/deps/compose-85f070a533090403)

running 17 tests
test dead_keys_emit_nothing_when_pressed ... ok
test altgr_layer ... ok
test composition ... ok
test dead_then_other_dead ... ok
test dead_then_space_and_doubled ... ok
test german_is_unchanged_by_the_dead_key_work ... ok
test fallthrough ... ok
test iso_key ... ok
test dedicated_umlauts ... ok
test modifiers_do_not_break_composition ... ok
test only_swiss_german_has_dead_keys ... ok
test qwertz ... ok
test reset_drops_pending ... ok
test swiss_german_mac_is_untouched ... ok
test unknown_layout_is_named_as_unknown ... ok
test us_is_the_default_and_still_types_ascii ... ok
test worst_case_fallthrough_fits_max_emit ... ok

test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/detect.rs (target/debug/deps/detect-0e8242c4002bb92e)

running 9 tests
test candidates_narrow ... ok
test inconsistent_first_press_is_unrecognized ... ok
test every_layout_is_reachable ... ok
test inconsistent_second_press_is_unrecognized ... ok
test legends_are_renderable ... ok
test the_qwertz_three_take_two ... ok
test us_takes_one_press ... ok
test question_table_is_well_formed ... ok
test never_confident_without_evidence ... ok

test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/tables.rs (target/debug/deps/tables-be2af0c72a3f1e53)

running 1 test
test golden ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/translate.rs (target/debug/deps/translate-fefbf29b6fa572e2)

running 10 tests
test a_control_code_is_the_key_position_not_the_letter ... ok
test an_escape_sequence_does_not_depend_on_the_layout ... ok
test an_undefined_key_does_not_consume_a_pending_diacritic ... ok
test an_unknown_name_leaves_the_layout_alone ... ok
test changing_layout_drops_a_pending_diacritic ... ok
test the_default_layout_is_us ... ok
test arrows_and_page_keys_send_escape_sequences ... ok
test the_swiss_german_gates_own_sequence ... ok
test ctrl_makes_control_codes_of_the_letter_row ... ok
test two_translators_do_not_share_a_pending_diacritic ... ok

test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_libc_copies-ee3949aad8583456)

running 67 tests
test alarm_requests::a_due_alarm_ends_the_process_unless_sigalrm_is_ignored ... ok
test alarm_requests::an_alarm_is_due_its_seconds_after_it_is_armed_and_zero_arms_none ... ok
test alarm_requests::the_seconds_left_round_up_and_end_at_zero ... ok
test alarm_requests::sigalrm_is_the_number_signal_h_gives_it ... ok
test descriptor_requests::fcntl_reads_an_int_argument_from_the_lower_half_of_its_register ... ok
test descriptor_requests::each_descriptor_keeps_its_own_close_on_exec_mark ... ok
test dladdr_symbols::an_image_holds_its_load_segment_and_starts_at_its_page ... ok
test dladdr_symbols::either_count_reaches_the_symbol_at_its_address ... ok
test exact_hex::tests::the_formats_corners_and_ties_round_to_their_bits ... ok
test errno_codes::every_code_libc_answers_with_is_errno_h_s ... ok
test descriptor_requests::f_dupfd_meets_its_floor_holding_one_duplicate_at_most ... ok
test fparts_differential::logb_is_the_host_libraries_and_a_zero_its_pole ... ok
test fparts_differential::lround_is_the_host_libraries_and_out_of_range_its_domain_error ... ok
test fparts_differential::round_is_the_host_libraries ... ok
test internet_addresses::a_buffer_too_short_for_the_text_is_refused_as_the_host_refuses_it ... ok
test fparts_differential::modf_is_the_host_libraries ... ok
test internet_addresses::a_number_past_32_bits_or_without_digits_is_no_address ... ok
test internet_addresses::a_number_with_a_zero_before_another_digit_is_no_dotted_quad ... ok
test internet_addresses::a_sockaddr_holds_its_port_and_address_in_network_order ... ok
test internet_addresses::another_family_is_refused_as_the_host_refuses_it ... ok
test internet_addresses::an_address_is_truncated_to_the_callers_buffer_as_the_host_truncates_it ... ok
test link_requests::readlink_refuses_an_empty_buffer_and_one_no_ssize_t_counts ... ok
test listing_reader::a_name_fits_d_name_with_its_nul_or_is_refused ... ok
test memory_refusals::a_length_names_the_pages_it_reaches_into ... ok
test listing_reader::an_answer_is_asked_again_until_it_fits ... ok
test memory_refusals::madvise_takes_linuxs_hints_and_refuses_its_discard ... ok
test memory_refusals::mmap_refuses_what_the_kernel_cannot_map_and_nothing_else ... ok
test memory_refusals::posix_madvise_takes_its_five_and_only_them ... ok
test path_resolution::a_kernel_refusal_is_its_errno ... ok
test path_resolution::a_file_passed_through_as_a_directory_is_enotdir ... ok
test internet_addresses::an_address_is_written_as_the_host_writes_it ... ok
test path_resolution::a_chain_of_max_links_is_followed_and_one_more_is_eloop ... ok
test path_resolution::a_loop_of_links_is_eloop ... ok
test path_resolution::a_name_that_is_not_there_is_enoent ... ok
test path_resolution::a_link_before_the_last_name_is_not_followed ... ok
test path_resolution::a_relative_path_is_read_against_the_working_directory ... ok
test path_resolution::dot_dot_is_read_off_the_text_before_any_name_is_looked_up ... ok
test path_resolution::path_max_is_limits_h_s ... ok
test path_resolution::the_last_names_links_are_followed_to_the_file ... ok
test poll_requests::a_descriptor_named_twice_is_watched_once_for_both_interests ... ok
test poll_requests::each_descriptor_named_once_has_its_own_watch ... ok
test signal_masks::each_how_changes_the_mask_as_posix_says ... ok
test stream_ends::a_read_of_zero_is_the_peers_fin_only_while_the_send_pipe_is_read ... ok
test stream_ends::a_write_the_send_pipe_refuses_for_its_reader_is_a_reset ... ok
test signal_masks::the_full_set_holds_every_signal ... ok
test path_resolution::a_link_target_that_fills_the_buffer_is_enametoolong ... ok
test signal_masks::sigaddset_adds_its_signal_alone ... ok
test path_resolution::a_relative_link_is_read_against_its_mount_not_its_directory ... ok
test path_resolution::a_path_or_an_answer_past_path_max_is_enametoolong ... ok
test tests::the_square_roots_are_the_correctly_rounded_ones ... ok
test strtonum_differential::the_grammar_s_corners_read_as_judged ... ok
test socket_options::an_options_value_crosses_as_the_hosts_does ... ok
test text_differential::strnlen_is_the_host_libraries ... ok
test text_differential::every_signal_signal_h_numbers_has_glibcs_text ... ok
test utf8_differential::a_refusal_starts_the_next_character_afresh ... ok
test tests::a_disjoint_copy_agrees_either_way ... ok
test tests::every_fill_agrees_with_fill ... ok
test prototypes::every_prototype_is_a_definition_and_every_definition_is_declared ... ok
test long_double::strtold_widens_as_compiler_builtins_does ... ok
test strtonum_differential::random_integers_read_as_the_host_s ... ok
test tests::every_copy_agrees_with_copy_within ... ok
test strtonum_differential::random_decimal_numbers_round_as_the_host_s ... ok
test utf8_differential::every_sequence_to_four_bytes_agrees_with_from_utf8 ... ok
test exact_hex::tests::it_rounds_as_the_machine_does ... ok
test internet_addresses::a_dotted_quad_reads_as_the_host_reads_it ... ok
test internet_addresses::numbers_and_dots_read_as_the_host_reads_them ... ok
test strtonum_differential::random_hexadecimal_numbers_round_as_ieee_754_rounds_them ... ok

test result: ok. 67 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.30s

     Running unittests src/lib.rs (target/debug/deps/toyos_logstream-eba0d135b9885853)

running 19 tests
test tests::a_control_byte_is_written_and_never_passed ... ok
test tests::a_continuation_wears_its_kernel_records_severity_across_a_programs_line ... ok
test tests::a_kernel_record_and_its_continuation_are_no_programs ... ok
test tests::a_line_past_the_bound_is_let_go_in_pieces_and_nothing_is_lost ... ok
test tests::a_program_line_reads_back_as_it_was_written ... ok
test tests::a_records_time_is_read_inside_its_bracket_and_nowhere_else ... ok
test tests::a_reader_is_never_left_inside_a_line_even_by_an_eviction ... ok
test tests::a_registration_round_trips_and_a_malformed_one_is_refused ... ok
test tests::a_tag_is_one_word_of_the_names_charset_and_no_other_sayers ... ok
test tests::every_sayers_head_reads_back_and_nothing_else_does ... ok
test tests::a_screen_shows_the_consoles_line_from_either_form ... ok
test tests::a_reader_at_any_offset_gets_the_bytes_after_it_in_order ... ok
test tests::a_program_lines_time_is_read_inside_its_head_and_nowhere_else ... ok
test tests::lines_are_whole_however_the_writes_split_them ... ok
test tests::a_head_names_severity_thread_and_process_and_reads_back ... ok
test tests::no_text_makes_a_line_another_writers ... ok
test tests::the_colour_is_the_heads_and_the_text_never_acts ... ok
test tests::what_is_let_go_is_whole_lines_and_is_counted ... ok
test tests::the_kernels_first_record_is_found_after_whatever_came_before ... ok

test result: ok. 19 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_manifest-59b28a8000e6c464)

running 41 tests
test consent::tests::only_always_and_deny_are_kept ... ok
test consent::tests::an_ask_and_a_reply_read_back_as_written_and_nothing_else_reads ... ok
test consent::tests::the_question_says_what_the_package_may_do_in_plain_words ... ok
test consent::tests::an_answer_is_judged_as_a_grant_the_image_could_give ... ok
test grants::tests::a_launch_gets_the_answer_for_its_exact_binary_and_is_asked_only_at_the_screen ... ok
test grants::tests::a_folder_outside_the_home_or_of_the_apps_is_refused_by_name ... ok
test grants::tests::a_launch_starts_in_the_callers_directory_inside_the_folder_or_at_its_root ... ok
test grants::tests::a_request_reads_back_as_written_and_nothing_else_reads ... ok
test consent::tests::a_hang_up_withdraws_the_launch_before_any_answer ... ok
test launch::tests::an_authority_reads_back_as_written ... ok
test grants::tests::a_store_render_cannot_have_written_is_refused ... ok
test grants::tests::a_revoke_takes_one_grant_and_says_whether_it_did ... ok
test launch::tests::nothing_listed_is_nothing_started_and_apps_names_no_row ... ok
test launch::tests::a_caller_starts_what_its_row_lists_and_swap_and_update_only_in_a_login_session ... ok
test launch::tests::what_encode_cannot_have_written_is_refused ... ok
test launch::tests::a_sessions_launches_spend_its_one_share ... ok
test package::tests::a_field_that_is_not_one_is_refused_by_name ... ok
test package::tests::a_launch_path_names_one_package_or_none ... ok
test package::tests::a_manifest_cannot_name_a_binary_outside_its_own_directory ... ok
test package::tests::a_path_the_normalizer_would_change_is_not_canonical_and_classifies_as_nothing ... ok
test package::tests::a_listing_shows_only_what_the_supervisor_would_start_and_never_more_than_the_bound ... ok
test package::tests::what_a_shell_resolves_is_what_the_launcher_accepts ... ok
test package::tests::what_the_installer_writes_is_what_the_supervisor_reads ... ok
test grants::tests::the_store_reads_back_as_written_at_every_bound ... ok
test tests::a_device_class_name_is_the_abi_s ... ok
test tests::a_package_granted_a_folder_sees_it_beside_its_own ... ok
test tests::a_name_that_would_not_survive_the_round_trip_is_refused ... ok
test tests::a_package_row_is_connectors_and_nothing_else ... ok
test tests::a_package_named_after_a_declared_row_is_refused ... ok
test tests::a_package_s_home_is_its_own_folder ... ok
test tests::a_package_s_view_is_its_own_directory_read_only_and_its_own_folder ... ok
test tests::a_row_that_serves_a_port_and_is_no_service_is_refused ... ok
test tests::a_role_is_one_of_the_three_and_its_directories_are_fixed ... ok
test tests::a_service_s_home_is_its_state_and_every_other_row_s_the_session_s ... ok
test tests::a_syscap_set_always_carries_transfer_and_never_an_invented_right ... ok
test tests::every_declared_row_sees_the_whole_tree_read_write ... ok
test tests::logread_carries_both_halves_of_reading_a_stream_that_never_blocks ... ok
test tests::records_attach_to_the_program_above_them ... ok
test tests::the_process_roster_is_its_own_name_and_its_own_bit ... ok
test tests::what_the_build_writes_is_what_the_supervisor_reads ... ok
test tests::the_same_manifest_renders_to_the_same_bytes ... ok

test result: ok. 41 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_microcode-5176b74db00fc682)

running 16 tests
test tests::a_damaged_extended_table_is_refused ... ok
test tests::a_header_or_loader_version_other_than_1_is_refused ... ok
test tests::an_empty_file_is_refused ... ok
test tests::a_revision_is_signed ... ok
test tests::a_size_zero_off_its_granule_or_inside_out_is_refused ... ok
test tests::a_file_cut_short_is_refused ... ok
test tests::an_extended_signature_names_a_cpu_the_header_does_not ... ok
test tests::any_multiple_of_1024_is_a_total_size ... ok
test tests::the_msrs_are_read_where_the_sdm_puts_them ... ok
test tests::the_t14_runs_intels_newest_update_for_its_cpu ... ok
test tests::a_t14_below_it_loads_its_data_which_follows_the_header ... ok
test tests::another_platform_or_stepping_is_not_named ... ok
test tests::the_newest_update_naming_the_cpu_is_chosen_wherever_it_sits ... ok
test tests::a_malformed_update_after_a_good_one_refuses_the_file ... ok
test tests::a_flipped_bit_anywhere_in_header_or_data_is_refused ... ok
test tests::an_extended_signature_in_intels_file_names_its_cpu ... ok

test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_net_ip-c801da0b197750b4)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/acd.rs (target/debug/deps/acd-be07b930c6f2e90d)

running 18 tests
test s_ip_acd_002_a_tentative_address_is_no_source ... ok
test s_ip_acd_003_an_answer_to_our_probe ... ok
test s_ip_acd_010_one_defence ... ok
test s_ip_acd_006_our_own_probe_reflected ... ok
test s_ip_acd_004_an_announcement_of_our_candidate ... ok
test s_ip_acd_005_a_simultaneous_prober ... ok
test s_ip_acd_008_ten_conflicts_rate_limit_new_candidates ... ok
test s_ip_acd_014_a_renewal_is_not_probed ... ok
test s_ip_acd_012_a_second_conflict_after_the_interval_is_defended ... ok
test s_ip_acd_001_the_ruled_schedule ... ok
test s_ip_acd_013_an_announcing_address_answers_probes ... ok
test s_ip_acd_011_a_second_conflict_inside_the_interval_loses ... ok
test s_ip_acd_007_the_conflict_window_ends_with_announce_wait ... ok
test s_ip_acd_009_ten_quiet_minutes_lift_the_limit ... ok
test s_ip_acd_015_link_down_abandons_probing ... ok
test s_ip_acd_016_link_up_announces_without_probing ... ok
test s_ip_acd_017_detection_starts_at_the_first_announcement ... ok
test s_ip_acd_018_a_full_control_queue_holds_probes_and_announcements ... ok

test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/addr.rs (target/debug/deps/addr-2969d417ac93c511)

running 38 tests
test s_ip_addr_003_not_unicast ... ok
test s_ip_addr_004_network_and_broadcast_forms ... ok
test s_ip_addr_006_eight_addresses ... ok
test s_ip_addr_001_an_added_address_becomes_a_connected_route ... ok
test rfc_3927_2_6_2_a_link_local_source_still_sends_by_the_router_or_nowhere ... ok
test s_ip_addr_002_prefix_lengths_0_and_33 ... ok
test rfc_3927_a_link_local_address_is_no_gateway_of_a_routable_interface ... ok
test rfc_3927_2_6_2_a_link_local_destination_is_on_the_link ... ok
test rfc_3927_2_6_2_the_edges_of_the_link_local_prefix_are_no_destination ... ok
test s_ip_addr_008_slash_31_and_32 ... ok
test s_ip_addr_005_one_address_one_interface ... ok
test rfc_3927_the_edges_of_the_link_local_prefix_are_no_source ... ok
test s_ip_addr_007_what_is_for_us ... ok
test rfc_3927_2_6_2_a_datagram_to_a_link_local_host_is_resolved_and_sent_to_it ... ok
test s_ip_addr_009_the_strong_model ... ok
test s_ip_addr_010_limited_broadcast_needs_no_address ... ok
test s_ip_addr_011_a_tentative_address_is_not_ours_yet ... ok
test s_ip_addr_012_no_classful_broadcast ... ok
test s_ip_addr_013_announcing_is_usable ... ok
test s_ip_addr_014_removal_withdraws_route_and_gateway ... ok
test s_ip_rte_001_a_connected_destination ... ok
test s_ip_rte_003_no_gateway ... ok
test s_ip_rte_004_longest_prefix ... ok
test s_ip_rte_002_the_default_gateway ... ok
test s_ip_rte_005_gateways_are_on_link_unicast_hosts ... ok
test s_ip_rte_006_invalid_and_local_destinations ... ok
test s_ip_rte_007_limited_broadcast_needs_one_interface ... ok
test s_ip_rte_008_multicast_ttl_is_the_callers ... ok
test s_ip_rte_009_subnet_broadcast_needs_no_arp ... ok
test s_ip_rte_010_the_source_of_the_next_hops_prefix ... ok
test s_ip_rte_011_a_bound_source_picks_its_interface ... ok
test s_ip_rte_012_only_the_acquiring_source_is_unspecified ... ok
test s_ip_rte_013_a_failed_gateway_is_passed_over ... ok
test s_ip_rte_014_with_no_good_gateway ... ok
test s_ip_rte_015_what_moves_the_generation ... ok
test s_ip_rte_016_no_forwarding ... ok
test s_udp_us_021_ip_no_link_broadcast_without_the_datagrams_permission ... ok
test s_ip_rte_017_lookups_send_nothing ... ok

test result: ok. 38 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/clk.rs (target/debug/deps/clk-40b80d9643fcd680)

running 10 tests
test s_ip_clk_010_a_deadline_saturates ... ok
test s_ip_clk_002_nothing_fires_before_its_deadline ... ok
test s_ip_clk_008_announce_wait_counts_from_the_hand_off ... ok
test s_ip_clk_001_a_send_arms_the_retransmission ... ok
test s_ip_clk_004_a_jump_fires_a_reachable_entry_once ... ok
test s_ip_clk_007_a_regressed_clock_is_the_latest ... ok
test s_ip_clk_005_a_jump_owes_one_request ... ok
test s_ip_clk_003_firing_more_often_changes_nothing ... ok
test s_ip_clk_009_a_jump_refills_a_bucket_to_its_cap ... ok
test s_ip_clk_006_prop_one_secret_one_run ... ok

test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

     Running tests/icmp.rs (target/debug/deps/icmp-efd627dba5d40261)

running 54 tests
test s_icmp_032_b_answers_a ... ok
test s_icmp_038_each_error_goes_to_its_transport ... ok
test s_icmp_026_a_timestamp_reply_is_unsupported ... ok
test s_icmp_040_576_bytes_at_most ... ok
test an_error_whose_next_hop_became_a_broadcast_is_refused_and_counted ... ok
test s_icmp_024_a_timestamp_request_is_refused ... ok
test s_icmp_041_the_quote_is_as_received ... ok
test s_icmp_037_a_quote_of_a_later_fragment ... ok
test s_icmp_039_the_generated_port_unreachable ... ok
test s_icmp_034_no_answer_to_a_group ... ok
test s_icmp_033_all_the_data_comes_back ... ok
test s_icmp_036_a_quote_from_someone_else ... ok
test s_icmp_023_a_redirect_is_refused ... ok
test s_icmp_035_record_route_is_not_returned ... ok
test s_icmp_042_an_error_for_no_socket_is_not_answered ... ok
test s_icmp_043_no_error_about_a_broadcast ... ok
test s_icmp_044_no_error_about_a_link_broadcast ... ok
test s_icmp_045_no_error_about_a_fragment ... ok
test s_icmp_046_no_error_to_a_source_that_is_no_host ... ok
test s_ip_echo_001_the_mirror_of_the_request ... ok
test s_ip_echo_002_dscp_copied_ecn_cleared ... ok
test s_ip_echo_003_an_off_link_requester_is_answered_through_the_gateway ... ok
test s_ip_echo_004_the_reply_carries_no_options ... ok
test s_ip_echo_006_an_echo_reply_is_counted ... ok
test s_ip_echo_005_sixteen_replies_wait ... ok
test s_ip_echo_007_a_tentative_address_does_not_answer ... ok
test s_ip_icd_001_a_port_unreachable_for_udp ... ok
test s_ip_echo_008_echo_is_not_rate_limited ... ok
test s_ip_icd_002_fragmentation_needed_for_tcp ... ok
test s_ip_icd_003_an_error_to_a_broadcast ... ok
test s_ip_icd_004_a_quote_from_a_tentative_address ... ok
test s_ip_icd_005_a_quote_of_icmp ... ok
test s_ip_icd_006_quotes_of_igmp_and_others ... ok
test s_ip_icd_007_time_exceeded ... ok
test s_ip_icd_008_parameter_problem ... ok
test s_ip_icd_009_an_unassigned_code ... ok
test s_ip_icd_010_a_redirect_moves_no_route ... ok
test s_ip_icg_001_protocol_unreachable ... ok
test s_ip_icd_012_a_resolution_failure_is_local ... ok
test s_ip_icg_002_port_unreachable ... ok
test s_ip_icg_004_refusals_are_silent ... ok
test s_ip_icg_006_an_unknown_protocol_to_a_broadcast ... ok
test s_ip_icg_007_short_datagrams_are_quoted_whole ... ok
test s_ip_icg_003_suppression_takes_no_token ... ok
test s_ip_icg_008_a_malformed_router_alert_is_dropped_silently ... ok
test s_ip_icd_011_prop_the_shared_classification ... ok
test s_ip_rl_001_ten_then_limited ... ok
test s_ip_rl_002_one_token_per_100_ms ... ok
test s_ip_rl_006_prop_colliding_destinations_share_a_bucket ... ok
test s_ip_rl_003_another_destination_has_its_own_bucket ... ok
test s_ip_rl_007_suppressed_requests_spend_nothing ... ok
test s_ip_icg_005_prop_only_echo_replies_and_unreachables ... ok
test s_ip_rl_005_the_global_bucket_refills_at_100_a_second ... ok
test s_ip_rl_004_the_global_burst_is_drawn ... ok

test result: ok. 54 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/igmp.rs (target/debug/deps/igmp-81e84a492f5454e2)

running 35 tests
test s_igmp_029_joining_all_hosts_sends_nothing ... ok
test s_ip_igm_009_a_group_query ... ok
test s_igmp_025_a_general_query_to_our_address ... ok
test s_ip_igm_006_all_hosts_is_never_reported ... ok
test s_ip_igm_004_a_leave_replaces_the_join ... ok
test s_igmp_024_ttl_2_is_accepted ... ok
test s_ip_igm_001_a_join_is_reported_twice ... ok
test s_ip_igm_005_membership_is_counted ... ok
test s_ip_igm_003_a_leave_is_reported_twice ... ok
test s_ip_igm_007_a_general_query_is_answered_later ... ok
test s_igmp_023_no_router_alert_is_refused ... ok
test s_ip_igm_002_joins_before_and_after_the_first_address ... ok
test s_ip_igm_010_a_query_for_a_group_not_joined ... ok
test s_ip_frg_001_a_fragment_is_refused_and_logged ... ok
test s_ip_igm_008_a_sooner_general_response_suffices ... ok
test s_ip_igm_012_too_many_sources_make_a_group_response ... ok
test s_ip_igm_011_a_group_and_source_query ... ok
test s_ip_igm_013_queries_need_router_alert ... ok
test s_ip_igm_014_general_query_destinations ... ok
test s_ip_igm_015_a_group_query_to_another_group ... ok
test s_ip_igm_016_the_robustness_is_learned ... ok
test s_ip_igm_017_a_v2_querier ... ok
test s_ip_igm_018_a_join_in_v2_mode ... ok
test s_ip_igm_019_another_hosts_report_suppresses_ours ... ok
test s_ip_igm_020_a_v1_query_is_refused ... ok
test s_ip_igm_021_v2_mode_ends ... ok
test s_ip_igm_022_a_v2_group_query_in_v3_mode ... ok
test s_ip_igm_023_the_last_reporter_leaves ... ok
test s_ip_igm_024_other_hosts_reports_are_ignored_in_v3 ... ok
test s_ip_igm_025_thirty_two_groups ... ok
test s_ip_igm_026_link_flap ... ok
test s_ip_igm_027_one_report_for_every_group ... ok
test s_ip_igm_028_the_join_byte_for_byte ... ok
test s_ip_mod_001_one_line_per_rule_per_10_s ... ok
test s_ip_mod_002_ordinary_refusals_are_not_logged ... ok

test result: ok. 35 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/io.rs (target/debug/deps/io-ee89e63f3f058ea0)

running 52 tests
test s_ip_020_df_and_mf_is_a_fragment ... ok
test s_ip_002_minimal_datagram_is_an_unknown_protocol ... ok
test s_eth_019_9100_is_not_a_tag ... ok
test s_eth_012_lldp ... ok
test s_eth_011_ipv6 ... ok
test s_eth_023_group_macs_follow_membership ... ok
test s_eth_032_broadcast_destinations_go_to_the_broadcast_mac ... ok
test s_eth_025_our_own_source ... ok
test s_eth_014_a_priority_tag_is_untagged ... ok
test s_eth_024_vlans_are_refused ... ok
test s_eth_033_a_unicast_destination_is_never_link_broadcast ... ok
test s_ip_021_first_fragment ... ok
test s_eth_010_type_0600_is_unknown ... ok
test s_eth_022_another_hosts_mac ... ok
test s_ip_022_last_fragment ... ok
test s_ip_023_largest_offset ... ok
test s_ip_026_ttl_one_is_delivered ... ok
test s_ip_025_ttl_zero_is_delivered ... ok
test s_ip_029_other_protocols ... ok
test s_ip_035_the_mtu_bounds_a_send ... ok
test s_ip_in_001_frame_before_destination ... ok
test s_ip_in_002_unicast_in_a_group_frame ... ok
test s_ip_in_004_martian_destinations ... ok
test s_ip_in_003_a_group_destination_in_our_frame ... ok
test s_ip_in_006_destination_before_source ... ok
test s_ip_in_005_invalid_sources ... ok
test s_ip_in_007_our_own_source_on_any_interface ... ok
test s_ip_in_008_fragments_before_options ... ok
test s_ip_in_009_what_a_transport_is_handed ... ok
test s_ip_out_002_ttl ... ok
test s_ip_out_003_tos ... ok
test s_ip_out_004_the_mtu ... ok
test s_ip_out_005_link_destinations ... ok
test s_ipo_015_stream_id_is_delivered ... ok
test s_ip_out_006_the_control_queue_is_bounded ... ok
test s_ipo_016_security_option_is_delivered ... ok
test s_ipp_001_loose_source_route ... ok
test s_ip_out_008_released_datagrams_wait_at_the_head_of_their_queue ... ok

@Japabu

Japabu commented Oct 11, 2026

Copy link
Copy Markdown
Collaborator Author

ci-host, part 4 of 9, cargo run -- --ci host at ed538e7, exit 0, 79 steps green

test s_ipp_003_record_route_is_ignored ... ok
test s_ipp_002_strict_source_route ... ok
test s_ipp_004_our_address_and_another ... ok
test s_ipp_005_broadcast_forms ... ok
test s_ipp_006_joined_groups ... ok
test s_ipp_007_invalid_sources ... ok
test s_ipp_008_unspecified_only_for_igmp ... ok
test s_ipp_009_our_own_source ... ok
test s_ipp_010_loopback_destination ... ok
test s_ipp_011_unicast_in_a_broadcast_frame ... ok
test s_ipp_012_an_unknown_protocol_to_us ... ok
test s_ipp_013_an_unknown_protocol_to_all ... ok
test s_udp_022_the_mtu_refuses_1473_bytes ... ok
test s_ip_out_001_prop_every_datagram_is_atomic ... ok

test result: ok. 52 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/nbr.rs (target/debug/deps/nbr-9caf15a2b2e51d89)

running 23 tests
test s_arp_016_the_sender_mac_is_what_is_learned ... ok
test s_ip_nbr_004_a_request_for_another_host ... ok
test s_ip_nbr_001_our_own_mac_as_sender ... ok
test s_ip_nbr_007_an_unknown_router_moving ... ok
test s_arp_017_a_group_sender_mac ... ok
test s_ip_nbr_006_an_unsolicited_reply ... ok
test rfc_3927_the_edges_of_the_link_local_prefix_are_no_senders ... ok
test s_ip_nbr_005_a_known_host_asking_for_another ... ok
test s_ip_nbr_002_prefix_edges_are_no_senders ... ok
test rfc_3927_2_6_2_a_link_local_sender_is_a_neighbour ... ok
test s_ip_nbr_003_a_request_for_us ... ok
test s_arp_018_invalid_sender_addresses ... ok
test s_ip_nbr_009_locktime ... ok
test s_ip_nbr_008_a_known_router_moving ... ok
test s_ip_nbr_010_a_second_answer_is_locked_out ... ok
test s_ip_nbr_011_an_unsolicited_same_mac_extends_nothing ... ok
test s_ip_nbr_012_an_off_link_sender_is_answered_not_cached ... ok
test s_ip_nbr_013_a_probe_is_answered_and_not_cached ... ok
test s_ip_nbr_014_a_reply_for_another_target_asserts ... ok
test s_ip_nbr_015_a_broadcast_reply_is_still_solicited ... ok
test s_ip_nbr_016_the_strong_model_for_arp ... ok
test s_ip_nbr_017_a_tentative_address_is_not_answered ... ok
test s_ip_nbr_018_fifty_mac_changes_one_line ... ok

test result: ok. 23 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/nud.rs (target/debug/deps/nud-ed41191709b01b0e)

running 35 tests
test s_ip_nud_012_unreachable_is_quiet_without_traffic ... ok
test s_ip_nud_002_three_requests_then_failed ... ok
test s_ip_nud_013_a_moved_router_answers ... ok
test s_ip_nud_001_resolution_releases_the_datagram ... ok
test s_ip_nud_009_advice_ends_delay ... ok
test s_ip_nud_003_release_keeps_arrival_order ... ok
test s_ip_nud_008_delay_probe_unreachable ... ok
test s_ip_nud_014_failed_is_held_down ... ok
test s_ip_nud_007_positive_advice_moves_the_confirmation ... ok
test s_ip_nud_004_overflow_drops_the_oldest ... ok
test s_ip_nud_006_reachable_goes_stale_silently ... ok
test s_ip_nud_010_a_reply_confirms_probe ... ok
test s_ip_nud_017_negative_advice_probes ... ok
test s_ip_nud_015_an_assertion_revives_failed ... ok
test s_ip_nud_016_requests_are_spaced ... ok
test rfc_4861_7_2_2_a_silent_next_hop_holds_up_no_other ... ok
test s_ip_nud_018_negative_advice_leaves_probe_incomplete_and_failed ... ok
test s_ip_nud_005_the_interface_holds_at_most_64 ... ok
test s_ip_nud_019_positive_advice_needs_a_mac ... ok
test s_ip_nud_020_advice_lands_on_the_gateway ... ok
test s_ip_nud_021_stale_is_deleted_when_idle ... ok
test s_ip_nud_024_requests_speak_from_the_prompting_source ... ok
test s_ip_nud_025_a_flow_waits_outside ... ok
test s_ip_nud_023_link_down_drops_the_table ... ok
test s_ip_nud_026_a_flow_moves_stale_to_delay ... ok
test s_ip_nud_031_a_request_queued_before_the_lifetime_is_not_idle ... ok
test s_ip_nud_011_unreachable_backs_off_while_traffic_flows ... ok
test s_ip_nud_030_released_datagrams_keep_their_entry ... ok
test s_ip_nud_031_a_request_queued_at_the_backoff_deadline_is_not_idle ... ok
test s_ip_nud_031_a_request_queued_after_the_lifetime_is_not_idle ... ok
test s_ip_nud_030_an_entry_whose_lifetime_runs_stays_as_it_drains ... ok
test s_ip_nud_027_prop_reachable_time_is_drawn_every_two_hours ... ok
test s_ip_nud_022_a_full_table_evicts_in_order ... ok
test s_ip_nud_022_a_send_a_full_table_refused_is_told_of_room ... ok
test s_ip_nud_029_released_datagrams_are_evicted_last ... ok

test result: ok. 35 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

     Running unittests src/lib.rs (target/debug/deps/toyos_net_shard-0bab575736dd687a)

running 3 tests
test tests::a_resolved_next_hop_wakes_the_senders_that_waited_for_it_and_no_other ... ok
test tests::the_head_freed_in_its_turn_ends_the_turn ... ok
test tests::a_connection_freed_in_the_round_leaves_it ... ok

test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/acquisition.rs (target/debug/deps/acquisition-fbb1627be06dce30)

running 5 tests
test a_second_acquisition_socket_is_refused_its_port ... ok
test the_acquisition_socket_sends_from_no_address_to_the_limited_broadcast ... ok
test the_acquisition_socket_hears_a_datagram_to_an_address_not_yet_held ... ok
test only_the_acquisition_socket_names_its_source ... ok
test a_removed_address_takes_its_gateway_and_answers_nothing ... ok

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/drr.rs (target/debug/deps/drr-acd2166a1bb12cf3)

running 6 tests
test a_sender_leaves_the_round_with_its_last_datagram ... ok
test a_connection_that_takes_a_freed_slot_takes_one_turn ... ok
test s_shard_drr_003_ip_and_owed_resets_go_first_and_the_round_resumes ... ok
test s_shard_drr_001_a_negative_deficit_is_repaid ... ok
test s_shard_drr_001_a_turn_spans_opportunities_on_one_quantum ... ok
test s_shard_drr_002_a_bulk_flow_starves_no_other_beyond_its_quantum ... ok

test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/egress.rs (target/debug/deps/egress-69c0e7315913fa05)

running 19 tests
test s_hs_035_shard_a_directed_broadcast_is_not_a_unicast_remote ... ok
test s_pl_013_shard_a_connect_to_no_one_fails_at_once_as_host_unreachable ... ok
test s_pl_013_shard_a_connect_with_no_route_fails_at_once ... ok
test s_pl_012_shard_a_connect_waits_for_its_next_hop_and_then_leaves ... ok
test s_hs_034_shard_a_child_whose_peer_never_answers_gives_up ... ok
test s_ip_nud_024_shard_a_segments_request_prefers_its_source ... ok
test s_pl_014_shard_an_established_flow_with_no_route_records_host_unreachable ... ok
test s_pl_015_shard_a_reset_for_no_socket_waits_for_its_next_hop ... ok
test s_ip_nud_020_shard_a_stalled_connect_reverifies_the_gateway ... ok
test s_ip_out_007_an_arp_request_goes_before_a_ready_segment ... ok
test s_pl_014_shard_an_established_flow_records_host_unreachable ... ok
test s_ip_nud_026_shard_a_segment_to_a_stale_neighbour_moves_it_to_delay ... ok
test s_pl_015_shard_a_reset_to_a_peer_that_never_answers_is_dropped ... ok
test s_ip_nud_009_shard_an_acknowledgment_ends_delay ... ok
test s_pl_014_shard_a_failed_flow_is_asked_once_while_another_sends ... ok
test s_pl_015_shard_a_reset_with_no_route_is_dropped ... ok
test s_pl_015_shard_an_owed_reset_waits_for_its_next_hop ... ok
test s_pl_015_shard_a_time_wait_ack_waits_for_its_next_hop ... ok
test s_ip_nud_022_shard_a_flow_refused_by_a_full_table_asks_again_once_an_entry_may_go ... ok

test result: ok. 19 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

     Running tests/icmp.rs (target/debug/deps/icmp-7758a870ba217e7d)

running 4 tests
test s_ic_012_shard_fragmentation_needed_without_an_mtu_is_ignored ... ok
test s_ic_008_shard_time_exceeded_is_soft ... ok
test s_ic_009_shard_parameter_problem_is_soft ... ok
test s_ic_001_shard_port_unreachable_refuses_a_connect ... ok

test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/log.rs (target/debug/deps/log-cbca7fafe4805818)

running 3 tests
test s_udp_us_020_shard_sending_to_this_host_is_logged ... ok
test s_ip_mod_001_shard_one_line_per_rule_per_10_s ... ok
test s_mod_005_shard_one_line_per_rule_per_10_s ... ok

test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/net.rs (target/debug/deps/net-382d1f9ee1185812)

running 5 tests
test s_net_006_a_dark_link ... ok
test s_net_003_reordering_below_the_threshold ... ok
test s_net_001_sack_repairs_every_50th ... ok
test s_net_004_duplicates_are_reported_by_dsack ... ok
test s_pl_011_many_up ... ok

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.56s

     Running tests/udp.rs (target/debug/deps/udp-ba243de60f7d2006)

running 12 tests
test s_udp_us_021_shard_a_datagram_that_waited_for_a_host_is_asked_its_route_again_and_keeps_its_permission ... ok
test s_udp_us_021_shard_a_datagram_accepted_for_a_host_is_no_broadcast_after_a_renewal_narrows_the_prefix ... ok
test s_udp_us_035_shard_no_socket_is_a_port_unreachable ... ok
test s_udp_us_021_shard_a_datagram_accepted_for_the_router_is_no_broadcast_after_a_renewal_widens_the_prefix ... ok
test s_ip_icd_012_shard_a_resolution_failure_reaches_the_connected_socket ... ok
test s_udp_us_021_shard_a_datagram_carries_the_permission_of_its_call ... ok
test s_udp_us_024_shard_a_waiting_datagram_whose_route_goes_is_dropped ... ok
test a_waiting_datagram_whose_link_returns_before_an_opportunity_waits_anew_and_leaves ... ok
test s_udp_us_026_shard_a_datagram_waits_in_its_socket_for_its_next_hop_and_holds_back_no_other ... ok
test s_udp_us_027_shard_a_failed_next_hop_drops_what_waited_for_it_and_tells_no_unconnected_socket ... ok
test s_udp_us_046_shard_a_port_unreachable_refuses_the_connected_socket_once ... ok
test s_udp_us_025_shard_what_waits_for_a_next_hop_is_bounded_by_its_sockets_queue ... ok

test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_net_tcp-99e833a79442f590)

running 30 tests
test cc::tests::s_cc_010_congestion_events ... ok
test cc::tests::s_cc_014_flight_not_cwnd_at_a_timeout ... ok
test cc::tests::s_cc_009_cubic_values ... ok
test cc::tests::s_cc_007_slow_start_stops_at_ssthresh ... ok
test cc::tests::s_cc_011_reno_friendly_region ... ok
test cc::tests::s_cc_008_the_epoch_after_a_timeout ... ok
test cc::tests::s_cc_013_application_limited_time_is_skipped ... ok
test cc::tests::s_cc_015_prop_avoidance_growth_is_bounded ... ok
test rtt::tests::s_rt_001_first_sample ... ok
test rtt::tests::s_rt_002_later_sample ... ok
test rtt::tests::s_rt_003_the_200_ms_floor ... ok
test rtt::tests::s_rt_004_the_60_s_ceiling ... ok
test rtt::tests::s_rt_012_appendix_g_weights ... ok
test rx::tests::an_echo_aged_by_the_peers_silence_moves_the_estimate_an_eighth ... ok
test rx::tests::full_sized_is_learned_from_what_arrives ... ok
test rx::tests::without_timestamps_the_least_fill_time_is_kept ... ok
test tx::tests::s_lr_015_the_scoreboard_keeps_the_lowest_64 ... ok
test props::s_op_025_prop_timestamps_on_every_segment ... ok
test props::s_rx_026_prop_sacked_bytes_are_delivered ... ok
test props::s_rt_017_prop_no_retransmission_before_an_rto ... ok
test props::s_prop_005_the_scoreboard_stays_above_snd_una ... ok
test props::s_prop_008_nothing_happens_before_a_deadline ... ok
test props::s_mod_004_prop_urgent_is_never_sent ... ok
test props::s_prop_001_snd_una_at_or_before_snd_nxt ... ok
test props::s_prop_004_the_right_edge_never_retreats ... ok
test props::s_prop_001_snd_una_at_or_before_snd_nxt_whatever_the_next_hop_answers ... ok
test props::s_prop_002_delivered_data_is_a_prefix ... ok
test props::s_prop_007_pipe_is_bounded ... ok
test props::s_prop_006_totality_against_an_adversary ... ok
test props::s_prop_003_end_of_stream_after_every_byte ... ok

test result: ok. 30 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.11s

     Running tests/acceptability.rs (target/debug/deps/acceptability-08bd6146f17e566f)

running 27 tests
test s_ac_011_rst_outside_the_window ... ok
test s_ac_009_exact_rst ... ok
test s_ac_007_front_trim ... ok
test s_ac_010_inexact_rst_is_challenged ... ok
test s_ac_014_syn_beyond_the_window ... ok
test s_ac_001_in_order_text_is_acknowledged_late ... ok
test s_ac_012_challenge_acks_are_limited ... ok
test s_ac_013_syn_is_challenged ... ok
test s_ac_002_at_the_right_edge ... ok
test s_ac_006_empty_segment_beyond_the_window ... ok
test s_ac_008_back_trim ... ok
test s_ac_015_retransmitted_synack ... ok
test s_ac_005_zero_window_rst ... ok
test s_ac_017_rfc5961_lower_bound ... ok
test s_ac_021_a_window_may_shrink ... ok
test s_ac_019_text_without_ack ... ok
test s_ac_022_max_snd_wnd ... ok
test s_ac_003_zero_window_probe ... ok
test s_ac_016_ack_of_unsent_data ... ok
test s_ac_018_data_with_the_old_ack_is_no_duplicate ... ok
test s_ac_023_one_ack_per_receive_pass ... ok
test s_ac_020_old_segments_do_not_update_the_window ... ok
test s_ac_024_text_after_the_peer_fin ... ok
test s_ac_025_ack_half_the_space_away ... ok
test s_ac_026_rst_with_fin ... ok
test s_ac_027_rst_payload_is_ignored ... ok
test s_ac_004_zero_window_pure_ack ... ok

test result: ok. 27 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/close.rs (target/debug/deps/close-90a513e18443bf8e)

running 32 tests
test s_cl_005_the_fin_rides_on_data ... ok
test s_cl_008_sending_in_close_wait ... ok
test s_cl_011_an_orphan_in_fin_wait_2 ... ok
test s_cl_004_fin_acknowledging_ours ... ok
test s_cl_001_active_close ... ok
test s_cl_010_a_retransmitted_fin_restarts_time_wait ... ok
test s_cl_003_simultaneous_close ... ok
test s_cl_002_passive_close ... ok
test s_cl_012_the_orphan_bound ... ok
test s_cl_009_a_retransmitted_fin_in_close_wait ... ok
test s_cl_006_the_fin_is_retransmitted ... ok
test s_cl_007_half_close ... ok
test s_cl_013_an_orphan_behind_a_shut_window ... ok
test s_cl_016_close_with_unread_data ... ok
test s_cl_015_data_for_an_orphan ... ok
test s_cl_017_time_wait_is_60_s ... ok
test s_cl_019_reopening_by_sequence_number ... ok
test s_cl_018_reopening_from_time_wait_by_timestamp ... ok
test s_cl_020_rst_in_time_wait_is_ignored ... ok
test s_cl_024_abort ... ok
test s_cl_022_syn_in_time_wait_without_a_listener ... ok
test s_cl_026_no_time_wait_after_a_reset ... ok
test s_cl_027_the_reset_stub ... ok
test s_cl_029_shutdown_read ... ok
test s_cl_028_close_in_syn_sent ... ok
test s_cl_025_abort_without_rst ... ok
test s_cl_030_last_ack_waits_for_the_fin ... ok
test s_cl_031_rst_in_close_wait ... ok
test s_cl_032_rst_in_last_ack_and_closing ... ok
test s_cl_014_a_user_keeps_a_shut_window_open ... ok
test s_cl_021_a_failed_reopening_returns_to_time_wait ... ok
test s_cl_023_time_wait_is_bounded ... ok

test result: ok. 32 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s

     Running tests/congestion.rs (target/debug/deps/congestion-a0156dbb7474d796)

running 7 tests
test s_cc_006_no_growth_when_not_cwnd_limited ... ok
test s_cc_001_ten_segments ... ok
test s_cc_003_ten_segments_of_536 ... ok
test s_cc_002_ten_segments_with_timestamps ... ok
test s_cc_004_one_segment_after_two_syn_retransmissions ... ok
test s_cc_005_slow_start ... ok
test s_cc_012_restart_after_idle ... ok

test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/egress.rs (target/debug/deps/egress-962cbeb65a3d5e7e)

running 25 tests
test s_hs_034_a_child_whose_synack_cannot_leave_gives_up ... ok
test s_pl_009_give_up_without_credit ... ok
test s_pl_008_resets_go_first ... ok
test s_ka_002_a_segment_cancels_a_probe_still_owed ... ok
test s_pl_007_credit_bounds_an_opportunity ... ok
test s_pl_009_a_handshake_gives_up_without_credit ... ok
test s_ka_003_probes_that_cannot_leave_still_give_up ... ok
test a_freed_connection_leaves_no_turn_behind ... ok
test s_pl_003_unsent_is_not_in_flight ... ok
test s_pl_001_the_timer_starts_at_hand_off ... ok
test s_pl_005_at_most_three_duplicate_acks_are_held ... ok
test s_pl_004_owed_acks_collapse ... ok
test s_pl_002_no_expiry_for_a_retransmission_that_never_left ... ok
test s_pl_006_a_segment_carries_the_state_of_its_moment ... ok
test s_pl_012_a_connection_freed_while_waiting_leaves_no_turn_behind ... ok
test s_pl_012_a_flow_builds_nothing_while_its_next_hop_is_pending ... ok
test s_pl_012_an_ack_owed_in_syn_received_waits_for_its_next_hop ... ok
test s_pl_012_a_window_update_offers_nothing_until_it_leaves ... ok
test s_pl_012_an_owed_ack_waits_for_its_next_hop ... ok
test s_pl_013_a_local_host_unreachable_fails_a_connect_at_once ... ok
test s_pl_014_an_owed_ack_outlasts_an_unreachable_next_hop ... ok
test s_pl_014_a_synchronized_connection_records_host_unreachable_soft ... ok
test s_pl_010_give_up_before_retransmission ... ok
test s_pl_015_what_is_owed_outside_a_connection_waits_for_its_next_hop ... ok
test s_pl_015_resets_waiting_for_their_next_hop_stay_bounded ... ok

test result: ok. 25 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/handshake.rs (target/debug/deps/handshake-0f5451ee5d775226)

running 42 tests
test s_hs_011_synsent_rst_with_a_bad_ack ... ok
test s_hs_003_passive_open_bare_peer ... ok
test s_hs_008_synsent_ack_past_snd_nxt ... ok
test s_hs_012_synsent_ack_without_syn ... ok
test s_hs_007_synsent_ack_at_iss ... ok
test s_hs_005_simultaneous_open ... ok
test s_hs_010_synsent_rst_without_ack ... ok
test s_hs_002_active_open_full_peer ... ok
test s_hs_009_synsent_refused ... ok
test s_hs_001_active_open_bare_peer ... ok
test s_hs_014_synsent_fin ... ok
test s_hs_006_simultaneous_open_synack_lost ... ok
test s_hs_004_passive_open_full_peer ... ok
test s_hs_013_synsent_bad_ack_without_syn ... ok
test s_hs_015_syn_give_up ... ok
test s_hs_017_two_syn_retransmissions ... ok
test s_hs_016_one_syn_retransmission ... ok
test s_hs_019_synack_payload_is_discarded ... ok
test s_hs_018_syn_payload_is_discarded ... ok
test s_hs_021_listen_ack ... ok
test s_hs_020_listen_rst ... ok
test s_hs_022_listen_synack ... ok
test s_hs_023_listen_without_syn ... ok
test s_hs_024_duplicate_syn_in_syn_received ... ok
test s_hs_025_new_syn_in_syn_received ... ok
test s_hs_026_child_bad_ack ... ok
test s_hs_027_child_rst ... ok
test s_hs_028_active_syn_received_rst ... ok
test s_hs_029_child_fin ... ok
test s_hs_030_fin_waits_for_established ... ok
test s_hs_031_child_text_without_ack ... ok
test s_hs_032_child_inexact_rst ... ok
test s_hs_033_child_completes_with_data ... ok
test s_hs_034_synack_give_up ... ok
test s_hs_035_connect_needs_a_unicast_remote ... ok
test s_hs_038_data_queued_in_syn_sent ... ok
test s_hs_037_the_initial_window_is_ten_smss ... ok
test s_hs_039_active_syn_received_bad_ack ... ok
test s_hs_041_no_socket ... ok
test s_hs_042_no_socket_reset_limit ... ok
test s_hs_040_synack_retransmitted ... ok
test s_hs_043_calls_in_the_wrong_state ... ok

test result: ok. 42 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/held.rs (target/debug/deps/held-8a7311b9115459cc)

running 6 tests
test ready_counts_the_connections_accept_has_yet_to_return ... ok
test options_are_the_ones_the_connection_has ... ok
test a_close_that_resets_leaves_no_orphan ... ok
test an_orphan_is_counted_until_both_fins ... ok
test an_orphan_is_counted_until_its_idle_reset ... ok
test a_close_before_the_handshake_ends_leaves_an_orphan_until_it_gives_up ... ok

test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/icmp.rs (target/debug/deps/icmp-8b786e685d8f926e)

running 21 tests
test s_ic_004_administratively_prohibited ... ok
test s_ic_001_port_unreachable_refuses_a_connect ... ok
test s_ic_002_a_stale_quote ... ok
test s_ic_003_host_unreachable_is_soft ... ok
test s_ic_014_the_mtu_floor ... ok
test s_ic_010_an_unassigned_code_is_soft ... ok
test s_ic_005_soft_in_a_synchronized_state ... ok
test s_ic_007_quotes_outside_the_flight ... ok
test s_ic_006_port_unreachable_is_soft_when_synchronized ... ok
test s_ic_011_path_mtu_lowered ... ok
test s_ic_008_time_exceeded_is_soft ... ok
test s_ic_009_parameter_problem_is_soft ... ok
test s_ic_013_an_mtu_that_is_no_smaller ... ok
test s_ic_012_no_next_hop_mtu ... ok
test s_ic_015_an_mtu_not_below_the_refused_datagram ... ok
test s_ic_017_time_wait_is_stale ... ok
test s_ic_016_one_retransmission_per_lowering ... ok
test s_ic_018_a_listener_is_never_addressed ... ok
test s_ic_019_a_pending_child_is_deleted ... ok
test s_ic_020_progress_clears_a_soft_error ... ok
test s_ic_021_path_mtu_with_timestamps ... ok

test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/isn.rs (target/debug/deps/isn-4c2818daebf3af43)

running 9 tests
test s_isn_005_the_key_counts ... ok
test s_isn_003_the_4us_clock ... ok
test s_isn_006_clock_wrap ... ok
test s_isn_004_every_field_of_the_tuple_counts ... ok
test s_isn_001_siphash_reference_vectors ... ok
test s_isn_002_isn_at_clock_zero ... ok
test s_isn_008_timestamp_offset ... ok
test s_isn_009_incarnations_share_the_offset ... ok
test s_isn_007_prop_unpredictable ... ok

test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/listen.rs (target/debug/deps/listen-416005a2d313f4e2)

running 11 tests
test s_ls_001_one_listener_per_endpoint ... ok
test s_ls_009_the_specific_address_first ... ok
test s_ls_006_a_closed_child_is_accepted ... ok
test s_ls_007_a_reset_child_is_never_returned ... ok
test s_ls_002_connections_do_not_hold_the_port ... ok
test s_ls_005_first_in_first_out ... ok
test s_ls_011_a_bound_port_without_a_listener ... ok
test s_ls_008_closing_a_listener_resets_its_children ... ok
test s_ls_010_children_inherit_options ... ok
test s_ls_004_the_ready_bound ... ok
test s_ls_003_the_pending_bound ... ok

test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/modern.rs (target/debug/deps/modern-ac368f3cc82e0909)

running 14 tests
test s_mod_001_syn_with_fin ... ok
test s_mod_007_fast_open ... ok
test s_mod_006_tcp_md5 ... ok
test s_mod_003_urgent_data_inline ... ok
test s_mod_008_challenges_are_logged_once ... ok
test s_div_003_rst_at_snd_nxt_inside_the_window ... ok
test s_mod_002_syn_with_rst ... ok
test s_div_002_rst_at_a_shrunk_edge ... ok
test s_div_001_rst_never_below_snd_una ... ok
test s_div_002_rst_below_the_offered_edge_behind_snd_una ... ok
test s_mod_009_out_of_range_acks_are_logged_per_10_s ... ok
test s_div_001_rst_at_the_right_edge ... ok
test s_mod_005_one_line_per_rule_per_10_s ... ok
test s_mod_005_a_bulk_peer_leaves_room_for_refusals ... ok

test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/net.rs (target/debug/deps/net-b73d1001768f0962)

running 19 tests
test s_net_011_the_fin_overtakes_the_last_data ... ok
test s_net_012_a_slow_reader ... ok
test s_net_014_an_abort_is_a_reset ... ok
test s_ls_012_a_syn_flood ... ok
test s_net_010_a_lost_retransmission ... ok
test s_net_008_timestamps_wrap ... ok
test s_net_002_newreno_when_one_side_has_no_sack ... ok
test s_net_007_sequence_numbers_wrap ... ok
test s_net_009_the_last_segment_of_each_burst ... ok
test s_net_016_a_peer_without_options ... ok
test rfc_8985_7_3_no_probe_without_an_rtt_sample_since_the_last ... ok
test s_net_005_lost_acks ... ok
test rfc_7323_2_2_no_scaling_unless_both_syns_offer_it ... ok
test s_net_015_nagle_and_the_delayed_ack ... ok
test a_receive_buffer_nobody_reads_never_grows ... ok
test the_receive_window_grows_by_what_is_read_per_round_trip ... ok
test a_peer_sending_segments_shorter_than_our_send_mss_still_grows_the_window ... ok
test s_net_013_a_hundred_connections ... ok
test rfc_7323_2_a_scaled_window_carries_more_than_64_kib_in_flight_each_way ... ok

test result: ok. 19 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.57s

     Running tests/options.rs (target/debug/deps/options-3a2766467a740697)

running 30 tests
test s_op_010_shift_above_14_is_clamped ... ok
test s_op_007_the_interface_bounds_the_mss ... ok
test s_op_001_the_active_syn ... ok
test s_op_002_synack_to_a_bare_syn ... ok
test s_op_012_window_scale_outside_a_syn_is_ignored ... ok
test s_op_009_window_scaling ... ok
test s_op_005_mss_100_is_raised ... ok
test s_op_004_mss_zero_is_raised ... ok
test s_op_013_a_synack_window_is_never_scaled ... ok
test s_op_011_unscaled_when_the_peer_offers_none ... ok
test s_op_003_synack_to_a_full_syn ... ok
test s_op_006_no_mss_option ... ok
test s_op_008_timestamps_take_twelve_bytes ... ok
test s_op_014_sack_unnegotiated ... ok
test s_op_018_delayed_ack_echoes_the_earliest ... ok
test s_op_015_timestamps_unnegotiated ... ok
test s_op_017_ts_recent_needs_seq_at_or_before_last_ack_sent ... ok
test s_op_016_timestamps_on_an_unnegotiated_connection ... ok
test s_op_019_ts_across_a_hole ... ok
test s_op_022_no_paws_on_an_rst ... ok
test s_op_020_paws ... ok
test s_op_023_ts_recent_expires_after_24_days ... ok
test s_op_021_missing_timestamps_are_dropped ... ok
test s_op_024_rst_for_no_socket_echoes_the_timestamp ... ok
test s_op_026_mss_outside_a_syn_is_ignored ... ok
test s_op_027_ecn_is_not_negotiated ... ok
test s_op_028_sack_blocks_in_a_syn_are_ignored ... ok
test s_op_029_the_last_mss_wins ... ok
test s_op_031_the_shift_fits_the_buffer ... ok
test s_op_032_tsecr_without_ack_is_ignored ... ok

test result: ok. 30 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/port.rs (target/debug/deps/port-4aecde1497a45557)

running 8 tests
test s_port_007_never_a_self_connection ... ok
test s_port_002_another_destination_another_counter ... ok
test s_port_001_algorithm_4 ... ok
test s_port_003_a_listening_port_is_skipped ... ok
test s_port_004_time_wait_holds_its_4_tuple ... ok
test s_port_006_algorithm_2_for_a_listener ... ok
test s_port_005_exhaustion ... ok
test s_port_008_prop_ports ... ok

test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

     Running tests/receive.rs (target/debug/deps/receive-318f2d6927df8d4d)

running 27 tests
test s_rx_007_stored_bytes_win ... ok
test s_rx_004_duplicate_acks_are_not_coalesced ... ok
test s_rx_010_nothing_after_a_remembered_fin ... ok
test s_rx_003_out_of_order_is_acknowledged_at_once ... ok
test s_rx_006_a_later_range_remains ... ok
test s_rx_002_the_delayed_ack_is_40_ms ... ok
test s_rx_011_unread_bytes_close_the_window ... ok
test s_rx_005_a_filled_hole_is_acknowledged_at_once ... ok
test s_rx_012_receiver_silly_window_avoidance ... ok
test s_rx_009_a_fin_beyond_a_hole ... ok
test s_rx_001_every_second_segment ... ok
test a_sub_unit_window_rounds_up_only_into_free_room ... ok
test s_rx_008_at_most_32_ranges ... ok
test s_rx_014_the_edge_holds_while_a_hole_is_open ... ok
test s_rx_013_a_window_update_when_the_window_was_small ... ok
test s_rx_016_the_ack_rides_on_data ... ok
test s_rx_017_sack_blocks ... ok
test s_rx_018_the_triggering_range_first ... ok
test s_rx_015_the_offered_edge_is_honoured_under_scaling ... ok
test s_rx_019_three_blocks_with_timestamps ... ok
test s_rx_022_no_sack_unnegotiated ... ok
test s_rx_021_dsack_inside_a_range ... ok
test s_rx_020_dsack_below_rcv_nxt ... ok
test s_rx_023_a_reset_comes_after_the_text_before_it ... ok
test s_rx_024_data_then_end ... ok
test s_rx_025_push_is_not_a_boundary ... ok
test s_rx_027_half_close_keeps_receiving ... ok

test result: ok. 27 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/recovery.rs (target/debug/deps/recovery-b574193b8d932082)

running 33 tests
test rfc_8985_7_2_with_one_segment_out_the_probe_stands_in_for_the_first_rto ... ok
test s_lr_001_newreno_one_loss ... ok
test s_lr_003_newreno_partial_ack ... ok
test rfc_8985_7_4_a_dsack_of_another_segment_still_infers_the_loss ... ok
test a_probe_due_when_the_window_shuts_gives_way_to_persist ... ok
test rfc_8985_7_4_a_dsack_after_the_ack_at_the_probes_end_infers_no_loss ... ok
test rfc_8985_7_3_the_probe_is_new_data_where_the_window_takes_a_segment ... ok
test rfc_8985_7_4_a_duplicate_without_sack_at_the_probes_end_infers_no_loss ... ok
test rfc_8985_7_2_no_probe_in_rto_recovery ... ok
test s_lr_002_limited_transmit_and_inflation ... ok
test rfc_8985_7_4_an_ack_that_infers_the_probes_loss_and_enters_recovery_cuts_twice ... ok
test rfc_8985_7_4_a_resent_probe_reported_as_a_duplicate_infers_no_loss ... ok
test s_lr_006_no_fast_retransmit_after_a_timeout ... ok
test rfc_8985_7_1_fast_recovery_ends_the_probes_episode ... ok
test rfc_8985_7_4_a_resent_probe_acknowledged_past_its_end_without_a_dsack_repaired_a_loss ... ok
test s_lr_007_inflation_is_capped ... ok
test s_lr_008_sack_recovery ... ok
test s_lr_004_full_ack_after_limited_transmit ... ok
test s_lr_009_is_lost_on_the_first_ack ... ok
test s_lr_005_what_is_not_a_duplicate ... ok
test s_lr_011_new_data_during_sack_recovery ... ok
test s_lr_013_the_recovery_point ... ok
test s_lr_012_rescue_retransmission ... ok
test s_lr_016_timeout ... ok
test s_lr_010_a_second_hole ... ok
test s_lr_018_no_sack_recovery_before_the_timeout_point ... ok
test s_lr_019_sacks_after_a_timeout_skip_held_ranges ... ok
test s_lr_014_invalid_blocks_and_dsack ... ok
test s_lr_017_a_second_timeout ... ok
test s_lr_022_limited_transmit_by_pipe ... ok
test s_lr_021_pure_duplicates_without_blocks ... ok
test s_lr_020_sacked_bytes_stay_queued ... ok
test s_lr_023_a_lost_fast_retransmission ... ok

test result: ok. 33 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/rtt.rs (target/debug/deps/rtt-d31542d133375b39)

running 11 tests
test s_rt_016_no_timer_when_all_is_acknowledged ... ok
test s_rt_008_one_segment_timed ... ok
test s_rt_005_the_minimum_is_200_ms ... ok
test s_rt_015_the_timer_restarts_on_new_acks ... ok
test s_rt_009_timestamp_samples ... ok
test s_rt_013_backoff_doubles ... ok
test s_rt_010_a_retransmission_echoed ... ok
test s_rt_014_three_expiries_forget_the_estimate ... ok
test s_rt_006_three_seconds_after_a_lost_syn ... ok
test s_rt_007_karn ... ok
test s_rt_011_an_echo_from_the_future ... ok

test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/send.rs (target/debug/deps/send-ac3312157674b9ac)

running 21 tests
test s_tx_010_the_initial_window_bounds_a_burst ... ok
test s_tx_012_no_send_after_shutdown ... ok
test s_tx_002_nagle ... ok
test s_tx_004_full_segments_then_wait ... ok
test s_tx_014_an_opened_window_ends_persist ... ok
test s_tx_006_silly_window_override ... ok
test s_tx_003_nodelay ... ok
test s_tx_007_an_opened_window_cancels_the_override ... ok
test s_tx_013_persist_backs_off ... ok
test s_tx_008_half_the_largest_window ... ok
test s_tx_005_push_only_where_the_queue_empties ... ok
test s_tx_011_the_send_buffer_is_bounded ... ok
test s_tx_001_one_segment_with_push ... ok
test s_tx_009_a_shrunk_window ... ok
test s_tx_015_the_probe_byte_taken ... ok
test s_tx_018_the_fin_as_probe ... ok
test s_tx_017_an_unanswered_persist_gives_up ... ok
test s_tx_021_close_pushes ... ok
test s_tx_019_a_shut_window_stops_the_retransmission_timer ... ok
test s_tx_020_cwnd_does_not_arm_the_override ... ok
test s_tx_016_an_answered_persist_lives ... ok

test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/seq.rs (target/debug/deps/seq-dd3e9ffdeb749621)

running 8 tests
test s_seq_002_ordering_across_the_wrap ... ok
test s_seq_003_half_the_space_is_unordered ... ok
test s_seq_001_offsets ... ok
test s_seq_004_ack_range_check ... ok
test s_seq_007_timestamps_compare_modularly ... ok
test s_seq_008_sending_across_the_wrap ... ok
test s_seq_006_acceptability_across_the_wrap ... ok
test s_seq_005_segment_length ... ok

test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/take.rs (target/debug/deps/take-094ff4230f111b52)

running 5 tests
test with_nothing_held_the_reader_is_not_asked ... ok
test text_unread_when_both_fins_ended_the_connection_is_still_taken ... ok
test what_the_reader_did_not_take_stays_held_in_order ... ok
test text_across_the_rings_wrap_is_shown_in_two_pieces_and_none_is_lost ... ok
test a_take_owes_the_window_update_a_read_does ... ok

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/timers.rs (target/debug/deps/timers-4a1adec2f02af4b0)

running 15 tests
test s_ka_006_the_idle_time_is_settable ... ok
test s_ka_001_off_by_default ... ok
test s_gu_001_three_expiries_raise_advice ... ok
test s_ka_005_the_peer_keepalive_is_answered ... ok
test s_gu_006_a_confirmation_after_a_reverify_is_kept ... ok
test s_gu_004_user_timeout ... ok
test s_gu_005_user_timeout_ends_an_answered_persist ... ok
test s_ka_004_no_keepalive_with_data_outstanding ... ok
test s_gu_003_progress_restarts_the_give_up_clock ... ok
test s_ka_003_nine_unanswered_probes ... ok
test s_gu_006_progress_confirms_the_next_hop ... ok
test s_ka_002_a_probe_after_two_hours ... ok
test s_gu_006_b_advice_is_kept_per_address ... ok
test s_gu_002_give_up ... ok
test s_ka_007_close_wait_and_fin_wait_2 ... ok

test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_net_testnet-e03e671d96866ba0)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/testnet.rs (target/debug/deps/testnet-cc9bd563b04459e9)

running 2 tests
test a_published_reader_decodes_the_capture_as_the_wire_carried_it ... ok
test a_run_repeats_exactly ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

     Running unittests src/lib.rs (target/debug/deps/toyos_net_udp-7a4e951db28da231)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/bind.rs (target/debug/deps/bind-a2984a153b04991f)

running 12 tests
test s_udp_us_004_any_needs_no_address ... ok
test s_udp_us_001_one_socket_per_port ... ok
test s_udp_us_003_only_an_assigned_address_binds ... ok
test s_udp_us_011_close_frees_the_port_at_once ... ok
test s_udp_us_005_algorithm_1 ... ok
test s_udp_us_006_the_candidates_wrap ... ok
test s_udp_us_007_the_draw_is_reduced ... ok
test s_udp_us_010_no_privileged_ports ... ok
test s_udp_us_002_whatever_the_address ... ok
test s_udp_us_009_a_numbered_bind_is_skipped ... ok
test closing_leaves_no_turn_behind ... ok
test s_udp_us_008_exhaustion_spends_one_draw ... ok

test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

     Running tests/recv.rs (target/debug/deps/recv-41702d5029aa9c50)

running 29 tests
test s_udp_us_034_no_socket_for_a_group_is_no_error ... ok
test s_udp_018_the_limited_broadcast_reaches_port_68 ... ok
test s_udp_us_036_an_empty_datagram ... ok
test s_udp_us_039_a_bad_checksum_is_malformed ... ok
test s_udp_us_035_no_socket_is_a_port_unreachable ... ok
test s_udp_us_038_no_checksum_is_delivered ... ok
test s_udp_us_031_a_specific_socket_hears_no_broadcast ... ok
test s_udp_us_032_bound_any_hears_both_broadcasts ... ok
test s_udp_us_030_a_bound_any_socket_receives ... ok
test s_udp_us_033_mdns_arrives_with_its_group ... ok
test s_udp_017_a_closed_port_is_answered ... ok
test s_udp_us_037_source_port_zero ... ok
test s_udp_us_041_arrival_order ... ok
test s_udp_us_040_a_full_queue_drops_and_says_nothing ... ok
test s_udp_us_042_a_short_buffer_truncates ... ok
test s_udp_us_043_a_group_not_joined_never_reaches_udp ... ok
test s_udp_us_044_the_acquisition_exception ... ok
test s_udp_us_045_what_a_datagram_carries ... ok
test s_udp_us_046_refused_once ... ok
test s_udp_us_047_an_unconnected_socket_hears_no_error ... ok
test s_udp_us_048_an_error_for_no_socket ... ok
test s_udp_us_049_hard_and_soft ... ok
test s_udp_us_050_the_latest_error_wins ... ok
test s_udp_us_051_a_send_takes_the_error ... ok
test s_udp_us_052_the_whole_4_tuple_must_match ... ok
test s_udp_us_054_close_discards_what_was_received ... ok
test s_udp_us_056_prop_ip_options_never_surface ... ok
test s_udp_us_053_accepted_datagrams_outlive_close ... ok
test s_udp_us_055_prop_the_demultiplexer ... ok

test result: ok. 29 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

     Running tests/send.rs (target/debug/deps/send-84231b2e4c29ae88)

running 25 tests
test s_udp_us_014_connect_needs_a_source ... ok
test s_udp_us_018_reconnect ... ok
test s_udp_us_017_a_connected_socket_sends_to_its_peer ... ok
test s_udp_us_024_a_waiting_datagram_whose_route_goes_is_dropped ... ok
test s_udp_us_023_payload_sizes ... ok
test s_udp_us_021_broadcast_needs_permission ... ok
test s_udp_us_013_what_connect_refuses ... ok
test s_udp_us_015_a_connected_socket_hears_its_peer_alone ... ok
test s_udp_us_019_a_bound_socket_sends ... ok
test s_udp_us_024_the_source_address_must_be_ours ... ok
test s_udp_us_012_connect_fixes_the_local_address ... ok
test s_udp_us_020_what_send_refuses ... ok
test s_udp_us_022_multicast_ttl ... ok
test s_udp_us_016_connect_purges_strangers ... ok
test s_udp_us_025_a_full_queue_refuses ... ok
test s_udp_us_025_what_waits_for_a_next_hop_is_bounded_by_its_sockets_queue ... ok
test s_udp_us_026_a_datagram_waits_for_its_next_hop_in_its_socket_and_never_in_ip ... ok
test s_udp_us_026_datagrams_to_one_next_hop_leave_in_the_order_they_were_accepted ... ok
test s_udp_us_026_no_head_of_line_blocking ... ok
test s_udp_us_027_a_datagram_for_a_hop_ip_has_given_up_is_ips_refusal_at_its_turn ... ok
test s_udp_us_027_a_failed_next_hop_is_reported_once ... ok
test s_udp_us_027_an_unconnected_socket_is_told_nothing_and_nothing_is_kept_for_another_try ... ok
test s_udp_us_028_only_the_acquisition_socket_sends_from_nowhere ... ok
test s_udp_us_029_the_discover_byte_for_byte ... ok
test s_udp_us_053_a_closed_sockets_datagram_waits_for_its_next_hop_and_holds_back_no_other ... ok

test result: ok. 25 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_net_wire-873a39372d03d4d0)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/checksum.rs (target/debug/deps/checksum-7a13c52b35d9a298)

running 15 tests
test s_ck_003_zeros ... ok
test s_ck_002_empty_input ... ok
test s_ck_006_carry_of_a_carry ... ok
test s_ck_004_odd_length_pads_with_zero ... ok
test s_ck_001_rfc1071_worked_example ... ok
test s_ck_005_streaming_is_split_independent ... ok
test s_ck_009_verification_by_summing ... ok
test s_ck_010_negative_zero_verifies ... ok
test s_ck_008_long_pattern_even_and_odd ... ok
test s_ck_007_many_words_of_ones ... ok
test s_ck_018_tcp_length_is_the_transport_length ... ok
test s_ck_017_pseudo_header ... ok
test s_ck_019_udp_zero_is_sent_as_ffff ... ok
test s_ck_021_every_header_bit_flip_is_caught ... ok
test native_order_sum_matches_the_oracle_at_every_length_and_split ... ok

test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/icmp.rs (target/debug/deps/icmp-d2b0e731040b0b9d)

running 35 tests
test s_icmp_001_echo_request ... ok
test quote_total_length_below_its_header_is_refused ... ok
test s_icmp_002_echo_reply ... ok
test an_error_with_options_still_fits_576_bytes ... ok
test s_icmp_005_checksum_changed ... ok
test s_icmp_003_seven_bytes ... ok
test s_icmp_004_echo_without_data ... ok
test s_icmp_007_odd_data_length ... ok
test s_icmp_006_data_changed ... ok
test s_icmp_008_echo_code_1 ... ok
test s_icmp_009_port_unreachable ... ok
test s_icmp_012_rfc4884_length_byte ... ok
test s_icmp_011_fragmentation_needed_without_mtu ... ok
test s_icmp_010_fragmentation_needed ... ok
test s_icmp_013_unreachable_codes ... ok
test s_icmp_014_quote_of_19_bytes ... ok
test s_icmp_015_quote_short_of_8_payload_bytes ... ok
test s_icmp_016_quote_with_options ... ok
test s_icmp_017_quote_with_options_short ... ok
test s_icmp_018_quote_not_ipv4 ... ok
test s_icmp_019_quoted_checksum_not_verified ... ok
test s_icmp_020_rfc4884_padding_beyond_the_quoted_length ... ok
test s_icmp_021_time_exceeded ... ok
test s_icmp_022_parameter_problem ... ok
test s_icmp_023_redirect ... ok
test s_icmp_024_timestamp_request_refused_by_type ... ok
test s_icmp_025_timestamp_fields_are_never_read ... ok
test s_icmp_026_timestamp_reply_refused_by_type ... ok
test s_icmp_027_source_quench ... ok
test s_icmp_028_deprecated_types ... ok
test s_icmp_029_router_discovery ... ok
test s_icmp_030_unknown_types ... ok
test s_icmp_031_checksum_before_type ... ok
test s_icmp_047_echo_reply_to_odd_data ... ok
test s_icmp_048_unreachable_zeroes_unused_bytes ... ok

test result: ok. 35 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/igmp.rs (target/debug/deps/igmp-76044004b32d0d76)

running 29 tests
test igmp3_is_include_lists_its_sources ... ok
test igmp3_join_frame ... ok
test igmp3_records_layout ... ok
test igmp3_leave_current_and_unspecified_source ... ok
test s_igmp_002_v2_general_query ... ok
test s_igmp_004_v3_general_query ... ok
test s_igmp_001_v2_report ... ok
test s_igmp_003_v1_query ... ok
test s_igmp_005_v3_exponential_code ... ok
test s_igmp_006_v2_codes_are_linear ... ok
test s_igmp_007_v3_largest_code ... ok
test s_igmp_008_group_and_source_query ... ok
test s_igmp_009_sources_overrun ... ok
test s_igmp_010_bytes_after_sources_ignored ... ok
test s_igmp_011_query_of_9_to_11_bytes ... ok
test s_igmp_012_seven_bytes ... ok
test s_igmp_013_checksum_changed ... ok
test s_igmp_014_trailing_bytes_ignored ... ok
test s_igmp_015_checksum_covers_trailing_bytes ... ok
test s_igmp_016_query_group_unicast ... ok
test s_igmp_017_report_group_not_multicast ... ok
test s_igmp_018_leave ... ok
test s_igmp_019_v1_report_max_response_ignored ... ok
test s_igmp_020_v3_report_unsupported ... ok
test s_igmp_021_unknown_types ... ok
test s_igmp_022_checksum_before_type ... ok
test s_igmp_026_emit_join_frame ... ok
test s_igmp_027_emit_leave ... ok
test s_igmp_030_emitted_max_response_is_zero ... ok

test result: ok. 29 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/ipv4.rs (target/debug/deps/ipv4-4e4484d2e12319f3)

running 54 tests
test s_ip_002_minimal_datagram ... ok
test s_ip_003_nineteen_bytes ... ok
test s_ip_004_version_6 ... ok
test s_ip_005_version_5 ... ok
test s_ip_007_header_overrun ... ok
test s_ip_008_total_below_header ... ok
test s_ip_001_udp_datagram_fields ... ok
test s_ip_006_header_length_below_5 ... ok
test s_ip_009_total_zero ... ok
test s_ip_010_total_inside_options ... ok
test s_ip_011_total_overrun ... ok
test s_ip_012_truncated_fragment_is_truncated ... ok
test s_ip_013_link_padding_is_not_payload ... ok
test s_ip_014_padded_igmp_body ... ok
test s_ip_015_checksum_off_by_one ... ok
test s_ip_016_checksum_zero_is_checked ... ok
test s_ip_017_options_are_covered ... ok
test s_ip_018_payload_is_not_covered ... ok
test s_ip_019_reserved_flag_is_kept ... ok
test s_ip_020_df_and_mf ... ok
test s_ip_021_first_fragment ... ok
test s_ip_022_last_fragment ... ok
test s_ip_023_largest_offset ... ok
test s_ip_024_dscp_and_ecn ... ok
test s_ip_027_identification_of_atomic_datagram ... ok
test s_ip_028_largest_datagram ... ok
test s_ip_029_protocol_numbers ... ok
test s_ip_030_emit_udp_datagram ... ok
test s_ip_031_emit_router_alert ... ok
test s_ip_032_option_padding ... ok
test s_ip_033_forty_option_bytes ... ok
test s_ip_036_ttl_zero ... ok
test s_ip_037_invalid_sources ... ok
test s_ip_038_emit_over_junk ... ok
test s_ip_039_atomic_form ... ok
test s_ip_040_emit_dscp_and_ecn ... ok
test s_ipo_001_nops_and_eol_are_not_options ... ok
test s_ipo_002_record_route ... ok
test s_ipo_003_router_alert ... ok
test s_ipo_004_router_alert_length ... ok
test s_ipo_005_option_length_one ... ok
test s_ipo_006_option_length_zero_terminates ... ok
test s_ip_034_largest_total_length ... ok
test s_ipo_007_option_overrun ... ok
test s_ipo_008_kind_in_last_byte ... ok
test s_ipo_009_bytes_after_eol_ignored ... ok
test s_ipo_010_router_alert_without_eol ... ok
test s_ipo_011_unknown_kind_is_opaque ... ok
test s_ipo_012_option_filling_the_area ... ok
test s_ipo_013_option_past_a_full_area ... ok
test s_ipo_014_repeated_options_in_order ... ok
test s_ipo_015_stream_id_exposed ... ok
test s_ipo_016_security_option_exposed ... ok
test source_routes_cannot_be_built ... ok

test result: ok. 54 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/link.rs (target/debug/deps/link-c4da610f133c46bf)

running 43 tests
test s_arp_003_probe ... ok
test s_arp_002_reply ... ok
test s_arp_001_request ... ok
test s_arp_004_announcement ... ok
test s_arp_006_seven_bytes ... ok
test s_arp_010_hardware_length_7 ... ok
test s_arp_012_types_before_lengths ... ok
test s_arp_007_ieee802_hardware ... ok
test s_arp_009_protocol_ipv6 ... ok
test s_arp_008_hardware_zero ... ok
test s_arp_014_padding_ignored ... ok
test s_arp_015_request_target_mac_exposed ... ok
test s_arp_011_protocol_length_16 ... ok
test s_arp_005_twenty_seven_bytes ... ok
test s_arp_013_other_operations ... ok
test s_arp_019_emit_request ... ok
test s_arp_020_emit_reply ... ok
test s_arp_021_emit_probe_and_announcement ... ok
test s_arp_022_interface_mac_is_individual ... ok
test s_eth_001_arp_request_frame ... ok
test s_eth_002_udp_frame_without_padding ... ok
test s_eth_003_thirteen_bytes_truncated ... ok
test s_eth_004_header_alone_has_an_empty_body ... ok
test s_eth_005_short_frame_accepted ... ok
test s_eth_006_length_1500_is_a_length_frame ... ok
test s_eth_007_length_0_is_a_length_frame ... ok
test s_eth_008_type_1501_is_undefined ... ok
test s_eth_009_type_1535_is_undefined ... ok
test s_eth_010_type_0600_is_another_ethertype ... ok
test s_eth_013_customer_tag ... ok
test s_eth_014_priority_tag ... ok
test s_eth_015_service_then_customer_tag ... ok
test s_eth_016_three_tags ... ok
test s_eth_017_truncated_tag ... ok
test s_eth_018_inner_length_field ... ok
test s_eth_019_9100_is_not_a_tag ... ok
test s_eth_020_group_source ... ok
test s_eth_021_destination_classes ... ok
test s_eth_026_emit_arp_request ... ok
test s_eth_027_emit_over_junk ... ok
test s_eth_028_minimum_body_padding ... ok
test s_eth_029_maximum_body ... ok
test s_eth_031_multicast_mac_mapping ... ok

test result: ok. 43 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/roundtrip.rs (target/debug/deps/roundtrip-fc05914cb8bc3882)

running 9 tests
test s_rt_002_canonical_vectors_rebuild ... ok
test s_rt_001_every_vector_reemits_raw ... ok
test s_rt_009_zero_copy ... ok
test s_rt_008_position_independence ... ok
test s_rt_006_truncation_sweep ... ok
test s_rt_007_single_bit_flips ... ok
test s_rt_003_build_then_parse ... ok
test s_rt_004_canonical_idempotence ... ok
test s_rt_005_totality_structured_fuzz ... ok

test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.52s

     Running tests/transport.rs (target/debug/deps/transport-1f8879561150984f)

running 89 tests
test s_tcp_004_sack ... ok
test s_tcp_006_rst ... ok
test s_tcp_003_data ... ok
test s_tcp_007_fin ... ok
test s_tcp_002_syn_ack ... ok
test s_tcp_009_nineteen_bytes ... ok
test s_tcp_005_three_sack_blocks ... ok
test s_tcp_001_syn ... ok
test s_tcp_008_odd_length_verifies ... ok
test s_tcp_013_checksum_changed ... ok
test s_tcp_016_port_zero ... ok
test s_tcp_017_reserved_bits_kept ... ok
test s_tcp_015_wrong_source_address ... ok
test s_tcp_010_data_offset_below_5 ... ok
test s_tcp_014_checksum_zero_is_checked ... ok
test s_tcp_011_data_offset_past_the_bytes ... ok
test s_tcp_012_data_offset_15_on_59_bytes ... ok
test s_tcp_018_acknowledgment_without_ack ... ok
test s_tcp_019_urgent_pointer_only_with_urg ... ok
test s_tcp_020_any_flag_combination ... ok
test s_tcp_021_ece_and_cwr ... ok
test s_tcp_022_syn_with_data ... ok
test s_tcp_024_window_is_unsigned ... ok
test s_tcp_025_data_offset_before_checksum ... ok
test s_tcp_026_checksum_before_options ... ok
test s_topt_001_no_options ... ok
test s_tcp_023_largest_segment ... ok
test s_topt_002_timestamps_alone ... ok
test s_topt_003_mss_at_odd_offset ... ok
test s_topt_004_eol_first ... ok
test s_topt_005_bytes_after_eol_ignored ... ok
test s_topt_006_mss_length ... ok
test s_topt_007_window_scale_length ... ok
test s_topt_008_sack_permitted_length ... ok
test s_topt_009_timestamps_length ... ok
test s_topt_011_sack_without_blocks ... ok
test s_topt_010_sack_lengths ... ok
test s_topt_012_md5_skipped ... ok
test s_topt_013_unknown_kinds_skipped ... ok
test s_topt_014_length_zero ... ok
test s_topt_015_length_one ... ok
test s_topt_016_timestamps_past_the_area ... ok
test s_topt_017_kind_in_last_byte ... ok
test s_topt_018_repeats ... ok
test s_topt_019_window_scale_above_14 ... ok
test s_topt_020_mss_zero ... ok
test s_topt_021_syn_options_outside_a_syn ... ok
test s_topt_022_sack_in_a_syn ... ok
test s_topt_023_timestamps_in_a_syn ... ok
test s_topt_024_forty_nops ... ok
test s_topt_025_syn_without_timestamps ... ok
test s_tser_001_emit_syn ... ok
test s_tser_002_emit_syn_ack ... ok
test s_tser_003_emit_syn_without_timestamps ... ok
test s_tser_004_emit_syn_layouts ... ok
test s_tser_005_emit_data ... ok
test s_tser_006_emit_sack ... ok
test s_tser_007_sack_block_limits ... ok
test s_tser_009_window_shift_limit ... ok
test s_tser_010_emit_rst ... ok
test s_tser_011_emit_rst_with_timestamps ... ok
test s_tser_012_emitted_reserved_and_urgent_are_zero ... ok
test s_tser_013_emit_odd_segment ... ok
test s_tser_014_emit_over_junk ... ok
test s_tser_015_too_long ... ok
test s_udp_001_dns_query ... ok
test s_udp_002_ffff_verifies ... ok
test s_udp_003_seven_bytes ... ok
test s_udp_004_length_below_header ... ok
test s_udp_005_length_overrun ... ok
test s_udp_006_surplus_after_length_ignored ... ok
test s_udp_007_checksum_covers_only_the_length ... ok
test s_udp_008_no_checksum ... ok
test s_udp_009_no_checksum_catches_nothing ... ok
test s_udp_010_wrong_checksum ... ok
test s_udp_011_pseudo_header_catches_misdelivery ... ok
test s_udp_012_destination_port_zero ... ok
test s_udp_013_source_port_zero ... ok
test s_udp_014_largest_datagram ... ok
test s_udp_015_length_checked_before_checksum ... ok
test s_udp_019_emit_dns_query ... ok
test s_udp_020_emit_computed_zero_as_ffff ... ok
test s_udp_021_always_checksummed ... ok
test s_udp_022_too_long ... ok
test s_udp_023_zero_port_cannot_be_built ... ok
test s_udp_024_emit_hi ... ok
test tcp_pseudo_header_names_protocol_6 ... ok
test udp_pseudo_header_names_protocol_17 ... ok
test s_udp_016_the_one_undetectable_bit_flip ... ok

test result: ok. 89 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_osrelease-50dadd189bb5660e)

running 8 tests
test tests::a_dirty_x86_build_reads_so ... ok
test tests::a_file_that_is_not_text_is_refused ... ok
test tests::uname_names_a_dirty_tree ... ok
test tests::a_file_the_build_did_not_write_is_refused ... ok
test tests::what_the_build_writes_is_what_a_reader_reads ... ok
test tests::a_missing_or_doubled_field_is_refused_by_its_name ... ok
test tests::a_value_the_build_does_not_write_is_refused_by_its_field ... ok
test tests::every_file_the_build_writes_is_os_release ... ok

test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_pci-9bdc72ba04228e61)

running 75 tests
test af::tests::a_function_resets_only_with_both_bits ... ok
test af::tests::pending_is_bit_zero_of_status ... ok
test aperture::tests::nothing_is_inside_a_machine_that_named_no_window ... ok
test aperture::tests::the_window_an_extent_is_inside_is_the_one_named ... ok
test bar::tests::a_32_bit_memory_bar_is_its_own_whole_address ... ok
test bar::tests::a_64_bit_memory_bar_takes_the_register_after_it ... ok
test bar::tests::a_placement_moves_the_address_and_keeps_the_devices_own_bits ... ok
test bar::tests::a_sizing_mask_decodes_to_the_spec_size ... ok
test bar::tests::a_sizing_mask_that_describes_no_size_is_refused ... ok
test bar::tests::a_wide_bar_has_no_address_until_the_high_half_arrives ... ok
test bar::tests::a_wide_claim_in_the_last_slot_is_refused_by_name ... ok
test bar::tests::an_address_a_bar_cannot_hold_is_refused_by_name ... ok
test bar::tests::an_io_bar_whose_bit_2_is_clear_is_not_a_32_bit_memory_bar ... ok
test bar::tests::an_io_bar_whose_bit_2_is_set_is_not_a_64_bit_memory_bar ... ok
test bar::tests::an_unassigned_bar_is_refused_rather_than_mapped_at_zero ... ok
test bar::tests::every_io_bar_is_refused_whatever_the_bits_above_it_say ... ok
test bar::tests::prefetchable_is_read_and_is_not_part_of_the_address ... ok
test bar::tests::the_reserved_type_encodings_are_refused_by_name ... ok
test bar::tests::the_shapes_real_controllers_publish_still_decode ... ok
test bridge::tests::a_64_bit_prefetchable_window_is_its_upper_dwords_too ... ok
test bridge::tests::a_disabled_window_is_no_window ... ok
test bridge::tests::the_limit_names_the_last_megabyte_and_not_the_first_free_one ... ok
test bridge::tests::the_type_field_is_not_part_of_the_address ... ok
test caps::tests::a_forward_chain_is_followed_to_its_end ... ok
test caps::tests::a_pointer_below_the_standard_header_is_refused ... ok
test caps::tests::a_pointer_that_is_not_dword_aligned_is_refused ... ok
test caps::tests::a_pointer_to_a_visited_link_ends_the_walk ... ok
test caps::tests::the_terminator_ends_the_walk ... ok
test caps::tests::the_walk_is_bounded_by_the_distinct_offsets_it_can_hold ... ok
test express::tests::initiating_a_reset_preserves_the_rest_of_device_control ... ok
test express::tests::only_a_version_two_structure_holds_device_control_2 ... ok
test express::tests::only_bit_twenty_eight_says_a_function_resets ... ok
test express::tests::restoring_device_control_never_starts_a_reset ... ok
test msi::tests::a_function_without_per_vector_masking_offers_no_mask_register ... ok
test msi::tests::a_narrow_function_has_no_upper_address_register ... ok
test msi::tests::disabling_clears_the_enable_bit_and_nothing_else ... ok
test msi::tests::enabling_keeps_what_the_function_said_about_itself ... ok
test msi::tests::multiple_message_capable_is_an_exponent ... ok
test msi::tests::the_capable_field_is_not_the_enable_field ... ok
test msi::tests::the_layout_moves_with_the_address_width ... ok
test msix::tests::a_reserved_indicator_is_refused_rather_than_indexed ... ok
test msix::tests::a_table_past_the_address_space_is_refused_rather_than_wrapped ... ok
test msix::tests::an_entry_is_four_dwords_in_the_order_the_spec_gives_them ... ok
test msix::tests::an_unassigned_bar_is_refused_rather_than_written_at_its_offset ... ok
test msix::tests::bir_and_offset_share_one_register ... ok
test msix::tests::disabling_masks_as_well_and_keeps_the_size ... ok
test msix::tests::enabling_clears_the_function_wide_mask_and_keeps_the_size ... ok
test msix::tests::table_size_is_encoded_one_less_than_it_is ... ok
test msix::tests::the_control_bits_are_not_part_of_the_size ... ok
test msix::tests::the_indicator_is_not_added_to_the_offset ... ok
test placement::tests::a_released_address_is_offered_again ... ok
test placement::tests::a_reserved_address_is_never_offered_twice ... ok
test placement::tests::a_run_is_free_and_in_one_list_once ... ok
test placement::tests::a_run_is_offered_aligned_to_the_span_and_not_at_its_start ... ok
test placement::tests::a_run_that_straddles_a_windows_edge_offers_the_part_inside_it ... ok
test placement::tests::a_span_that_runs_past_a_window_is_not_inside_it ... ok
test placement::tests::an_extent_inside_another_opens_no_run ... ok
test placement::tests::edk2_offers_a_64_bit_bar_the_window_it_declared ... ok
test placement::tests::edk2s_32_bit_runs_are_the_ones_its_boot_printed ... ok
test placement::tests::edk2s_64_bit_runs_are_the_ones_its_boot_printed ... ok
test placement::tests::every_address_the_t14_offers_is_inside_the_window_its_firmware_named ... ok
test placement::tests::largest_run_first_still_offers_no_address_outside_a_window ... ok
test placement::tests::nothing_is_offered_where_firmware_named_no_window ... ok
test placement::tests::nothing_is_offered_where_nothing_fits ... ok
test placement::tests::taken_is_read_in_any_order_and_overlapping ... ok
test pm::tests::a_transition_changes_the_state_bits_and_clears_no_event ... ok
test pm::tests::no_soft_reset_is_bit_three_and_nothing_else ... ok
test probe::tests::a_function_the_table_knows_nothing_about_is_read_at_its_base ... ok
test probe::tests::a_transitional_virtio_id_is_not_a_modern_one ... ok
test probe::tests::neither_answer_of_an_unanswered_read_is_a_reference ... ok
test slot::tests::a_held_function_is_owned ... ok
test slot::tests::a_function_goes_back_to_its_own_residue_ahead_of_a_free_slot ... ok
test slot::tests::a_release_keeps_the_slot_only_for_a_residue ... ok
test slot::tests::a_second_function_takes_a_free_slot_and_never_anothers_residue ... ok
test slot::tests::other_functions_residues_are_no_free_slot ... ok

test result: ok. 75 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_phys-bbc990ee9e0e741f)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/phys.rs (target/debug/deps/phys-e8eddaefd0071f1e)

running 2 tests
test an_address_off_its_alignment_or_past_48_bits_is_no_address ... ok
test a_words_address_field_is_its_bits_from_the_alignment_to_47 ... ok

@Japabu

Japabu commented Oct 11, 2026

Copy link
Copy Markdown
Collaborator Author

ci-host, part 5 of 9, cargo run -- --ci host at ed538e7, exit 0, 79 steps green

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_ps2-865fc29c56dec46f)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/decode.rs (target/debug/deps/decode-b9d132b3ab6ece29)

running 20 tests
test a_device_reset_is_reported_and_aa_is_still_a_legal_head_byte ... ok
test a_healthy_stream_discards_nothing_and_leaves_no_byte_unaccounted ... ok
test a_sequence_is_pending_until_the_byte_that_ends_it ... ok
test a_stale_partial_is_abandoned_rather_than_completed ... ok
test a_stream_truncated_at_any_offset_resyncs_within_two_packets ... ok
test an_implausible_byte_at_a_boundary_costs_exactly_itself ... ok
test buttons_are_already_in_hid_order ... ok
test every_usage_the_rest_of_the_tree_names_is_reachable ... ok
test left_shift_break_is_not_read_as_a_reset ... ok
test deltas_are_nine_bit_and_dy_is_inverted ... ok
test make_and_break_and_the_e0_prefix ... ok
test no_legal_head_byte_is_ever_discarded ... ok
test overflow_drops_the_motion_and_keeps_the_buttons ... ok
test overrun_codes_report_lost_and_clear_the_prefix_state ... ok
test page_up_and_down_decode_to_their_hid_usages ... ok
test pause_consumes_exactly_six_bytes_and_emits_nothing ... ok
test printscreen_emits_one_usage_and_no_phantom_shift ... ok
test tables_hold_only_real_usages_and_no_duplicates ... ok
test the_iso_key_is_the_one_the_layouts_carry ... ok
test unmapped_scancodes_emit_nothing ... ok

test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/fuzz.rs (target/debug/deps/fuzz-10bab5efbca8d384)

running 4 tests
test a_lost_scancode_byte_never_wedges_the_prefix_state ... ok
test a_lost_byte_costs_exactly_the_packet_it_landed_in ... ok
test arbitrary_bytes_never_kill_the_mouse_decoder ... ok
test arbitrary_bytes_never_kill_the_key_decoder ... ok

test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s

     Running unittests src/lib.rs (target/debug/deps/toyos_quiesce-b21da58b4db502c9)

running 8 tests
test tests::every_record_reads_back_as_itself_off_a_line_of_log ... ok
test tests::every_other_thread_stops_the_log_writer_included ... ok
test tests::a_sweep_with_nothing_left_running_ends_the_wait_however_long_it_took ... ok
test tests::the_budget_ends_the_wait_and_the_boundary_is_inclusive ... ok
test tests::an_empty_machine_is_already_stopped ... ok
test tests::a_line_that_is_not_a_record_is_refused_rather_than_half_read ... ok
test tests::the_caller_is_never_stopped_and_its_siblings_always_are ... ok
test tests::the_record_names_the_shortfall_only_when_there_is_one ... ok

test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_random-9f6c8470e91e6f4e)

running 12 tests
test tests::a_quarter_round_moves_its_four_words_of_the_state_and_no_other ... ok
test tests::a_draw_is_the_blocks_the_module_states ... ok
test tests::a_taken_seed_leaves_zeros_where_it_was_handed ... ok
test tests::a_stream_does_not_repeat_where_32_bits_of_counter_end ... ok
test tests::bytes_a_failed_source_leaves_are_no_seed ... ok
test tests::bytes_of_another_length_are_no_seed ... ok
test tests::a_wipe_leaves_zeros ... ok
test tests::the_block_function_gives_appendix_a_1s_keystreams ... ok
test tests::the_key_a_draw_was_made_under_is_gone_when_it_returns ... ok
test tests::the_quarter_round_is_rfc_8439s ... ok
test tests::the_block_function_is_rfc_8439s ... ok
test tests::every_seed_mixed_moves_the_draw_and_none_replaces_another ... ok

test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_rootimage-8779a7eb044990fc)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/chunk.rs (target/debug/deps/chunk-da24920ad35d6108)

running 12 tests
test a_chunk_larger_than_the_extent_is_one_request_of_the_extent ... ok
test a_granularity_dividing_the_bound_leaves_it_alone ... ok
test a_granularity_past_the_bound_is_not_taken ... ok
test an_odd_granularity_rounds_the_bound_down_to_a_common_multiple ... ok
test no_granularity_is_the_bound ... ok
test a_chunk_off_the_block_is_refused - should panic ... ok
test a_bound_off_the_alignment_is_refused - should panic ... ok
test four_kib_blocks_advance_the_lba_by_their_own_size ... ok
test a_failing_last_partial_chunk_names_its_own_length ... ok
test a_failing_chunk_is_named_by_its_first_lba_and_nothing_after_it_is_asked ... ok
test the_last_chunk_is_whatever_is_left ... ok
test an_exact_multiple_is_whole_chunks ... ok

test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/handoff.rs (target/debug/deps/handoff-05e3785a6aaf6a77)

running 9 tests
test a_start_that_is_not_block_aligned_is_refused ... ok
test an_extent_ending_one_page_past_the_descriptor_is_refused ... ok
test an_extent_inside_one_descriptor_is_held ... ok
test a_length_that_is_not_whole_blocks_is_refused ... ok
test an_extent_whose_end_overflows_is_refused ... ok
test an_extent_starting_one_page_before_the_descriptor_is_refused ... ok
test an_extent_straddling_two_adjacent_descriptors_of_the_type_is_refused ... ok
test an_extent_inside_a_descriptor_of_another_type_is_refused ... ok
test the_whole_descriptor_is_held ... ok

test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_sha2-6b81ee0d0b8ee801)

running 5 tests
test tests::sha256_byte_vectors ... ok
test tests::sha512_byte_vectors ... ok
test tests::sha256_monte_carlo ... ok
test tests::sha512_monte_carlo ... ok
test tests::every_length_to_4096_in_random_splits_agrees_with_sha2 ... ok

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s

     Running unittests src/lib.rs (target/debug/deps/toyos_sha2_hw-3034dc1b230c78c7)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_smmu-2aa83d2753d47320)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/encodings.rs (target/debug/deps/encodings-1a7c61e22a21a4b2)

running 27 tests
test a_descriptor_or_a_mapping_past_the_units_output_size_is_refused ... ok
test a_context_descriptor_walks_ttb0_alone_under_its_own_asid ... ok
test a_context_descriptors_ips_is_the_units_output_size_and_no_more_than_48_bits ... ok
test a_descriptor_read_back_is_a_table_only_above_level_3 ... ok
test a_queue_is_inside_the_units_size_and_aligned_to_its_own ... ok
test a_command_error_is_the_cons_registers_err_field_alone ... ok
test a_queues_indexes_say_empty_full_and_slot_as_a_count_would ... ok
test a_stream_table_is_linear_inside_the_units_streams_and_aligned_to_its_size ... ok
test a_reserved_size_is_refused_and_the_largest_defined_one_is_not ... ok
test a_table_or_queue_past_the_units_output_size_is_refused ... ok
test a_translating_entry_is_stage_1_alone_through_one_context_descriptor ... ok
test a_translation_fault_names_its_stream_its_address_and_whether_it_wrote ... ok
test a_unit_that_is_not_coherent_is_refused_unless_the_iort_says_it_is ... ok
test a_unit_that_lacks_what_the_configuration_needs_is_refused_by_name ... ok
test a_units_output_size_is_idr5s_and_bounds_what_it_is_given ... ok
test a_units_sizes_are_read_from_their_own_fields ... ok
test an_aborting_entry_is_valid_and_configured_to_pass_nothing ... ok
test an_address_past_the_input_or_off_the_leafs_alignment_has_no_plan ... ok
test an_asid_is_no_wider_than_the_units ... ok
test an_error_is_active_while_the_two_registers_differ_in_its_bit ... ok
test consuming_an_event_acknowledges_an_overflow_and_never_raises_one ... ok
test each_command_holds_its_opcode_and_parameters_where_its_diagram_has_them ... ok
test memory_is_a_level_2_block_only_its_own_context_and_an_unprivileged_device_reach ... ok
test the_control_values_hold_each_field_where_its_register_has_it ... ok
test the_doorbell_is_one_level_3_page_of_device_memory ... ok
test the_registers_sit_where_the_register_overview_has_them ... ok
test every_event_number_is_its_own_code_and_only_a_fault_carries_an_attempt ... ok

test result: ok. 27 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_ssh-566d9a2689c0936e)

running 6 tests
test wire::tests::a_reader_refuses_by_the_fields_name ... ok
test base64::tests::rfc_4648_vectors ... ok
test wire::tests::an_mpint_is_written_as_rfc_4251_spells_it ... ok
test hostkey::tests::a_key_ssh_keygen_minted_reads_with_its_fingerprint ... ok
test hostkey::tests::rfc_8032_vectors ... ok
test hostkey::tests::a_key_that_is_not_one_is_refused_by_name ... ok

test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/fuzz.rs (target/debug/deps/fuzz-8a8e0294ae4a9d94)

running 2 tests
test every_bent_recording_is_total_and_a_bend_before_the_login_prevents_it ... ok
test every_session_is_total_and_none_logs_in_without_a_right_signature ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.67s

     Running tests/refusals.rs (target/debug/deps/refusals-a176d223b719462a)

running 17 tests
test a_listed_key_is_asked_to_sign_and_its_signature_logs_in ... ok
test every_other_method_is_refused_by_name ... ok
test a_re_exchange_holds_output_until_its_newkeys ... ok
test an_identification_line_is_held_to_rfc_4253 ... ok
test an_rsa_key_is_refused_by_name ... ok
test six_failures_end_the_session ... ok
test the_authorizer_is_asked_again_with_the_signature ... ok
test an_unlisted_key_is_refused_at_the_offer_and_signed ... ok
test a_channel_serves_one_exec_and_nothing_else ... ok
test a_signature_over_anything_else_is_refused ... ok
test the_first_exchange_is_held_to_its_rules ... ok
test nothing_but_authentication_is_taken_before_it ... ok
test a_closed_channel_is_gone ... ok
test a_packet_is_held_to_its_caps ... ok
test a_tampered_sealed_packet_is_refused_in_silence ... ok
test the_windows_bound_both_sides ... ok
test a_channel_message_is_held_to_its_channel ... ok

test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

     Running tests/replay.rs (target/debug/deps/replay-817a887ffa660c3d)

running 9 tests
test the_keys_derived_from_a_recorded_exchange_open_what_openssh_sealed ... ok
test a_replay_under_another_seed_does_not_open ... ok
test a_key_the_server_does_not_name_is_refused_at_the_offer ... ok
test openssh_holding_only_an_rsa_key_offers_none ... ok
test an_exec_openssh_ran_replays ... ok
test a_forwarding_channel_is_refused_by_name ... ok
test a_terrapin_injection_into_the_first_exchange_is_refused ... ok
test an_exec_fed_stdin_replays ... ok
test a_session_the_client_rekeyed_three_times_replays ... ok

test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

     Running tests/vectors.rs (target/debug/deps/vectors-ffd56c0623054122)

running 2 tests
test rfc_7748_section_6_1 ... ok
test a_client_key_that_makes_a_zero_secret_is_refused ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_swap-eb86d25b0b4f6df5)

running 5 tests
test tests::a_request_round_trips_and_a_path_it_did_not_stage_is_refused ... ok
test tests::an_installed_binary_is_named_by_its_service_under_its_digest ... ok
test tests::every_word_is_spelled_once ... ok
test tests::the_digest_is_sha256 ... ok
test tests::verify_refuses_other_bytes_and_names_both_digests ... ok

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_symbols-3d77fffbe8378355)

running 6 tests
test tests::a_name_past_head_plus_tail_is_elided ... ok
test tests::a_short_name_is_untouched ... ok
test tests::file_range_refuses_an_extent_past_the_end ... ok
test tests::file_range_answers_an_extent_wholly_inside ... ok
test tests::file_range_refuses_an_extent_the_addition_overflows ... ok
test tests::locate_refuses_bytes_too_short_for_a_file_header ... ok

test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/frame.rs (target/debug/deps/frame-f15e1316f09dd2d3)

running 12 tests
test a_build_id_is_one_to_32_bytes ... ok
test a_line_that_is_no_frame_is_none ... ok
test a_frame_cut_at_any_byte_is_not_that_frame ... ok
test a_name_holding_the_grammars_bytes_reads_back_whole ... ok
test an_escape_no_encoder_writes_is_refused ... ok
test an_id_that_is_not_lowercase_hex_bytes_is_refused ... ok
test an_offset_is_in_the_files_addresses ... ok
test the_kernels_exact_line ... ok
test an_elided_name_keeps_offset_and_id_and_is_refused ... ok
test every_byte_below_space_reads_back ... ok
test a_frame_reads_back_as_written ... ok
test no_line_panics_the_reader ... ok

test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.17s

     Running tests/name.rs (target/debug/deps/name-824dc79ccb12b2ef)

running 7 tests
test a_real_binarys_offset_names_its_function ... ok
test a_file_that_cannot_name_says_why ... ok
test a_name_no_build_id_vouches_for_is_marked_unchecked ... ok
test another_build_is_refused_by_name ... ok
test the_build_the_record_names_is_the_one_named ... ok
test every_function_names_what_object_reads ... ok
test no_corrupted_file_panics_the_namer ... ok

test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s

     Running tests/real.rs (target/debug/deps/real-ab8d37aba9a537d2)

running 3 tests
test a_file_header_locate_cannot_read_answers_none ... ok
test locate_finds_the_same_tables_readelf_reports ... ok
test a_real_binarys_own_functions_resolve_to_their_own_names ... ok

test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_tco-b6266fa91f28306e)

running 2 tests
test tests::the_lockup_bound_follows_the_deadline_the_boot_named ... ok
test tests::a_bound_is_read_a_malformed_one_is_not_silence ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/decode.rs (target/debug/deps/decode-606f992d567079be)

running 11 tests
test no_two_rows_name_one_device ... ok
test a_bound_becomes_the_timer_whose_expiries_do_not_outrun_it ... ok
test the_declared_control_words_run_and_halt_the_timer ... ok
test a_base_the_block_cannot_live_at_is_refused_by_name ... ok
test an_absent_device_reading_all_ones_names_no_port ... ok
test a_machine_no_row_names_is_refused_rather_than_guessed ... ok
test the_last_register_has_to_end_inside_the_port_space ... ok
test the_loaders_bound_is_exact_under_ten_seconds_and_reaches_the_hardware ... ok
test the_q35_row_reaches_the_port_qemu_puts_the_block_at ... ok
test the_register_offsets_are_ich9_tco_hs ... ok
test the_tiger_lake_row_takes_its_base_from_the_smbus_function ... ok

test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_tmpdir-cdc83da0c40509c3)

running 2 tests
test tests::a_directory_the_sweep_cannot_remove_costs_no_process_but_this_one ... ok
test tests::a_held_global_lock_times_out_naming_its_holder ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s

     Running tests/reclaim.rs (target/debug/deps/reclaim-3028b35fdf6e62d7)

running 7 tests
test holder ... ok
test a_directory_goes_on_a_return_and_on_a_panic ... ok
test a_killed_process_is_reclaimed_and_a_live_one_is_never_touched ... ok
test a_root_without_an_owner_goes_and_nothing_else_is_touched ... ok
test an_adopted_root_goes_with_its_adopter ... ok
test making_a_root_waits_for_global ... ok
test removing_a_root_waits_for_global ... ok

test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.08s

     Running unittests src/lib.rs (target/debug/deps/toyos_trace-221dc2a8c8afb444)

running 5 tests
test tests::a_kind_the_abi_does_not_name_is_refused_by_its_number ... ok
test tests::a_task_event_with_no_task_is_refused ... ok
test tests::every_kind_decodes_with_what_its_data_says ... ok
test tests::a_wake_names_its_task_and_prints_when_on_which_cpu ... ok
test tests::thread_zero_is_a_thread_and_no_thread_is_said ... ok

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_transport-6991df383ae0da41)

running 10 tests
test arena::tests::an_arena_is_whole_slots_after_the_header ... ok
test inflight::tests::a_tag_is_answered_once_and_its_slot_takes_a_new_one ... ok
test arena::tests::a_run_a_peer_names_is_inside_the_arena ... ok
test queue::tests::a_head_stepped_past_each_push_is_refused_at_the_depth ... ok
test inflight::tests::an_end_answers_every_tag_once_and_a_late_completion_nothing ... ok
test queue::tests::a_peer_cursor_out_of_reach_is_a_violation ... ok
test queue::tests::a_tail_stepped_past_each_pop_is_refused_at_the_depth ... ok
test queue::tests::an_entry_is_nobodys_before_it_is_published ... ok
test queue::tests::the_ring_wraps_and_counts_its_space ... ok
test inflight::tests::a_slot_refilled_past_sixteen_bits_refuses_its_first_tag ... ok

test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/loom.rs (target/debug/deps/loom-06053d5823929c8c)

running 3 tests
test a_published_entry_is_read_whole ... ok
test a_hostile_producer_yields_entries_or_a_violation ... ok
test a_hostile_consumer_yields_room_or_a_violation ... ok

test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s

     Running unittests src/lib.rs (target/debug/deps/toyos_tsc-9daa5a94cecbaed8)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_untrusted-25e0a33e0225bc57)

running 11 tests
test tests::an_empty_table_indexes_nothing ... ok
test tests::a_length_may_equal_its_bound_where_an_index_may_not ... ok
test tests::an_index_is_below_the_table_it_indexes ... ok
test tests::a_value_whose_low_bits_are_in_range_is_still_out_of_range ... ok
test tests::a_refusal_says_which_number_and_which_bound ... ok
test tests::asking_whether_it_is_a_known_value_is_not_an_exit ... ok
test tests::decoding_keeps_the_provenance ... ok
test tests::every_width_widens_rather_than_wrapping ... ok
test tests::exactly_refuses_by_naming_both_numbers ... ok
test tests::it_is_the_integer_it_wraps ... ok
test tests::two_untrusted_values_compare_with_each_other ... ok

test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_update-bbc583537f05424f)

running 42 tests
test floor::tests::a_runtime_variable_that_stays_is_refused ... ok
test floor::tests::only_not_found_is_no_variable ... ok
test policy::tests::a_boot_tries_the_marked_slot_first_and_the_other_only_if_there_is_one ... ok
test policy::tests::the_floor_admits_its_own_version_and_above_and_only_rises ... ok
test floor::tests::only_the_loaders_own_variable_is_a_floor_and_nothing_else_is_none ... ok
test record::tests::a_hang_kills_only_an_unproven_image ... ok
test policy::tests::an_update_must_be_newer_than_what_runs ... ok
test policy::tests::every_word_is_one_parameter_token ... ok
test floor::tests::a_loader_deletes_the_stale_floors_of_its_scope_and_never_the_owners ... ok
test floor::tests::a_floor_is_named_for_its_key_and_scope ... ok
test image::tests::a_bent_header_is_refused_by_name ... ok
test image::tests::a_header_reads_back_as_it_was_written ... ok
test record::tests::the_first_write_credits_no_image ... ok
test record::tests::how_a_boot_ended_is_what_it_is_recorded_as ... ok
test record::tests::a_record_reads_back_and_anothers_is_refused ... ok
test image::tests::an_image_splits_into_exactly_its_sections ... ok
test repo::tests::a_time_is_one_that_exists_and_reads_back ... ok
test repo::tests::an_archive_past_its_length_or_not_its_hash_is_refused ... ok
test repo::tests::a_document_that_is_not_the_format_is_refused_by_line ... ok
test repo::tests::base64_has_one_spelling ... ok
test repo::tests::a_repository_the_renderer_writes_is_one_the_client_accepts ... ok
test repo::tests::a_machines_root_at_the_images_version_with_other_bytes_is_refused ... ok
test repo::tests::a_document_past_its_cap_is_refused_unread ... ok
test repo::tests::a_machines_newer_root_holds_though_the_mirror_withholds_it ... ok
test sig::tests::the_message_is_sshsigs_signed_data ... ok
test slots::tests::a_grant_claims_only_an_idle_slot_on_the_running_disk ... ok
test slots::tests::a_table_reads_back_and_a_bent_one_is_refused ... ok
test slots::tests::moving_the_mark_is_atomic_against_a_torn_copy ... ok
test slots::tests::the_checksum_is_crc32 ... ok
test slots::tests::the_idle_slot_is_the_one_whose_root_the_kernel_does_not_hold ... ok
test repo::tests::a_root_not_signed_by_the_previous_threshold_is_refused ... ok
test repo::tests::a_signature_in_another_namespace_is_refused ... ok
test repo::tests::targets_not_matching_the_timestamp_are_refused ... ok
test repo::tests::a_root_at_the_last_version_is_refused ... ok
test sig::tests::rfc_8032_vectors_verify_and_a_flipped_bit_does_not ... ok
test repo::tests::a_role_version_below_the_held_one_is_refused ... ok
test repo::tests::a_rotated_root_is_walked_and_drops_the_old_keys_floors ... ok
test repo::tests::a_duplicated_signature_does_not_meet_a_threshold ... ok
test repo::tests::a_lower_sequence_or_a_reissued_one_is_refused ... ok
test repo::tests::the_same_version_with_other_bytes_is_refused ... ok
test repo::tests::expired_metadata_is_refused_with_both_times ... ok
test repo::tests::a_chain_past_the_walk_bound_is_refused ... ok

test result: ok. 42 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s

     Running tests/repo_oracle.rs (target/debug/deps/repo_oracle-c7401d7067e4c004)

running 1 test
test a_repository_ssh_keygen_signed_is_accepted_and_a_bent_one_is_not ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/sshsig_oracle.rs (target/debug/deps/sshsig_oracle-33c7c42a93fce810)

running 1 test
test a_header_ssh_keygen_signed_verifies_and_a_bent_one_does_not ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_usbhid-58f44a93ce34affd)

running 15 tests
test keyboard::tests::a_keyboard_leaving_releases_everything_it_held_and_nothing_else ... ok
test keyboard::tests::modifiers_come_first_then_releases_then_presses ... ok
test keyboard::tests::a_report_is_a_set_of_keys_and_not_a_list_of_slots ... ok
test keyboard::tests::a_fault_usage_is_refused_and_the_keys_held_stay_held ... ok
test pointer::tests::a_mouse_report_is_read_as_appendix_b_lays_it_out ... ok
test keyboard::tests::reports_qemu_sent_read_as_the_keys_that_were_pressed ... ok
test pointer::tests::a_tablet_position_off_the_surface_is_refused ... ok
test pointer::tests::a_report_of_a_length_its_layout_does_not_have_is_refused ... ok
test pointer::tests::a_tablet_report_is_its_position_little_endian ... ok
test keyboard::tests::a_rollover_report_believes_its_modifiers_and_not_its_slots ... ok
test keyboard::tests::a_report_is_read_as_appendix_b_lays_it_out ... ok
test pointer::tests::reports_qemu_sent_read_as_the_motion_that_was_sent ... ok
test keyboard::tests::a_report_of_any_other_length_is_refused ... ok
test pointer::tests::every_report_is_read_or_refused_and_nothing_else ... ok
test keyboard::tests::every_report_is_believed_or_refused_and_nothing_else ... ok

test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s

     Running unittests src/lib.rs (target/debug/deps/toyos_userbound-e5ac5a06375726fd)

running 43 tests
test fault::tests::a_ring_is_only_ever_what_cs_said ... ok
test place::tests::a_full_window_is_a_refusal_for_a_span_that_could_fit ... ok
test place::tests::a_hole_between_regions_takes_exactly_span_and_guard ... ok
test place::tests::a_length_near_the_top_of_u64_is_refused_and_not_summed ... ok
test place::tests::a_span_from_a_wider_window_is_refused_by_a_narrower_one ... ok
test place::tests::a_span_is_whole_pages ... ok
test place::tests::a_region_at_or_above_the_ceiling_bounds_nothing ... ok
test place::tests::a_zero_length_is_refused ... ok
test place::tests::nothing_is_placed_below_the_floor ... ok
test place::tests::placement_is_top_down_with_the_guard_above ... ok
test place::tests::a_window_reaching_the_last_page_of_the_user_half_is_a_kernel_bug - should panic ... ok
test place::tests::the_largest_span_is_the_window_less_one_guard ... ok
test place::tests::a_window_without_room_for_its_guard_is_a_kernel_bug - should panic ... ok
test place::tests::a_window_not_2_mib_aligned_is_a_kernel_bug - should panic ... ok
test port::tests::a_declared_run_refuses_every_run_that_shares_a_port_with_it ... ok
test port::tests::a_full_declaration_refuses_one_more_run ... ok
test port::tests::a_fresh_bitmap_refuses_every_port_and_ends_in_ones ... ok
test port::tests::a_refused_access_names_the_first_port_it_may_not_touch ... ok
test port::tests::a_run_is_never_empty_and_never_past_the_last_port ... ok
test port::tests::a_held_row_opens_its_ports_and_no_other ... ok
test port::tests::the_last_port_of_the_space_opens_without_touching_the_end_byte ... ok
test port::tests::a_switch_to_a_process_holding_nothing_closes_the_row ... ok
test segment::tests::a_read_only_page_between_writable_ones_refuses_a_write_only ... ok
test segment::tests::a_run_that_cannot_be_pinned_refuses_the_window_and_leaves_nothing_pinned ... ok
test segment::tests::a_range_is_looked_up_once_per_leaf ... ok
test segment::tests::an_empty_or_kernel_window_is_refused_before_the_walk ... ok
test segment::tests::an_absent_page_anywhere_refuses_the_window ... ok
test span::tests::a_kernel_address_is_not_a_user_address ... ok
test span::tests::a_range_ending_past_the_bound_is_refused_and_a_wrapping_one_too ... ok
test span::tests::a_vaddr_min_above_the_base_cannot_rebase ... ok
test span::tests::a_zero_sized_object_is_nothing_to_dereference ... ok
test span::tests::an_entry_is_an_address_of_the_user_half_and_nothing_else ... ok
test span::tests::an_image_at_vaddr_zero_rebases_to_the_base_itself ... ok
test span::tests::an_image_that_reaches_the_last_page_of_the_user_half_is_refused ... ok
test span::tests::an_object_is_refused_for_its_alignment_before_anything_else ... ok
test span::tests::an_object_may_not_end_past_the_bound ... ok
test segment::tests::frames_in_reverse_are_one_segment_per_leaf ... ok
test span::tests::no_type_may_cross_a_2_mib_boundary ... ok
test segment::tests::frames_in_order_are_one_segment ... ok
test segment::tests::the_segments_are_the_maximal_runs_and_cover_the_window_exactly ... ok
test segment::tests::every_run_is_pinned_until_the_window_is_dropped ... ok
test segment::tests::a_read_across_shuffled_frames_gets_the_bytes_at_their_addresses ... ok
test segment::tests::a_write_across_shuffled_frames_lands_where_a_ring_3_load_reads_it ... ok

test result: ok. 43 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.62s

     Running tests/firmware.rs (target/debug/deps/firmware-875dcd7c709e4339)

running 26 tests
test a_byte_for_smi_cmd_is_a_firmware_call_unless_the_fadt_names_it ... ok
test a_configuration_read_is_held_to_the_window_and_to_one_register ... ok
test a_later_window_is_held_as_the_first_is ... ok
test a_memory_bar_is_refused_where_firmware_types_its_range_as_its_own ... ok
test a_port_answers_as_its_declaration_says ... ok
test a_sleep_type_is_three_bits_and_lands_only_in_its_field ... ok
test a_smi_cmd_that_is_the_reset_register_keeps_the_resets_byte ... ok
test a_write_that_reaches_smi_cmd_and_is_no_byte_to_it_is_refused ... ok
test a_wide_access_is_held_to_every_port_it_spans ... ok
test an_address_in_the_ecam_window_is_a_configuration_access_whatever_the_map_types_it ... ok
test an_unlisted_address_below_1_mib_is_refused_whatever_the_range_registers_answer ... ok
test an_unlisted_register_is_read_where_it_is_uncached_and_never_written ... ok
test every_configuration_write_is_refused_by_one_name ... ok
test every_other_type_and_an_unlisted_address_is_refused_with_its_type ... ok
test every_page_a_window_the_kernel_drives_lies_in_is_refused_inside_any_type ... ok
test memory_past_what_the_kernel_maps_is_refused ... ok
test memory_any_usable_range_holds_is_refused_whatever_lists_it_first ... ok
test no_unlisted_address_is_read_where_a_cpus_range_registers_differ ... ok
test nvs_and_reserved_memory_pass_both_ways_to_their_last_byte_and_no_further ... ok
test ram_is_refused_both_ways_whatever_usable_type_it_is ... ok
test runtime_services_code_is_refused_both_ways ... ok
test runtime_services_data_is_read_as_the_tables_memory_is_and_never_written ... ok
test the_facs_is_read_and_its_bytes_are_never_written ... ok
test the_lock_word_is_exchanged_only_where_all_four_bytes_are_the_firmwares_own ... ok
test the_tables_memory_is_read_and_never_written ... ok
test the_kernel_admits_a_fixed_few_firmware_calls_in_any_period ... ok

test result: ok. 26 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_virtio-7636a0b5fd96be30)

running 39 tests
test tests::a_device_missing_a_structure_is_refused_by_its_name ... ok
test tests::a_device_that_never_finishes_its_reset_is_refused_and_written_nothing_more ... ok
test tests::a_device_that_does_not_keep_features_ok_is_refused_and_told_so ... ok
test tests::a_descriptor_table_the_device_rewrote_into_a_loop_is_never_followed ... ok
test tests::a_32_bit_field_is_read_32_bits_wide_and_only_inside_the_structure ... ok
test tests::a_chain_is_whole_before_its_index_and_its_index_before_its_notification ... ok
test tests::a_device_without_version_1_is_refused_and_told_so ... ok
test tests::a_field_past_the_device_structure_is_refused_and_not_read ... ok
test tests::a_function_without_a_capability_list_has_no_vendor_capability ... ok
test tests::a_head_past_the_table_is_refused ... ok
test tests::a_head_with_no_chain_in_flight_is_refused ... ok
test tests::a_link_into_the_header_or_round_the_list_is_refused ... ok
test tests::a_notification_is_the_queues_index_at_the_queues_address ... ok
test tests::a_new_queue_zeroes_its_parts_and_nothing_else ... ok
test tests::a_notify_offset_outside_the_notification_structure_is_refused ... ok
test tests::a_published_chain_is_what_the_device_reads ... ok
test tests::a_queue_shallower_than_the_drivers_rings_is_refused ... ok
test tests::a_refused_element_does_not_hide_the_ones_behind_it ... ok
test tests::a_refused_read_ends_the_walk_by_the_claims_own_word ... ok
test tests::a_part_off_its_alignment_is_the_drivers_mistake - should panic ... ok
test tests::a_chain_on_a_queue_the_device_was_never_given_is_the_drivers_mistake - should panic ... ok
test tests::a_queue_size_that_is_no_power_of_two_is_the_drivers_mistake - should panic ... ok
test tests::a_chain_past_the_table_is_the_drivers_mistake - should panic ... ok
test tests::a_readable_element_after_a_writable_one_is_the_drivers_mistake - should panic ... ok
test tests::a_chain_over_a_descriptor_in_flight_is_the_drivers_mistake - should panic ... ok
test tests::a_ring_past_the_grant_is_the_drivers_mistake - should panic ... ok
test tests::a_structure_its_bar_does_not_hold_is_refused_and_never_reached ... ok
test tests::a_used_element_is_read_after_the_index_that_counts_it ... ok
test tests::a_used_index_past_what_was_made_available_is_refused_and_nothing_is_read ... ok
test tests::a_vector_the_device_does_not_map_is_refused_and_its_queue_stays_disabled ... ok
test tests::every_link_is_masked_of_its_two_reserved_bits_before_it_is_an_offset ... ok
test tests::only_what_the_device_offers_is_accepted ... ok
test tests::structures_in_two_bars_are_refused ... ok
test tests::more_bytes_than_the_chain_may_be_written_is_refused ... ok
test tests::the_first_capability_of_each_type_in_a_real_bar_is_the_one_used ... ok
test tests::the_initialisation_is_the_sequence_the_specification_orders ... ok
test tests::the_walk_answers_every_vendor_capability_in_the_lists_order ... ok
test tests::both_indices_wrap_at_65536 ... ok
test tests::a_hostile_device_is_believed_only_where_the_model_agrees ... ok

test result: ok. 39 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s

     Running unittests src/lib.rs (target/debug/deps/toyos_wallclock-d4ec3af8b5280ad4)

running 6 tests
test tests::an_impossible_instant_is_refused_and_a_leap_day_is_not ... ok
test tests::the_calendar_round_trips_through_the_dates_that_break_one ... ok
test tests::every_time_of_day_this_renders_is_one_it_reads_back ... ok
test tests::a_part_is_its_stem_and_number ... ok
test tests::every_stem_this_renders_is_one_it_reads_back ... ok
test tests::only_logkeepers_own_names_are_logkeepers ... ok

test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/lib.rs (target/debug/deps/toyos_xhci-64cc3df6bec03b92)

running 163 tests
test bot::tests::a_break_says_where_it_left_the_device_and_which_event_ended_it ... ok
test bot::tests::a_cbw_is_laid_out_as_the_class_defines_it ... ok
test bot::tests::a_byte_no_phase_publishes_reads_as_closed ... ok
test bot::tests::a_command_or_status_block_that_moved_short_breaks ... ok
test bot::tests::a_data_phase_runs_on_the_pipe_its_command_names ... ok
test bot::tests::a_command_with_no_data_is_its_command_block_and_its_status ... ok
test bot::tests::a_data_phase_whose_pipe_will_not_restart_breaks_as_a_stall ... ok
test bot::tests::a_csw_is_believed_only_when_it_is_valid_and_meaningful ... ok
test bot::tests::a_leg_that_fails_breaks_the_round_trip_where_it_failed ... ok
test bot::tests::a_stalled_data_phase_delivers_what_both_the_controller_and_the_device_say_arrived ... ok
test bot::tests::a_stalled_data_phase_is_restarted_and_its_status_read ... ok
test bot::tests::a_stalled_status_is_asked_for_again_once ... ok
test bot::tests::a_status_stalled_after_a_data_stall_is_still_asked_for_again ... ok
test bot::tests::every_phase_but_the_closed_one_is_a_device_holding_a_command ... ok
test bot::tests::every_phase_survives_the_byte_it_is_published_as ... ok
test bot::tests::no_two_phases_are_named_the_same_thing ... ok
test bot::tests::what_is_delivered_is_what_both_the_controller_and_the_device_say_arrived ... ok
test call::tests::a_call_that_enters_the_ladder_a_rung_up_finds_that_rung_whole ... ok
test call::tests::a_call_whose_transport_has_not_broken_is_clipped_and_refused_nothing ... ok
test call::tests::a_command_sent_again_after_a_hold_leaves_the_last_rung_its_bound ... ok
test call::tests::a_command_sent_again_is_clipped_to_where_the_next_rung_begins ... ok
test call::tests::a_read_whose_wait_spent_the_operation_goes_out_again_after_the_port_reset_took ... ok
test call::tests::a_rung_entered_early_gets_its_own_bound_and_not_the_calls ... ok
test call::tests::a_rung_is_never_starved_by_what_was_spent_before_it ... ok
test call::tests::a_second_break_in_the_same_call_does_not_extend_it ... ok
test call::tests::a_silent_controller_is_sent_no_command_in_any_rung_and_its_port_is_still_reset ... ok
test call::tests::a_wait_is_cut_only_when_its_window_ended_it ... ok
test bot::tests::a_restart_answered_with_a_transfer_is_a_driver_bug - should panic ... ok
test call::tests::nothing_but_the_command_sent_again_outlives_the_operations_budget ... ok
test configure::tests::a_bind_adds_and_drops_nothing ... ok
test configure::tests::a_recovery_drops_and_adds_both_endpoints ... ok
test configure::tests::a_binds_slot_context_names_the_speed_and_the_port ... ok
test configure::tests::an_endpoint_context_carries_the_descriptors_own_numbers ... ok
test configure::tests::context_entries_is_the_higher_index_of_the_pair ... ok
test configure::tests::nothing_but_the_pair_is_ever_dropped ... ok
test configure::tests::the_recovery_describes_the_endpoints_exactly_as_the_bind_did ... ok
test configure::tests::a_recoverys_slot_context_is_context_entries_and_zeroes ... ok
test descriptor::tests::a_configuration_names_its_interfaces_and_steps_over_its_endpoints ... ok
test descriptor::tests::a_device_descriptor_names_its_maker_its_product_and_its_class ... ok
test descriptor::tests::a_length_that_would_not_move_the_walk_is_refused ... ok
test descriptor::tests::a_short_answer_or_another_type_is_refused_by_name ... ok
test descriptor::tests::only_alternate_setting_zero_is_named ... ok
test descriptor::tests::the_walk_is_bounded_by_the_total_and_by_what_arrived ... ok
test enumerate::tests::a_boot_keyboard_is_addressed_described_configured_and_bound ... ok
test enumerate::tests::a_configuration_with_nothing_to_bind_is_refused_where_it_is_read ... ok
test enumerate::tests::a_device_that_answered_set_protocol_recovers_nothing ... ok
test enumerate::tests::a_stalled_set_protocol_recovers_ep0_before_the_endpoints_are_configured ... ok
test enumerate::tests::a_device_that_states_another_packet_size_has_its_ep0_evaluated ... ok
test enumerate::tests::every_route_configures_its_endpoints_last ... ok
test enumerate::tests::a_stated_packet_size_a_device_of_that_speed_cannot_have_is_refused ... ok
test enumerate::tests::every_speed_has_one_control_packet_size_or_none ... ok
test enumerate::tests::only_an_interface_with_a_boot_protocol_is_asked_for_one ... ok
test flush::tests::a_device_with_no_cache_owes_nothing_and_keeps_the_count ... ok
test flush::tests::a_loss_is_counted_once_and_never_uncounted ... ok
test flush::tests::a_write_is_owed_until_a_flush_that_succeeded_and_not_after ... ok
test identity::tests::a_device_with_no_readable_serial_is_never_adopted ... ok
test identity::tests::a_disk_is_waited_for_only_after_a_reset_of_ours_and_only_inside_the_window ... ok
test identity::tests::a_language_is_read_only_from_a_string_descriptor_that_carries_one ... ok
test identity::tests::a_device_that_differs_in_any_field_is_a_new_disk ... ok
test identity::tests::a_serial_prints_as_the_characters_it_carries_and_nothing_else ... ok
test identity::tests::a_string_descriptor_is_read_only_whole_and_well_formed ... ok
test identity::tests::the_same_device_is_the_same_disk ... ok
test job::tests::a_cancelled_operation_leaves_the_slot_free ... ok
test job::tests::a_completion_for_another_trb_is_not_this_one ... ok
test job::tests::a_data_stage_does_not_end_a_transfer_that_still_owes_its_status ... ok
test job::tests::a_failing_stage_ends_the_transfer_whatever_is_still_owed ... ok
test job::tests::a_failing_status_stage_is_the_answer ... ok
test job::tests::a_late_completion_from_an_abandoned_transfer_answers_nobody ... ok
test job::tests::a_stage_is_answered_by_its_own_trb_and_in_its_own_order ... ok
test job::tests::a_transfer_matches_on_its_trb_and_on_both_halves_of_its_endpoint ... ok
test job::tests::a_transfer_moved_what_its_residue_did_not_leave ... ok
test job::tests::a_transfer_that_answers_one_stage_and_stops_is_silent ... ok
test job::tests::an_answer_outlives_the_deadline ... ok
test job::tests::an_empty_slot_is_not_busy_and_has_no_deadline ... ok
test job::tests::only_the_first_answer_counts ... ok
test job::tests::the_deadline_produces_silence_and_nothing_else ... ok
test job::tests::the_residue_is_the_first_stages_and_the_code_is_the_last ... ok
test ladder::tests::a_break_before_a_data_out_phase_is_done_leaves_the_device_owed_it ... ok
test job::tests::submitting_over_an_outstanding_operation_panics - should panic ... ok
test ladder::tests::a_break_elsewhere_climbs_every_rung ... ok
test ladder::tests::a_device_is_addressed_again_only_as_what_it_was_enumerated_as ... ok
test ladder::tests::a_device_owed_data_out_is_never_given_the_class_reset ... ok
test ladder::tests::a_run_climbs_one_rung_per_break_until_a_round_trip_ends_it ... ok
test ladder::tests::a_rung_that_did_not_verify_left_exactly_where_its_port_no_longer_holds_the_device ... ok
test ladder::tests::every_run_of_breaks_climbs_strictly_and_ends_offline_after_a_port_reset ... ok
test ladder::tests::only_a_quiesce_that_failed_lets_the_rung_go_on ... ok
test ladder::tests::only_a_run_that_begins_owed_data_out_skips_the_class_reset ... ok
test ladder::tests::the_port_rung_resets_then_addresses_then_configures_then_asks ... ok
test late::tests::a_ring_that_keeps_producing_is_given_up_on_one_ring_past_the_deadline ... ok
test late::tests::an_answer_posted_before_the_deadline_passed_is_taken_after_it ... ok
test late::tests::before_the_deadline_nothing_is_given_up ... ok
test late::tests::past_the_deadline_the_first_empty_read_ends_the_wait ... ok
test port::tests::a_device_found_at_bring_up_is_never_enumerated_without_a_reset ... ok
test port::tests::a_device_its_class_reset_did_not_bring_back_gets_the_most_reset_its_port_has ... ok
test port::tests::a_port_whose_belief_moved_is_outstanding_until_it_is_read ... ok
test port::tests::a_warm_reset_is_finished_only_once_the_controller_has_cleared_pr ... ok
test port::tests::an_adopted_port_is_enumerated_by_its_reset_and_not_by_its_link ... ok
test portsc::tests::a_port_holds_its_device_only_while_it_reads_connected_with_no_change_unconsumed ... ok
test portsc::tests::a_write_never_carries_ped ... ok
test portsc::tests::a_write_never_sets_ped_and_pr_together ... ok
test portsc::tests::an_unseen_change_survives_the_acknowledge ... ok
test portsc::tests::bits_are_where_the_table_puts_them ... ok
test portsc::tests::neutral_keeps_exactly_the_bits_that_are_safe_to_write_back ... ok
test portsc::tests::powering_a_port_down_moves_that_bit_and_no_other ... ok
test protocol::tests::a_conformant_pair_covers_the_machine ... ok
test protocol::tests::a_port_claimed_twice_keeps_the_first_claim ... ok
test protocol::tests::a_range_that_would_wrap_is_refused_rather_than_folded ... ok
test protocol::tests::firmware_that_makes_no_sense_is_refused_by_name ... ok
test recovery::tests::a_halted_endpoint_is_reset_and_then_cleared_at_the_device ... ok
test recovery::tests::a_running_endpoint_is_stopped_and_never_cleared ... ok
test recovery::tests::a_stopped_endpoint_only_needs_its_ring_back ... ok
test recovery::tests::an_endpoint_in_error_only_needs_its_ring_back ... ok
test recovery::tests::disabled_and_reserved_states_are_refused_by_name ... ok
test recovery::tests::every_recovery_rebuilds_the_ring_exactly_once ... ok
test recovery::tests::only_a_halted_endpoint_is_cleared_at_the_device ... ok
test recovery::tests::the_bus_is_reached_only_after_every_command ... ok
test recovery::tests::the_endpoint_state_field_decodes_to_every_value_three_bits_can_hold ... ok
test reset_recovery::tests::a_command_that_took_is_not_issued_again_over_a_field_that_lags ... ok
test reset_recovery::tests::a_context_state_error_is_followed_by_the_command_for_where_the_pipe_went ... ok
test reset_recovery::tests::a_disabled_or_reserved_endpoint_refuses_the_whole_recovery ... ok
test reset_recovery::tests::a_halting_completion_code_outranks_a_field_that_still_reads_running ... ok
test reset_recovery::tests::a_pipe_refused_from_every_state_is_given_up_on_by_name ... ok
test reset_recovery::tests::a_refusal_that_is_not_about_state_and_a_silence_both_end_the_quiesce ... ok
test reset_recovery::tests::a_slot_goes_back_only_over_a_stopped_pair ... ok
test reset_recovery::tests::a_stopped_pair_is_asked_nothing ... ok
test reset_recovery::tests::every_command_is_defined_for_the_state_it_was_chosen_from ... ok
test reset_recovery::tests::every_pair_is_stopped_inside_the_bound_however_it_moves_and_however_the_field_lags ... ok
test reset_recovery::tests::only_a_halt_condition_or_a_trb_error_speaks_for_the_endpoint ... ok
test reset_recovery::tests::only_a_pair_a_reset_device_disabled_has_nothing_to_stop ... ok
test reset_recovery::tests::the_bound_is_the_worst_case ... ok
test reset_recovery::tests::the_in_pipe_is_quiesced_before_the_out_pipe ... ok
test ring::tests::a_controller_that_has_caught_up_has_nothing_pending ... ok
test ring::tests::a_pointer_that_is_no_position_on_this_ring_is_refused_by_name ... ok
test ring::tests::an_enqueue_point_past_the_end_of_the_ring_is_refused ... ok
test ring::tests::no_two_refusals_read_the_same ... ok
test ring::tests::the_count_is_the_wrapped_distance_between_the_two ... ok
test ring::tests::the_low_four_bits_of_the_field_are_not_address ... ok
test scan::tests::a_broken_endpoint_is_recovered_until_the_silence_bound_passes ... ok
test scan::tests::a_free_slot_and_nothing_broken_is_the_end_of_the_scan ... ok
test scan::tests::a_silent_controller_ends_the_scan_at_the_operations_deadline ... ok
test scan::tests::an_outstanding_operation_is_never_given_up_on ... ok
test scsi::tests::a_device_field_prints_as_the_characters_it_carries_and_nothing_else ... ok
test scsi::tests::a_device_that_is_not_a_disk_this_driver_serves_is_refused_by_name ... ok
test scsi::tests::a_disk_spinning_up_is_asked_for_its_sense_and_then_again ... ok
test scsi::tests::a_disk_that_never_becomes_ready_is_given_up_on_at_its_budget ... ok
test scsi::tests::a_disk_too_big_for_read_capacity_10_is_asked_the_16_byte_form ... ok
test scsi::tests::a_flush_the_device_does_not_implement_is_no_failure_and_every_other_refusal_is ... ok
test scsi::tests::a_question_unanswered_or_answered_short_refuses_the_device ... ok
test scsi::tests::a_ready_attempt_that_breaks_is_recovered_and_one_taken_offline_ends_it ... ok
test scsi::tests::a_ready_disk_is_asked_what_it_is_and_how_big_and_nothing_else ... ok
test scsi::tests::a_transfer_cdb_is_laid_out_as_sbc_defines_it ... ok
test scsi::tests::a_transfer_is_its_batches_in_order_and_only_a_whole_one_advances ... ok
test scsi::tests::a_transfer_past_the_disk_is_refused_and_an_empty_one_is_nothing ... ok
test scsi::tests::every_fixed_cdb_carries_its_own_length_direction_and_allocation ... ok
test scsi::tests::an_answer_to_something_not_asked_is_a_driver_bug - should panic ... ok
test scsi::tests::only_the_first_batch_may_answer_ask_again ... ok
test scsi::tests::sense_is_believed_only_when_its_ascq_arrived ... ok
test xecp::tests::a_list_that_leaves_the_window_or_never_ends_is_refused ... ok
test xecp::tests::every_smi_goes_off_and_every_latched_one_is_cleared ... ok
test xecp::tests::the_handoff_is_named_by_firmwares_semaphore_before_and_after ... ok
test xecp::tests::the_walk_finds_each_capability_of_an_id_in_order ... ok
test descriptor::tests::no_answer_panics_the_decoder ... ok
test call::tests::every_path_through_a_call_ends_inside_its_bounds ... ok

test result: ok. 163 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s

     Running unittests src/lib.rs (target/debug/deps/toyos_xhci_sim-63d09615301ce01b)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/enumerate.rs (target/debug/deps/enumerate-fb375b5fc15e3b74)

running 7 tests
test a_device_with_no_boot_protocol_is_never_asked_for_one ... ok
test a_slot_the_controller_has_not_named_yet_is_waited_for_even_when_the_port_goes ... ok
test an_enumeration_takes_one_act_per_pass_and_reports_once ... ok
test an_enumeration_is_abandoned_when_its_port_goes ... ok
test a_device_pulled_while_enable_slot_goes_unanswered_is_torn_down ... ok
test gate_an_enumeration_that_outlives_its_port_costs_a_deadline ... ok
test an_enumeration_that_stops_being_answered_still_reports_its_slot ... ok

test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/explore.rs (target/debug/deps/explore-2578a12a7d6446f1)

running 1 test
test no_sequence_breaks_an_invariant ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.23s

     Running tests/scenarios.rs (target/debug/deps/scenarios-2caebc991fe326a0)

running 15 tests
test a_device_with_no_slot_settles_anyway ... ok
test a_device_that_bounces_back_out_is_never_enumerated ... ok
test a_device_plugged_in_is_enumerated_once ... ok
test a_device_replugged_inside_a_hot_reset_given_up_on_is_enumerated ... ok
test a_replug_inside_one_debounce_is_seen ... ok
test gate_acknowledging_before_deciding_hides_a_replug ... ok
test a_port_that_never_finishes_its_reset_is_given_up_on_and_left_alone ... ok
test gate_ignoring_the_connect_change_hides_a_replug ... ok
test gate_dropping_the_reset_deadline_wedges_the_port ... ok
test gate_writing_back_what_was_read_disables_the_port ... ok
test gate_stepping_from_inside_an_effect_is_caught ... ok
test repeated_replugs_stay_balanced ... ok
test the_debounce_is_actually_waited_out ... ok
test unplugging_tears_the_device_down ... ok
test gate_restarting_the_debounce_never_enumerates ... ok

test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/superspeed.rs (target/debug/deps/superspeed-efbd8582fe9f60c1)

running 13 tests
test a_device_pulled_as_its_enumeration_begins_is_torn_down ... ok
test a_device_pulled_during_the_warm_retrain_is_not_enumerated ... ok
test a_completed_failure_that_stays_failed_is_refused_by_name ... ok
test a_port_of_unknown_protocol_is_still_reset ... ok
test a_link_a_hot_reset_kills_is_recovered_warm ... ok
test a_reset_that_completes_failed_is_warm_reset ... ok
test a_usb2_completed_failure_is_refused_not_warm_reset ... ok
test a_trained_superspeed_link_is_not_reset ... ok
test a_link_already_inactive_is_warm_reset_at_once ... ok
test a_usb2_port_is_reset_as_before ... ok
test a_link_that_never_trains_is_refused_by_its_own_name ... ok
test a_port_given_up_on_is_not_reset_again_until_its_device_is_pulled ... ok
test a_usb2_port_is_never_warm_reset ... ok

test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/teardown.rs (target/debug/deps/teardown-55cdc3cdc8a2e577)

running 9 tests
test a_recovery_the_controller_refuses_lets_the_device_go ... ok
test a_halted_endpoint_is_reset_cleared_and_delivering_again ... ok
test a_running_endpoint_is_stopped_rather_than_reset ... ok
test gate_freeing_the_block_before_the_slot_is_caught ... ok
test a_controller_that_never_answers_still_releases_the_port ... ok
test a_teardown_gives_the_slot_and_the_block_back ... ok
test a_recovery_is_abandoned_when_its_port_goes ... ok
test gate_acting_with_an_answer_outstanding_is_caught ... ok
test gate_a_recovery_that_outlives_its_port_costs_a_second_deadline ... ok

test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/teeth.rs (target/debug/deps/teeth-389f5d40c3cdea55)

running 1 test
test every_flaw_changes_an_outcome ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests bcachefs

running 2 tests
test bcachefs/src/block_io.rs - block_io::DeviceError (line 66) - compile fail ... ok
test bcachefs/src/block_io.rs - block_io::DeviceError (line 62) - compile fail ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s

   Doc-tests kernel_loom

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests kernel_sim

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_abi

running 4 tests
test toyos-abi/src/usersafe.rs - usersafe::user_safe (line 53) - compile fail ... ok
test toyos-abi/src/usersafe.rs - usersafe::user_safe (line 70) - compile fail ... ok
test toyos-abi/src/usersafe.rs - usersafe::user_safe (line 46) ... ok
test toyos-abi/src/usersafe.rs - usersafe::user_safe (line 63) ... ok

test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.32s

   Doc-tests toyos_acpi

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_blackbox

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_blockhold

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_blockring

running 2 tests
test toyos-blockring/src/wire.rs - wire::Opened (line 56) - compile fail ... ok
test toyos-blockring/src/wire.rs - wire::Opened (line 47) ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.28s

   Doc-tests toyos_bootmap

running 1 test
test toyos-bootmap/src/lib.rs - DirectMapEnd (line 70) - compile fail ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s

   Doc-tests toyos_cpuvuln

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_device_memory

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_dhcp

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_dma

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_dns

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_elf

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_elide

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_fat32

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_fat32_check

running 1 test
test toyos-fat32/check/src/lib.rs - (line 30) - compile ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s

   Doc-tests toyos_gicv3

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_gpt

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_hda

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_i219

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_inspect

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_its

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_keymap

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_libc_copies

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_logstream

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_manifest

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_microcode

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_net_ip

running 8 tests
test toyos-net-ip/src/lib.rs - compile_fail::s_ip_nud_028_a_state_holds_only_its_own_fields (line 488) - compile fail ... ok
test toyos-net-ip/src/lib.rs - compile_fail::s_ip_nud_028_a_state_holds_only_its_own_fields (line 468) - compile fail ... ok
test toyos-net-ip/src/lib.rs - compile_fail::s_ip_nud_028_a_state_holds_only_its_own_fields (line 493) - compile fail ... ok
test toyos-net-ip/src/lib.rs - compile_fail::s_ip_nud_028_a_state_holds_only_its_own_fields (line 478) - compile fail ... ok
test toyos-net-ip/src/lib.rs - compile_fail::s_ip_nud_028_a_state_holds_only_its_own_fields (line 483) - compile fail ... ok
test toyos-net-ip/src/lib.rs - compile_fail::s_ip_nud_028_a_state_holds_only_its_own_fields (line 473) - compile fail ... ok
test toyos-net-ip/src/lib.rs - compile_fail::s_ip_nud_028_a_state_holds_only_its_own_fields (line 463) - compile fail ... ok
test toyos-net-ip/src/lib.rs - compile_fail::s_ip_nud_028_a_state_holds_only_its_own_fields (line 436) ... ok

test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.39s

   Doc-tests toyos_net_shard

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_net_tcp

running 5 tests
test toyos-net-shard/tcp/src/lib.rs - compile_fail::s_op_030_tcp_cannot_choose_dscp_ecn_or_df (line 354) - compile fail ... ok
test toyos-net-shard/tcp/src/lib.rs - compile_fail::s_hs_036_a_connection_cannot_connect_again (line 328) - compile fail ... ok

@Japabu

Japabu commented Oct 11, 2026

Copy link
Copy Markdown
Collaborator Author

ci-host, part 6 of 9, cargo run -- --ci host at ed538e7, exit 0, 79 steps green

test toyos-net-shard/tcp/src/lib.rs - compile_fail::s_hs_036_a_connection_cannot_connect_again (line 335) - compile fail ... ok
test toyos-net-shard/tcp/src/lib.rs - compile_fail::s_op_030_tcp_cannot_choose_dscp_ecn_or_df (line 347) ... ok
test toyos-net-shard/tcp/src/lib.rs - compile_fail::s_hs_036_a_connection_cannot_connect_again (line 321) ... ok

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.33s

   Doc-tests toyos_net_testnet

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_net_udp

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_net_wire

running 18 tests
test toyos-net-wire/src/lib.rs - compile_fail::s_rt_010_transport_parse_takes_only_its_ipv4_view (line 248) - compile fail ... ok
test toyos-net-wire/src/lib.rs - compile_fail::raw_payload_takes_no_transport_protocol_and_no_payload_is_forged (line 275) - compile fail ... ok
test toyos-net-wire/src/lib.rs - compile_fail::s_tser_008_established_builder_cannot_hold_syn_only_options (line 229) - compile fail ... ok
test toyos-net-wire/src/lib.rs - compile_fail::write_payload_and_write_frame_body_are_sealed (line 325) - compile fail ... ok
test toyos-net-wire/src/lib.rs - compile_fail::s_rt_010_transport_parse_takes_only_its_ipv4_view (line 255) - compile fail ... ok
test toyos-net-wire/src/lib.rs - compile_fail::raw_payload_takes_no_transport_protocol_and_no_payload_is_forged (line 270) - compile fail ... ok
test toyos-net-wire/src/lib.rs - compile_fail::s_tser_008_established_builder_cannot_hold_syn_only_options (line 234) - compile fail ... ok
test toyos-net-wire/src/lib.rs - compile_fail::s_tser_008_established_builder_cannot_hold_syn_only_options (line 224) - compile fail ... ok
test toyos-net-wire/src/lib.rs - compile_fail::s_eth_030_builder_ethertype_admits_only_ipv4_and_arp (line 212) - compile fail ... ok
test toyos-net-wire/src/lib.rs - compile_fail::write_payload_and_write_frame_body_are_sealed (line 340) - compile fail ... ok
test toyos-net-wire/src/lib.rs - compile_fail::write_payload_and_write_frame_body_are_sealed (line 390) - compile fail ... ok
test toyos-net-wire/src/lib.rs - compile_fail::write_payload_and_write_frame_body_are_sealed (line 372) - compile fail ... ok
test toyos-net-wire/src/lib.rs - compile_fail::write_payload_and_write_frame_body_are_sealed (line 357) - compile fail ... ok
test toyos-net-wire/src/lib.rs - compile_fail::s_eth_030_builder_ethertype_admits_only_ipv4_and_arp (line 207) ... ok
test toyos-net-wire/src/lib.rs - compile_fail::s_tser_008_established_builder_cannot_hold_syn_only_options (line 219) ... ok
test toyos-net-wire/src/lib.rs - compile_fail::write_payload_and_write_frame_body_are_sealed (line 293) ... ok
test toyos-net-wire/src/lib.rs - compile_fail::raw_payload_takes_no_transport_protocol_and_no_payload_is_forged (line 264) ... ok
test toyos-net-wire/src/lib.rs - compile_fail::s_rt_010_transport_parse_takes_only_its_ipv4_view (line 241) ... ok

test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.53s

   Doc-tests toyos_osrelease

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_pci

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_phys

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_ps2

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_quiesce

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_random

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_rootimage

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_sha2

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_sha2_hw

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_smmu

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_ssh

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_swap

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_symbols

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_tco

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_tmpdir

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_trace

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_transport

running 4 tests
test toyos-blockring/transport/src/queue.rs - queue::Place (line 53) - compile fail ... ok
test toyos-blockring/transport/src/queue.rs - queue::Place (line 48) - compile fail ... ok
test toyos-blockring/transport/src/queue.rs - queue::Place (line 43) - compile fail ... ok
test toyos-blockring/transport/src/queue.rs - queue::Place (line 36) ... ok

test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.30s

   Doc-tests toyos_tsc

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_untrusted

running 5 tests
test toyos-untrusted/src/lib.rs - Untrusted (line 107) - compile fail ... ok
test toyos-untrusted/src/lib.rs - Untrusted (line 119) - compile fail ... ok
test toyos-untrusted/src/lib.rs - Untrusted (line 113) - compile fail ... ok
test toyos-untrusted/src/lib.rs - Untrusted (line 126) - compile fail ... ok
test toyos-untrusted/src/lib.rs - Untrusted (line 134) ... ok

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.32s

   Doc-tests toyos_update

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_usbhid

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_userbound

running 6 tests
test toyos-userbound/src/firmware.rs - firmware::MemoryAt (line 134) - compile fail ... ok
test toyos-userbound/src/firmware.rs - firmware::PortAt (line 308) - compile fail ... ok
test toyos-userbound/src/firmware.rs - firmware::LockWordAt (line 242) - compile fail ... ok
test toyos-userbound/src/firmware.rs - firmware::ConfigAt (line 428) - compile fail ... ok
test toyos-userbound/src/firmware.rs - firmware::FirmwareCall (line 329) - compile fail ... ok
test toyos-userbound/src/firmware.rs - firmware::SleepType (line 478) - compile fail ... ok

test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s

   Doc-tests toyos_virtio

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_wallclock

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_xhci

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests toyos_xhci_sim

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

07:41:47 [ci] the workspace's host members: cargo test --workspace --exclude toyos-build --exclude bootloader --exclude kernel --exclude toyos --exclude acpiserver --exclude acpiserver-api --exclude toyos-aml --exclude calc --exclude compositor --exclude toyos-desktop --exclude console --exclude diskserver --exclude doom --exclude editor --exclude filepicker --exclude filepicker-api --exclude files --exclude fileserver --exclude grants --exclude host --exclude inspect --exclude kernelprobe --exclude logkeeper --exclude logkeeper-api --exclude metalprobe --exclude netstack --exclude toyos-mdns --exclude toyos-net-node --exclude paint --exclude pkg --exclude proctest --exclude shell --exclude snake --exclude soundserver --exclude toyos-mixer --exclude toyos-virtio-sound --exclude sprite --exclude sshserver --exclude supervisor --exclude swap --exclude symbolize --exclude terminal --exclude test-runner --exclude toybox --exclude toyfetch --exclude toyos-font --exclude toyos-pci-claim --exclude toyos-window --exclude trace --exclude update --exclude usbd

07:41:47 === [ci] the kernel's library
   Compiling kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel)
    Finished `test` profile [optimized + debuginfo] target(s) in 0.77s
     Running unittests pure/lib.rs (target/debug/deps/kernel-c59cf369e40e4e77)

running 189 tests
test bootwrite::tests::a_handler_that_holds_the_span_has_outlasted_it_on_either_cpu ... ok
test bootwrite::tests::a_kick_not_taken_in_the_span_is_a_deaf_boot_processor ... ok
test bootwrite::tests::a_handlers_time_is_not_the_kicks_and_the_kicks_is_not_the_handlers ... ok
test bootwrite::tests::a_take_the_clock_has_not_reached_is_waited_for ... ok
test bootwrite::tests::a_write_that_has_retired_is_never_judged_by_the_clock ... ok
test clock::tests::a_reading_after_boot_is_carried_back_to_it ... ok
test clock::tests::a_reading_at_boot_is_boot ... ok
test clock::tests::a_reading_before_boot_is_carried_forward_to_it ... ok
test clock::tests::a_tick_is_counted_at_its_period ... ok
test mtrr::tests::registers_that_are_off_and_not_the_boot_processors_are_off ... ok
test mtrr::tests::a_mask_with_no_address_bit_and_a_region_at_the_top_decide_without_overflow ... ok
test mtrr::tests::a_register_types_its_region_to_the_last_byte_and_no_further ... ok
test mtrr::tests::registers_that_are_off_type_nothing_uncacheable ... ok
test mtrr::tests::registers_that_are_word_for_word_the_boot_processors_are_the_same ... ok
test mtrr::tests::a_range_no_register_covers_has_the_default_type ... ok
test mtrr::tests::registers_that_are_on_and_not_the_boot_processors_are_different ... ok
test mtrr::tests::two_registers_over_one_range_answer_as_the_architecture_orders_them ... ok
test pcid::oracle::tests::a_flush_between_two_owners_clears_the_alias ... ok
test pcid::oracle::tests::the_model_flags_a_live_reissue ... ok
test mtrr::tests::a_default_or_a_covering_register_of_no_defined_encoding_is_unknown ... ok
test pcid::tests::a_freed_tag_waits_for_a_flush_before_it_is_reissued ... ok
test dirnodes::tests::a_path_past_max_path_is_refused_invalid ... ok
test dirnodes::tests::a_number_lasts_exactly_as_long_as_its_directory ... ok
test dirnodes::tests::a_directory_is_one_number_and_two_are_two ... ok
test dirnodes::tests::only_a_held_number_is_judged ... ok
test dirnodes::tests::a_removal_forgets_every_directory_it_ended_and_no_other ... ok
test dirnodes::tests::a_removal_past_max_path_judges_the_numbered_above_it ... ok
test pipe::tests::an_end_whose_other_end_is_held_is_not_told_it_is_gone ... ok
test pipe::tests::an_end_with_a_second_holder_outlives_the_first ... ok
test pipe::tests::readable_and_writable_say_nothing_of_the_other_end ... ok
test pipe::tests::the_last_holder_of_the_pipe_ends_it ... ok
test pcid::tests::two_live_address_spaces_never_share_a_pcid ... ok
test pipe::tests::an_end_dropped_with_the_ring_neither_empty_nor_full_is_gone ... ok
test proclife::interleave::tests::a_sibling_join_is_answered_however_the_two_interleave ... ok
test proclife::interleave::tests::a_process_that_kills_itself_ends ... ok
test proclife::interleave::tests::a_kill_racing_a_spawn_leaves_no_unretired_thread ... ok
test pcid::tests::churn_never_aliases_two_live_tags ... ok
test proclife::interleave::tests::a_join_racing_the_kill_that_takes_its_target ... ok
test proclife::interleave::tests::a_published_exit_leaves_no_unretired_thread ... ok
test proclife::interleave::tests::a_spawn_racing_a_kill_and_the_pass_that_reaps_it ... ok
test proclife::interleave::tests::an_exit_and_a_kill_never_both_tear_a_process_down ... ok
test proclife::interleave::tests::the_last_one_out_is_in_its_process_until_its_teardown_is_done ... ok
test proclife::interleave::tests::the_refusal_that_dropped_without_unmapping_is_the_leak_l5_reports ... ok
test proclife::interleave::tests::a_reap_racing_a_teardown_and_a_join_breaks_no_law ... ok
test proclife::join::tests::a_join_asked_after_it_collected_keeps_its_answer ... ok
test proclife::join::tests::a_live_thread_answers_wait_and_stays_in_the_table ... ok
test proclife::join::tests::a_process_being_torn_down_gives_up_no_thread ... ok
test proclife::join::tests::a_settled_join_does_not_take_the_table_again ... ok
test proclife::join::tests::a_zombie_is_answered_once_and_the_second_join_finds_nothing ... ok
test proclife::join::tests::the_two_refusals_are_told_apart ... ok
test proclife::pids::tests::a_pid_given_back_is_taken_again ... ok
test proclife::pids::tests::pids_are_issued_in_order_from_zero ... ok
test proclife::pids::tests::the_last_pid_is_one_below_max_and_none_follows_it ... ok
test proclife::reap::tests::nothing_is_taken_from_a_table_of_live_processes ... ok
test proclife::reap::tests::only_the_published_are_taken_and_they_come_back_in_pid_order ... ok
test proclife::spawn::tests::a_claimed_process_refuses_at_the_insert_too ... ok
test proclife::spawn::tests::a_claimed_process_refuses_at_the_start_in_both_arms ... ok
test proclife::spawn::tests::a_full_process_refuses_at_the_start_until_a_join_collects ... ok
test proclife::spawn::tests::a_live_process_admits_a_thread_at_both_moments ... ok
test proclife::spawn::tests::a_missing_entry_is_refused_by_name_and_not_by_the_teardown_flag ... ok
test proclife::interleave::tests::a_sibling_exit_a_spawn_and_the_processs_own_exit ... ok
test proclife::teardown::tests::a_main_threads_exit_is_the_processs ... ok
test proclife::teardown::tests::a_process_that_is_gone_grants_no_claim ... ok
test proclife::interleave::tests::a_kill_chain_of_three_ends ... ok
test proclife::teardown::tests::a_sibling_join_is_released_by_the_sibling_it_named ... ok
test proclife::teardown::tests::exactly_one_claimant_wins_however_many_arrive ... ok
test proclife::teardown::tests::only_the_thread_that_empties_a_claimed_process_tears_it_down ... ok
test proclife::teardown::tests::the_retire_set_is_every_thread_still_in_but_the_caller ... ok
test proclife::teardown::tests::a_thread_leaves_once - should panic ... ok
test proclife::tree::tests::a_child_landed_under_a_place_claimed_since_its_admission_is_claimed_with_it ... ok
test proclife::tree::tests::a_chain_is_refused_at_max_depth_plus_one_below_the_supervisor ... ok
test proclife::tree::tests::a_place_being_torn_down_admits_nothing ... ok
test proclife::tree::tests::a_published_child_leaves_its_parents_children ... ok
test proclife::tree::tests::a_spawn_past_the_last_pid_is_refused_and_a_refused_spawn_spends_none ... ok
test proclife::spawn::tests::the_insert_refuses_the_spawn_a_sibling_filled_the_process_under ... ok
test sched::cpu::pass_cost_tests::a_bucket_is_a_power_of_two_wide ... ok
test sched::cpu::pass_cost_tests::a_quantile_follows_the_mass_and_not_the_tail ... ok
test sched::cpu::pass_cost_tests::the_recorder_counts_what_it_was_given ... ok
test sched::cpu::tests::a_corpse_is_not_starved_for_ever_by_a_spinning_rt_task ... ok
test sched::cpu::tests::a_cpu_does_not_hand_over_the_context_it_is_still_standing_on ... ok
test sched::cpu::tests::a_dying_task_is_picked_before_the_fair_queue ... ok
test sched::cpu::tests::a_dying_task_resumes_when_the_rt_band_empties ... ok
test sched::cpu::tests::a_killed_rt_thread_unwinds_in_the_normal_band ... ok
test sched::cpu::tests::a_dying_task_that_exits_is_released_by_its_own_death ... ok
test sched::cpu::tests::a_killed_task_does_not_starve_a_ready_rt_task ... ok
test sched::cpu::tests::a_killed_task_loses_the_cpu_before_its_quantum_expires ... ok
test sched::cpu::tests::a_killed_task_that_expires_its_quantum_goes_back_to_the_dying_list ... ok
test sched::cpu::tests::a_killed_task_that_expires_its_quantum_yields_to_a_ready_rt_task ... ok
test sched::cpu::tests::a_killed_task_that_yields_goes_back_to_the_dying_list ... ok
test sched::cpu::tests::a_live_fair_task_loses_the_cpu_to_a_ready_rt_task ... ok
test sched::cpu::tests::a_retire_moves_a_ready_task_to_the_dying_list ... ok
test sched::cpu::tests::a_retire_of_the_running_task_asks_for_a_safe_point ... ok
test sched::cpu::tests::a_retire_that_loses_the_claim_leaves_the_wake_in_flight ... ok
test sched::cpu::tests::a_retire_wakes_a_parked_task_so_it_can_unwind ... ok
test sched::cpu::tests::a_running_task_refuses_the_parked_mark ... ok
test sched::cpu::tests::a_spawned_task_is_adopted_and_dispatched ... ok
test sched::cpu::tests::a_stopped_task_is_never_picked_again ... ok
test sched::cpu::tests::a_steal_probe_goes_to_surplus_and_not_to_a_cpu_full_of_corpses ... ok
test sched::cpu::tests::a_stopped_task_is_not_published_as_load ... ok
test sched::cpu::tests::a_wake_for_a_stopped_task_lands_in_the_band_and_not_the_run_queue ... ok
test dirnodes::tests::past_max_directories_a_new_directory_is_refused_exhausted ... ok
test sched::cpu::tests::an_adopt_of_a_killed_task_dispatches_it_on_arrival ... ok
test sched::cpu::tests::an_aged_grant_is_not_undone_by_a_pass_inside_its_chunk ... ok
test sched::cpu::tests::an_unwind_under_saturated_rt_is_stretched_by_the_age_ratio ... ok
test sched::cpu::tests::placement_believes_a_cpu_that_answers_and_no_other ... ok
test sched::cpu::tests::stopping_outranks_killing ... ok
test sched::cpu::tests::the_balance_path_keeps_a_killed_task_rather_than_migrating_it ... ok
test sched::cpu::tests::the_dying_list_is_served_oldest_first ... ok
test sched::cpu::tests::the_pick_dispatches_a_killed_task_so_it_can_unwind ... ok
test sched::fair::tests::charge_accumulates_and_saturates ... ok
test sched::fair::tests::charge_nonrunnable_is_a_bug ... ok
test sched::fair::tests::frontier_is_monotonic ... ok
test sched::fair::tests::lag_clamps_in_both_directions ... ok
test sched::fair::tests::leave_stores_lag_and_wake_rederives_vruntime ... ok
test sched::fair::tests::leave_when_nonrunnable_is_a_noop ... ok
test sched::fair::tests::new_process_starts_at_frontier_with_zero_lag ... ok
test sched::fair::tests::nonrunnable_vruntime_tracks_the_live_frontier ... ok
test sched::fair::tests::refcount_tracks_runnable_threads ... ok
test sched::mailbox::tests::a_node_carries_one_message_at_a_time ... ok
test sched::mailbox::tests::doorbell_kick_policy ... ok
test sched::mailbox::tests::fifo_across_nodes_and_recycling ... ok
test sched::mailbox::tests::dropping_a_queued_node_is_loud - should panic ... ok
test sched::mailbox::tests::releasing_an_unposted_claim_frees_the_node ... ok
test sched::mailbox::tests::sleep_needs_an_empty_mailbox_and_a_quiet_doorbell ... ok
test sched::park::tests::a_boosted_notify_always_kicks ... ok
test sched::park::tests::a_kill_beats_a_pre_park_claim_to_the_commit ... ok
test sched::park::tests::a_kill_that_lands_before_the_commit_refuses_the_park ... ok
test sched::park::tests::a_notify_before_phase_one_refuses_it ... ok
test sched::park::tests::a_notify_before_the_commit_refuses_the_park_and_sends_nothing ... ok
test sched::park::tests::an_uncancellable_ticket_parks_a_killed_task ... ok
test sched::park::tests::cancel_reports_a_claim_it_lost ... ok
test sched::park::tests::one_wake_node_serves_the_whole_lifecycle ... ok
test sched::park::tests::park_then_notify_delivers_exactly_one_message ... ok
test sched::park::tests::dropping_a_ticket_is_loud - should panic ... ok
test sched::retire::tests::a_wake_and_a_retire_ride_distinct_nodes ... ok
test sched::retire::tests::retire_goes_to_the_home_cpu_and_always_kicks ... ok
test sched::retire::tests::a_second_retirer_fails_fast - should panic ... ok
test sched::retire::tests::retiring_a_dead_task_posts_nothing ... ok
test sched::retire::tests::the_chase_reuses_the_same_node ... ok
test sched::retire::tests::the_kill_bit_is_set_before_the_kick_and_before_the_chase_kick ... ok
test sched::task::tests::a_dead_task_takes_no_post ... ok
test sched::task::tests::a_post_before_the_commit_refuses_it ... ok
test sched::task::tests::a_post_claims_a_waiter_it_finds_parked_or_committing ... ok
test sched::task::tests::a_second_retirer_is_refused ... ok
test sched::task::tests::a_stale_generation_cannot_park_the_task ... ok
test sched::task::tests::a_wake_between_registration_and_commit_refuses_the_park ... ok
test sched::task::tests::cancel_reports_a_claim_it_lost ... ok
test sched::task::tests::claims_on_anything_but_a_waiter_are_lost ... ok
test sched::task::tests::park_then_wake_is_the_ordinary_path ... ok
test sched::task::tests::an_edge_outside_the_table_panics - should panic ... ok
test sched::task::tests::registration_forgets_a_post_or_revoke_to_an_earlier_wait ... ok
test sched::task::tests::sticky_bits_survive_transitions ... ok
test sched::task::tests::stopping_outranks_killing_at_a_safe_point ... ok
test sched::task::tests::wait_membership_is_single_watch ... ok
test sched::task::tests::word_roundtrips_every_state ... ok
test sched::watch::tests::a_bounded_post_skips_a_waiter_that_was_not_parked ... ok
test sched::watch::tests::a_post_between_registration_and_park_is_not_lost ... ok
test sched::watch::tests::a_post_in_place_fires_and_drops_nothing ... ok
test sched::watch::tests::a_post_wakes_every_parked_thread_and_fires_every_ring ... ok
test sched::watch::tests::a_registration_sweeps_the_entries_that_can_no_longer_fire ... ok
test sched::watch::tests::a_revoke_takes_the_registration_out_before_it_wakes ... ok
test sched::watch::tests::a_revoked_waiter_cannot_park_again ... ok
test sched::watch::tests::a_sweep_drops_what_it_took_out_with_the_list_lock_let_go ... ok
test sched::watch::tests::a_waiter_revoked_before_it_parks_cannot_park ... ok
test sched::watch::tests::a_second_registration_is_loud - should panic ... ok
test sched::watch::tests::a_waiter_revoked_while_it_commits_cannot_park ... ok
test sched::watch::tests::cancel_and_drop_answer_every_live_poll_as_gone ... ok
test sched::watch_list::a_list_outgrowing_the_buffer_sized_for_it_is_not_moved_into_it ... ok
test sched::watch_list::a_post_of_one_entry_past_its_stack_fires_each_once_and_frees_none_under_the_lock ... ok
test sched::watch_list::a_re_arm_after_a_post_of_few_entries_is_one_section ... ok
test sched::watch_list::nothing_allocates_or_frees_under_the_list_lock_and_a_post_in_place_frees_nothing ... ok
test sched::windows::tests::a_start_counts_from_how_the_cpu_stands ... ok
test sched::windows::tests::a_pass_ends_the_preemption_off_window_and_starts_the_next ... ok
test sched::windows::tests::a_whole_set_opens_or_closes_only_across_zero ... ok
test sched::windows::tests::an_interrupts_off_window_is_mask_to_unmask_and_the_longest_is_taken_once ... ok
test sched::windows::tests::an_untracked_cpu_records_and_refuses_nothing ... ok
test proclife::interleave::tests::an_exit_whose_sibling_kills_the_process_killing_it ... ok
test sched::windows::tests::every_transition_nothing_reported_before_is_named ... ok
test sched::windows::tests::only_a_crossing_of_zero_opens_or_closes_a_preemption_off_window ... ok
test sched::windows::tests::the_idle_halt_inside_a_pass_is_no_window ... ok
test proclife::interleave::tests::two_spawns_race_one_teardown ... ok
test proclife::interleave::tests::two_processes_killing_each_other_both_end ... ok
test proclife::interleave::tests::a_sibling_closing_a_spawns_handle_before_the_spawn_returns ... ok
test pcid::oracle::tests::the_owned_allocator_admits_no_cross_space_read ... ok
test proclife::interleave::tests::a_spawn_racing_the_kill_of_its_own_spawner ... ok
test proclife::interleave::tests::a_childs_exit_racing_its_parents_kill ... ok
test proclife::interleave::tests::a_spawn_racing_its_places_kill_leaves_nothing_under_it_and_publishes_it ... ok
test proclife::interleave::tests::an_exit_publishes_after_every_end_below_it ... ok
test proclife::interleave::tests::a_spawn_under_an_unrelated_process_lands_between_two_claims_of_one_walk ... ok

test result: ok. 189 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s

07:41:48 [ci] the kernel's library: cargo test -p kernel --lib --features sched-check

07:41:48 === [ci] the licences of what ships
07:41:50   NOTICE section tests/testcases/ (LGPL-2.1-or-later AND BSD-3-Clause AND (MIT OR Apache-2.0)) is not shipped
07:41:50   NOTICE section "Rust crates and the forks" names no files: every crate, fork or not, is judged by the crate half of this gate
07:41:50   NOTICE section "licenses/CDLA-Permissive-2.0-webpki-root-certs.txt — the Mozilla roots, CDLA-Permissive-2.0" names no files: the roots the build writes out of a crate are judged, with this text beside them, by `judge_trust_roots`
07:41:50   NOTICE section tests/cavp/ (NIST-PD) is not shipped
07:41:50   crate fortanix-sgx-abi 0.6.1 (registry+https://github.com/rust-lang/crates.io-index) is MPL-2.0, via std → fortanix-sgx-abi [x86_64-fortanix-unknown-sgx]
07:41:50   crate doom 0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/userland/doom/Cargo.toml) is "GPL-2.0-only": not allowed: GPL-2.0-only; pulled in by doom
    EXCEPTED, pending the owner, issues/a-package-is-a-directory-under-apps-and-the-installer-is-a-program.md: /system/bin/doom links doomgeneric, id's Doom source by way of Chocolate Doom (NOTICE); it leaves the image as a package at the stage where the apps leave this repository
07:41:50   crate windows-sys 0.61.100 (/Users/<user>/Dev/jan/toyos-dirid/rust/library/windows-sys/Cargo.toml) is "": declares no licence; pulled in by std → dlmalloc [cfg(any(all(target_family = "wasm", not(any(unix, target_os = "wasi"))), target_os = "xous", target_os = "vexos", target_os = "toyos", all(target_vendor = "fortanix", target_env = "sgx")))] → windows-sys [cfg(target_os = "windows")]
    EXCEPTED, reached only under cfg(target_os = "windows"): std's empty in-tree stand-in for windows-sys, which declares no licence
07:41:50   crate windows-link 0.0.0 (/Users/<user>/Dev/jan/toyos-dirid/rust/library/windows_link/Cargo.toml) is "": declares no licence; pulled in by std → windows-link [cfg(any(windows, target_os = "cygwin"))]
    EXCEPTED, reached only under cfg(any(windows, target_os = "cygwin")): std's in-tree stand-in for windows-link, which declares no licence
07:41:50   file assets/DOOM1.WAD is "LicenseRef-id-Software-DOOM1-Shareware": not allowed: LicenseRef-id-Software-DOOM1-Shareware; pulled in by COMMITTED_FILES
    EXCEPTED, pending the owner, issues/a-package-is-a-directory-under-apps-and-the-installer-is-a-program.md: id's shareware terms: redistributable unmodified and not for consideration, so an image carrying it may not be sold (NOTICE); it leaves with doom
07:41:50   file assets/soundfont.sf2 is "LicenseRef-GeneralUser-GS-2.0": not allowed: LicenseRef-GeneralUser-GS-2.0; pulled in by COMMITTED_FILES
    EXCEPTED, pending the owner, issues/a-package-is-a-directory-under-apps-and-the-installer-is-a-program.md: GeneralUser GS's own permissive licence, no standard one, with its author's caveat on where the samples came from (NOTICE); doom alone opens it, and it leaves with doom
07:41:50   NOTICE section userland/doom is "GPL-2.0-or-later": not allowed: GPL-2.0-or-later; pulled in by NOTICE
    EXCEPTED, pending the owner, issues/a-package-is-a-directory-under-apps-and-the-installer-is-a-program.md: doomgeneric, the C half of the doom crate, fetched at build time and compiled into it; it leaves with doom
07:41:50 [ci] the licences of what ships: 6 exception(s) stand, and nothing else is refused

07:41:50 === [ci] clippy and the bare targets
info: component clippy is up to date
info: component rust-std for target x86_64-unknown-none is up to date
info: component rust-std for target x86_64-unknown-uefi is up to date
info: component rust-std for target aarch64-unknown-none-softfloat is up to date
info: component rust-std for target aarch64-unknown-uefi is up to date
07:41:50 [ci] clippy and the bare targets: installed

07:41:50 === [ci] clippy, warnings denied
07:41:50 === clippy: cargo clippy --workspace $GUESTS --all-targets --keep-going -- $ADOPTED -D warnings
    Checking toyos-abi v0.16.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-abi)
    Checking toyos-net-wire v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-net-wire)
    Checking toyos-elf v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-elf)
    Checking toyos-wallclock v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-wallclock)
    Checking toyos-sha2 v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-sha2)
    Checking toyos-fat32-check v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-fat32/check)
    Checking toyos-tmpdir v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-tmpdir)
    Checking toyos-ssh v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-ssh)
    Checking toyos-elide v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-elide)
    Checking toyos-xhci v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-xhci)
    Checking toyos-keymap v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-keymap)
    Checking bcachefs v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/bcachefs)
    Checking toyos-gpt v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-gpt)
    Checking toyos-tco v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-tco)
    Checking toyos-sha2-hw v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-sha2-hw)
    Checking toyos-fat32 v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-fat32)
    Checking toyos-blackbox v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-blackbox)
    Checking toyos-quiesce v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-quiesce)
    Checking toyos-osrelease v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-osrelease)
    Checking toyos-untrusted v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-untrusted)
    Checking toyos-phys v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-phys)
    Checking acpiserver-api v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/userland/acpiserver-api)
    Checking toyos-device-memory v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-device-memory)
    Checking toyos-net-ip v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-net-ip)
    Checking toyos-net-tcp v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-net-shard/tcp)
    Checking toyos-update v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-update)
    Checking toyos-dhcp v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-dhcp)
    Checking kernel-loom v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel/loom)
    Checking toyos-bootmap v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-bootmap)
    Checking kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel)
    Checking toyos-symbols v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-symbols)
    Checking toyos-manifest v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-manifest)
    Checking toyos-logstream v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-logstream)
    Checking toyos-desktop v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/userland/compositor/desktop)
    Checking toyos-xhci-sim v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-xhci/sim)
    Checking toyos-transport v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-blockring/transport)
    Checking toyos-blockhold v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-blockhold)
    Checking toyos-ps2 v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel/ps2)
    Checking toyos-net-udp v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-net-udp)
    Checking toyos-acpi v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-acpi)
    Checking toyos-rootimage v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-rootimage)
    Checking toyos-smmu v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-smmu)
    Checking toyos-its v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-its)
    Checking toyos-gicv3 v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel/gicv3)
    Checking toyos-blockring v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-blockring)
    Checking toyos-net-shard v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-net-shard)
    Checking kernel-sim v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel/sim)
    Checking toyos-swap v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-swap)
    Checking toyos-userbound v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-userbound)
    Checking toyos-net-testnet v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-net-shard/testnet)
    Checking toyos-build v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid)
    Checking toyos-i219 v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-i219)
    Checking toyos-virtio v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-virtio)
    Checking toyos-inspect v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-inspect)
    Checking toyos-libc-copies v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/tests/libc-arch)
    Checking toyos-trace v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-trace)
    Checking toyos-pci v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel/pci)
    Checking toyos-random v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-random)
    Checking toyos-cpuvuln v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-cpuvuln)
    Checking toyos-microcode v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-microcode)
    Checking toyos-hda v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-hda)
    Checking toyos-tsc v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-tsc)
    Checking toyos-dns v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-dns)
    Checking toyos-dma v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel/dma)
    Checking toyos-usbhid v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-usbhid)
    Finished `dev` profile [optimized + debuginfo] target(s) in 6.56s
07:41:57 === clippy: cargo clippy --workspace $GUESTS --all-targets --keep-going --features $CONTROLS -- $ADOPTED -D warnings
    Checking kernel-loom v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel/loom)
    Checking kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel)
    Checking toyos-transport v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-blockring/transport)
    Checking toyos-blockring v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-blockring)
    Checking kernel-sim v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel/sim)
    Checking toyos-build v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid)
    Finished `dev` profile [optimized + debuginfo] target(s) in 3.43s
07:42:00 === clippy: cargo clippy -p kernel --lib --tests --features sched-check -- $ADOPTED -D warnings
    Checking kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel)
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.45s
07:42:01 === clippy: cargo clippy -p kernel --lib --tests --features sched-check,protocol-port --features $KERNEL_CONTROLS -- $ADOPTED -D warnings
    Checking kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel)
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.48s
07:42:02 === clippy: cargo clippy -p kernel --target x86_64-unknown-none -- $ADOPTED -D warnings
    Checking toyos-abi v0.16.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-abi)
    Checking toyos-phys v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-phys)
    Checking toyos-elf v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-elf)
    Checking toyos-wallclock v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-wallclock)
    Checking toyos-elide v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-elide)
    Checking toyos-ps2 v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel/ps2)
    Checking toyos-tco v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-tco)
    Checking toyos-xhci v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-xhci)
    Checking toyos-random v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-random)
    Checking toyos-usbhid v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-usbhid)
    Checking toyos-cpuvuln v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-cpuvuln)
    Checking toyos-tsc v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-tsc)
    Checking toyos-untrusted v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-untrusted)
    Checking toyos-dma v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel/dma)
    Checking toyos-rootimage v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-rootimage)
    Checking toyos-its v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-its)
    Checking toyos-blockhold v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-blockhold)
    Checking toyos-gpt v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-gpt)
    Checking toyos-gicv3 v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel/gicv3)
    Checking toyos-hda v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-hda)
    Checking toyos-blackbox v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-blackbox)
    Checking toyos-quiesce v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-quiesce)
    Checking bcachefs v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/bcachefs)
    Checking toyos-fat32 v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-fat32)
    Checking toyos-bootmap v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-bootmap)
    Checking toyos-symbols v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-symbols)
    Checking toyos-pci v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel/pci)
    Checking toyos-acpi v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-acpi)
    Checking toyos-smmu v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-smmu)
    Checking toyos-userbound v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-userbound)
    Checking kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel)
    Finished `dev` profile [optimized + debuginfo] target(s) in 2.80s
07:42:04 === clippy: cargo clippy -p kernel --target x86_64-unknown-none --features boot-actuators,test-actuators -- $ADOPTED -D warnings
    Checking kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel)
    Finished `dev` profile [optimized + debuginfo] target(s) in 1.85s
07:42:06 === clippy: cargo clippy -p kernel --target x86_64-unknown-none --features boot-actuators -- $ADOPTED -D warnings
    Checking kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel)
    Finished `dev` profile [optimized + debuginfo] target(s) in 1.78s
07:42:08 === clippy: cargo clippy -p kernel --target x86_64-unknown-none --features debug-wait,sched-check,sched-tripwire,heap-tripwire,heap-sweep,pass-spin,stack-witness,switch-witness,switch-witness-mutate-frame,switch-witness-mutate-rsp,df-witness,df-witness-mutate,entry-df-unclean,mask-windows -- $ADOPTED -D warnings
    Checking kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel)
    Finished `dev` profile [optimized + debuginfo] target(s) in 1.80s
07:42:10 === clippy: cargo clippy -p kernel --target x86_64-unknown-none --features heap-band-notail,heap-lockspin -- $ADOPTED -D warnings
    Checking kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel)
    Finished `dev` profile [optimized + debuginfo] target(s) in 1.79s
07:42:12 === clippy: cargo clippy -p kernel --target x86_64-unknown-none --features heap-band-nohead -- $ADOPTED -D warnings
    Checking kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel)
    Finished `dev` profile [optimized + debuginfo] target(s) in 1.76s
07:42:14 === clippy: cargo clippy -p kernel --target aarch64-unknown-none-softfloat -- $ADOPTED -D warnings
    Checking toyos-abi v0.16.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-abi)
    Checking toyos-phys v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-phys)
    Checking toyos-wallclock v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-wallclock)
    Checking toyos-elide v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-elide)
    Checking toyos-elf v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-elf)
    Checking toyos-random v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-random)
    Checking toyos-blockhold v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-blockhold)
    Checking toyos-rootimage v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-rootimage)
    Checking toyos-tco v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-tco)
    Checking toyos-gicv3 v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel/gicv3)
    Checking toyos-dma v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel/dma)
    Checking toyos-gpt v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-gpt)
    Checking bcachefs v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/bcachefs)
    Checking toyos-hda v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-hda)
    Checking toyos-quiesce v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-quiesce)
    Checking toyos-tsc v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-tsc)
    Checking toyos-its v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-its)
    Checking toyos-untrusted v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-untrusted)
    Checking toyos-fat32 v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-fat32)
    Checking toyos-usbhid v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-usbhid)
    Checking toyos-blackbox v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-blackbox)
    Checking toyos-ps2 v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel/ps2)
    Checking toyos-xhci v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-xhci)
    Checking toyos-cpuvuln v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-cpuvuln)
    Checking toyos-bootmap v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-bootmap)
    Checking toyos-pci v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel/pci)
    Checking toyos-symbols v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-symbols)
    Checking toyos-acpi v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-acpi)
    Checking toyos-smmu v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-smmu)
    Checking toyos-userbound v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-userbound)
    Checking kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel)
    Finished `dev` profile [optimized + debuginfo] target(s) in 2.70s
07:42:16 === clippy: cargo clippy -p kernel --target aarch64-unknown-none-softfloat --features boot-actuators,test-actuators -- $ADOPTED -D warnings
    Checking kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel)
    Finished `dev` profile [optimized + debuginfo] target(s) in 1.72s
07:42:18 === clippy: cargo clippy -p kernel --target aarch64-unknown-none-softfloat --features boot-actuators -- $ADOPTED -D warnings
    Checking kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel)
    Finished `dev` profile [optimized + debuginfo] target(s) in 1.69s
07:42:20 === clippy: cargo clippy -p kernel --target aarch64-unknown-none-softfloat --features debug-wait,sched-check,sched-tripwire,heap-tripwire,heap-sweep,pass-spin,stack-witness,switch-witness,switch-witness-mutate-frame,switch-witness-mutate-rsp,mask-windows -- $ADOPTED -D warnings
    Checking kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel)
    Finished `dev` profile [optimized + debuginfo] target(s) in 1.67s
07:42:22 === clippy: cargo clippy -p bootloader --target x86_64-unknown-uefi -- $ADOPTED -W clippy::undocumented_unsafe_blocks -D warnings
    Checking toyos-abi v0.16.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-abi)
    Checking toyos-sha2 v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-sha2)
    Checking toyos-wallclock v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-wallclock)
    Checking toyos-gpt v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-gpt)
    Checking toyos-blackbox v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-blackbox)
    Checking toyos-rootimage v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-rootimage)
    Checking toyos-tco v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-tco)
    Checking toyos-random v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-random)
    Checking toyos-tsc v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-tsc)
    Checking toyos-elf v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-elf)
    Checking bcachefs v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/bcachefs)
    Checking toyos-sha2-hw v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-sha2-hw)
    Checking toyos-update v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-update)
    Checking toyos-bootmap v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-bootmap)
    Checking toyos-acpi v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-acpi)
    Checking bootloader v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/bootloader)
    Finished `dev` profile [optimized + debuginfo] target(s) in 1.02s
07:42:23 === clippy: cargo clippy -p bootloader --target aarch64-unknown-uefi -- $ADOPTED -W clippy::undocumented_unsafe_blocks -D warnings
    Checking toyos-abi v0.16.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-abi)
    Checking toyos-sha2 v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-sha2)
    Checking toyos-wallclock v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-wallclock)
    Checking bcachefs v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/bcachefs)
    Checking toyos-elf v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-elf)
    Checking toyos-tco v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-tco)
    Checking toyos-gpt v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-gpt)
    Checking toyos-rootimage v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-rootimage)
    Checking toyos-random v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-random)
    Checking toyos-tsc v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-tsc)
    Checking toyos-blackbox v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-blackbox)
    Checking toyos-sha2-hw v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-sha2-hw)
    Checking toyos-update v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-update)
    Checking toyos-bootmap v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-bootmap)
    Checking toyos-acpi v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-acpi)
    Checking bootloader v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/bootloader)
    Finished `dev` profile [optimized + debuginfo] target(s) in 1.03s
07:42:24 === clippy: cargo clippy -p toyos-xhci --all-targets -- $ADOPTED -D warnings
    Checking toyos-xhci v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-xhci)
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.33s
07:42:24 === clippy: cargo clippy -p toyos-pci-claim --all-targets --features host-grant --no-deps --target-dir target/clippy-pci-claim -- $ADOPTED -D warnings
    Checking toyos-abi v0.16.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-abi)
    Checking toyos v0.18.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos)
    Checking toyos-pci-claim v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/userland/toyos-pci-claim)
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.35s
07:42:25 === clippy: cargo clippy -p kernel-loom --test loom_mailbox --features victim-retires-mid-probe -- $ADOPTED -D warnings
    Checking kernel-loom v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel/loom)
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.32s
07:42:25 === clippy: cargo clippy -p toyos-abi --all-targets --keep-going --target-dir target/clippy-abi -- -W clippy::undocumented_unsafe_blocks -D warnings
    Checking toyos-abi v0.16.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-abi)
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.25s
07:42:25 === clippy: cargo clippy --manifest-path userland/acpiserver/aml/Cargo.toml --all-targets -- $ADOPTED -D warnings
    Checking toyos-aml v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/userland/acpiserver/aml)
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.62s
07:42:26 === clippy: cargo clippy --manifest-path userland/compositor/desktop/Cargo.toml --all-targets -- $ADOPTED -D warnings
    Checking toyos-desktop v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/userland/compositor/desktop)
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.30s
07:42:26 === clippy: cargo clippy --manifest-path userland/netstack/mdns/Cargo.toml --all-targets -- $ADOPTED -D warnings
    Checking toyos-mdns v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/userland/netstack/mdns)
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.19s
07:42:27 === clippy: cargo clippy --manifest-path userland/netstack/node/Cargo.toml --all-targets -- $ADOPTED -D warnings
    Checking toyos-net-node v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/userland/netstack/node)
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.47s
07:42:27 === clippy: cargo clippy --manifest-path userland/soundserver/mixer/Cargo.toml --all-targets -- $ADOPTED -D warnings
    Checking toyos-mixer v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/userland/soundserver/mixer)
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.19s
07:42:27 === clippy: cargo clippy --manifest-path userland/soundserver/virtio-sound/Cargo.toml --all-targets -- $ADOPTED -D warnings
    Checking toyos-virtio-sound v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/userland/soundserver/virtio-sound)
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.17s
07:42:28 [ci] clippy, warnings denied: clean

07:42:28 === [ci] kernel-loom without loom
   Compiling kernel-loom v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel/loom)
    Finished `test` profile [optimized + debuginfo] target(s) in 0.45s
     Running tests/log_body_words.rs (target/debug/deps/log_body_words-ba761697c24e5cd1)

running 2 tests
test a_shorter_record_does_not_inherit_the_longer_one_it_replaced ... ok
test every_field_survives_the_word_packing ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/log_cursor.rs (target/debug/deps/log_cursor-b3271d086aa5f722)

running 2 tests
test a_cursor_ahead_of_a_shard_is_refused ... ok
test a_cursors_loss_claim_is_not_read ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/log_zeroed_init.rs (target/debug/deps/log_zeroed_init-f65a416c9f0ef2f9)

running 1 test
test a_zero_allocated_ap_shard_issues_first_seq_first ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

07:42:29 [ci] kernel-loom without loom: cargo test -p kernel-loom --no-default-features --test log_zeroed_init --test log_body_words --test log_cursor

07:42:29 === [ci] control `wake-fence-off`
   Compiling kernel-loom v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel/loom)
    Finished `test` profile [optimized + debuginfo] target(s) in 0.53s
     Running tests/log_wake.rs (target/debug/deps/log_wake-fd96f3dce4f325b5)

running 1 test
test a_commit_and_an_arm_cannot_both_miss ... FAILED

failures:

---- a_commit_and_an_arm_cannot_both_miss stdout ----

thread 'a_commit_and_an_arm_cannot_both_miss' (280245330) panicked at kernel/loom/tests/log_wake.rs:98:9:
the producer posted nothing and the reader decided to park: a committed record is left with a parked reader, and only a missing fence can produce it
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    a_commit_and_an_arm_cannot_both_miss

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 1 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel-loom --test log_wake`
07:42:30 [ci] control `wake-fence-off`: 1 verdict(s) reached

07:42:30 === [ci] control `lock-acquire-off`
   Compiling kernel-loom v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel/loom)
    Finished `test` profile [optimized + debuginfo] target(s) in 0.55s
     Running tests/ticket_lock.rs (target/debug/deps/ticket_lock-1441b3e0d5540721)

running 1 test
test try_lock_observes_the_previous_owners_writes ... FAILED

failures:

---- try_lock_observes_the_previous_owners_writes stdout ----

thread 'try_lock_observes_the_previous_owners_writes' (280245659) panicked at /Users/<user>/.cargo/git/checkouts/loom-906f299ec1581ba6/dfe3797/src/rt/location.rs:115:9:
Causality violation: Concurrent write accesses to `UnsafeCell`.

note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    try_lock_observes_the_previous_owners_writes

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 2 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel-loom --test ticket_lock`
07:42:31 [ci] control `lock-acquire-off`: 1 verdict(s) reached

07:42:31 === [ci] control `owed-fence-off`
   Compiling kernel-loom v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel/loom)
    Finished `test` profile [optimized + debuginfo] target(s) in 0.53s
     Running tests/owed_lock.rs (target/debug/deps/owed_lock-2028f07743415783)

running 1 test
test a_turned_away_cpu_holds_the_lock_or_is_answered ... FAILED

failures:

---- a_turned_away_cpu_holds_the_lock_or_is_answered stdout ----

thread 'a_turned_away_cpu_holds_the_lock_or_is_answered' (280245991) panicked at kernel/loom/tests/owed_lock.rs:52:9:
cpu 3 was turned away and nobody answered it
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    a_turned_away_cpu_holds_the_lock_or_is_answered

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel-loom --test owed_lock`
07:42:32 [ci] control `owed-fence-off`: 1 verdict(s) reached

07:42:32 === [ci] control `seqlock-writer-fence-off`
   Compiling kernel-loom v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel/loom)
    Finished `test` profile [optimized + debuginfo] target(s) in 0.54s
     Running tests/panic_console_publish.rs (target/debug/deps/panic_console_publish-f3e00ff7db7a9c08)

running 1 test
test a_snapshot_is_one_publication_whole ... FAILED

failures:

---- a_snapshot_is_one_publication_whole stdout ----

thread 'a_snapshot_is_one_publication_whole' (280246379) panicked at kernel/loom/tests/panic_console_publish.rs:28:13:
a snapshot kept two publications' words: [1, 1, 1, 2]
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    a_snapshot_is_one_publication_whole

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel-loom --test panic_console_publish`
07:42:32 [ci] control `seqlock-writer-fence-off`: 1 verdict(s) reached

07:42:32 === [ci] control `serial-try-lock-then-some`
   Compiling kernel-loom v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel/loom)
    Finished `test` profile [optimized + debuginfo] target(s) in 0.54s
     Running tests/serial_lock.rs (target/debug/deps/serial_lock-f65ea87dbf3a7210)

running 2 tests
test a_lost_try_lock_leaves_the_lock_held ... FAILED
test two_writers_never_overlap ... FAILED

failures:

---- a_lost_try_lock_leaves_the_lock_held stdout ----

thread 'a_lost_try_lock_leaves_the_lock_held' (280246712) panicked at kernel/loom/tests/serial_lock.rs:24:9:
a lost try_lock released the lock its holder still has
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

---- two_writers_never_overlap stdout ----

thread 'two_writers_never_overlap' (280246713) panicked at /Users/<user>/.cargo/git/checkouts/loom-906f299ec1581ba6/dfe3797/src/rt/location.rs:115:9:
Causality violation: Concurrent write accesses to `UnsafeCell`.



failures:
    a_lost_try_lock_leaves_the_lock_held
    two_writers_never_overlap

test result: FAILED. 0 passed; 2 failed; 0 ignored; 0 measured; 7 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel-loom --test serial_lock`
07:42:33 [ci] control `serial-try-lock-then-some`: 2 verdict(s) reached

07:42:33 === [ci] control `reap-raise-relaxed`
   Compiling kernel-loom v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel/loom)
    Finished `test` profile [optimized + debuginfo] target(s) in 0.52s
     Running tests/reap_gate.rs (target/debug/deps/reap_gate-a6fae9c43f3f99ca)

running 1 test
test a_claim_sees_the_enrolled_work ... FAILED

failures:

---- a_claim_sees_the_enrolled_work stdout ----

thread 'a_claim_sees_the_enrolled_work' (280247143) panicked at kernel/loom/tests/reap_gate.rs:97:13:
assertion `left == right` failed: a claimed gate handed the reaper an unpublished exit — the raise did not carry the work it was raised for
  left: 0
 right: 1
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    a_claim_sees_the_enrolled_work

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 3 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel-loom --test reap_gate`
07:42:34 [ci] control `reap-raise-relaxed`: 1 verdict(s) reached

07:42:34 === [ci] control `shootdown-serve-relaxed`
   Compiling kernel-loom v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel/loom)
    Finished `test` profile [optimized + debuginfo] target(s) in 0.48s
     Running tests/tlb_shootdown.rs (target/debug/deps/tlb_shootdown-a2e346343d56fb12)

running 2 tests
test an_acknowledged_flush_postdates_the_page_table_write ... FAILED
test one_serve_answers_two_concurrent_shootdowns ... FAILED

failures:

---- an_acknowledged_flush_postdates_the_page_table_write stdout ----

thread 'an_acknowledged_flush_postdates_the_page_table_write' (280247455) panicked at kernel/loom/tests/tlb_shootdown.rs:142:13:
assertion `left == right` failed: cpu 1 acknowledged the shootdown while still holding a translation for the page the initiator is about to free
  left: 1
 right: 0
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

---- one_serve_answers_two_concurrent_shootdowns stdout ----

@Japabu

Japabu commented Oct 11, 2026

Copy link
Copy Markdown
Collaborator Author

ci-host, part 7 of 9, cargo run -- --ci host at ed538e7, exit 0, 79 steps green

thread 'one_serve_answers_two_concurrent_shootdowns' (280247456) panicked at kernel/loom/tests/tlb_shootdown.rs:181:13:
assertion `left == right` failed: the first initiator freed a page cpu 1 could still reach
  left: 1
 right: 0


failures:
    an_acknowledged_flush_postdates_the_page_table_write
    one_serve_answers_two_concurrent_shootdowns

test result: FAILED. 0 passed; 2 failed; 0 ignored; 0 measured; 2 filtered out; finished in 0.18s

error: test failed, to rerun pass `-p kernel-loom --test tlb_shootdown`
07:42:35 [ci] control `shootdown-serve-relaxed`: 2 verdict(s) reached

07:42:35 === [ci] control `shootdown-served-relaxed`
   Compiling kernel-loom v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel/loom)
    Finished `test` profile [optimized + debuginfo] target(s) in 0.48s
     Running tests/counters_round.rs (target/debug/deps/counters_round-2f4dae6a97ddac0b)

running 1 test
test a_cpu_read_as_answered_is_read_with_its_answer ... FAILED

failures:

---- a_cpu_read_as_answered_is_read_with_its_answer stdout ----

thread 'a_cpu_read_as_answered_is_read_with_its_answer' (280247747) panicked at kernel/loom/tests/counters_round.rs:57:17:
assertion `left == right` failed: cpu 1 read as having answered the round, and its block did not copy out that answer
  left: None
 right: Some([2, 2])
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    a_cpu_read_as_answered_is_read_with_its_answer

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel-loom --test counters_round`
07:42:36 [ci] control `shootdown-served-relaxed`: 1 verdict(s) reached

07:42:36 === [ci] control `roster-commit-relaxed`
   Compiling kernel-loom v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel/loom)
    Finished `test` profile [optimized + debuginfo] target(s) in 0.54s
     Running tests/smp_bringup.rs (target/debug/deps/smp_bringup-890aba1ad9e2e955)

running 1 test
test a_committed_count_never_outruns_its_slot ... FAILED

failures:

---- a_committed_count_never_outruns_its_slot stdout ----

thread 'a_committed_count_never_outruns_its_slot' (280248073) panicked at kernel/loom/tests/smp_bringup.rs:50:17:
assertion `left == right` failed: a reader saw cpu1 counted while its hardware-id slot was still unfilled
  left: 4294967295
 right: 7
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    a_committed_count_never_outruns_its_slot

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 2 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel-loom --test smp_bringup`
07:42:37 [ci] control `roster-commit-relaxed`: 1 verdict(s) reached

07:42:37 === [ci] control `smp-ready-split`
   Compiling kernel-loom v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel/loom)
    Finished `test` profile [optimized + debuginfo] target(s) in 0.54s
     Running tests/smp_bringup.rs (target/debug/deps/smp_bringup-12b06e12df4049d5)

running 1 test
test a_released_machine_is_answering ... FAILED

failures:

---- a_released_machine_is_answering stdout ----

thread 'a_released_machine_is_answering' (280248401) panicked at kernel/loom/tests/smp_bringup.rs:83:21:
a CPU saw the machine released but not answering: a shootdown here is local-only and skips an AP that may already have joined
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    a_released_machine_is_answering

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 2 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel-loom --test smp_bringup`
07:42:38 [ci] control `smp-ready-split`: 1 verdict(s) reached

07:42:38 === [ci] control `log-commit-release-off`
   Compiling kernel-loom v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel/loom)
    Finished `test` profile [optimized + debuginfo] target(s) in 0.57s
     Running tests/log_record.rs (target/debug/deps/log_record-8901e25c649904e8)

running 2 tests
test a_key_and_the_record_it_names_come_from_one_generation ... FAILED
test a_committed_record_is_whole_or_absent ... FAILED

failures:

---- a_key_and_the_record_it_names_come_from_one_generation stdout ----

thread 'a_key_and_the_record_it_names_come_from_one_generation' (280248730) panicked at kernel/loom/tests/log_record.rs:355:13:
assertion `left == right` failed: a key from the generation the slot used to hold
  left: 1007
 right: 5007
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

---- a_committed_record_is_whole_or_absent stdout ----

thread 'a_committed_record_is_whole_or_absent' (280248729) panicked at kernel/loom/tests/log_record.rs:82:5:
assertion `left == right` failed: torn: at_ns is another record's
  left: 0
 right: 1007


failures:
    a_committed_record_is_whole_or_absent
    a_key_and_the_record_it_names_come_from_one_generation

test result: FAILED. 0 passed; 2 failed; 0 ignored; 0 measured; 5 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel-loom --test log_record`
07:42:39 [ci] control `log-commit-release-off`: 2 verdict(s) reached

07:42:39 === [ci] control `shard-publish-relaxed`
   Compiling kernel-loom v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel/loom)
    Finished `test` profile [optimized + debuginfo] target(s) in 0.69s
     Running tests/log_publish.rs (target/debug/deps/log_publish-69909270b5c9854c)

running 1 test
test a_reader_that_finds_a_shard_finds_it_built ... FAILED

failures:

---- a_reader_that_finds_a_shard_finds_it_built stdout ----

thread 'a_reader_that_finds_a_shard_finds_it_built' (280249062) panicked at /Users/<user>/.cargo/git/checkouts/loom-906f299ec1581ba6/dfe3797/src/rt/location.rs:115:9:
Causality violation: Concurrent load and mut accesses.

note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    a_reader_that_finds_a_shard_finds_it_built

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 1 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel-loom --test log_publish`
07:42:40 [ci] control `shard-publish-relaxed`: 1 verdict(s) reached

07:42:40 === [ci] control `log-ring-publish-relaxed`
   Compiling kernel-loom v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel/loom)
    Finished `test` profile [optimized + debuginfo] target(s) in 0.56s
     Running tests/log_ring.rs (target/debug/deps/log_ring-fd5970f45225a9ad)

running 3 tests
test a_lane_publishes_whole_and_reuses_only_after_a_read ... FAILED
test a_slot_is_reused_only_after_its_record_was_read ... FAILED
test a_published_record_is_whole_and_read_once ... FAILED

failures:

---- a_lane_publishes_whole_and_reuses_only_after_a_read stdout ----

thread 'a_lane_publishes_whole_and_reuses_only_after_a_read' (280249397) panicked at /Users/<user>/.cargo/git/checkouts/loom-906f299ec1581ba6/dfe3797/src/rt/location.rs:115:9:
Causality violation: Concurrent read and write accesses.

note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

---- a_slot_is_reused_only_after_its_record_was_read stdout ----

thread 'a_slot_is_reused_only_after_its_record_was_read' (280249399) panicked at /Users/<user>/.cargo/git/checkouts/loom-906f299ec1581ba6/dfe3797/src/rt/location.rs:115:9:
Causality violation: Concurrent read and write accesses.


---- a_published_record_is_whole_and_read_once stdout ----

thread 'a_published_record_is_whole_and_read_once' (280249398) panicked at /Users/<user>/.cargo/git/checkouts/loom-906f299ec1581ba6/dfe3797/src/rt/location.rs:115:9:
Causality violation: Concurrent read and write accesses.



failures:
    a_lane_publishes_whole_and_reuses_only_after_a_read
    a_published_record_is_whole_and_read_once
    a_slot_is_reused_only_after_its_record_was_read

test result: FAILED. 0 passed; 3 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

error: test failed, to rerun pass `-p kernel-loom --test log_ring`
07:42:41 [ci] control `log-ring-publish-relaxed`: 3 verdict(s) reached

07:42:41 === [ci] control `log-ring-tail-relaxed`
   Compiling kernel-loom v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel/loom)
    Finished `test` profile [optimized + debuginfo] target(s) in 0.55s
     Running tests/log_ring.rs (target/debug/deps/log_ring-65fb5473d901dbfd)

running 3 tests
test a_lane_publishes_whole_and_reuses_only_after_a_read ... FAILED
test a_slot_is_reused_only_after_its_record_was_read ... FAILED
test a_published_record_is_whole_and_read_once ... FAILED

failures:

---- a_lane_publishes_whole_and_reuses_only_after_a_read stdout ----

thread 'a_lane_publishes_whole_and_reuses_only_after_a_read' (280249754) panicked at /Users/<user>/.cargo/git/checkouts/loom-906f299ec1581ba6/dfe3797/src/rt/location.rs:115:9:
Causality violation: Concurrent read and write accesses to `UnsafeCell`.

note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

---- a_slot_is_reused_only_after_its_record_was_read stdout ----

thread 'a_slot_is_reused_only_after_its_record_was_read' (280249756) panicked at /Users/<user>/.cargo/git/checkouts/loom-906f299ec1581ba6/dfe3797/src/rt/location.rs:115:9:
Causality violation: Concurrent read and write accesses to `UnsafeCell`.


---- a_published_record_is_whole_and_read_once stdout ----

thread 'a_published_record_is_whole_and_read_once' (280249755) panicked at kernel/loom/tests/log_ring.rs:119:45:
assertion `left == right` failed
  left: Refused
 right: Written


failures:
    a_lane_publishes_whole_and_reuses_only_after_a_read
    a_published_record_is_whole_and_read_once
    a_slot_is_reused_only_after_its_record_was_read

test result: FAILED. 0 passed; 3 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

error: test failed, to rerun pass `-p kernel-loom --test log_ring`
07:42:41 [ci] control `log-ring-tail-relaxed`: 3 verdict(s) reached

07:42:41 === [ci] control `log-ring-loads-swapped`
   Compiling kernel-loom v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel/loom)
    Finished `test` profile [optimized + debuginfo] target(s) in 0.58s
     Running tests/log_ring.rs (target/debug/deps/log_ring-17a1cc881f842c98)

running 1 test
test a_published_record_is_whole_and_read_once ... FAILED

failures:

---- a_published_record_is_whole_and_read_once stdout ----

thread 'a_published_record_is_whole_and_read_once' (280250099) panicked at kernel/loom/tests/log_ring.rs:119:45:
assertion `left == right` failed
  left: Refused
 right: Written
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    a_published_record_is_whole_and_read_once

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 2 filtered out; finished in 0.01s

error: test failed, to rerun pass `-p kernel-loom --test log_ring`
07:42:42 [ci] control `log-ring-loads-swapped`: 1 verdict(s) reached

07:42:42 === [ci] control `post-is-an-answer`
   Compiling kernel-loom v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel/loom)
    Finished `test` profile [optimized + debuginfo] target(s) in 0.55s
     Running tests/inbox_answer.rs (target/debug/deps/inbox_answer-bf78819351e10b6a)

running 3 tests
test a_post_with_nothing_to_read_answers_nothing ... FAILED
test a_post_that_lands_after_its_bytes_were_read_answers_nothing ... FAILED
test a_poll_armed_again_does_not_end_the_look ... FAILED

failures:

---- a_post_with_nothing_to_read_answers_nothing stdout ----

thread 'a_post_with_nothing_to_read_answers_nothing' (280250435) panicked at kernel/loom/tests/inbox_answer.rs:247:9:
assertion `left == right` failed: a post with nothing behind it was answered
  left: [(7, 1)]
 right: []
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

---- a_post_that_lands_after_its_bytes_were_read_answers_nothing stdout ----

thread 'a_post_that_lands_after_its_bytes_were_read_answers_nothing' (280250434) panicked at kernel/loom/tests/inbox_answer.rs:276:9:
assertion `left == right` failed: the payload's late post was answered
  left: [(7, 1)]
 right: []

---- a_poll_armed_again_does_not_end_the_look stdout ----

thread 'a_poll_armed_again_does_not_end_the_look' (280250433) panicked at kernel/loom/tests/inbox_answer.rs:310:9:
assertion `left == right` failed
  left: [(3, 1), (4, 1)]
 right: [(4, 1)]


failures:
    a_poll_armed_again_does_not_end_the_look
    a_post_that_lands_after_its_bytes_were_read_answers_nothing
    a_post_with_nothing_to_read_answers_nothing

test result: FAILED. 0 passed; 3 failed; 0 ignored; 0 measured; 13 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel-loom --test inbox_answer`
07:42:43 [ci] control `post-is-an-answer`: 3 verdict(s) reached

07:42:43 === [ci] control `poll-fire-load-store`
   Compiling kernel-loom v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel/loom)
    Finished `test` profile [optimized + debuginfo] target(s) in 0.55s
     Running tests/poll_once.rs (target/debug/deps/poll_once-e7936a3e2ec155dd)

running 2 tests
test a_post_and_a_recheck_answer_a_poll_once ... FAILED
test a_withdrawal_and_a_post_never_both_take_a_poll ... FAILED

failures:

---- a_post_and_a_recheck_answer_a_poll_once stdout ----

thread 'a_post_and_a_recheck_answer_a_poll_once' (280250769) panicked at kernel/loom/tests/poll_once.rs:49:9:
assertion `left == right` failed: a ready poll is answered exactly once
  left: 2
 right: 1

---- a_withdrawal_and_a_post_never_both_take_a_poll stdout ----

thread 'a_withdrawal_and_a_post_never_both_take_a_poll' (280250770) panicked at kernel/loom/tests/poll_once.rs:72:9:
answered=true withdrawn=true
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    a_post_and_a_recheck_answer_a_poll_once
    a_withdrawal_and_a_post_never_both_take_a_poll

test result: FAILED. 0 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel-loom --test poll_once`
07:42:44 [ci] control `poll-fire-load-store`: 2 verdict(s) reached

07:42:44 === [ci] control `sleeplock-acquire-off`
   Compiling kernel-loom v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel/loom)
    Finished `test` profile [optimized + debuginfo] target(s) in 0.55s
     Running tests/sleep_lock.rs (target/debug/deps/sleep_lock-f3b193adf2ee818c)

running 2 tests
test a_parking_contender_observes_the_holders_writes ... FAILED
test two_holders_never_overlap ... FAILED

failures:

---- a_parking_contender_observes_the_holders_writes stdout ----

thread 'a_parking_contender_observes_the_holders_writes' (280251103) panicked at /Users/<user>/.cargo/git/checkouts/loom-906f299ec1581ba6/dfe3797/src/rt/location.rs:115:9:
Causality violation: Concurrent write accesses to `UnsafeCell`.

note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

---- two_holders_never_overlap stdout ----

thread 'two_holders_never_overlap' (280251104) panicked at /Users/<user>/.cargo/git/checkouts/loom-906f299ec1581ba6/dfe3797/src/rt/location.rs:115:9:
Causality violation: Concurrent write accesses to `UnsafeCell`.



failures:
    a_parking_contender_observes_the_holders_writes
    two_holders_never_overlap

test result: FAILED. 0 passed; 2 failed; 0 ignored; 0 measured; 2 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel-loom --test sleep_lock`
07:42:45 [ci] control `sleeplock-acquire-off`: 2 verdict(s) reached

07:42:45 === [ci] control `device-irq-lossy`
   Compiling kernel-loom v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel/loom)
    Finished `test` profile [optimized + debuginfo] target(s) in 0.56s
     Running tests/device_irq.rs (target/debug/deps/device_irq-9fe67f32f4d3986f)

running 1 test
test every_message_is_counted_once ... FAILED

failures:

---- every_message_is_counted_once stdout ----

thread 'every_message_is_counted_once' (280251450) panicked at kernel/loom/tests/device_irq.rs:49:9:
assertion `left == right` failed: two interrupts arrived, the reader took 1 and 2 were left: a driver that misses one waits for a device that has already spoken
  left: 3
 right: 2
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    every_message_is_counted_once

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 2 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel-loom --test device_irq`
07:42:46 [ci] control `device-irq-lossy`: 1 verdict(s) reached

07:42:46 === [ci] control `no-preempt-guard`
   Compiling kernel-loom v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel/loom)
    Finished `test` profile [optimized + debuginfo] target(s) in 0.52s
     Running tests/loom_mailbox.rs (target/debug/deps/loom_mailbox-a88193098a4b07bc)

running 1 test

thread 'preempted_producer_strands_suffix' (280251759) panicked at kernel/loom/tests/loom_mailbox.rs:76:9:
I2: this CPU halted while its own interrupted context is inside a push. That context cannot resume while the CPU sleeps, so every message queued behind its unlinked node stays invisible with no doorbell edge left to raise. Drained so far: []
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
test preempted_producer_strands_suffix ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.31s

07:42:47 [ci] control `no-preempt-guard`: 1 verdict(s) reached

07:42:47 === [ci] control `doorbell-kick-relaxed`
   Compiling kernel-loom v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel/loom)
    Finished `test` profile [optimized + debuginfo] target(s) in 0.51s
     Running tests/loom_sleep.rs (target/debug/deps/loom_sleep-c38cbcf547a528eb)

running 1 test

thread 'a_halted_cpu_with_queued_work_was_kicked' (280252082) panicked at kernel/loom/tests/loom_sleep.rs:104:13:
halted with 2 of 2 messages queued and no IPI in flight — a sleep-through
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

thread 'a_halted_cpu_with_queued_work_was_kicked' (280252082) panicked at kernel/loom/src/../../pure/sched/mailbox.rs:178:9:
mailbox node dropped with a message in flight
stack backtrace:
   0:        0x102c59edc - std[5d97c59e5e5fafcc]::backtrace_rs::backtrace::libunwind::trace
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
   1:        0x102c59edc - std[5d97c59e5e5fafcc]::backtrace_rs::backtrace::trace_unsynchronized::<std[5d97c59e5e5fafcc]::sys::backtrace::_print_fmt::{closure#1}>
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
   2:        0x102c59edc - std[5d97c59e5e5fafcc]::sys::backtrace::_print_fmt
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/std/src/sys/backtrace.rs:74:9
   3:        0x102c59edc - <<std[5d97c59e5e5fafcc]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[663bb9e1522ba5ef]::fmt::Display>::fmt
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/std/src/sys/backtrace.rs:44:26
   4:        0x102c6b25c - <core[663bb9e1522ba5ef]::fmt::rt::Argument>::fmt
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/core/src/fmt/rt.rs:152:76
   5:        0x102c6b25c - core[663bb9e1522ba5ef]::fmt::write
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/core/src/fmt/mod.rs:1687:22
   6:        0x102c5da54 - std[5d97c59e5e5fafcc]::io::default_write_fmt::<alloc[cc4db322bb1ac55d]::vec::Vec<u8>>
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/std/src/io/mod.rs:626:11
   7:        0x102c5da54 - <alloc[cc4db322bb1ac55d]::vec::Vec<u8> as std[5d97c59e5e5fafcc]::io::Write>::write_fmt
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/std/src/io/mod.rs:1730:13
   8:        0x102c40bd4 - <std[5d97c59e5e5fafcc]::sys::backtrace::BacktraceLock>::print
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/std/src/sys/backtrace.rs:47:25
   9:        0x102c40bd4 - std[5d97c59e5e5fafcc]::panicking::default_hook::{closure#0}
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/std/src/panicking.rs:292:27
  10:        0x102c53694 - std[5d97c59e5e5fafcc]::panicking::default_hook
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/std/src/panicking.rs:316:9
  11:        0x102bebc70 - <alloc[cc4db322bb1ac55d]::boxed::Box<dyn for<'a, 'b> core[663bb9e1522ba5ef]::ops::function::Fn<(&'a std[5d97c59e5e5fafcc]::panic::PanicHookInfo<'b>,), Output = ()> + core[663bb9e1522ba5ef]::marker::Sync + core[663bb9e1522ba5ef]::marker::Send> as core[663bb9e1522ba5ef]::ops::function::Fn<(&std[5d97c59e5e5fafcc]::panic::PanicHookInfo,)>>::call
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/alloc/src/boxed.rs:2333:9
  12:        0x102bebc70 - test[4aa3eea2f4983582]::test_main_inner::<test[4aa3eea2f4983582]::test_main_static::{closure#0}>::{closure#0}
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/test/src/lib.rs:155:21
  13:        0x102c2dc4c - <alloc[cc4db322bb1ac55d]::boxed::Box<dyn for<'a, 'b> core[663bb9e1522ba5ef]::ops::function::Fn<(&'a std[5d97c59e5e5fafcc]::panic::PanicHookInfo<'b>,), Output = ()> + core[663bb9e1522ba5ef]::marker::Sync + core[663bb9e1522ba5ef]::marker::Send> as core[663bb9e1522ba5ef]::ops::function::Fn<(&std[5d97c59e5e5fafcc]::panic::PanicHookInfo,)>>::call
                               at /Users/<user>/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/alloc/src/boxed.rs:2333:9
  14:        0x102c2dc4c - generator[50749e7e4996c531]::detail::gen::catch_unwind_filter::<generator[50749e7e4996c531]::detail::gen::gen_init_impl::{closure#0}, ()>::{closure#0}::{closure#0}
                               at /Users/<user>/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generator-0.8.9/src/detail/gen.rs:19:13
  15:        0x102c53bd4 - <alloc[cc4db322bb1ac55d]::boxed::Box<dyn for<'a, 'b> core[663bb9e1522ba5ef]::ops::function::Fn<(&'a std[5d97c59e5e5fafcc]::panic::PanicHookInfo<'b>,), Output = ()> + core[663bb9e1522ba5ef]::marker::Sync + core[663bb9e1522ba5ef]::marker::Send> as core[663bb9e1522ba5ef]::ops::function::Fn<(&std[5d97c59e5e5fafcc]::panic::PanicHookInfo,)>>::call
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/alloc/src/boxed.rs:2333:9
  16:        0x102c53bd4 - std[5d97c59e5e5fafcc]::panicking::panic_with_hook
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/std/src/panicking.rs:823:13
  17:        0x102c40c88 - std[5d97c59e5e5fafcc]::panicking::panic_handler::{closure#0}
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/std/src/panicking.rs:681:13
  18:        0x102c37d60 - std[5d97c59e5e5fafcc]::sys::backtrace::__rust_end_short_backtrace::<std[5d97c59e5e5fafcc]::panicking::panic_handler::{closure#0}, !>
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/std/src/sys/backtrace.rs:182:18
  19:        0x102c413f4 - __rustc[100742bb89c490cb]::rust_begin_unwind
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/std/src/panicking.rs:679:5
  20:        0x102c79ff4 - core[663bb9e1522ba5ef]::panicking::panic_fmt
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/core/src/panicking.rs:80:14
  21:        0x102bdf104 - <kernel_loom[69df8da3d8035e49]::sched::mailbox::MailboxNode<kernel_loom[69df8da3d8035e49]::sched_model::Msg> as core[663bb9e1522ba5ef]::ops::drop::Drop>::drop
                               at /Users/<user>/Dev/jan/toyos-dirid/kernel/loom/src/../../pure/sched/mailbox.rs:178:9
  22:        0x102bdf104 - core[663bb9e1522ba5ef]::ptr::drop_glue::<kernel_loom[69df8da3d8035e49]::sched::mailbox::MailboxNode<kernel_loom[69df8da3d8035e49]::sched_model::Msg>>
                               at /Users/<user>/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:823:1
  23:        0x102bdf104 - core[663bb9e1522ba5ef]::ptr::drop_glue::<[kernel_loom[69df8da3d8035e49]::sched::mailbox::MailboxNode<kernel_loom[69df8da3d8035e49]::sched_model::Msg>]>
                               at /Users/<user>/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:823:1
  24:        0x102bdf104 - core[663bb9e1522ba5ef]::ptr::drop_glue::<[kernel_loom[69df8da3d8035e49]::sched::mailbox::MailboxNode<kernel_loom[69df8da3d8035e49]::sched_model::Msg>; 2usize]>
                               at /Users/<user>/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:823:1
  25:        0x102bdf104 - core[663bb9e1522ba5ef]::ptr::drop_glue::<loom_sleep[8e8d7a68dd6c3415]::World>
                               at /Users/<user>/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:823:1
  26:        0x102bd716c - core[663bb9e1522ba5ef]::ptr::drop_in_place::<loom_sleep[8e8d7a68dd6c3415]::World>
                               at /Users/<user>/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:818:14
  27:        0x102bd716c - <alloc[cc4db322bb1ac55d]::sync::Arc<loom_sleep[8e8d7a68dd6c3415]::World>>::drop_slow
                               at /Users/<user>/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/alloc/src/sync.rs:2143:18
  28:        0x102bda040 - loom_sleep[8e8d7a68dd6c3415]::a_halted_cpu_with_queued_work_was_kicked::{closure#0}
                               at /Users/<user>/Dev/jan/toyos-dirid/kernel/loom/tests/loom_sleep.rs:121:5
  29:        0x102bda040 - <loom[709ac591f2027ef2]::model::Builder>::check::<loom_sleep[8e8d7a68dd6c3415]::a_halted_cpu_with_queued_work_was_kicked::{closure#0}>::{closure#0}
                               at /Users/<user>/.cargo/git/checkouts/loom-906f299ec1581ba6/dfe3797/src/model.rs:194:17
  30:        0x102bda040 - <<loom[709ac591f2027ef2]::model::Builder>::check<loom_sleep[8e8d7a68dd6c3415]::a_halted_cpu_with_queued_work_was_kicked::{closure#0}>::{closure#0} as core[663bb9e1522ba5ef]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
                               at /Users/<user>/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/ops/function.rs:250:5
  31:        0x102c231d4 - <alloc[cc4db322bb1ac55d]::boxed::Box<dyn core[663bb9e1522ba5ef]::ops::function::FnOnce<(), Output = ()>> as core[663bb9e1522ba5ef]::ops::function::FnOnce<()>>::call_once
                               at /Users/<user>/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/alloc/src/boxed.rs:2319:9
  32:        0x102c231d4 - loom[709ac591f2027ef2]::rt::scheduler::spawn_thread::{closure#0}
                               at /Users/<user>/.cargo/git/checkouts/loom-906f299ec1581ba6/dfe3797/src/rt/scheduler.rs:142:17
  33:        0x102c231d4 - <loom[709ac591f2027ef2]::rt::scheduler::spawn_thread::{closure#0} as core[663bb9e1522ba5ef]::ops::function::FnOnce<()>>::call_once
                               at /Users/<user>/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/ops/function.rs:250:5
  34:        0x102c231d4 - <generator[50749e7e4996c531]::gen_impl::GeneratorImpl<core[663bb9e1522ba5ef]::option::Option<alloc[cc4db322bb1ac55d]::boxed::Box<dyn core[663bb9e1522ba5ef]::ops::function::FnOnce<(), Output = ()>>>, ()>>::init_code::<loom[709ac591f2027ef2]::rt::scheduler::spawn_thread::{closure#0}>::{closure#0}
                               at /Users/<user>/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generator-0.8.9/src/gen_impl.rs:357:21
  35:        0x102c231d4 - <generator[50749e7e4996c531]::stack::StackBox<<generator[50749e7e4996c531]::gen_impl::GeneratorImpl<core[663bb9e1522ba5ef]::option::Option<alloc[cc4db322bb1ac55d]::boxed::Box<dyn core[663bb9e1522ba5ef]::ops::function::FnOnce<(), Output = ()>>>, ()>>::init_code<loom[709ac591f2027ef2]::rt::scheduler::spawn_thread::{closure#0}>::{closure#0}>>::call_once
                               at /Users/<user>/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generator-0.8.9/src/stack/mod.rs:137:13
  36:        0x102c74bdc - <generator[50749e7e4996c531]::stack::Func>::call_once
                               at /Users/<user>/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generator-0.8.9/src/stack/mod.rs:119:9
  37:        0x102c74bdc - generator[50749e7e4996c531]::detail::gen::gen_init_impl::{closure#0}
                               at /Users/<user>/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generator-0.8.9/src/detail/gen.rs:35:14
  38:        0x102c74bdc - <generator[50749e7e4996c531]::detail::gen::gen_init_impl::{closure#0} as core[663bb9e1522ba5ef]::ops::function::FnOnce<()>>::call_once
                               at /Users/<user>/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/ops/function.rs:250:5
  39:        0x102c74bdc - std[5d97c59e5e5fafcc]::panicking::catch_unwind::do_call::<generator[50749e7e4996c531]::detail::gen::gen_init_impl::{closure#0}, ()>
                               at /Users/<user>/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/std/src/panicking.rs:576:43
  40:        0x102c74bdc - std[5d97c59e5e5fafcc]::panicking::catch_unwind::<(), generator[50749e7e4996c531]::detail::gen::gen_init_impl::{closure#0}>
                               at /Users/<user>/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/std/src/panicking.rs:544:19
  41:        0x102c74bdc - std[5d97c59e5e5fafcc]::panic::catch_unwind::<generator[50749e7e4996c531]::detail::gen::gen_init_impl::{closure#0}, ()>
                               at /Users/<user>/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/std/src/panic.rs:359:14
  42:        0x102c74bdc - generator[50749e7e4996c531]::detail::gen::catch_unwind_filter::<generator[50749e7e4996c531]::detail::gen::gen_init_impl::{closure#0}, ()>
                               at /Users/<user>/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generator-0.8.9/src/detail/gen.rs:23:5
  43:        0x102c74bdc - generator[50749e7e4996c531]::detail::gen::gen_init_impl
                               at /Users/<user>/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generator-0.8.9/src/detail/gen.rs:50:25
  44:        0x102c74b6c - generator[50749e7e4996c531]::detail::asm::gen_init
                               at /Users/<user>/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generator-0.8.9/src/detail/aarch64_unix.rs:22:5

thread 'a_halted_cpu_with_queued_work_was_kicked' (280252082) panicked at kernel/loom/src/../../pure/sched/mailbox.rs:178:9:
mailbox node dropped with a message in flight
stack backtrace:
   0:        0x102c59edc - std[5d97c59e5e5fafcc]::backtrace_rs::backtrace::libunwind::trace
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
   1:        0x102c59edc - std[5d97c59e5e5fafcc]::backtrace_rs::backtrace::trace_unsynchronized::<std[5d97c59e5e5fafcc]::sys::backtrace::_print_fmt::{closure#1}>
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
   2:        0x102c59edc - std[5d97c59e5e5fafcc]::sys::backtrace::_print_fmt
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/std/src/sys/backtrace.rs:74:9
   3:        0x102c59edc - <<std[5d97c59e5e5fafcc]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[663bb9e1522ba5ef]::fmt::Display>::fmt
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/std/src/sys/backtrace.rs:44:26
   4:        0x102c6b25c - <core[663bb9e1522ba5ef]::fmt::rt::Argument>::fmt
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/core/src/fmt/rt.rs:152:76
   5:        0x102c6b25c - core[663bb9e1522ba5ef]::fmt::write
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/core/src/fmt/mod.rs:1687:22
   6:        0x102c5da54 - std[5d97c59e5e5fafcc]::io::default_write_fmt::<alloc[cc4db322bb1ac55d]::vec::Vec<u8>>
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/std/src/io/mod.rs:626:11
   7:        0x102c5da54 - <alloc[cc4db322bb1ac55d]::vec::Vec<u8> as std[5d97c59e5e5fafcc]::io::Write>::write_fmt
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/std/src/io/mod.rs:1730:13
   8:        0x102c40bd4 - <std[5d97c59e5e5fafcc]::sys::backtrace::BacktraceLock>::print
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/std/src/sys/backtrace.rs:47:25
   9:        0x102c40bd4 - std[5d97c59e5e5fafcc]::panicking::default_hook::{closure#0}
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/std/src/panicking.rs:292:27
  10:        0x102c53694 - std[5d97c59e5e5fafcc]::panicking::default_hook
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/std/src/panicking.rs:316:9
  11:        0x102bebc70 - <alloc[cc4db322bb1ac55d]::boxed::Box<dyn for<'a, 'b> core[663bb9e1522ba5ef]::ops::function::Fn<(&'a std[5d97c59e5e5fafcc]::panic::PanicHookInfo<'b>,), Output = ()> + core[663bb9e1522ba5ef]::marker::Sync + core[663bb9e1522ba5ef]::marker::Send> as core[663bb9e1522ba5ef]::ops::function::Fn<(&std[5d97c59e5e5fafcc]::panic::PanicHookInfo,)>>::call
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/alloc/src/boxed.rs:2333:9
  12:        0x102bebc70 - test[4aa3eea2f4983582]::test_main_inner::<test[4aa3eea2f4983582]::test_main_static::{closure#0}>::{closure#0}
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/test/src/lib.rs:155:21
  13:        0x102c2dc4c - <alloc[cc4db322bb1ac55d]::boxed::Box<dyn for<'a, 'b> core[663bb9e1522ba5ef]::ops::function::Fn<(&'a std[5d97c59e5e5fafcc]::panic::PanicHookInfo<'b>,), Output = ()> + core[663bb9e1522ba5ef]::marker::Sync + core[663bb9e1522ba5ef]::marker::Send> as core[663bb9e1522ba5ef]::ops::function::Fn<(&std[5d97c59e5e5fafcc]::panic::PanicHookInfo,)>>::call
                               at /Users/<user>/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/alloc/src/boxed.rs:2333:9
  14:        0x102c2dc4c - generator[50749e7e4996c531]::detail::gen::catch_unwind_filter::<generator[50749e7e4996c531]::detail::gen::gen_init_impl::{closure#0}, ()>::{closure#0}::{closure#0}
                               at /Users/<user>/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generator-0.8.9/src/detail/gen.rs:19:13
  15:        0x102c53bd4 - <alloc[cc4db322bb1ac55d]::boxed::Box<dyn for<'a, 'b> core[663bb9e1522ba5ef]::ops::function::Fn<(&'a std[5d97c59e5e5fafcc]::panic::PanicHookInfo<'b>,), Output = ()> + core[663bb9e1522ba5ef]::marker::Sync + core[663bb9e1522ba5ef]::marker::Send> as core[663bb9e1522ba5ef]::ops::function::Fn<(&std[5d97c59e5e5fafcc]::panic::PanicHookInfo,)>>::call
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/alloc/src/boxed.rs:2333:9
  16:        0x102c53bd4 - std[5d97c59e5e5fafcc]::panicking::panic_with_hook
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/std/src/panicking.rs:823:13
  17:        0x102c40c88 - std[5d97c59e5e5fafcc]::panicking::panic_handler::{closure#0}
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/std/src/panicking.rs:681:13
  18:        0x102c37d60 - std[5d97c59e5e5fafcc]::sys::backtrace::__rust_end_short_backtrace::<std[5d97c59e5e5fafcc]::panicking::panic_handler::{closure#0}, !>
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/std/src/sys/backtrace.rs:182:18
  19:        0x102c413f4 - __rustc[100742bb89c490cb]::rust_begin_unwind
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/std/src/panicking.rs:679:5
  20:        0x102c79ff4 - core[663bb9e1522ba5ef]::panicking::panic_fmt
                               at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/core/src/panicking.rs:80:14
  21:        0x102bde7c8 - <kernel_loom[69df8da3d8035e49]::sched::mailbox::MailboxNode<kernel_loom[69df8da3d8035e49]::sched_model::Msg> as core[663bb9e1522ba5ef]::ops::drop::Drop>::drop
                               at /Users/<user>/Dev/jan/toyos-dirid/kernel/loom/src/../../pure/sched/mailbox.rs:178:9
  22:        0x102bde7c8 - core[663bb9e1522ba5ef]::ptr::drop_glue::<kernel_loom[69df8da3d8035e49]::sched::mailbox::MailboxNode<kernel_loom[69df8da3d8035e49]::sched_model::Msg>>
                               at /Users/<user>/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:823:1
  23:        0x102bdf144 - core[663bb9e1522ba5ef]::ptr::drop_glue::<[kernel_loom[69df8da3d8035e49]::sched::mailbox::MailboxNode<kernel_loom[69df8da3d8035e49]::sched_model::Msg>]>
                               at /Users/<user>/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:823:1
  24:        0x102bdf144 - core[663bb9e1522ba5ef]::ptr::drop_glue::<[kernel_loom[69df8da3d8035e49]::sched::mailbox::MailboxNode<kernel_loom[69df8da3d8035e49]::sched_model::Msg>; 2usize]>
                               at /Users/<user>/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:823:1
  25:        0x102bdf144 - core[663bb9e1522ba5ef]::ptr::drop_glue::<loom_sleep[8e8d7a68dd6c3415]::World>
                               at /Users/<user>/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:823:1
  26:        0x102bd716c - core[663bb9e1522ba5ef]::ptr::drop_in_place::<loom_sleep[8e8d7a68dd6c3415]::World>
                               at /Users/<user>/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:818:14
  27:        0x102bd716c - <alloc[cc4db322bb1ac55d]::sync::Arc<loom_sleep[8e8d7a68dd6c3415]::World>>::drop_slow
                               at /Users/<user>/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/alloc/src/sync.rs:2143:18
  28:        0x102bda040 - loom_sleep[8e8d7a68dd6c3415]::a_halted_cpu_with_queued_work_was_kicked::{closure#0}
                               at /Users/<user>/Dev/jan/toyos-dirid/kernel/loom/tests/loom_sleep.rs:121:5
  29:        0x102bda040 - <loom[709ac591f2027ef2]::model::Builder>::check::<loom_sleep[8e8d7a68dd6c3415]::a_halted_cpu_with_queued_work_was_kicked::{closure#0}>::{closure#0}
                               at /Users/<user>/.cargo/git/checkouts/loom-906f299ec1581ba6/dfe3797/src/model.rs:194:17
  30:        0x102bda040 - <<loom[709ac591f2027ef2]::model::Builder>::check<loom_sleep[8e8d7a68dd6c3415]::a_halted_cpu_with_queued_work_was_kicked::{closure#0}>::{closure#0} as core[663bb9e1522ba5ef]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
                               at /Users/<user>/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/ops/function.rs:250:5
  31:        0x102c231d4 - <alloc[cc4db322bb1ac55d]::boxed::Box<dyn core[663bb9e1522ba5ef]::ops::function::FnOnce<(), Output = ()>> as core[663bb9e1522ba5ef]::ops::function::FnOnce<()>>::call_once
                               at /Users/<user>/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/alloc/src/boxed.rs:2319:9
  32:        0x102c231d4 - loom[709ac591f2027ef2]::rt::scheduler::spawn_thread::{closure#0}
                               at /Users/<user>/.cargo/git/checkouts/loom-906f299ec1581ba6/dfe3797/src/rt/scheduler.rs:142:17
  33:        0x102c231d4 - <loom[709ac591f2027ef2]::rt::scheduler::spawn_thread::{closure#0} as core[663bb9e1522ba5ef]::ops::function::FnOnce<()>>::call_once
                               at /Users/<user>/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/ops/function.rs:250:5
  34:        0x102c231d4 - <generator[50749e7e4996c531]::gen_impl::GeneratorImpl<core[663bb9e1522ba5ef]::option::Option<alloc[cc4db322bb1ac55d]::boxed::Box<dyn core[663bb9e1522ba5ef]::ops::function::FnOnce<(), Output = ()>>>, ()>>::init_code::<loom[709ac591f2027ef2]::rt::scheduler::spawn_thread::{closure#0}>::{closure#0}
                               at /Users/<user>/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generator-0.8.9/src/gen_impl.rs:357:21
  35:        0x102c231d4 - <generator[50749e7e4996c531]::stack::StackBox<<generator[50749e7e4996c531]::gen_impl::GeneratorImpl<core[663bb9e1522ba5ef]::option::Option<alloc[cc4db322bb1ac55d]::boxed::Box<dyn core[663bb9e1522ba5ef]::ops::function::FnOnce<(), Output = ()>>>, ()>>::init_code<loom[709ac591f2027ef2]::rt::scheduler::spawn_thread::{closure#0}>::{closure#0}>>::call_once
                               at /Users/<user>/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generator-0.8.9/src/stack/mod.rs:137:13
  36:        0x102c74bdc - <generator[50749e7e4996c531]::stack::Func>::call_once
                               at /Users/<user>/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generator-0.8.9/src/stack/mod.rs:119:9
  37:        0x102c74bdc - generator[50749e7e4996c531]::detail::gen::gen_init_impl::{closure#0}
                               at /Users/<user>/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generator-0.8.9/src/detail/gen.rs:35:14
  38:        0x102c74bdc - <generator[50749e7e4996c531]::detail::gen::gen_init_impl::{closure#0} as core[663bb9e1522ba5ef]::ops::function::FnOnce<()>>::call_once
                               at /Users/<user>/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/ops/function.rs:250:5
  39:        0x102c74bdc - std[5d97c59e5e5fafcc]::panicking::catch_unwind::do_call::<generator[50749e7e4996c531]::detail::gen::gen_init_impl::{closure#0}, ()>
                               at /Users/<user>/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/std/src/panicking.rs:576:43
  40:        0x102c74bdc - std[5d97c59e5e5fafcc]::panicking::catch_unwind::<(), generator[50749e7e4996c531]::detail::gen::gen_init_impl::{closure#0}>
                               at /Users/<user>/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/std/src/panicking.rs:544:19
  41:        0x102c74bdc - std[5d97c59e5e5fafcc]::panic::catch_unwind::<generator[50749e7e4996c531]::detail::gen::gen_init_impl::{closure#0}, ()>
                               at /Users/<user>/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/std/src/panic.rs:359:14
  42:        0x102c74bdc - generator[50749e7e4996c531]::detail::gen::catch_unwind_filter::<generator[50749e7e4996c531]::detail::gen::gen_init_impl::{closure#0}, ()>
                               at /Users/<user>/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generator-0.8.9/src/detail/gen.rs:23:5
  43:        0x102c74bdc - generator[50749e7e4996c531]::detail::gen::gen_init_impl
                               at /Users/<user>/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generator-0.8.9/src/detail/gen.rs:50:25
  44:        0x102c74b6c - generator[50749e7e4996c531]::detail::asm::gen_init
                               at /Users/<user>/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generator-0.8.9/src/detail/aarch64_unix.rs:22:5

thread 'a_halted_cpu_with_queued_work_was_kicked' (280252082) panicked at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/core/src/panicking.rs:233:5:
panic in a destructor during cleanup
thread caused non-unwinding panic. aborting.
error: test failed, to rerun pass `-p kernel-loom --test loom_sleep`

Caused by:
  process didn't exit successfully: `/Users/<user>/Dev/jan/toyos-dirid/target/debug/deps/loom_sleep-c38cbcf547a528eb --exact a_halted_cpu_with_queued_work_was_kicked` (signal: 6, SIGABRT: process abort signal)
07:42:48 [ci] control `doorbell-kick-relaxed`: 1 verdict(s) reached

07:42:48 === [ci] control `push-fence-relaxed`
   Compiling kernel-loom v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel/loom)
    Finished `test` profile [optimized + debuginfo] target(s) in 0.52s
     Running tests/loom_push.rs (target/debug/deps/loom_push-9be859ddff6561a3)

running 1 test
test a_cpu_that_halts_without_seeing_the_surplus_was_pushed ... FAILED

failures:

---- a_cpu_that_halts_without_seeing_the_surplus_was_pushed stdout ----

thread 'a_cpu_that_halts_without_seeing_the_surplus_was_pushed' (280252415) panicked at kernel/loom/tests/loom_push.rs:143:9:
cpu1 halted with cpu0's surplus of 2 published and no push behind it — both sides of the store-buffer pair missed, which is the pull path's slept-before-the-surplus defect back again, in a window a fence would have closed
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    a_cpu_that_halts_without_seeing_the_surplus_was_pushed

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 1 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel-loom --test loom_push`
07:42:49 [ci] control `push-fence-relaxed`: 1 verdict(s) reached

07:42:49 === [ci] control `commit-ignores-notify`
   Compiling kernel-loom v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel/loom)
    Finished `test` profile [optimized + debuginfo] target(s) in 0.55s
     Running tests/loom_watch.rs (target/debug/deps/loom_watch-f13a59174a717cf0)

running 2 tests
test a_post_racing_a_registration_leaves_nobody_parked ... FAILED
test a_fire_racing_a_submitters_park_is_never_lost ... FAILED

failures:

---- a_post_racing_a_registration_leaves_nobody_parked stdout ----

thread 'a_post_racing_a_registration_leaves_nobody_parked' (280252739) panicked at kernel/loom/tests/loom_watch.rs:244:13:
assertion `left == right` failed: parked with the condition true and no wake owed: the post was lost
  left: []
 right: [Wake(TaskKey(1), Woken)]
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

---- a_fire_racing_a_submitters_park_is_never_lost stdout ----

thread 'a_fire_racing_a_submitters_park_is_never_lost' (280252738) panicked at kernel/loom/tests/loom_watch.rs:850:13:
assertion `left == right` failed: parked over a fired poll and no wake owed: a fire was lost
  left: []
 right: [Wake(TaskKey(1), Woken)]


failures:
    a_fire_racing_a_submitters_park_is_never_lost
    a_post_racing_a_registration_leaves_nobody_parked

test result: FAILED. 0 passed; 2 failed; 0 ignored; 0 measured; 10 filtered out; finished in 0.10s

error: test failed, to rerun pass `-p kernel-loom --test loom_watch`
07:42:50 [ci] control `commit-ignores-notify`: 2 verdict(s) reached

07:42:50 === [ci] control `notify-flag-load-only`
   Compiling kernel-loom v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel/loom)
    Finished `test` profile [optimized + debuginfo] target(s) in 0.55s
     Running tests/loom_watch.rs (target/debug/deps/loom_watch-804d50fe30374251)

running 1 test
test a_second_post_is_not_lost_to_a_flag_the_waiter_consumed ... FAILED

failures:

---- a_second_post_is_not_lost_to_a_flag_the_waiter_consumed stdout ----

thread 'a_second_post_is_not_lost_to_a_flag_the_waiter_consumed' (280253070) panicked at kernel/loom/tests/loom_watch.rs:454:13:
assertion `left == right` failed: parked with both conditions true and no wake owed: a post answered off a load
  left: []
 right: [Wake(TaskKey(1), Woken)]
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    a_second_post_is_not_lost_to_a_flag_the_waiter_consumed

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 11 filtered out; finished in 2.15s

error: test failed, to rerun pass `-p kernel-loom --test loom_watch`
07:42:53 [ci] control `notify-flag-load-only`: 1 verdict(s) reached

07:42:53 === [ci] control `gate-fence-off`
   Compiling kernel-loom v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel/loom)
    Finished `test` profile [optimized + debuginfo] target(s) in 0.51s
     Running tests/loom_watch.rs (target/debug/deps/loom_watch-2dd86f2d566d30a7)

running 1 test
test a_transition_racing_an_opening_gate_is_never_missed ... FAILED

failures:

---- a_transition_racing_an_opening_gate_is_never_missed stdout ----

thread 'a_transition_racing_an_opening_gate_is_never_missed' (280253473) panicked at kernel/loom/tests/loom_watch.rs:602:13:
assertion `left == right` failed: the stop parked over a thread that had parked, and nothing posted it
  left: []
 right: [Wake(TaskKey(1), Woken)]
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    a_transition_racing_an_opening_gate_is_never_missed

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 11 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel-loom --test loom_watch`
07:42:54 [ci] control `gate-fence-off`: 1 verdict(s) reached

07:42:54 === [ci] control `poll-fire-load-store`
   Compiling kernel-loom v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel/loom)
    Finished `test` profile [optimized + debuginfo] target(s) in 0.31s
     Running tests/loom_watch.rs (target/debug/deps/loom_watch-c3e0e112b9250e74)

running 3 tests
test a_poll_on_two_watches_racing_both_posts_completes_exactly_once ... FAILED
test a_poll_registered_racing_a_post_in_place_completes_exactly_once ... FAILED
test a_poll_registered_racing_a_post_completes_exactly_once ... FAILED

failures:

---- a_poll_on_two_watches_racing_both_posts_completes_exactly_once stdout ----

thread 'a_poll_on_two_watches_racing_both_posts_completes_exactly_once' (280253685) panicked at kernel/loom/tests/loom_watch.rs:658:9:
assertion `left == right` failed: a poll over a ready object completes once
  left: 2
 right: 1
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

---- a_poll_registered_racing_a_post_in_place_completes_exactly_once stdout ----

thread 'a_poll_registered_racing_a_post_in_place_completes_exactly_once' (280253687) panicked at kernel/loom/tests/loom_watch.rs:351:5:
assertion `left == right` failed: a poll over a ready object completes once
  left: 2
 right: 1

---- a_poll_registered_racing_a_post_completes_exactly_once stdout ----

thread 'a_poll_registered_racing_a_post_completes_exactly_once' (280253686) panicked at kernel/loom/tests/loom_watch.rs:351:5:
assertion `left == right` failed: a poll over a ready object completes once
  left: 2
 right: 1


failures:
    a_poll_on_two_watches_racing_both_posts_completes_exactly_once
    a_poll_registered_racing_a_post_completes_exactly_once
    a_poll_registered_racing_a_post_in_place_completes_exactly_once

test result: FAILED. 0 passed; 3 failed; 0 ignored; 0 measured; 9 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel-loom --test loom_watch`
07:42:54 [ci] control `poll-fire-load-store`: 3 verdict(s) reached

07:42:54 === [ci] control `fault-posted-before-it-is-set`
   Compiling kernel-loom v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel/loom)
    Finished `test` profile [optimized + debuginfo] target(s) in 0.56s
     Running tests/loom_watch.rs (target/debug/deps/loom_watch-342ffd79d5171796)

running 2 tests
test a_poll_registered_racing_a_post_in_place_completes_exactly_once ... FAILED
test a_poll_registered_racing_a_post_completes_exactly_once ... FAILED

failures:

---- a_poll_registered_racing_a_post_in_place_completes_exactly_once stdout ----

thread 'a_poll_registered_racing_a_post_in_place_completes_exactly_once' (280254017) panicked at kernel/loom/tests/loom_watch.rs:350:5:
assertion `left != right` failed: a poll over a ready object was completed by neither
  left: 0
 right: 0
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

---- a_poll_registered_racing_a_post_completes_exactly_once stdout ----

thread 'a_poll_registered_racing_a_post_completes_exactly_once' (280254016) panicked at kernel/loom/tests/loom_watch.rs:350:5:
assertion `left != right` failed: a poll over a ready object was completed by neither
  left: 0
 right: 0


failures:
    a_poll_registered_racing_a_post_completes_exactly_once
    a_poll_registered_racing_a_post_in_place_completes_exactly_once

test result: FAILED. 0 passed; 2 failed; 0 ignored; 0 measured; 10 filtered out; finished in 0.01s

error: test failed, to rerun pass `-p kernel-loom --test loom_watch`
07:42:55 [ci] control `fault-posted-before-it-is-set`: 3 verdict(s) reached

07:42:55 === [ci] control `victim-retires-mid-probe`
   Compiling kernel-loom v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel/loom)
    Finished `test` profile [optimized + debuginfo] target(s) in 0.52s
     Running tests/loom_mailbox.rs (target/debug/deps/loom_mailbox-854161e9182e6318)

running 1 test

thread 'a_probe_outstanding_when_its_victim_retires_is_never_reclaimed' (280254328) panicked at kernel/loom/tests/loom_mailbox.rs:254:5:
assertion `left == right` failed: the victim retired with a probe still linked in its queue, so the node stays claimed for the rest of the boot and every later `claim()` by its thief answers `None` — one CPU stopping costs a second CPU its pull half permanently
  left: 1
 right: 0
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
caught the verdict: the victim retired with a probe still linked in its queue
test a_probe_outstanding_when_its_victim_retires_is_never_reclaimed ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out; finished in 0.00s

07:42:56 [ci] control `victim-retires-mid-probe`: 1 verdict(s) reached

07:42:56 === [ci] control `counting-allocator`
   Compiling kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel)
    Finished `test` profile [optimized + debuginfo] target(s) in 0.84s
     Running unittests pure/lib.rs (target/debug/deps/kernel-6097f575e1539c4c)

running 2 tests
test pcid::oracle::tests::the_counting_allocator_produces_a_cross_space_read ... ok
test pcid::tests::two_live_address_spaces_never_share_a_pcid ... FAILED

failures:

---- pcid::tests::two_live_address_spaces_never_share_a_pcid stdout ----

thread 'pcid::tests::two_live_address_spaces_never_share_a_pcid' (280254621) panicked at kernel/pure/pcid/mod.rs:171:21:
the allocator reissued tag 1, still held by a live address space
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    pcid::tests::two_live_address_spaces_never_share_a_pcid

test result: FAILED. 1 passed; 1 failed; 0 ignored; 0 measured; 182 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel --lib`
07:42:57 [ci] control `counting-allocator`: 2 verdict(s) reached

07:42:57 === [ci] control `mutate-spawn-skips-the-insert-recheck`
   Compiling kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel)
    Finished `test` profile [optimized + debuginfo] target(s) in 0.82s
     Running unittests pure/lib.rs (target/debug/deps/kernel-0678184e0e5d49cf)

running 2 tests
test proclife::interleave::tests::a_kill_racing_a_spawn_leaves_no_unretired_thread ... FAILED
test proclife::interleave::tests::a_published_exit_leaves_no_unretired_thread ... FAILED

failures:

---- proclife::interleave::tests::a_kill_racing_a_spawn_leaves_no_unretired_thread stdout ----

thread 'proclife::interleave::tests::a_kill_racing_a_spawn_leaves_no_unretired_thread' (280254911) panicked at kernel/pure/proclife/interleave.rs:544:27:
a lifecycle law broke:
pid 0 was claimed for teardown and never published an exit
  schedule: spawn_thread#1 -> kill#0 -> kill#0 -> spawn_thread#1 -> spawn_thread#1 -> out 0/0 -> out 0/0
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

---- proclife::interleave::tests::a_published_exit_leaves_no_unretired_thread stdout ----

thread 'proclife::interleave::tests::a_published_exit_leaves_no_unretired_thread' (280254912) panicked at kernel/pure/proclife/interleave.rs:544:27:
a lifecycle law broke:
pid 0 was claimed for teardown and never published an exit
  schedule: spawn_thread#1 -> exit#0 -> exit#0 -> spawn_thread#1 -> spawn_thread#1 -> out 0/0 -> out 0/0 -> out 0/1 -> out 0/1


failures:
    proclife::interleave::tests::a_kill_racing_a_spawn_leaves_no_unretired_thread
    proclife::interleave::tests::a_published_exit_leaves_no_unretired_thread

test result: FAILED. 0 passed; 2 failed; 0 ignored; 0 measured; 183 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel --lib`
07:42:58 [ci] control `mutate-spawn-skips-the-insert-recheck`: 2 verdict(s) reached

07:42:58 === [ci] control `mutate-claim-teardown-always-wins`
   Compiling kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel)
    Finished `test` profile [optimized + debuginfo] target(s) in 0.85s
     Running unittests pure/lib.rs (target/debug/deps/kernel-6e184e18194cdfe1)

running 1 test
test proclife::interleave::tests::an_exit_and_a_kill_never_both_tear_a_process_down ... FAILED

failures:

---- proclife::interleave::tests::an_exit_and_a_kill_never_both_tear_a_process_down stdout ----

thread 'proclife::interleave::tests::an_exit_and_a_kill_never_both_tear_a_process_down' (280255208) panicked at kernel/pure/proclife/interleave.rs:544:27:
a lifecycle law broke:

@Japabu

Japabu commented Oct 11, 2026

Copy link
Copy Markdown
Collaborator Author

ci-host, part 8 of 9, cargo run -- --ci host at ed538e7, exit 0, 79 steps green

pid 0: 2 teardown claims succeeded
  schedule: exit#0 -> exit#0 -> kill#1
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    proclife::interleave::tests::an_exit_and_a_kill_never_both_tear_a_process_down

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 185 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel --lib`
07:43:00 [ci] control `mutate-claim-teardown-always-wins`: 1 verdict(s) reached

07:43:00 === [ci] control `mutate-kill-waits-for-its-victims`
   Compiling kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel)
    Finished `test` profile [optimized + debuginfo] target(s) in 0.83s
     Running unittests pure/lib.rs (target/debug/deps/kernel-cafdcd0f4db5baa9)

running 2 tests
test proclife::interleave::tests::a_kill_chain_of_three_ends ... FAILED
test proclife::interleave::tests::two_processes_killing_each_other_both_end ... FAILED

failures:

---- proclife::interleave::tests::a_kill_chain_of_three_ends stdout ----

thread 'proclife::interleave::tests::a_kill_chain_of_three_ends' (280255501) panicked at kernel/pure/proclife/interleave.rs:544:27:
a lifecycle law broke:
a kill waits on pid 1's teardown
  schedule: kill#0 -> kill#0

---- proclife::interleave::tests::two_processes_killing_each_other_both_end stdout ----

thread 'proclife::interleave::tests::two_processes_killing_each_other_both_end' (280255502) panicked at kernel/pure/proclife/interleave.rs:544:27:
a lifecycle law broke:
a kill waits on pid 1's teardown
  schedule: kill#0 -> kill#0
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    proclife::interleave::tests::a_kill_chain_of_three_ends
    proclife::interleave::tests::two_processes_killing_each_other_both_end

test result: FAILED. 0 passed; 2 failed; 0 ignored; 0 measured; 184 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel --lib`
07:43:01 [ci] control `mutate-kill-waits-for-its-victims`: 2 verdict(s) reached

07:43:01 === [ci] control `mutate-first-out-tears-down`
   Compiling kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel)
    Finished `test` profile [optimized + debuginfo] target(s) in 0.84s
     Running unittests pure/lib.rs (target/debug/deps/kernel-20f5b15b9e4ec2b0)

running 1 test
test proclife::interleave::tests::an_exit_and_a_kill_never_both_tear_a_process_down ... FAILED

failures:

---- proclife::interleave::tests::an_exit_and_a_kill_never_both_tear_a_process_down stdout ----

thread 'proclife::interleave::tests::an_exit_and_a_kill_never_both_tear_a_process_down' (280255792) panicked at kernel/pure/proclife/interleave.rs:544:27:
a lifecycle law broke:
pid 0 was torn down with tid 1 still in it
  schedule: exit#0 -> exit#0 -> kill#1 -> out 0/0 -> out 0/0
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    proclife::interleave::tests::an_exit_and_a_kill_never_both_tear_a_process_down

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 184 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel --lib`
07:43:02 [ci] control `mutate-first-out-tears-down`: 1 verdict(s) reached

07:43:02 === [ci] control `mutate-join-collects-in-a-teardown`
   Compiling kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel)
    Finished `test` profile [optimized + debuginfo] target(s) in 0.84s
     Running unittests pure/lib.rs (target/debug/deps/kernel-f021dcce956c5b5a)

running 1 test
test proclife::interleave::tests::a_join_racing_the_kill_that_takes_its_target ... FAILED

failures:

---- proclife::interleave::tests::a_join_racing_the_kill_that_takes_its_target stdout ----

thread 'proclife::interleave::tests::a_join_racing_the_kill_that_takes_its_target' (280256083) panicked at kernel/pure/proclife/interleave.rs:544:27:
a lifecycle law broke:
pid 0 tid 1: its entry and its mapped TLS went while a sibling was still in the process
  schedule: kill#0 -> kill#0 -> thread_join#1 -> out 0/0 -> out 0/0 -> out 0/1 -> thread_join#1
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    proclife::interleave::tests::a_join_racing_the_kill_that_takes_its_target

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 184 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel --lib`
07:43:03 [ci] control `mutate-join-collects-in-a-teardown`: 1 verdict(s) reached

07:43:03 === [ci] control `mutate-last-out-leaves-before-its-teardown`
   Compiling kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel)
    Finished `test` profile [optimized + debuginfo] target(s) in 0.81s
     Running unittests pure/lib.rs (target/debug/deps/kernel-9a2779cc48b5db37)

running 2 tests
test proclife::interleave::tests::the_last_one_out_is_in_its_process_until_its_teardown_is_done ... FAILED
test proclife::teardown::tests::only_the_thread_that_empties_a_claimed_process_tears_it_down ... FAILED

failures:

---- proclife::interleave::tests::the_last_one_out_is_in_its_process_until_its_teardown_is_done stdout ----

thread 'proclife::interleave::tests::the_last_one_out_is_in_its_process_until_its_teardown_is_done' (280256381) panicked at kernel/pure/proclife/interleave.rs:544:27:
a lifecycle law broke:
pid 0 tid 0 is tearing its process down and the table has it out, so a stop would not wait for it
  schedule: exit#0 -> exit#0 -> out 0/0
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

---- proclife::teardown::tests::only_the_thread_that_empties_a_claimed_process_tears_it_down stdout ----

thread 'proclife::teardown::tests::only_the_thread_that_empties_a_claimed_process_tears_it_down' (280256382) panicked at kernel/pure/proclife/teardown.rs:219:9:
assertion `left == right` failed: the last one out is in its process until its teardown is done
  left: Some(Zombie(-1))
 right: Some(Scheduled)


failures:
    proclife::interleave::tests::the_last_one_out_is_in_its_process_until_its_teardown_is_done
    proclife::teardown::tests::only_the_thread_that_empties_a_claimed_process_tears_it_down

test result: FAILED. 0 passed; 2 failed; 0 ignored; 0 measured; 184 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel --lib`
07:43:04 [ci] control `mutate-last-out-leaves-before-its-teardown`: 2 verdict(s) reached

07:43:04 === [ci] control `mutate-place-skips-the-insert-recheck`
   Compiling kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel)
    Finished `test` profile [optimized + debuginfo] target(s) in 0.82s
     Running unittests pure/lib.rs (target/debug/deps/kernel-b6048955f34d9084)

running 1 test
test proclife::interleave::tests::a_spawn_racing_its_places_kill_leaves_nothing_under_it_and_publishes_it ... FAILED

failures:

---- proclife::interleave::tests::a_spawn_racing_its_places_kill_leaves_nothing_under_it_and_publishes_it stdout ----

thread 'proclife::interleave::tests::a_spawn_racing_its_places_kill_leaves_nothing_under_it_and_publishes_it' (280256676) panicked at kernel/pure/proclife/interleave.rs:544:27:
a lifecycle law broke:
pid 3 landed unclaimed under a place whose end was already claimed
  schedule: spawn_under#1 -> kill#0 -> kill#0 -> kill#0 -> kill#0 -> spawn_under#1 -> spawn_under#1
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    proclife::interleave::tests::a_spawn_racing_its_places_kill_leaves_nothing_under_it_and_publishes_it

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 185 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel --lib`
07:43:05 [ci] control `mutate-place-skips-the-insert-recheck`: 1 verdict(s) reached

07:43:05 === [ci] control `mutate-refused-spawn-keeps-the-count`
   Compiling kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel)
    Finished `test` profile [optimized + debuginfo] target(s) in 0.82s
     Running unittests pure/lib.rs (target/debug/deps/kernel-f3f33b9b59a9f859)

running 1 test
test proclife::interleave::tests::a_spawn_racing_its_places_kill_leaves_nothing_under_it_and_publishes_it ... FAILED

failures:

---- proclife::interleave::tests::a_spawn_racing_its_places_kill_leaves_nothing_under_it_and_publishes_it stdout ----
a spawn racing its place's kill: 1641 states

thread 'proclife::interleave::tests::a_spawn_racing_its_places_kill_leaves_nothing_under_it_and_publishes_it' (280256965) panicked at kernel/pure/proclife/interleave.rs:544:27:
a lifecycle law broke:
pid 1 was claimed for teardown and never published an exit
  schedule: spawn_under#1 -> kill#0 -> kill#0 -> kill#0 -> kill#0 -> spawn_under#1 -> out 1/0 -> out 1/0 -> out 1/0 -> out 1/0 -> out 2/0 -> out 2/0 -> out 2/0 -> out 2/0 -> out 2/0 -> out 2/0
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    proclife::interleave::tests::a_spawn_racing_its_places_kill_leaves_nothing_under_it_and_publishes_it

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 185 filtered out; finished in 0.02s

error: test failed, to rerun pass `-p kernel --lib`
07:43:07 [ci] control `mutate-refused-spawn-keeps-the-count`: 1 verdict(s) reached

07:43:07 === [ci] control `mutate-landed-child-retires-nothing`
   Compiling kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel)
    Finished `test` profile [optimized + debuginfo] target(s) in 0.82s
     Running unittests pure/lib.rs (target/debug/deps/kernel-fc90b694e79e1ca6)

running 2 tests
test proclife::tree::tests::a_child_landed_under_a_place_claimed_since_its_admission_is_claimed_with_it ... FAILED
test proclife::interleave::tests::a_spawn_racing_its_places_kill_leaves_nothing_under_it_and_publishes_it ... FAILED

failures:

---- proclife::tree::tests::a_child_landed_under_a_place_claimed_since_its_admission_is_claimed_with_it stdout ----

thread 'proclife::tree::tests::a_child_landed_under_a_place_claimed_since_its_admission_is_claimed_with_it' (280257257) panicked at kernel/pure/proclife/tree.rs:274:9:
assertion `left == right` failed: the child's spawner was not answered its thread to retire
  left: []
 right: [Tid(0)]
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

---- proclife::interleave::tests::a_spawn_racing_its_places_kill_leaves_nothing_under_it_and_publishes_it stdout ----

thread 'proclife::interleave::tests::a_spawn_racing_its_places_kill_leaves_nothing_under_it_and_publishes_it' (280257256) panicked at kernel/pure/proclife/interleave.rs:544:27:
a lifecycle law broke:
pid 1 was claimed for teardown and never published an exit
pid 3 was claimed for teardown and never published an exit
pid 3 outlived the end of pid 1 above it
  schedule: spawn_under#1 -> kill#0 -> kill#0 -> kill#0 -> kill#0 -> spawn_under#1 -> spawn_under#1 -> spawn_under#1 -> out 1/0 -> out 1/0 -> out 1/0 -> out 1/0 -> out 2/0 -> out 2/0 -> out 2/0 -> out 2/0 -> out 2/0 -> out 2/0


failures:
    proclife::interleave::tests::a_spawn_racing_its_places_kill_leaves_nothing_under_it_and_publishes_it
    proclife::tree::tests::a_child_landed_under_a_place_claimed_since_its_admission_is_claimed_with_it

test result: FAILED. 0 passed; 2 failed; 0 ignored; 0 measured; 184 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel --lib`
07:43:08 [ci] control `mutate-landed-child-retires-nothing`: 2 verdict(s) reached

07:43:08 === [ci] control `mutate-publish-before-the-children`
   Compiling kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel)
    Finished `test` profile [optimized + debuginfo] target(s) in 0.81s
     Running unittests pure/lib.rs (target/debug/deps/kernel-eced1954074bce19)

running 1 test
test proclife::interleave::tests::an_exit_publishes_after_every_end_below_it ... FAILED

failures:

---- proclife::interleave::tests::an_exit_publishes_after_every_end_below_it stdout ----

thread 'proclife::interleave::tests::an_exit_publishes_after_every_end_below_it' (280257546) panicked at kernel/pure/proclife/interleave.rs:544:27:
a lifecycle law broke:
pid 1 was published with pid 2 still unpublished below it
pid 1 was published with pid 4 still unpublished below it
  schedule: exit#0 -> exit#0 -> exit#0 -> exit#0 -> exit#0 -> exit#0 -> exit#0 -> exit#0 -> out 1/0 -> out 1/0 -> out 1/0 -> out 1/0
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    proclife::interleave::tests::an_exit_publishes_after_every_end_below_it

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 185 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel --lib`
07:43:09 [ci] control `mutate-publish-before-the-children`: 1 verdict(s) reached

07:43:09 === [ci] control `mutate-walk-in-one-hold`
   Compiling kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel)
    Finished `test` profile [optimized + debuginfo] target(s) in 0.81s
     Running unittests pure/lib.rs (target/debug/deps/kernel-29ba8b7ce3d370b6)

running 1 test
test proclife::interleave::tests::a_spawn_under_an_unrelated_process_lands_between_two_claims_of_one_walk ... FAILED

failures:

---- proclife::interleave::tests::a_spawn_under_an_unrelated_process_lands_between_two_claims_of_one_walk stdout ----

thread 'proclife::interleave::tests::a_spawn_under_an_unrelated_process_lands_between_two_claims_of_one_walk' (280257841) panicked at kernel/pure/proclife/interleave.rs:894:9:
no ordering landed the unrelated spawn between the walk's two claims below the end: the walk holds the table across its claims
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    proclife::interleave::tests::a_spawn_under_an_unrelated_process_lands_between_two_claims_of_one_walk

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 185 filtered out; finished in 0.04s

error: test failed, to rerun pass `-p kernel --lib`
07:43:10 [ci] control `mutate-walk-in-one-hold`: 1 verdict(s) reached

07:43:10 === [ci] control `mutate-spawner-handle-after-the-landing`
   Compiling kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel)
    Finished `test` profile [optimized + debuginfo] target(s) in 0.81s
     Running unittests pure/lib.rs (target/debug/deps/kernel-2483b96922d9df2a)

running 2 tests
test proclife::interleave::tests::a_spawn_racing_the_kill_of_its_own_spawner ... FAILED
test proclife::interleave::tests::a_spawn_racing_its_places_kill_leaves_nothing_under_it_and_publishes_it ... FAILED

failures:

---- proclife::interleave::tests::a_spawn_racing_the_kill_of_its_own_spawner stdout ----

thread 'proclife::interleave::tests::a_spawn_racing_the_kill_of_its_own_spawner' (280258136) panicked at kernel/pure/proclife/interleave.rs:544:27:
a lifecycle law broke:
pid 3: a handle to it was minted after its last one had gone
  schedule: spawn_under#1 -> kill#0 -> kill#0 -> kill#0 -> kill#0 -> spawn_under#1 -> spawn_under#1 -> spawn_under#1 -> out 2/0 -> out 2/0 -> out 2/0 -> out 2/0 -> out 2/0 -> out 2/0 -> out 3/0 -> out 3/0 -> spawn_under#1
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

---- proclife::interleave::tests::a_spawn_racing_its_places_kill_leaves_nothing_under_it_and_publishes_it stdout ----

thread 'proclife::interleave::tests::a_spawn_racing_its_places_kill_leaves_nothing_under_it_and_publishes_it' (280258135) panicked at kernel/pure/proclife/interleave.rs:544:27:
a lifecycle law broke:
pid 3: a handle to it was minted after its last one had gone
  schedule: spawn_under#1 -> kill#0 -> kill#0 -> kill#0 -> kill#0 -> spawn_under#1 -> spawn_under#1 -> spawn_under#1 -> out 1/0 -> out 1/0 -> out 1/0 -> out 1/0 -> out 2/0 -> out 2/0 -> out 2/0 -> out 2/0 -> out 2/0 -> out 2/0 -> out 3/0 -> out 3/0 -> spawn_under#1


failures:
    proclife::interleave::tests::a_spawn_racing_its_places_kill_leaves_nothing_under_it_and_publishes_it
    proclife::interleave::tests::a_spawn_racing_the_kill_of_its_own_spawner

test result: FAILED. 0 passed; 2 failed; 0 ignored; 0 measured; 184 filtered out; finished in 0.01s

error: test failed, to rerun pass `-p kernel --lib`
07:43:11 [ci] control `mutate-spawner-handle-after-the-landing`: 2 verdict(s) reached

07:43:11 === [ci] control `mutate-spawner-handle-before-the-childs-own`
   Compiling kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel)
    Finished `test` profile [optimized + debuginfo] target(s) in 0.81s
     Running unittests pure/lib.rs (target/debug/deps/kernel-68c27e53bbdb2954)

running 1 test
test proclife::interleave::tests::a_sibling_closing_a_spawns_handle_before_the_spawn_returns ... FAILED

failures:

---- proclife::interleave::tests::a_sibling_closing_a_spawns_handle_before_the_spawn_returns stdout ----

thread 'proclife::interleave::tests::a_sibling_closing_a_spawns_handle_before_the_spawn_returns' (280258429) panicked at kernel/pure/proclife/interleave.rs:544:27:
a lifecycle law broke:
pid 2: a handle to it was minted after its last one had gone
  schedule: spawn_under#0 -> spawn_under#0 -> close#1 -> spawn_under#0
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    proclife::interleave::tests::a_sibling_closing_a_spawns_handle_before_the_spawn_returns

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 185 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p kernel --lib`
07:43:12 [ci] control `mutate-spawner-handle-before-the-childs-own`: 1 verdict(s) reached

07:43:12 === [ci] control `placement-ignores-staleness`
   Compiling kernel v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel)
   Compiling kernel-sim v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/kernel/sim)
    Finished `test` profile [optimized + debuginfo] target(s) in 0.87s
     Running tests/policy.rs (target/debug/deps/policy-fb61fd9cdbfa04f7)

running 1 test
test a_stopped_cpu_stops_taking_work ... FAILED

failures:

---- a_stopped_cpu_stops_taking_work stdout ----
stopped_cpu: worst never_ran 10, total 114 over 16 seeds, bound 4 of 24

thread 'a_stopped_cpu_stops_taking_work' (280258890) panicked at kernel/sim/tests/policy.rs:1419:5:
a stopped cpu took 10 of 24 programs, against the 4 its published numbers are believed for
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    a_stopped_cpu_stops_taking_work

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 11 filtered out; finished in 0.03s

error: test failed, to rerun pass `-p kernel-sim --test policy`
07:43:14 [ci] control `placement-ignores-staleness`: 1 verdict(s) reached

07:43:14 === [ci] control `mutate-session-end-forgets`
    Finished `test` profile [optimized + debuginfo] target(s) in 0.08s
     Running unittests src/lib.rs (target/debug/deps/toyos_blockring-c60f1ce9c5880c03)

running 1 test
test model::tests::every_request_is_answered_exactly_once ... FAILED

failures:

---- model::tests::every_request_is_answered_exactly_once stdout ----
Failures { resets: 0, crashes: 0, errors: 0 }: 28 end states, 0 with a flush given up, None
Failures { resets: 1, crashes: 0, errors: 0 }: 492 end states, 0 with a flush given up, None
Failures { resets: 0, crashes: 1, errors: 0 }: 4 end states, 0 with a flush given up, Some((Answers, "ticket 3 ended answered None, after ask 0 > ask 1 > ask 2 > take Write { run: Run { first: 0, count: 1 }, lba: 0 }#4 > take Write { run: Run { first: 1, count: 1 }, lba: 1 }#5 > take Flush#6 > done Write { run: Run { first: 0, count: 1 }, lba: 0 }#4 > done Write { run: Run { first: 1, count: 1 }, lba: 1 }#5 > done Flush#6 > read #4 Ok > ask 3 > ask 4 > take Write { run: Run { first: 3, count: 1 }, lba: 0 }#8 > take Flush#7 > done Write { run: Run { first: 3, count: 1 }, lba: 0 }#8 > done Flush#7 > read #5 Ok > read #6 Ok > crash([None, None] [3, 2]) > notice > reconnect > take Write { run: Run { first: 0, count: 1 }, lba: 0 }#12 > take Write { run: Run { first: 1, count: 1 }, lba: 1 }#9 > done Write { run: Run { first: 0, count: 1 }, lba: 0 }#12 > done Write { run: Run { first: 1, count: 1 }, lba: 1 }#9 > read #12 Ok > read #9 Ok > take Flush#16 > done Flush#16 > read #16 Ok"))

thread 'model::tests::every_request_is_answered_exactly_once' (280258936) panicked at toyos-blockring/src/model.rs:722:17:
Failures { resets: 0, crashes: 1, errors: 0 }: ticket 3 ended answered None, after ask 0 > ask 1 > ask 2 > take Write { run: Run { first: 0, count: 1 }, lba: 0 }#4 > take Write { run: Run { first: 1, count: 1 }, lba: 1 }#5 > take Flush#6 > done Write { run: Run { first: 0, count: 1 }, lba: 0 }#4 > done Write { run: Run { first: 1, count: 1 }, lba: 1 }#5 > done Flush#6 > read #4 Ok > ask 3 > ask 4 > take Write { run: Run { first: 3, count: 1 }, lba: 0 }#8 > take Flush#7 > done Write { run: Run { first: 3, count: 1 }, lba: 0 }#8 > done Flush#7 > read #5 Ok > read #6 Ok > crash([None, None] [3, 2]) > notice > reconnect > take Write { run: Run { first: 0, count: 1 }, lba: 0 }#12 > take Write { run: Run { first: 1, count: 1 }, lba: 1 }#9 > done Write { run: Run { first: 0, count: 1 }, lba: 0 }#12 > done Write { run: Run { first: 1, count: 1 }, lba: 1 }#9 > read #12 Ok > read #9 Ok > take Flush#16 > done Flush#16 > read #16 Ok
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    model::tests::every_request_is_answered_exactly_once

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 22 filtered out; finished in 2.98s

error: test failed, to rerun pass `-p toyos-blockring --lib`
07:43:17 [ci] control `mutate-session-end-forgets`: 1 verdict(s) reached

07:43:17 === [ci] control `mutate-abort-keeps-inflight`
    Finished `test` profile [optimized + debuginfo] target(s) in 0.07s
     Running unittests src/lib.rs (target/debug/deps/toyos_blockring-9da8b607da72767a)

running 1 test
test model::tests::every_request_is_answered_exactly_once ... FAILED

failures:

---- model::tests::every_request_is_answered_exactly_once stdout ----
Failures { resets: 0, crashes: 0, errors: 0 }: 28 end states, 0 with a flush given up, None
Failures { resets: 1, crashes: 0, errors: 0 }: 2 end states, 0 with a flush given up, Some((Answers, "the client met a second completion for tag 7, after ask 0 > ask 1 > ask 2 > take Write { run: Run { first: 0, count: 1 }, lba: 0 }#4 > take Write { run: Run { first: 1, count: 1 }, lba: 1 }#5 > take Flush#6 > done Write { run: Run { first: 0, count: 1 }, lba: 0 }#4 > done Write { run: Run { first: 1, count: 1 }, lba: 1 }#5 > done Flush#6 > read #4 Ok > ask 3 > ask 4 > take Write { run: Run { first: 3, count: 1 }, lba: 0 }#8 > take Flush#7 > done Write { run: Run { first: 3, count: 1 }, lba: 0 }#8 > read #5 Ok > read #6 Ok > read #8 Ok > reset([7] [None, None] [3, 2]) > read #7 Device > take Write { run: Run { first: 0, count: 1 }, lba: 0 }#12 > take Write { run: Run { first: 1, count: 1 }, lba: 1 }#9 > done Write { run: Run { first: 0, count: 1 }, lba: 0 }#12 > done Write { run: Run { first: 1, count: 1 }, lba: 1 }#9 > read #12 Ok > take Write { run: Run { first: 3, count: 1 }, lba: 0 }#16 > done Write { run: Run { first: 3, count: 1 }, lba: 0 }#16 > read #9 Ok > read #16 Ok > take Flush#20 > done Flush#20 > read #20 Lost > take Write { run: Run { first: 0, count: 1 }, lba: 0 }#24 > take Write { run: Run { first: 1, count: 1 }, lba: 1 }#13 > done Write { run: Run { first: 0, count: 1 }, lba: 0 }#24 > done Write { run: Run { first: 1, count: 1 }, lba: 1 }#13 > read #24 Ok > take Write { run: Run { first: 3, count: 1 }, lba: 0 }#28 > done Write { run: Run { first: 3, count: 1 }, lba: 0 }#28 > read #13 Ok > read #28 Ok > take Flush#32 > done Flush#32 > read #32 Ok > posted #7 > read #7 Ok"))

thread 'model::tests::every_request_is_answered_exactly_once' (280259019) panicked at toyos-blockring/src/model.rs:722:17:
Failures { resets: 1, crashes: 0, errors: 0 }: the client met a second completion for tag 7, after ask 0 > ask 1 > ask 2 > take Write { run: Run { first: 0, count: 1 }, lba: 0 }#4 > take Write { run: Run { first: 1, count: 1 }, lba: 1 }#5 > take Flush#6 > done Write { run: Run { first: 0, count: 1 }, lba: 0 }#4 > done Write { run: Run { first: 1, count: 1 }, lba: 1 }#5 > done Flush#6 > read #4 Ok > ask 3 > ask 4 > take Write { run: Run { first: 3, count: 1 }, lba: 0 }#8 > take Flush#7 > done Write { run: Run { first: 3, count: 1 }, lba: 0 }#8 > read #5 Ok > read #6 Ok > read #8 Ok > reset([7] [None, None] [3, 2]) > read #7 Device > take Write { run: Run { first: 0, count: 1 }, lba: 0 }#12 > take Write { run: Run { first: 1, count: 1 }, lba: 1 }#9 > done Write { run: Run { first: 0, count: 1 }, lba: 0 }#12 > done Write { run: Run { first: 1, count: 1 }, lba: 1 }#9 > read #12 Ok > take Write { run: Run { first: 3, count: 1 }, lba: 0 }#16 > done Write { run: Run { first: 3, count: 1 }, lba: 0 }#16 > read #9 Ok > read #16 Ok > take Flush#20 > done Flush#20 > read #20 Lost > take Write { run: Run { first: 0, count: 1 }, lba: 0 }#24 > take Write { run: Run { first: 1, count: 1 }, lba: 1 }#13 > done Write { run: Run { first: 0, count: 1 }, lba: 0 }#24 > done Write { run: Run { first: 1, count: 1 }, lba: 1 }#13 > read #24 Ok > take Write { run: Run { first: 3, count: 1 }, lba: 0 }#28 > done Write { run: Run { first: 3, count: 1 }, lba: 0 }#28 > read #13 Ok > read #28 Ok > take Flush#32 > done Flush#32 > read #32 Ok > posted #7 > read #7 Ok
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    model::tests::every_request_is_answered_exactly_once

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 22 filtered out; finished in 0.02s

error: test failed, to rerun pass `-p toyos-blockring --lib`
07:43:17 [ci] control `mutate-abort-keeps-inflight`: 1 verdict(s) reached

07:43:17 === [ci] control `mutate-no-reissue-after-loss`
    Finished `test` profile [optimized + debuginfo] target(s) in 0.07s
     Running unittests src/lib.rs (target/debug/deps/toyos_blockring-05042003800e3648)

running 1 test
test model::tests::what_a_flush_calls_durable_is_on_the_medium ... FAILED

failures:

---- model::tests::what_a_flush_calls_durable_is_on_the_medium stdout ----
Failures { resets: 0, crashes: 0, errors: 0 }: 28 end states, 0 with a flush given up, None
Failures { resets: 1, crashes: 0, errors: 0 }: 20 end states, 0 with a flush given up, Some((Durable, "flush 4 was answered durable with block 0 holding 1, not the 3 acknowledged before it (or a later one of [3]), after ask 0 > ask 1 > ask 2 > take Write { run: Run { first: 0, count: 1 }, lba: 0 }#4 > take Write { run: Run { first: 1, count: 1 }, lba: 1 }#5 > take Flush#6 > done Write { run: Run { first: 0, count: 1 }, lba: 0 }#4 > done Write { run: Run { first: 1, count: 1 }, lba: 1 }#5 > done Flush#6 > read #4 Ok > ask 3 > take Write { run: Run { first: 3, count: 1 }, lba: 0 }#8 > done Write { run: Run { first: 3, count: 1 }, lba: 0 }#8 > read #5 Ok > read #6 Ok > read #8 Ok > ask 4 > take Flush#12 > reset([] [None, None] [1, 2]) > read #12 Device > take Flush#16 > done Flush#16 > read #16 Lost > take Flush#20 > done Flush#20 > read #20 Ok"))

thread 'model::tests::what_a_flush_calls_durable_is_on_the_medium' (280259071) panicked at toyos-blockring/src/model.rs:733:17:
Failures { resets: 1, crashes: 0, errors: 0 }: flush 4 was answered durable with block 0 holding 1, not the 3 acknowledged before it (or a later one of [3]), after ask 0 > ask 1 > ask 2 > take Write { run: Run { first: 0, count: 1 }, lba: 0 }#4 > take Write { run: Run { first: 1, count: 1 }, lba: 1 }#5 > take Flush#6 > done Write { run: Run { first: 0, count: 1 }, lba: 0 }#4 > done Write { run: Run { first: 1, count: 1 }, lba: 1 }#5 > done Flush#6 > read #4 Ok > ask 3 > take Write { run: Run { first: 3, count: 1 }, lba: 0 }#8 > done Write { run: Run { first: 3, count: 1 }, lba: 0 }#8 > read #5 Ok > read #6 Ok > read #8 Ok > ask 4 > take Flush#12 > reset([] [None, None] [1, 2]) > read #12 Device > take Flush#16 > done Flush#16 > read #16 Lost > take Flush#20 > done Flush#20 > read #20 Ok
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    model::tests::what_a_flush_calls_durable_is_on_the_medium

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 22 filtered out; finished in 0.02s

error: test failed, to rerun pass `-p toyos-blockring --lib`
07:43:17 [ci] control `mutate-no-reissue-after-loss`: 1 verdict(s) reached

07:43:17 === [ci] control `publish-relaxed`
    Finished `test` profile [optimized + debuginfo] target(s) in 0.08s
     Running tests/loom.rs (target/debug/deps/loom-24a430a1f85efe05)

running 1 test
test a_published_entry_is_read_whole ... FAILED

failures:

---- a_published_entry_is_read_whole stdout ----

thread 'a_published_entry_is_read_whole' (280259123) panicked at toyos-blockring/transport/tests/loom.rs:76:9:
assertion `left == right` failed: an entry was read before its words
  left: [[0, 0], [0, 0]]
 right: [[100, 3], [101, 10]]
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    a_published_entry_is_read_whole

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 2 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p toyos-transport --test loom`
07:43:17 [ci] control `publish-relaxed`: 1 verdict(s) reached

07:43:17 === [ci] control `no-clamp`
    Finished `test` profile [optimized + debuginfo] target(s) in 0.08s
     Running tests/loom.rs (target/debug/deps/loom-eb33bfc56f80c86a)

running 1 test
test a_hostile_producer_yields_entries_or_a_violation ... FAILED

failures:

---- a_hostile_producer_yields_entries_or_a_violation stdout ----

thread 'a_hostile_producer_yields_entries_or_a_violation' (280259171) panicked at toyos-blockring/transport/tests/loom.rs:107:9:
took 3 entries from a ring of 2 without releasing one
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    a_hostile_producer_yields_entries_or_a_violation

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 2 filtered out; finished in 0.01s

error: test failed, to rerun pass `-p toyos-transport --test loom`
07:43:18 [ci] control `no-clamp`: 1 verdict(s) reached

07:43:18 === [ci] control `end-keeps-inflight`
    Finished `test` profile [optimized + debuginfo] target(s) in 0.08s
     Running unittests src/lib.rs (target/debug/deps/toyos_transport-ed091dbee8d19249)

running 1 test
test inflight::tests::an_end_answers_every_tag_once_and_a_late_completion_nothing ... FAILED

failures:

---- inflight::tests::an_end_answers_every_tag_once_and_a_late_completion_nothing stdout ----

thread 'inflight::tests::an_end_answers_every_tag_once_and_a_late_completion_nothing' (280259216) panicked at toyos-blockring/transport/src/inflight.rs:150:9:
assertion `left == right` failed
  left: []
 right: [(4, 0), (6, 2)]
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    inflight::tests::an_end_answers_every_tag_once_and_a_late_completion_nothing

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 9 filtered out; finished in 0.00s

error: test failed, to rerun pass `-p toyos-transport --lib`
07:43:18 [ci] control `end-keeps-inflight`: 1 verdict(s) reached

07:43:18 === [ci] userland/acpiserver
   Compiling toyos v0.18.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos)
   Compiling toyos-aml v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/userland/acpiserver/aml)
   Compiling acpiserver v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/userland/acpiserver)
    Finished `test` profile [optimized + debuginfo] target(s) in 2.73s
     Running unittests src/main.rs (target/debug/deps/acpiserver-c834e39970f9f7ec)

running 63 tests
test aml::tests::every_refusals_kind_is_free_of_what_the_firmware_chose ... ok
test aml::tests::an_s5_that_is_no_package_of_two_integers_is_refused_by_kind ... ok
test aml::tests::tables_in_memory_of_a_type_the_kernel_keeps_are_refused_by_that_name_and_type ... ok
test aml::tests::only_an_s5_the_kernel_kept_is_a_power_off ... ok
test aml::tests::tables_the_kernel_will_not_read_are_refused_by_its_name_for_it ... ok
test aml::tests::a_refused_dsdt_leaves_no_namespace_and_loads_no_ssdt ... ok
test battery::tests::a_bif_is_read_by_its_place_in_the_package ... ok
test battery::tests::a_bix_of_either_revision_is_read_at_the_same_places ... ok
test aml::tests::a_lock_field_read_at_load_takes_the_lock_and_waits_out_the_firmwares_hold ... ok
test aml::tests::a_machine_that_stops_mid_load_ends_it_with_nothing_refused ... ok
test aml::tests::a_refused_ssdt_is_one_block_refused_and_the_rest_load ... ok
test battery::tests::a_bst_reads_its_four_dwords_and_names_its_state ... ok
test battery::tests::a_current_is_power_only_at_its_present_voltage ... ok
test battery::tests::a_full_charge_of_zero_is_no_percent ... ok
test battery::tests::a_package_that_is_not_what_10_2_2_says_is_refused_by_name ... ok
test devices::tests::an_eisa_id_is_its_three_letters_and_four_digits ... ok
test battery::tests::an_unknown_dword_is_unknown_and_never_a_number ... ok
test ec::tests::a_read_writes_its_address_only_once_the_command_is_taken ... ok
test ec::tests::a_query_writes_its_command_once_the_input_is_empty_and_reads_once_the_output_is_full ... ok
test ec::tests::a_write_ends_once_the_controller_has_taken_its_value ... ok
test ec::tests::a_byte_before_the_command_is_refused - should panic ... ok
test ec::tests::a_write_reads_no_byte - should panic ... ok
test ec::tests::every_transaction_runs_against_a_controller_that_takes_each_byte_late ... ok
test devices::tests::a_query_whose_write_the_kernel_refuses_is_no_press ... ok
test host::tests::a_controller_port_the_kernel_refuses_detaches_the_controller ... ok
test host::tests::a_lock_the_firmware_holds_is_waited_for_and_taken_after_its_release ... ok
test host::tests::a_firmware_that_holds_the_lock_past_the_bound_ends_the_server - should panic ... ok
test host::tests::a_lock_the_kernel_cannot_take_is_denied_and_never_reported_held ... ok
test host::tests::a_page_the_firmware_lists_nowhere_is_counted_under_a_name_of_its_own ... ok
test host::tests::a_read_is_the_kernels_in_each_space_and_counted_by_space_and_page ... ok
test host::tests::a_read_the_kernel_refuses_is_denied_under_the_kernels_name_and_counted ... ok
test host::tests::a_stopping_machine_denies_everything_and_is_no_refusal_of_the_firmwares ... ok
test host::tests::an_acquires_own_bound_ends_the_wait_untaken ... ok
test host::tests::only_a_forwarded_port_write_is_asked_of_the_kernel ... ok
test host::tests::the_lock_is_taken_and_given_back_through_the_kernel ... ok
test host::tests::only_a_notify_of_a_press_to_a_served_button_is_a_press ... ok
test aml::tests::qemus_tables_load_and_s5_is_what_its_kernel_decoded ... ok
test ledger::tests::a_thing_is_new_once_and_counted_every_time ... ok
test sci::tests::a_firmware_that_never_lets_go_meets_the_deadline_with_its_enables_back ... ok
test sci::tests::a_press_and_the_controllers_gpe_are_both_read_off_one_sci ... ok
test sci::tests::a_release_already_latched_ends_the_wait_without_one ... ok
test sci::tests::a_status_set_with_its_enable_clear_is_no_event ... ok
test host::tests::the_controllers_space_is_read_and_written_through_its_transactions ... ok
test sci::tests::an_enabled_event_outside_the_served_set_is_refused_by_name ... ok
test sci::tests::only_a_press_on_a_machine_handed_no_sleep_type_is_dropped ... ok
test sci::tests::the_wait_ends_on_the_firmwares_release_and_leaves_every_other_event_latched_and_enabled ... ok
test tables::tests::a_range_is_fetched_whole_in_qwords_and_then_bytes_and_kept ... ok
test tables::tests::a_range_the_kernel_refuses_any_byte_of_is_not_readable_and_says_why ... ok
test tables::tests::a_stopping_machine_reads_no_table ... ok
test tests::a_controller_port_the_kernel_refuses_ends_the_controller ... ok
test tests::no_namespace_leaves_the_button_and_the_controller_unserved_and_keeps_the_claim ... ok
test tests::a_querys_method_runs_only_where_a_control_method_button_is_served ... ok
test battery::tests::the_census_counts_the_global_lock_of_the_power_sources_methods_alone ... ok
test devices::tests::query_0x28_on_an_amd_laptop_is_a_press_of_its_power_button ... ok
test devices::tests::an_amd_laptops_controller_and_button_are_found_in_its_dsdt ... ok
test battery::tests::a_laptops_battery_is_found_after_reg_and_read_through_the_controller ... ok
test devices::tests::a_controller_this_server_cannot_serve_is_none ... ok
test battery::tests::a_controller_that_wants_the_global_lock_is_not_attached_and_no_battery_is_read ... ok
test battery::tests::a_machine_that_stops_mid_read_refuses_nothing ... ok
test tests::a_query_waiting_at_arm_runs_its_method_on_the_attached_controller ... ok
test battery::tests::a_refused_reading_is_said_once_and_counted ... ok
test tests::a_controller_port_the_kernel_refuses_to_aml_or_the_drain_ends_it_for_both ... ok
test battery::tests::a_reading_is_said_only_where_its_percent_its_state_or_the_adapter_moves ... ok

test result: ok. 63 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

07:43:21 [ci] userland/acpiserver: cargo test --manifest-path userland/acpiserver/Cargo.toml

07:43:21 === [ci] userland/acpiserver/aml
   Compiling toyos-aml v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/userland/acpiserver/aml)
    Finished `test` profile [optimized + debuginfo] target(s) in 1.79s
     Running unittests src/lib.rs (target/debug/deps/toyos_aml-f74bbb7a41540e23)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/evaluate.rs (target/debug/deps/evaluate-9d6f462fe5ccdee5)

running 28 tests
test break_and_continue_outside_a_while_are_refused ... ok
test bcd_converts_both_ways_and_refuses_what_is_not_bcd ... ok
test an_acquire_of_the_global_lock_waits_as_its_timeout_says ... ok
test divide_stores_remainder_and_quotient_and_refuses_zero ... ok
test an_arg_holding_a_reference_stores_through_it ... ok
test if_else_and_while_with_break_and_continue ... ok
test buffers_and_packages_are_sized_as_declared ... ok
test a_method_without_return_returns_nothing_usable ... ok
test events_count_signals_and_a_wait_without_one_times_out ... ok
test comparisons_follow_the_first_operands_type ... ok
test index_reaches_into_buffers_strings_and_packages ... ok
test concatenate_takes_the_first_operands_type ... ok
test recursion_runs_until_its_bound ... ok
test s5_evaluates_to_its_sleep_types ... ok
test references_are_made_followed_and_asked_about ... ok
test methods_take_their_declared_arguments_and_return_a_copy ... ok
test osi_answers_like_windows ... ok
test the_debug_object_takes_writes_and_refuses_reads ... ok
test integer_arithmetic_wraps_at_the_integer_width ... ok
test explicit_conversions_follow_their_definitions ... ok
test mid_takes_what_lies_within ... ok
test resource_templates_join_under_one_end_tag ... ok
test notify_sleep_stall_and_fatal_reach_the_host ... ok
test mutexes_follow_sync_levels_and_are_released_by_the_end ... ok
test logical_operators_answer_ones_or_zero ... ok
test match_finds_the_first_element_both_tests_accept ... ok
test store_converts_to_the_named_type_and_copy_object_does_not ... ok
test source_operands_convert_by_the_conversion_rules ... ok

test result: ok. 28 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/heap.rs (target/debug/deps/heap-1073d2dccd4a0b58)

running 19 tests
test a_nest_of_concatenates_holds_one_buffers_copy ... ok
test a_nest_of_mids_holds_one_copy ... ok
test a_nest_of_to_strings_holds_one_copy ... ok
test a_returned_value_of_buffers_is_held_while_it_is_built ... ok
test buffers_of_a_mebibyte_fill_it_to_the_bound ... ok
test fields_read_through_each_other_are_held_while_they_are_read ... ok
test a_returned_value_of_packages_is_held_while_it_is_built ... ok
test a_nest_of_concatenates_holds_one_strings_copy ... ok
test a_returned_value_is_given_back_when_it_is_the_callers ... ok
test a_refused_load_gives_back_what_it_took ... ok
test field_units_fill_it_to_the_bound ... ok
test package_elements_naming_nothing_yet_fill_it_to_the_bound ... ok
test a_nest_of_packages_is_held_while_it_is_read ... ok
test a_walk_is_held_against_the_bound_while_it_lasts ... ok
test a_parent_whose_last_child_is_unwound_holds_no_map ... ok
test empty_buffers_fill_it_to_the_bound ... ok
test a_full_interpreter_reads_a_field_that_fits_an_integer ... ok
test references_into_a_buffer_fill_it_to_the_bound ... ok
test devices_of_one_child_each_fill_it_to_the_bound ... ok

test result: ok. 19 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s

     Running tests/hostile.rs (target/debug/deps/hostile-cdadefcf70eaf473)

running 24 tests
test a_package_length_that_leaves_its_package_is_refused ... ok
test a_reference_to_a_local_ends_with_its_method ... ok
test a_field_beyond_what_is_held_is_refused ... ok
test a_reference_outliving_its_object_names_nothing ... ok
test a_reference_chain_cannot_form ... ok
test a_caller_value_is_refused_where_it_is_malformed ... ok
test a_loop_that_sleeps_is_bounded_in_time_asked ... ok
test a_resource_template_join_is_bounded ... ok
test an_alias_goes_with_what_created_it ... ok
test names_and_strings_hold_only_what_their_encoding_allows ... ok
test the_wait_limit_is_exact_and_a_loads_too ... ok
test a_conversion_is_bounded_in_what_it_constructs ... ok
test what_is_held_live_is_bounded_in_sum ... ok
test objects_are_bounded_in_size ... ok
test waits_and_stalls_are_bounded_in_time_asked ... ok
test every_truncation_yields_a_value_or_a_refusal ... ok
test usage_is_each_calls_own_and_a_refusals_too ... ok
test a_string_stored_to_a_field_is_bounded_as_it_is_written ... ok
test a_loop_without_end_is_bounded_in_steps ... ok
test tables_and_names_are_held_against_the_live_bound ... ok
test nesting_is_bounded_before_the_stack ... ok
test work_in_one_step_is_charged_in_proportion ... ok
test mutated_tables_yield_a_value_or_a_refusal ... ok
test a_walk_or_a_read_a_table_sizes_is_charged_for_all_of_it ... ok

test result: ok. 24 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.19s

     Running tests/namespace.rs (target/debug/deps/namespace-be3e867676d2ee7e)

running 18 tests
test a_collision_refuses_the_table_and_leaves_none_of_it ... ok
test a_dsdt_below_revision_2_makes_every_integer_32_bits ... ok
test a_definition_needs_every_segment_but_its_last ... ok
test a_caller_names_only_absolute_paths_and_passes_the_declared_arguments ... ok
test a_prefix_above_the_root_finds_nothing ... ok
test a_dsdt_loads_first_and_then_ssdts ... ok
test a_processor_parses_opens_a_scope_and_takes_notify ... ok
test a_scope_opens_only_what_has_one ... ok
test an_alias_acts_exactly_as_its_source ... ok
test an_external_defines_nothing ... ok
test definition_block_level_code_runs_at_load ... ok
test a_lone_name_is_searched_for_toward_the_root_and_a_path_is_not ... ok
test a_package_names_its_elements ... ok
test names_a_method_creates_go_when_it_exits ... ok
test parent_prefixes_climb_one_scope_each ... ok
test the_predefined_objects_are_there_before_any_table ... ok
test qemus_dsdt_loads_and_its_s5_is_what_its_boot_logged ... ok
test qemus_methods_run_against_the_registers_they_read ... ok

test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/regions.rs (target/debug/deps/regions-8ea02fd76c87c2af)

running 18 tests
test an_access_past_its_region_is_refused ... ok
test a_lock_field_holds_the_global_lock_across_its_access ... ok
test a_bank_field_selects_its_bank_first ... ok
test a_field_wider_than_an_integer_is_a_buffer ... ok
test a_pci_config_region_addresses_its_devices_function ... ok
test a_buffer_field_over_a_conversion_and_a_conversion_into_one ... ok
test a_host_refusal_and_a_space_not_carried_are_refused_by_name ... ok
test buffer_fields_read_and_write_their_buffer ... ok
test an_access_type_sets_the_unit_and_anyacc_takes_the_narrowest_natural_one ... ok
test an_index_field_writes_its_offset_then_reaches_the_data ... ok
test copy_object_into_a_field_writes_an_integer_or_buffer_alone ... ok
test a_field_is_read_shifted_and_masked_from_its_units ... ok
test a_field_store_writes_its_source_as_it_was_when_firmware_changes_it ... ok
test system_io_and_the_embedded_controller_are_addressed_by_offset ... ok
test the_update_rule_completes_a_unit_the_field_covers_in_part ... ok
test an_address_out_of_its_form_is_refused ... ok
test a_pci_config_region_below_bridges_is_on_the_nearest_ones_secondary_bus ... ok
test a_pci_config_region_below_more_bridges_than_buses_is_refused ... ok

test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/walk.rs (target/debug/deps/walk-42edf53a674c656b)

running 6 tests
test every_object_is_walked_as_what_it_is ... ok
test an_alias_is_not_walked ... ok
test siblings_are_read_in_the_order_they_were_declared ... ok
test a_parent_of_thousands_is_walked_in_their_order ... ok
test a_namespace_nested_deep_is_walked_whole ... ok
test a_walk_takes_its_links_and_its_deepest_path_from_the_bound ... ok

test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s

07:43:25 [ci] userland/acpiserver/aml: cargo test --manifest-path userland/acpiserver/aml/Cargo.toml

07:43:25 === [ci] userland/calc
    Finished `test` profile [optimized + debuginfo] target(s) in 0.11s
     Running unittests src/lib.rs (target/debug/deps/calc-7a1d2621a9ccb550)

running 64 tests
test app::tests::the_hex_letters_are_live_only_in_hex ... ok
test bigint::tests::conversions_refuse_what_does_not_fit ... ok
test bigint::tests::addition_crosses_the_limb_boundary ... ok
test app::tests::prog_reads_digits_in_the_active_base_and_refuses_the_others ... ok
test app::tests::the_expression_line_is_a_text_field ... ok
test app::tests::a_whole_number_crosses_into_prog_and_back ... ok
test app::tests::every_button_reaches_the_same_place_a_key_does ... ok
test app::tests::the_sign_button_flips_the_number_it_stands_after ... ok
test bigint::tests::gcd_is_non_negative_and_divides_both ... ok
test bigint::tests::multiplication_matches_a_known_product ... ok
test app::tests::typing_previews_and_equals_commits ... ok
test bigint::tests::radix_parsing_and_lengths ... ok
test bigint::tests::zero_has_one_representation ... ok
test app::tests::a_fraction_is_cleared_on_the_way_into_prog_rather_than_rounded ... ok
test bigint::tests::powers_and_roots_agree ... ok
test bigint::tests::division_is_exact_over_many_shapes ... ok
test dec::tests::root_two_matches_its_published_digits ... ok
test app::tests::a_caret_in_the_middle_of_a_wide_character_is_unreachable ... ok
test num::tests::a_non_terminating_exact_value_is_shown_rounded_and_marked ... ok
test dec::tests::the_refusals_are_named_rather_than_taken ... ok
test dec::tests::rounding_is_half_to_even_and_canonical ... ok
test num::tests::exact_arithmetic_stays_exact ... ok
test num::tests::percent_is_an_exact_hundredth ... ok
test dec::tests::arithmetic_survives_a_wide_exponent_gap ... ok
test num::tests::rendering_switches_to_a_scientific_form_rather_than_dropping_digits ... ok
test num::tests::division_by_zero_is_refused_on_both_paths ... ok
test num::tests::the_marker_propagates_once_it_is_earned ... ok
test num::tests::powers_are_exact_while_that_is_worth_doing ... ok
test app::tests::a_field_that_is_full_says_so_rather_than_growing ... ok
test parser::tests::every_refusal_is_named_and_none_is_a_crash ... ok
test app::tests::every_button_of_both_layouts_is_pressable_from_any_state ... ok
test dec::tests::ln_two_matches_its_published_digits ... ok
test parser::tests::precedence_and_associativity ... ok
test num::tests::a_whole_power_of_an_approximation_does_not_need_a_positive_base ... ok
test parser::tests::the_four_operations_stay_exact ... ok
test num::tests::degrees_are_converted_at_the_call ... ok
test prog::tests::a_fractional_division_is_refused_rather_than_rounded ... ok
test prog::tests::arithmetic_wraps_at_the_word ... ok
test parser::tests::values_side_by_side_multiply ... ok
test prog::tests::digits_are_read_in_the_active_base ... ok
test prog::tests::shifts_saturate_rather_than_wrap_the_count ... ok
test prog::tests::the_logic_operators_have_c_precedence ... ok
test prog::tests::the_panes_show_the_same_bits_three_ways ... ok
test rational::tests::a_decimal_terminates_only_on_twos_and_fives ... ok
test dec::tests::a_whole_power_works_on_a_negative_base ... ok
test rational::tests::a_tenth_plus_two_tenths_is_three_tenths ... ok
test rational::tests::a_third_times_three_is_one ... ok
test rational::tests::construction_normalizes ... ok
test rational::tests::division_by_zero_is_the_only_refusal ... ok
test rational::tests::exact_roots_only_where_both_halves_are_squares ... ok
test rational::tests::ordering_is_by_value ... ok
test rational::tests::parsing_takes_what_a_literal_may_be ... ok
test rational::tests::powers_include_the_reciprocal ... ok
test dec::tests::sine_and_cosine_of_one_match_their_published_digits ... ok
test dec::tests::e_matches_its_published_digits_and_the_factorial_series ... ok
test parser::tests::degrees_are_a_toggle_and_nothing_else ... ok
test app::tests::the_angle_button_says_which_one_it_is ... ok
test dec::tests::pi_matches_its_published_digits_and_machin ... ok
test parser::tests::an_application_finishes_before_a_power_does ... ok
test parser::tests::a_negative_base_under_a_fractional_power_is_named ... ok
test parser::tests::functions_are_typeable_by_name ... ok
test prog::tests::nothing_typeable_panics_here_either ... ok
test dec::tests::the_identities_hold_to_the_displayed_precision ... ok
test parser::tests::no_string_over_the_alphabet_panics ... ok

test result: ok. 64 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s

     Running unittests src/main.rs (target/debug/deps/calc-d3e4f49f042c74be)

running 6 tests
test tests::hit_testing_follows_the_layout_at_every_size ... ok
test tests::the_keys_tile_the_panel_at_every_size ... ok
test tests::tracks_never_lose_a_pixel ... ok
test tests::every_key_face_fits_its_key ... ok
test tests::every_face_the_panel_shows_was_baked ... ok
test tests::the_longest_answer_is_never_cut ... ok

test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/parser_identities.rs (target/debug/deps/parser_identities-a0fd5819088424fa)

running 6 tests
test the_rest_of_the_table_is_where_it_was ... ok
test a_logarithm_round_trips_through_the_parser ... ok
test the_typo_is_refused_by_name ... ok
test the_reported_expressions_have_the_values_they_should ... ok
test a_power_after_a_call_squares_what_the_call_returned ... ok
test the_pythagorean_identity_holds_through_the_parser ... ok

test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s

07:43:26 [ci] userland/calc: cargo test --manifest-path userland/calc/Cargo.toml

07:43:26 === [ci] userland/compositor/desktop
   Compiling toyos-desktop v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/userland/compositor/desktop)
    Finished `test` profile [optimized + debuginfo] target(s) in 0.60s
     Running unittests src/lib.rs (target/debug/deps/toyos_desktop-a34f95729f9983c3)

running 104 tests
test budget::tests::a_machine_with_almost_no_memory_still_gets_one_window ... ok
test budget::tests::a_window_costs_whole_pages ... ok
test budget::tests::a_bigger_screen_affords_fewer_windows ... ok
test budget::tests::a_client_that_names_no_size_is_never_too_large ... ok
test budget::tests::capacity_is_checked_before_size ... ok
test budget::tests::the_poller_ceiling_binds_before_memory_does ... ok
test budget::tests::a_window_larger_than_the_screen_is_refused_by_name ... ok
test budget::tests::the_prompt_is_admitted_past_every_client_ceiling ... ok
test damage::tests::a_bridging_rect_collapses_both_it_joins ... ok
test damage::tests::a_contained_rect_changes_nothing ... ok
test damage::tests::an_empty_rect_is_not_damage ... ok
test damage::tests::take_clips_to_the_screen_and_drops_what_falls_outside ... ok
test damage::tests::the_bound_holds_and_the_list_stays_disjoint ... ok
test damage::tests::two_distant_rects_stay_two ... ok
test hit::tests::a_hit_outside_the_prompt_s_content_is_swallowed ... ok
test hit::tests::an_open_launcher_covers_the_window_beneath_it ... ok
test hit::tests::each_button_answers_for_exactly_the_rect_it_is_drawn_in ... ok
test hit::tests::nothing_under_the_pointer_is_the_desktop ... ok
test hit::tests::the_bar_past_its_own_buttons_is_desktop ... ok
test hit::tests::the_front_window_wins_an_overlap_and_a_minimized_one_never_does ... ok
test hit::tests::the_launcher_is_only_hit_while_it_is_open ... ok
test hit::tests::the_resize_corner_belongs_to_normal_windows_only ... ok
test hit::tests::the_taskbar_takes_precedence_over_a_window_reaching_into_it ... ok
test input::tests::a_batch_folds_to_its_transitions_and_its_last_position ... ok
test input::tests::a_button_already_down_is_not_a_press ... ok
test input::tests::a_click_on_a_maximized_title_bar_does_not_unmaximize_it ... ok
test input::tests::a_press_before_the_prompt_was_presented_never_reaches_it ... ok
test input::tests::a_press_on_a_normal_title_bar_drags_at_once ... ok
test input::tests::a_release_is_always_the_window_s ... ok
test input::tests::a_prompt_gets_every_key_and_no_chord_or_paste_acts ... ok
test input::tests::a_resize_grab_changes_the_size_and_not_the_origin ... ok
test input::tests::a_resize_in_progress_keeps_the_resize_cursor_wherever_the_pointer_went ... ok
test input::tests::a_tab_click_reveals_minimizes_or_raises ... ok
test input::tests::a_truncated_report_is_not_decoded_from_what_follows_it ... ok
test input::tests::a_window_closed_mid_drag_ends_the_grab_instead_of_panicking_or_moving_another ... ok
test input::tests::alt_tab_cycles_even_with_nothing_focused_and_ctrl_n_spawns ... ok
test input::tests::an_unclaimed_super_chord_reaches_the_window ... ok
test input::tests::dragging_survives_a_lower_window_closing_and_still_moves_the_right_one ... ok
test input::tests::dragging_reports_both_the_rect_it_left_and_the_one_it_took ... ok
test input::tests::escape_closes_the_launcher_only_while_it_is_open ... ok
test input::tests::no_window_means_no_super_chord_does_anything ... ok
test input::tests::releasing_a_drag_at_an_edge_snaps_and_anywhere_else_does_not ... ok
test input::tests::releasing_a_resize_asks_for_the_buffer_and_never_snaps ... ok
test input::tests::the_cursor_belongs_to_the_window_under_it_and_not_to_the_focused_one ... ok
test input::tests::the_release_of_a_key_that_answered_the_prompt_reaches_no_window ... ok
test input::tests::the_super_chords_toggle_against_the_mode_the_window_is_in ... ok
test input::tests::the_tablet_range_maps_onto_the_screen_and_never_off_it ... ok
test input::tests::travelling_past_the_threshold_restores_the_window_under_the_pointer ... ok
test layout::tests::a_drag_cannot_put_a_title_bar_off_the_top ... ok
test layout::tests::a_maximized_frame_is_exactly_the_work_area ... ok
test layout::tests::a_normal_window_has_no_mode_frame ... ok
test layout::tests::a_requested_window_is_centred_in_the_work_area ... ok
test layout::tests::a_resize_floors_at_the_minimum_and_never_moves_the_origin ... ok
test layout::tests::an_unmaximized_window_keeps_the_pointer_at_the_same_fraction_of_its_title ... ok
test layout::tests::buttons_sit_inside_the_title_bar_and_do_not_overlap ... ok
test layout::tests::frame_and_content_are_inverses ... ok
test layout::tests::reflow_keeps_the_size_and_brings_the_frame_back_on_screen ... ok
test layout::tests::reflow_leaves_a_window_that_already_fits_where_it_is ... ok
test layout::tests::restoring_under_a_pointer_at_the_left_edge_keeps_the_title_bar_reachable ... ok
test layout::tests::snapped_halves_never_overlap_and_never_reach_the_taskbar ... ok
test layout::tests::the_layout_follows_the_metrics_it_is_given ... ok
test layout::tests::successive_unsized_windows_cascade_and_wrap ... ok
test plan::tests::a_blit_never_reads_outside_the_buffer ... ok
test plan::tests::a_clip_that_misses_the_window_blits_nothing ... ok
test plan::tests::a_prompt_is_drawn_over_the_taskbar_the_launcher_and_every_window ... ok
test plan::tests::a_minimized_window_is_not_drawn_and_does_not_hide_the_wallpaper ... ok
test plan::tests::a_region_wholly_inside_the_taskbar_plans_only_the_bar ... ok
test plan::tests::a_window_mid_resize_does_not_cover_the_wallpaper_it_cannot_paint ... ok
test plan::tests::an_empty_desktop_is_wallpaper_and_the_bar ... ok
test plan::tests::an_opaque_window_covering_the_region_costs_no_wallpaper ... ok
test plan::tests::no_region_is_left_with_nothing_to_draw_in_it ... ok
test plan::tests::the_launcher_is_planned_over_every_window ... ok
test plan::tests::the_wallpaper_never_reaches_under_the_taskbar ... ok
test plan::tests::windows_are_planned_bottom_to_top_and_only_where_they_reach ... ok
test rect::tests::a_point_on_the_far_edge_is_outside ... ok
test rect::tests::confine_brings_a_window_back_onto_a_smaller_screen ... ok
test rect::tests::containment_and_overlap_agree_on_touching_edges ... ok
test rect::tests::a_wire_rect_cannot_wrap_into_the_whole_screen ... ok
test rect::tests::extents_never_go_negative ... ok
test rect::tests::union_ignores_an_empty_operand ... ok
test stack::tests::a_prompt_sits_above_every_topmost_window_and_has_the_keyboard ... ok
test stack::tests::a_second_prompt_is_refused_while_one_is_up ... ok
test stack::tests::a_topmost_window_raises_above_every_other_topmost_one ... ok
test stack::tests::an_ordinary_window_opened_after_a_topmost_one_goes_under_it ... ok
test stack::tests::cycling_leaves_a_topmost_window_on_top ... ok
test stack::tests::cycling_needs_two_ordinary_windows ... ok
test stack::tests::cycling_never_moves_a_prompt ... ok
test stack::tests::cycling_sends_the_top_window_to_the_bottom_and_reveals_the_next ... ok
test stack::tests::focus_is_the_topmost_window_that_is_not_minimized ... ok

@Japabu

Japabu commented Oct 11, 2026

Copy link
Copy Markdown
Collaborator Author

ci-host, part 9 of 9, cargo run -- --ci host at ed538e7, exit 0, 79 steps green

test stack::tests::raising_an_ordinary_window_cannot_lift_it_over_a_topmost_one ... ok
test stack::tests::raising_the_window_already_on_top_leaves_it_there ... ok
test taskbar::tests::a_crowded_bar_has_no_gap_rather_than_a_backwards_one ... ok
test taskbar::tests::a_narrow_screen_keeps_the_status_box_on_it ... ok
test taskbar::tests::a_tab_face_stays_inside_its_tab ... ok
test taskbar::tests::tabs_are_adjacent_and_the_new_button_follows_the_last ... ok
test taskbar::tests::the_gap_is_exactly_what_the_tabs_and_the_status_box_leave ... ok
test taskbar::tests::the_launcher_sits_on_the_bar_and_grows_upward ... ok
test taskbar::tests::the_strip_is_the_bottom_of_the_screen_and_nothing_else ... ok
test window::tests::a_client_cannot_damage_more_than_its_own_window ... ok
test window::tests::a_minimized_window_is_never_opaque ... ok
test window::tests::a_window_mid_resize_is_not_opaque_and_its_backing_is_the_buffer ... ok
test window::tests::a_window_shrunk_below_its_buffer_is_still_opaque ... ok
test window::tests::only_the_first_departure_from_normal_is_saved ... ok
test damage::tests::coverage_survives_a_random_stream ... ok

test result: ok. 104 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

07:43:27 [ci] userland/compositor/desktop: cargo test --manifest-path userland/compositor/desktop/Cargo.toml

07:43:27 === [ci] userland/diskserver
   Compiling diskserver v0.0.0 (/Users/<user>/Dev/jan/toyos-dirid/userland/diskserver)
    Finished `test` profile [optimized + debuginfo] target(s) in 0.44s
     Running unittests src/lib.rs (target/debug/deps/diskserver-2e5dc1c785f21dcd)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/main.rs (target/debug/deps/diskserver-388b5f963aa1f320)

running 3 tests
test tests::a_listing_names_only_what_its_grant_admits ... ok
test tests::an_unusable_or_unclaimed_controller_is_refused_and_an_absent_one_lists_nothing ... ok
test tests::an_open_reaches_only_what_its_grant_admits ... ok

test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

07:43:28 [ci] userland/diskserver: cargo test --manifest-path userland/diskserver/Cargo.toml

07:43:28 === [ci] userland/fileserver
   Compiling fileserver v0.0.0 (/Users/<user>/Dev/jan/toyos-dirid/userland/fileserver)
    Finished `test` profile [optimized + debuginfo] target(s) in 1.48s
     Running unittests src/lib.rs (target/debug/deps/fileserver-eb78af729d24b848)

running 46 tests
test cache::tests::a_write_past_the_disk_is_refused ... ok
test cache::tests::a_write_reaches_the_disk_at_the_flush_and_not_before ... ok
test cache::tests::dirty_runs_go_out_in_runs ... ok
test cache::tests::contiguous_misses_are_one_request_and_a_second_read_is_none ... ok
test data::tests::a_closed_file_keeps_its_length_across_a_remount ... ok
test data::tests::a_file_reads_back_what_was_written_across_pages_and_holes ... ok
test data::tests::a_file_is_one_number_across_renames_and_another_files_is_another ... ok
test data::tests::a_file_unlinked_while_open_answers_gone ... ok
test data::tests::a_shrink_zeroes_what_it_cut_and_regrowth_reads_zeros ... ok
test data::tests::data_is_one_partition_counted_over_both_sources ... ok
test data::tests::a_symlink_at_a_grant_s_root_is_followed_by_nothing ... ok
test data::tests::a_rename_moves_an_open_file_and_a_directory_with_its_contents ... ok
test fat::tests::a_device_error_is_io_and_not_not_found ... ok
test fat::tests::a_partial_write_over_an_unreadable_block_writes_nothing ... ok
test data::tests::directories_are_listed_and_refuse_what_posix_refuses ... ok
test fat::tests::a_refused_read_is_an_error_and_never_zeros ... ok
test data::tests::an_entry_refused_costs_only_its_own_file ... ok
test resolve::tests::a_cycle_is_refused_and_not_followed_for_ever ... ok
test resolve::tests::a_link_that_stays_inside_by_going_up_and_back_resolves ... ok
test resolve::tests::a_plain_path_lands_under_the_root ... ok
test resolve::tests::an_absolute_link_is_handed_back_with_the_rest_of_the_path ... ok
test resolve::tests::a_relative_link_is_read_against_its_own_directory ... ok
test resolve::tests::an_empty_target_names_nothing ... ok
test resolve::tests::no_link_climbs_out_of_a_granted_folder ... ok
test resolve::tests::no_link_climbs_out_of_the_root ... ok
test resolve::tests::the_last_link_is_left_alone_when_asked ... ok
test rights::tests::a_request_the_wire_does_not_have_is_neither ... ok
test rights::tests::an_open_changes_the_directory_by_every_flag_but_read ... ok
test data::tests::a_directory_rename_the_format_refuses_part_way_moves_nothing ... ok
test rights::tests::every_request_that_writes_changes_the_directory_and_none_that_reads_does ... ok
test volume::tests::a_number_follows_its_file_and_is_never_another_files ... ok
test volume::tests::a_directory_moves_with_everything_beneath_it ... ok
test volume::tests::a_clock_that_always_straddles_is_refused_by_name - should panic ... ok
test volume::tests::the_anchor_is_the_kernels ... ok
test writeback::tests::a_sync_that_left_a_file_unwritten_is_due_again ... ok
test data::tests::a_refused_rename_over_an_open_file_keeps_its_unsynced_writes ... ok
test data::tests::a_write_its_entry_could_not_name_is_refused_and_every_accepted_one_kept ... ok
test cache::tests::at_the_dirty_limit_a_refused_flush_refuses_the_write_and_the_cache_grows_no_larger ... ok
test fat::tests::a_read_only_volume_never_writes_its_disk ... ok
test cache::tests::clean_blocks_are_bounded_and_dirty_ones_are_kept ... ok
test fat::tests::a_file_is_one_number_through_spellings_and_renames ... ok
test data::tests::every_file_reads_back_as_a_plain_map_of_its_accepted_writes ... ok
test fat::tests::an_unreadable_entry_is_io_and_not_undated ... ok
test fat::tests::a_file_that_will_not_level_costs_only_its_own_file ... ok
test data::tests::a_directory_rename_is_whole_under_one_name_wherever_the_server_is_killed ... ok
test data::tests::a_directory_rename_is_whole_under_one_name_whichever_write_is_refused ... ok

test result: ok. 46 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.14s

     Running unittests src/main.rs (target/debug/deps/fileserver-1f58d9b70a9fbdc1)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

07:43:31 [ci] userland/fileserver: cargo test --manifest-path userland/fileserver/Cargo.toml

07:43:31 === [ci] userland/logkeeper
   Compiling logkeeper v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/userland/logkeeper)
    Finished `test` profile [optimized + debuginfo] target(s) in 0.26s
     Running unittests src/main.rs (target/debug/deps/logkeeper-d1443c6ba5f4ad71)

running 9 tests
test origin::tests::a_stamp_ahead_of_the_clock_is_read_as_now ... ok
test origin::tests::a_closing_record_ends_its_writers_line_and_nothing_else ... ok
test origin::tests::a_writers_pieces_are_its_line_whoever_wrote_between_them ... ok
test policy::tests::every_step_names_itself ... ok
test origin::tests::what_is_held_is_bounded_and_said ... ok
test store::tests::nothing_goes_while_there_is_room ... ok
test store::tests::a_flooding_boot_costs_its_own_middle_and_nobody_elses_start ... ok
test tests::readers_and_inspect_share_one_port_and_never_one_request ... ok
test store::tests::whole_old_boots_go_first_then_earlier_continuations ... ok

test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

07:43:31 [ci] userland/logkeeper: cargo test --manifest-path userland/logkeeper/Cargo.toml

07:43:31 === [ci] userland/netstack
   Compiling toyos-pci-claim v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/userland/toyos-pci-claim)
   Compiling netstack v0.0.0 (/Users/<user>/Dev/jan/toyos-dirid/userland/netstack)
    Finished `test` profile [optimized + debuginfo] target(s) in 0.35s
     Running unittests src/main.rs (target/debug/deps/netstack-b9f6960c17cc7664)

running 6 tests
test virtio_net::tests::a_full_transmit_queue_has_no_room_until_the_device_gives_heads_back ... ok
test virtio_net::tests::a_used_head_with_no_chain_in_flight_ends_the_driver - should panic ... ok
test virtio_net::tests::a_used_head_past_the_table_ends_the_driver - should panic ... ok
test virtio_net::tests::a_frame_offered_to_a_full_transmit_queue_is_not_taken - should panic ... ok
test virtio_net::tests::a_used_length_past_the_chains_writable_bytes_ends_the_driver - should panic ... ok
test virtio_net::tests::a_used_index_past_every_frame_offered_ends_the_driver - should panic ... ok

test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

07:43:32 [ci] userland/netstack: cargo test --manifest-path userland/netstack/Cargo.toml

07:43:32 === [ci] userland/netstack/mdns
    Finished `test` profile [optimized + debuginfo] target(s) in 0.09s
     Running unittests src/lib.rs (target/debug/deps/toyos_mdns-aa5c41f3fcc05721)

running 36 tests
test tests::a_host_name_is_one_label ... ok
test tests::a_legacy_resolver_gets_its_id_its_question_and_a_short_ttl ... ok
test tests::a_links_return_under_a_lost_name_probes_at_once_in_place_of_the_retry ... ok
test tests::a_query_for_this_name_is_answered_to_the_group ... ok
test tests::a_name_under_probe_is_answered_to_nobody ... ok
test tests::a_name_is_matched_whatever_its_case_and_any_asks_for_it_too ... ok
test tests::a_question_spelled_by_a_pointer_is_read ... ok
test tests::a_retry_no_host_answers_claims_and_announces_the_name ... ok
test tests::a_retry_the_holder_answers_loses_again_and_the_next_is_a_minute_after_it ... ok
test tests::a_question_that_is_not_this_hosts_is_not_answered ... ok
test tests::a_query_from_off_the_link_is_not_answered ... ok
test tests::a_malformed_message_is_no_question ... ok
test tests::a_flapping_link_restarts_the_probe_and_nothing_is_announced_until_one_runs_whole ... ok
test tests::an_address_after_none_is_probed_for_and_a_new_one_under_a_held_name_is_announced ... ok
test tests::rfc6762_6_a_probe_for_a_held_name_is_answered_at_once_by_unicast_or_250_ms_after_the_records_last_multicast ... ok
test tests::rfc6762_8_1_a_conflicting_response_received_as_the_last_250_ms_end_takes_the_name ... ok
test tests::rfc6762_8_1_a_probe_asks_any_for_the_name_with_the_unicast_bit_and_proposes_its_record_in_the_authority_section ... ok
test tests::rfc6762_8_1_a_probe_attempt_within_ten_seconds_of_a_conflict_waits_five_seconds_first ... ok
test tests::no_cut_of_a_conflicting_response_or_of_a_winning_probe_is_one ... ok
test tests::rfc6762_8_1_nothing_heard_before_the_first_probe_is_sent_is_a_conflict ... ok
test tests::rfc6762_8_1_three_probes_250_ms_apart_follow_the_drawn_delay_and_the_name_is_announced_250_ms_after_the_third ... ok
test tests::forged_probes_that_win_every_tiebreak_cost_one_probe_in_five_seconds_and_the_name_is_claimed_when_they_stop ... ok
test tests::rfc6762_8_2_the_lexicographically_later_data_wins_a_simultaneous_probe_and_the_earlier_waits_a_second ... ok
test tests::rfc6762_8_a_link_that_returns_is_probed_on_before_the_name_is_announced_or_answered_with_again ... ok
test tests::rfc6762_8_2_a_probe_is_compared_by_class_then_type_then_data_and_a_longer_list_wins ... ok
test tests::a_lost_name_is_probed_for_again_a_minute_after_the_loss_and_not_before ... ok
test tests::rfc6762_9_a_held_name_another_host_answers_for_under_the_new_probe_is_lost ... ok
test tests::rfc6762_8_1_a_conflicting_response_under_the_probe_takes_the_name_and_nothing_else_does ... ok
test tests::the_group_address_maps_to_its_ethernet_address ... ok
test tests::the_record_is_multicast_at_most_once_a_second_and_a_query_inside_it_waits ... ok
test tests::the_unicast_bit_sends_the_answer_back_to_the_asker ... ok
test tests::rfc6762_9_a_conflicting_response_resets_a_held_name_to_probing_and_nothing_else_does ... ok
test tests::a_storm_of_forged_answers_costs_one_probe_and_the_name ... ok
test tests::forged_probes_that_win_every_tiebreak_at_a_lost_name_cost_one_probe_a_minute ... ok
test tests::a_storm_of_forged_conflicts_at_a_lost_name_costs_one_probe_a_minute ... ok
test tests::forged_answers_that_spare_every_probe_cost_one_probing_in_five_seconds_and_the_name_is_held_when_they_stop ... ok

test result: ok. 36 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

07:43:32 [ci] userland/netstack/mdns: cargo test --manifest-path userland/netstack/mdns/Cargo.toml

07:43:32 === [ci] userland/netstack/node
    Finished `test` profile [optimized + debuginfo] target(s) in 0.08s
     Running unittests src/lib.rs (target/debug/deps/toyos_net_node-aa2c64cc625e7067)

running 1 test
test lease::tests::the_log_lines_are_taken_and_the_report_before_them_keeps_its_turn ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/datagram.rs (target/debug/deps/datagram-e86a84e5f5c26267)

running 9 tests
test a_clients_datagram_for_a_host_nobody_answers_for_is_dropped_and_the_client_is_told_nothing ... ok
test a_broadcast_needs_its_permission ... ok
test a_refusal_is_logged_by_the_call_that_met_it ... ok
test a_closed_socket_frees_its_port_and_what_it_accepted_still_leaves ... ok
test a_datagram_leaves_as_the_call_named_it ... ok
test a_datagram_accepted_for_a_host_is_no_broadcast_after_the_server_renews_a_narrower_prefix ... ok
test a_socket_holds_the_port_it_named_or_the_one_its_draw_picked ... ok
test a_datagram_for_a_bound_port_is_handed_over_with_where_it_came_from ... ok
test each_refusal_is_answered_in_the_pipes_word_for_it ... ok

test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/host.rs (target/debug/deps/host-803046cba786c7e9)

running 1 test
test a_host_gives_a_connection_the_nodelay_its_listener_had_when_it_began ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/lease.rs (target/debug/deps/lease-b278d53b751b0a1a)

running 21 tests
test a_message_with_no_link_is_counted_and_not_sent ... ok
test a_link_that_returns_with_no_lease_starts_discovery_over_at_once ... ok
test a_reply_without_the_cookie_is_refused_by_name ... ok
test a_probe_the_link_drops_under_is_abandoned ... ok
test a_lease_that_runs_out_under_the_probe_leaves_no_address ... ok
test a_conflict_under_the_probe_declines_and_holds_nothing ... ok
test a_router_ip_refuses_is_no_router ... ok
test a_nak_takes_address_route_and_resolvers_in_one_step ... ok
test a_link_that_returns_keeps_a_held_lease_and_announces_it ... ok
test a_renewed_prefix_reaches_ip_before_its_router ... ok
test a_renewal_without_a_router_takes_the_route_and_keeps_the_address ... ok
test a_second_conflict_takes_a_held_lease_and_declines_it ... ok
test a_renewal_for_a_server_nobody_answers_for_waits_and_is_dropped_and_the_client_is_told_nothing ... ok
test a_hundred_refused_replies_are_one_line_and_a_count ... ok
test expiry_takes_address_route_and_resolvers_in_one_step ... ok
test next_deadline_is_the_earliest_of_the_clients_and_the_stacks ... ok
test no_frame_is_from_the_address_before_it_is_verified ... ok
test no_cut_of_the_ack_is_an_ack ... ok
test the_lease_end_to_end ... ok
test a_listener_stands_while_its_address_is_lost_and_answers_when_it_is_back ... ok
test no_flipped_bit_of_the_ack_yields_another_lease ... ok

test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s

     Running tests/listeners.rs (target/debug/deps/listeners-0155aace57c521d2)

running 31 tests
test a_listener_holds_a_place_and_a_listen_without_one_makes_nothing ... ok
test a_datagram_socket_holds_a_place_and_a_bind_without_one_makes_nothing ... ok
test a_connect_past_the_places_is_refused_and_sends_nothing ... ok
test a_connect_between_two_accepts_is_queued_not_reset ... ok
test a_listen_at_the_machines_address_takes_no_port_held_at_every_address ... ok
test a_listener_holds_the_option_its_listen_named_from_its_first_connection ... ok
test a_listener_answers_a_syn_and_wakes_its_owner_when_the_handshake_ends ... ok
test a_listen_on_a_taken_port_is_refused_and_a_drawn_port_listens ... ok
test a_handshake_nobody_finishes_leaves_the_port_open_and_is_given_up ... ok
test a_listen_at_every_address_takes_no_port_held_at_the_machines_address ... ok
test a_listener_is_at_the_address_it_named_and_only_one_the_machine_holds ... ok
test a_listener_ended_for_its_wake_gives_its_place_to_another_in_the_same_pass ... ok
test a_handshake_reset_before_it_ends_leaves_the_next_connection_its_listeners_option ... ok
test a_second_listen_at_the_machines_address_takes_no_port_held_there ... ok
test a_departed_clients_connection_holds_its_place_until_it_is_cut ... ok
test a_stream_reset_for_its_pipe_gives_its_place_to_a_connection_that_waits ... ok
test a_wake_is_owed_only_for_a_connection_there_is_a_place_for ... ok
test a_wake_left_by_a_connection_its_peer_reset_stands_for_the_next ... ok
test a_stream_starts_with_the_options_its_connection_took_from_its_listener ... ok
test an_accept_answers_the_option_of_a_stream_its_own_pass_let_go ... ok
test an_accept_spends_a_wake_whatever_it_answers ... ok
test closing_a_connect_gives_its_place_to_a_connection_that_waits ... ok
test a_wake_the_owners_pipe_refuses_ends_the_listener ... ok
test closing_a_listener_gives_its_place_to_a_connection_that_waits_at_another ... ok
test closing_a_listener_resets_what_waits_and_frees_its_port ... ok
test a_request_for_a_stream_that_was_cut_names_nothing ... ok
test more_places_wake_the_owner_of_a_connection_that_waits ... ok
test no_cut_of_a_syn_is_a_syn ... ok
test peers_at_more_addresses_than_there_are_places_hold_no_stream_past_them ... ok
test an_accepted_stream_is_one_of_its_peers_addresss_sixteen ... ok
test no_flipped_bit_of_a_syn_wakes_an_owner_or_ends_a_listener ... ok

test result: ok. 31 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s

     Running tests/name.rs (target/debug/deps/name-8c603c20311b1485)

running 21 tests
test an_answer_udp_refuses_is_counted_and_dropped ... ok
test a_links_return_under_a_lost_name_is_probed_on_at_once_and_no_retry_follows_it ... ok
test a_conflicting_response_received_as_the_probing_ends_takes_the_name ... ok
test an_answer_goes_to_the_group_or_to_the_asker_as_the_query_asked ... ok
test a_query_from_off_the_link_is_not_answered ... ok
test a_lost_name_is_probed_for_again_a_minute_after_each_loss_and_claimed_once_no_host_answers ... ok
test an_answer_to_a_link_local_asker_goes_to_its_own_link_address ... ok
test a_query_in_a_frame_to_the_groups_address_reaches_the_responder ... ok
test a_held_name_is_defended_and_probed_for_again_when_another_host_answers_for_it ... ok
test a_name_has_no_link_while_the_link_is_down_and_the_links_return_is_probed_on ... ok
test a_second_query_inside_a_second_waits_for_the_second_to_end ... ok
test a_held_lease_is_probed_for_three_times_and_its_name_announced_only_then ... ok
test a_held_name_is_probed_for_again_when_the_link_returns_and_announced_only_then ... ok
test a_later_probe_of_another_hosts_makes_the_node_wait_a_second_and_probe_again ... ok
test every_message_leaves_with_ttl_255 ... ok
test another_hosts_answer_under_the_probe_takes_the_name_and_the_node_says_so ... ok
test the_first_probe_follows_the_delay_the_callers_draw_gives ... ok
test the_group_is_joined_and_its_membership_reported ... ok
test no_cut_of_a_query_is_answered ... ok
test the_names_port_is_held_by_one_socket ... ok
test the_name_is_answered_only_while_its_lease_is_held ... ok

test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

     Running tests/resolve.rs (target/debug/deps/resolve-94085b0fb47f9deb)

running 33 tests
test a_lookup_udp_refuses_every_resolver_of_ends_in_the_call_that_started_it ... ok
test a_lookup_ends_when_its_lease_is_lost ... ok
test a_lookup_let_go_after_it_ended_takes_its_answer_with_it ... ok
test a_lookup_outlives_a_renewal_that_names_the_same_resolvers ... ok
test a_query_is_rfc_1035s_octets_from_a_port_and_with_an_id_of_its_own_draws ... ok
test a_lookup_with_no_resolver_to_ask_is_refused_as_not_connected ... ok
test a_lookup_ends_when_its_leases_resolvers_change ... ok
test a_forged_report_of_the_querys_own_addresses_and_ports_ends_nothing_and_the_answer_behind_it_is_taken ... ok
test a_query_for_a_resolver_ip_has_given_up_ends_its_lookup_in_the_opportunity_that_would_have_carried_it ... ok
test a_query_holds_its_port_while_its_answer_is_read_and_an_ended_lookup_holds_none ... ok
test a_lookup_is_not_carried_by_a_later_ones_schedule ... ok
test a_burst_at_a_resolver_not_yet_resolved_is_on_the_wire_once_the_resolver_answers_arp ... ok
test a_clients_datagrams_behind_the_burst_wait_in_their_own_socket_and_take_no_querys_place ... ok
test a_lookup_let_go_frees_its_ports_and_its_place_at_once ... ok
test a_query_its_resolver_refuses_by_icmp_is_counted_and_the_next_resolver_is_asked_at_once ... ok
test a_query_the_network_reports_unreachable_is_counted_and_ends_a_lookup_with_no_other_resolver ... ok
test a_query_udp_refuses_is_counted_holds_no_port_and_the_next_resolver_is_asked_at_once ... ok
test a_recorded_reply_of_a_public_resolver_answers_the_nodes_query ... ok
test a_reply_from_port_0_is_not_read ... ok
test a_reply_is_read_only_at_the_address_its_query_left_from ... ok
test a_reply_is_read_only_from_port_53 ... ok
test a_reply_is_read_only_from_the_resolver_its_query_went_to ... ok
test a_reply_on_another_querys_port_is_not_read ... ok
test a_report_that_is_not_about_the_query_or_is_a_hint_ends_no_wait ... ok
test a_resolver_that_never_answers_is_asked_at_each_waits_end ... ok
test a_resolver_the_lease_names_twice_is_asked_once_a_wait_whatever_it_reports ... ok
test an_alias_answered_late_restarts_the_lookup_and_lets_the_old_names_queries_go ... ok
test forged_reports_and_another_resolvers_failures_end_nothing_and_the_answer_behind_them_is_taken ... ok
test reports_alone_end_no_lookup_and_ask_no_resolver_twice_inside_a_wait ... ok
test nothing_but_its_answer_ends_a_lookup ... ok
test the_lookup_past_the_cap_is_refused_until_an_answer_is_taken ... ok
test the_query_asked_in_a_dropped_querys_place_leaves_in_the_same_opportunity ... ok
test a_query_with_no_port_to_leave_from_ends_its_lookup_by_name ... ok

test result: ok. 33 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

     Running tests/slirp.rs (target/debug/deps/slirp-093165c007ff89fc)

running 3 tests
test slirps_offer_is_answered_with_a_request_for_what_it_offered ... ok
test the_lease_is_read_from_the_acks_own_mask ... ok
test slirps_ack_is_the_lease_its_bytes_name ... ok

test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/streams.rs (target/debug/deps/streams-1e6b36f14ca6826f)

running 44 tests
test a_connect_before_the_lease_is_refused_and_sends_nothing ... ok
test a_connect_nobody_answers_arp_for_fails_when_tcp_knows ... ok
test a_connect_is_a_handshake_and_its_answer_names_the_port ... ok
test a_connect_past_its_deadline_is_timed_out_at_the_deadline ... ok
test a_connect_closed_before_its_answer_is_answered_closed ... ok
test a_close_with_text_unread_resets ... ok
test a_close_sends_what_the_pipe_held_and_then_the_fin ... ok
test a_batch_of_frames_moves_an_established_stream_once_with_no_opportunity_after_it ... ok
test a_batch_stops_at_its_bound_and_says_a_pass_is_owed ... ok
test a_client_that_left_is_finished_by_the_stack ... ok
test a_finished_send_pipe_goes_with_its_reader ... ok
test a_full_pipe_keeps_the_rest_in_the_stack_and_is_watched_for_room ... ok
test a_client_done_writing_after_the_peers_fin_has_100_seconds_without_progress ... ok
test a_deadline_moves_an_established_stream_with_no_opportunity_after_it ... ok
test a_refused_connect_is_answered_with_the_refusal ... ok
test a_reader_that_left_is_not_written_to_again ... ok
test a_refused_watch_resets_only_a_stream_that_holds_the_end ... ok
test a_reset_after_the_clients_shutdown_lets_the_send_pipe_go_first ... ok
test a_pipe_that_is_no_pipe_resets_its_connection ... ok
test a_reset_after_the_peers_fin_ends_the_send_pipe ... ok
test a_reset_ends_both_pipes_and_the_stream ... ok
test a_send_pipe_found_empty_is_read_again_only_once_the_kernel_says_it_holds_bytes ... ok
test a_reset_in_the_batch_of_the_text_before_it_ends_the_pipes_after_the_text ... ok
test a_shutdown_after_the_peers_fin_keeps_the_send_pipe_past_the_connections_end ... ok
test a_shutdown_sends_what_the_pipe_held_and_then_the_fin ... ok
test a_live_client_that_is_done_writing_is_not_timed ... ok
test a_writer_that_leaves_after_the_shutdown_leaves_the_stream_to_its_reader ... ok
test an_established_streams_connect_deadline_is_gone ... ok
test nodelay_reaches_the_stack ... ok
test text_the_pipe_had_no_room_for_outlives_the_reset ... ok
test text_the_pipe_had_no_room_for_outlives_both_fins ... ok
test the_end_of_the_clients_writing_is_a_fin_and_the_peer_still_sends ... ok
test the_peers_fin_after_the_clients_shutdown_leaves_the_send_pipe_to_its_writer ... ok
test room_in_the_pipe_opens_the_window_at_the_next_opportunity ... ok
test the_peers_fin_ends_the_clients_reading_and_not_its_writing ... ok
test a_departed_clients_unsent_bytes_have_100_seconds ... ok
test nothing_leaves_the_pipe_that_the_stack_will_not_take ... ok
test nothing_leaves_the_stack_that_the_pipe_did_not_take ... ok
test a_departed_clients_tail_arrives_whole_while_its_peer_takes_it ... ok
test no_cut_of_a_segment_is_a_segment ... ok
test a_peer_at_another_address_keeps_its_own_sixteen ... ok
test no_flipped_bit_of_a_segment_delivers_other_bytes ... ok
test a_departed_clients_connection_past_the_sixteen_is_one_of_them_once_one_is_done ... ok
test a_peer_keeps_sixteen_departed_clients_connections_alive_and_no_more ... ok

test result: ok. 44 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s

07:43:34 [ci] userland/netstack/node: cargo test --manifest-path userland/netstack/node/Cargo.toml

07:43:34 === [ci] userland/pkg
   Compiling pkg v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/userland/pkg)
    Finished `test` profile [optimized + debuginfo] target(s) in 0.64s
     Running unittests src/lib.rs (target/debug/deps/pkg-aae35b984c0b2b4f)

running 12 tests
test archive::tests::a_directory_and_two_files_come_back_whole ... ok
test archive::tests::a_header_that_does_not_sum_and_a_size_past_the_end_are_both_refused ... ok
test archive::tests::a_name_that_leaves_the_archive_is_refused ... ok
test archive::tests::every_type_but_a_file_and_a_directory_is_refused ... ok
test sums::tests::a_line_that_is_not_one_and_a_name_given_twice_are_both_refused ... ok
test sums::tests::hex_is_the_spelling_the_file_uses ... ok
test sums::tests::the_one_line_for_this_asset_is_the_answer ... ok
test tests::a_digest_the_manifest_cannot_carry_stops_the_install ... ok
test tests::a_file_name_that_states_no_version_is_refused ... ok
test tests::a_path_the_archive_names_as_both_a_file_and_a_directory_is_refused ... ok
test tests::an_archive_that_is_not_one_directory_installs_nothing ... ok
test tests::the_real_asset_plans_the_directory_the_track_describes ... ok

test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/main.rs (target/debug/deps/pkg-e7580b8474ba38da)

running 3 tests
test tests::an_archive_that_inflates_past_the_ceiling_is_refused_unread ... ok
test tests::an_install_that_cannot_finish_takes_its_directory_back_down ... ok
test tests::a_tree_of_any_depth_comes_off_and_leaves_no_directory ... ok

test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s

07:43:35 [ci] userland/pkg: cargo test --manifest-path userland/pkg/Cargo.toml

07:43:35 === [ci] userland/soundserver
   Compiling toyos-pci-claim v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/userland/toyos-pci-claim)
   Compiling soundserver v0.0.0 (/Users/<user>/Dev/jan/toyos-dirid/userland/soundserver)
    Finished `test` profile [optimized + debuginfo] target(s) in 0.33s
     Running unittests src/main.rs (target/debug/deps/soundserver-0e91874d37b32c73)

running 3 tests
test control::tests::a_control_message_is_refused_unless_its_width_and_its_state_both_fit ... ok
test mix::tests::published_totals_are_exactly_the_sum_of_every_window ... ok
test client::tests::the_stronger_witness_wins_in_either_order ... ok

test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

07:43:36 [ci] userland/soundserver: cargo test --manifest-path userland/soundserver/Cargo.toml

07:43:36 === [ci] userland/soundserver/mixer
    Finished `test` profile [optimized + debuginfo] target(s) in 0.08s
     Running unittests src/lib.rs (target/debug/deps/toyos_mixer-55f41f11fc4bfc95)

running 55 tests
test channel::tests::a_mono_client_is_the_same_sample_in_both_channels ... ok
test channel::tests::an_append_lands_after_what_is_already_there ... ok
test channel::tests::planar_and_interleaved_convert_alike ... ok
test channel::tests::the_interleave_reads_only_the_frames_produced ... ok
test channel::tests::the_downmix_averages_rather_than_sums ... ok
test dll::tests::a_reset_forgets_the_grid_and_the_drift ... ok
test dll::tests::a_batch_is_measured_against_its_last_grid_point ... ok
test dll::tests::a_grid_that_runs_fast_is_followed ... ok
test corpus::tests::the_crate_agrees_with_the_captured_shell ... ok
test dll::tests::a_wild_timestamp_cannot_collapse_or_run_away_the_period ... ok
test dll::tests::the_first_record_anchors_and_decides_nothing ... ok
test format::tests::a_half_rounds_away_from_zero ... ok
test format::tests::a_period_quantizes_as_its_samples_do ... ok
test format::tests::full_scale_clamps_instead_of_wrapping ... ok
test channel::tests::an_append_past_the_reserved_capacity_is_refused - should panic ... ok
test format::tests::the_generator_cannot_be_seeded_into_silence ... ok
test format::tests::passthrough_is_bit_exact_for_every_i16 ... ok
test gain::tests::a_fade_stays_between_its_endpoints ... ok
test gain::tests::a_ramp_lands_exactly_on_its_target ... ok
test gain::tests::a_ramp_to_its_own_level_is_a_ramp_to_nowhere ... ok
test gain::tests::a_settled_ramp_holds_its_level ... ok
test gain::tests::advancing_past_the_end_settles ... ok
test gain::tests::a_retarget_starts_from_the_level_reached ... ok
test gain::tests::a_volume_that_is_not_a_number_is_refused_and_the_rest_is_clamped ... ok
test format::tests::the_draw_stays_inside_half_an_lsb ... ok
test mix::tests::a_client_at_unity_is_added_unscaled ... ok
test mix::tests::a_period_of_the_wrong_width_is_refused - should panic ... ok
test mix::tests::a_silent_client_leaves_the_bus_untouched ... ok
test mix::tests::both_channels_of_a_frame_get_one_gain ... ok
test mix::tests::clients_sum_and_the_bus_is_not_clamped ... ok
test mix::tests::the_composite_is_the_conversion_and_the_sum ... ok
test shape::tests::a_client_at_the_device_s_own_rate_gets_the_device_s_period ... ok
test shape::tests::a_pipeline_with_nothing_to_reserve_disables_deferral ... ok
test shape::tests::a_rate_too_low_for_the_ramp_or_the_grid_is_refused ... ok
test shape::tests::a_shape_the_mixer_cannot_render_is_refused_and_nothing_divides_by_zero ... ok
test corpus::tests::the_corpus_is_reproduced_bit_for_bit ... ok
test corpus::tests::a_one_lsb_change_anywhere_moves_the_transcript ... ok
test shape::tests::no_accepted_rate_overruns_the_shipped_scratch ... ok
test format::tests::the_dither_is_a_triangular_distribution_and_not_merely_shaped_like_one ... ok
test shape::tests::the_scratch_covers_every_rate_a_client_may_ask_for ... ok
test shape::tests::the_shipped_device_shape_is_served ... ok
test shape::tests::the_shipped_grid_and_ramp ... ok
test shape::tests::the_shipped_pipeline_keeps_five_periods_in_reserve ... ok
test stats::tests::a_late_wake_is_one_past_a_whole_period ... ok
test stats::tests::a_later_shorter_run_does_not_lower_the_worst ... ok
test stats::tests::a_software_grid_blames_only_itself ... ok
test stats::tests::empty_wakes_belong_to_the_wake_that_ends_them ... ok
test stats::tests::one_covered_period_ends_a_run ... ok
test stats::tests::only_the_wake_nothing_asked_for_is_named ... ok
test stats::tests::silence_outside_a_stream_costs_nothing ... ok
test stats::tests::the_halves_come_from_one_wake ... ok
test stats::tests::the_halves_sum_to_the_whole ... ok
test stats::tests::the_run_length_separates_a_gap_from_scattered_misses ... ok
test format::tests::a_signal_under_one_lsb_survives_the_quantizer ... ok
test format::tests::the_rounding_is_std_s_over_every_float_there_is ... ok

test result: ok. 55 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.99s

07:43:37 [ci] userland/soundserver/mixer: cargo test --manifest-path userland/soundserver/mixer/Cargo.toml

07:43:37 === [ci] userland/soundserver/virtio-sound
    Finished `test` profile [optimized + debuginfo] target(s) in 0.07s
     Running unittests src/lib.rs (target/debug/deps/toyos_virtio_sound-deb3ed1c9b0f498c)

running 10 tests
test tests::every_code_is_the_specifications_number ... ok
test tests::an_event_is_handed_up_and_its_buffer_posted_again ... ok
test tests::stream_information_is_decoded_at_the_specifications_offsets ... ok
test tests::the_bring_up_sends_the_specifications_bytes_in_its_order ... ok
test tests::a_period_given_back_wrongly_is_refused_by_name ... ok
test tests::periods_go_out_after_one_start_and_come_back_as_a_mask ... ok
test tests::a_malformed_control_answer_is_refused_by_name ... ok
test tests::the_stream_is_set_to_what_it_offers_or_refused_by_what_it_lacks ... ok
test tests::no_period_is_stranded_between_its_used_element_and_its_notification ... ok
test tests::a_silent_device_and_a_streamless_one_are_refused ... ok

test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.21s

07:43:38 [ci] userland/soundserver/virtio-sound: cargo test --manifest-path userland/soundserver/virtio-sound/Cargo.toml

07:43:38 === [ci] userland/sshserver
    Finished `test` profile [optimized + debuginfo] target(s) in 0.15s
     Running unittests src/main.rs (target/debug/deps/sshserver-55278c998eec2a64)

running 29 tests
test command::tests::a_bare_name_resolves_under_system_bin ... ok
test command::tests::a_line_that_names_nothing_is_refused ... ok
test command::tests::a_bare_command_is_its_words ... ok
test command::tests::quotes_hold_a_word_together ... ok
test command::tests::a_shell_command_reaches_the_shell_whole ... ok
test command::tests::metacharacters_are_ordinary_bytes ... ok
test command::tests::an_unfinished_quote_is_refused ... ok
test command::tests::backslash_escapes_one_character ... ok
test sftp::tests::a_request_before_init_ends_the_session ... ok
test sftp::tests::framing_waits_for_a_whole_packet ... ok
test sftp::tests::a_handle_nobody_opened_is_refused ... ok
test sftp::tests::an_oversized_length_ends_the_session ... ok
test sftp::tests::a_request_outside_the_profile_is_refused_by_name ... ok
test sftp::tests::a_second_init_ends_the_session ... ok
test sftp::tests::a_truncated_request_is_a_bad_message_and_not_a_panic ... ok
test sftp::tests::a_file_that_is_not_there_is_no_such_file ... ok
test tests::a_file_that_names_nobody_authorizes_nobody ... ok
test tests::an_unparseable_line_does_not_disarm_the_rest ... ok
test tests::an_unlisted_key_is_not_authorized ... ok
test tests::a_key_listed_with_options_authorizes_nothing ... ok
test tests::the_comment_is_not_part_of_the_key ... ok
test tests::a_key_is_found_among_several_and_blank_lines ... ok
test tests::a_listed_key_is_authorized ... ok
test tests::input_for_a_program_that_is_gone_is_not_a_stall ... ok
test tests::input_a_program_is_reading_is_taken ... ok
test sftp::tests::the_profile_moves_a_file_and_lists_it ... ok
test sftp::tests::a_listing_longer_than_one_reply_continues_where_it_left_off ... ok
test tests::input_nothing_takes_is_given_up_on ... ok
test sftp::tests::a_directory_past_the_ceiling_is_refused_by_name ... ok

test result: ok. 29 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.56s

07:43:38 [ci] userland/sshserver: cargo test --manifest-path userland/sshserver/Cargo.toml

07:43:38 === [ci] userland/symbolize
   Compiling symbolize v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/userland/symbolize)
    Finished `test` profile [optimized + debuginfo] target(s) in 0.22s
     Running unittests src/main.rs (target/debug/deps/symbolize-9b3eaa77d97dc9da)

running 5 tests
test tests::a_name_is_read_under_the_root ... ok
test tests::a_name_some_host_reads_as_a_drive_or_separator_is_refused ... ok
test tests::a_name_that_leaves_the_root_is_refused ... ok
test tests::a_name_windows_reserves_for_a_device_is_refused ... ok
test tests::a_record_that_leaves_the_root_is_refused_on_its_line ... ok

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

07:43:39 [ci] userland/symbolize: cargo test --manifest-path userland/symbolize/Cargo.toml

07:43:39 === [ci] userland/toyfetch
    Finished `test` profile [optimized + debuginfo] target(s) in 0.09s
     Running unittests src/main.rs (target/debug/deps/toyfetch-bda244d75a66160c)

running 7 tests
test render::tests::only_toyos_has_a_logo ... ok
test render::tests::a_cpu_without_a_model_says_so ... ok
test render::tests::uptime_leaves_out_zero_units ... ok
test render::tests::the_logo_taller_than_the_facts_pads_only_rows_with_a_fact ... ok
test render::tests::every_fact_prints_beside_the_logo_in_its_colours ... ok
test render::tests::the_facts_taller_than_the_logo_keep_their_column ... ok
test render::tests::a_fact_the_system_did_not_answer_prints_no_line ... ok

test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

07:43:39 [ci] userland/toyfetch: cargo test --manifest-path userland/toyfetch/Cargo.toml

07:43:39 === [ci] the apps for linux
info: component rust-std for target x86_64-unknown-linux-gnu is up to date
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.15s
    Checking toyos-abi v0.16.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-abi)
    Checking toyos v0.18.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos)
    Checking filepicker-api v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/userland/filepicker-api)
    Checking toyos-window v0.20.0 (/Users/<user>/Dev/jan/toyos-dirid/userland/toyos-window)
    Checking editor v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/userland/editor)
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.74s
    Checking toyos-manifest v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-manifest)
    Checking filepicker v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/userland/filepicker)
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.34s
    Checking files v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/userland/files)
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.15s
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.07s
    Checking paint v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/userland/paint)
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.15s
    Checking pkg v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/userland/pkg)
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.27s
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.11s
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.15s
    Checking toyos-symbols v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-symbols)
    Checking symbolize v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/userland/symbolize)
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.22s
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.08s
07:43:42 [ci] the apps for linux: 11 app(s) pass `cargo check --target x86_64-unknown-linux-gnu`; userland/doom, userland/proctest, userland/shell, userland/terminal, userland/toybox not attempted, as their manifests declare

07:43:42 === [ci] the apps for macos
info: component rust-std is up to date
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.08s
   Compiling toyos-window v0.20.0 (/Users/<user>/Dev/jan/toyos-dirid/userland/toyos-window)
   Compiling filepicker-api v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/userland/filepicker-api)
   Compiling editor v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/userland/editor)
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.45s
   Compiling filepicker v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/userland/filepicker)
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.48s
   Compiling files v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/userland/files)
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.22s
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.07s
   Compiling paint v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/userland/paint)
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.22s
   Compiling pkg v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/userland/pkg)
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.46s
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.10s
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.11s
   Compiling symbolize v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/userland/symbolize)
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.22s
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.08s
07:43:45 [ci] the apps for macos: 11 app(s) pass `cargo build`; userland/doom, userland/proctest, userland/shell, userland/terminal, userland/toybox not attempted, as their manifests declare

07:43:45 === [ci] the apps for windows
info: component rust-std for target x86_64-pc-windows-msvc is up to date
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.12s
    Checking toyos-abi v0.16.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-abi)
    Checking toyos v0.18.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos)
    Checking filepicker-api v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/userland/filepicker-api)
    Checking toyos-window v0.20.0 (/Users/<user>/Dev/jan/toyos-dirid/userland/toyos-window)
    Checking editor v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/userland/editor)
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.71s
    Checking toyos-manifest v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-manifest)
    Checking filepicker v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/userland/filepicker)
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.32s
    Checking files v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/userland/files)
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.15s
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.07s
    Checking paint v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/userland/paint)
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.15s
    Checking pkg v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/userland/pkg)
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.25s
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.09s
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.14s
    Checking toyos-symbols v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos-symbols)
    Checking symbolize v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid/userland/symbolize)
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.22s
    Finished `dev` profile [optimized + debuginfo] target(s) in 0.08s
07:43:47 [ci] the apps for windows: 11 app(s) pass `cargo check --target x86_64-pc-windows-msvc`; userland/doom, userland/proctest, userland/shell, userland/terminal, userland/toybox not attempted, as their manifests declare

07:43:47 === [ci] the toyos SDK
   Compiling toyos v0.18.0 (/Users/<user>/Dev/jan/toyos-dirid/toyos)
    Finished `test` profile [optimized + debuginfo] target(s) in 0.58s
     Running unittests src/lib.rs (target/debug/deps/toyos-f91d9b0c3685a5e7)

running 60 tests
test fs::tests::a_path_is_canonical_only_without_empty_dot_or_dotdot_components ... ok
test fs::tests::a_grant_round_trips_at_every_bound ... ok
test fs::tests::a_listing_entry_round_trips_and_a_short_one_is_refused ... ok
test fs::tests::bytes_no_grant_was_encoded_as_are_refused ... ok
test fs::tests::no_grant_carries_a_root_the_wire_refuses_or_one_past_the_badge ... ok
test ipc::tests::a_taken_move_closes_nothing ... ok
test ipc::tests::a_refused_move_closes_every_handle_it_consumed ... ok
test launch::tests::a_batch_names_each_handle_once_and_never_its_connection ... ok
test launch::tests::a_request_names_its_parent_by_one_word ... ok
test ipc::tests::a_batch_past_the_bound_is_refused_and_closed ... ok
test log::proof::a_position_that_never_lands_is_counted_by_the_sweep ... ok
test log::proof::a_full_ring_or_lane_refuses_at_once_and_never_waits ... ok
test log::proof::a_ring_has_four_lanes_to_claim ... ok
test log::proof::scribbled_words_bound_the_reader_and_never_panic_it ... ok
test log::proof::slots_left_to_others_are_theirs ... ok
test log::proof::the_region_carries_a_record_whole ... ok
test log::stdio::tests::a_formatted_line_is_one_ended_record ... ok
test log::stdio::tests::a_line_a_flush_opened_is_closed_at_its_end ... ok
test log::stdio::tests::a_line_in_pieces_is_one_record ... ok
test log::stdio::tests::a_newline_ends_a_record_and_a_carriage_return_before_it_goes ... ok
test net::tests::a_binds_request_ends_in_its_listeners_options ... ok
test net::tests::a_code_netstack_chose_is_still_its_own_answer ... ok
test log::proof::a_placeholder_owned_ring_keeps_its_slots_from_every_pid_until_named ... ok
test net::tests::a_not_found_is_not_a_netstack_that_is_not_there ... ok
test fs::tests::the_window_copies_every_length_at_every_offset ... ok
test net::tests::an_accepts_answer_ends_in_its_connections_options ... ok
test log::stdio::tests::a_long_line_is_records_in_order_with_nothing_lost ... ok
test net::tests::an_option_request_is_three_words_on_the_wire ... ok
test net::tests::nothing_else_becomes_a_missing_netstack ... ok
test net::tests::a_gone_handle_transfer_is_a_netstack_that_is_not_there ... ok
test net::tests::a_read_that_hung_up_is_a_netstack_that_is_not_there ... ok
test poller::tests::a_submission_is_the_whole_entry_where_the_kernel_reads_it ... ok
test poller::tests::a_tail_the_kernel_publishes_mid_drain_is_observed ... ok
test poller::tests::every_accessor_lands_on_the_abi_offset ... ok
test poller::tests::pending_counts_what_the_kernel_has_not_claimed ... ok
test log::stdio::tests::a_stream_held_by_two_writers_keeps_each_line_whole ... ok
test poller::tests::the_drop_counter_is_read_from_the_page ... ok
test relocate::tests::a_dynamic_section_in_no_file_bytes_is_refused ... ok
test relocate::tests::a_header_no_read_only_segment_holds_is_refused ... ok
test relocate::tests::a_header_this_does_not_know_is_refused ... ok
test relocate::tests::a_rela_table_of_the_wrong_shape_or_place_is_refused ... ok
test relocate::tests::a_pointer_in_the_tls_template_is_refused ... ok
test relocate::tests::a_write_is_bias_plus_addend_inside_a_writable_segment ... ok
test relocate::tests::a_write_meeting_the_tls_template_is_refused ... ok
test relocate::tests::a_write_outside_a_writable_segment_is_refused ... ok
test relocate::tests::aarch64_writes_what_lld_writes ... ok
test relocate::tests::every_type_but_the_machines_relative_is_refused ... ok
test relocate::tests::every_dynamic_form_it_does_not_apply_is_refused_by_name ... ok
test log::proof::a_real_time_write_allocates_nothing ... ok
test relocate::tests::the_bias_is_where_the_header_is_found_less_its_link_address ... ok
test relocate::tests::x86_64_writes_what_lld_writes ... ok
test syscap::tests::a_machine_that_grew_once_is_read_grown ... ok
test syscap::tests::a_machine_that_grows_every_round_is_refused_by_name ... ok
test syscap::tests::a_record_that_does_not_decode_is_refused_and_not_dropped ... ok
test syscap::tests::a_refused_count_is_refused_and_not_an_empty_inventory ... ok
test syscap::tests::a_refused_read_is_refused_and_not_an_empty_inventory ... ok
test syscap::tests::an_empty_inventory_is_its_count ... ok
test syscap::tests::every_record_is_read ... ok
test log::proof::a_lane_gives_its_reader_every_record_in_order_or_counts_it_refused ... ok
test log::proof::every_record_is_read_once_in_its_writers_order_or_counted_refused ... ok

test result: ok. 60 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s

   Doc-tests toyos

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

07:43:48 [ci] the toyos SDK: cargo test -p toyos

07:43:48 === [ci] nothing left in $TMPDIR or /tmp
07:43:48 [ci] nothing left in $TMPDIR or /tmp: every test took its scratch with it
07:43:48 [ci] Host: 79 step(s), all green
EXIT=0

@Japabu

Japabu commented Oct 11, 2026

Copy link
Copy Markdown
Collaborator Author

guest-suite, part 1 of 2, cargo test --test toyos-build at ed538e7, exit 0, 61 of 61

   Compiling toyos-build v0.1.0 (/Users/<user>/Dev/jan/toyos-dirid)
    Finished `test` profile [optimized + debuginfo] target(s) in 5.02s
     Running tests/toyos.rs (target/debug/deps/toyos_build-ebedee49bbd7b2eb)

07:44:00 running 61 tests, 12 wide

07:44:00   RUN   libc_sockets
07:44:00   RUN   amdvi_firmware_left
07:44:00   RUN   https_fetch
07:44:00   RUN   netstack_streams_e1000e
07:44:00   RUN   iommu_virtio_platform
07:44:00   RUN   nested_nmi_is_loud
07:44:00   RUN   netstack_socket_churn
07:44:00   RUN   netstack_streams
07:44:00   RUN   acpi_power_button
07:44:00   RUN   machine_shutdown
07:44:00   RUN   acpi_mediated_access
07:44:00   RUN   acpi_lock_given_back_on_one_cpu
07:44:00   BUILD x86_64 acpi_mediated of tests/toyos-rust-tests, for acpi_mediated_access
07:44:00   BUILD x86_64 netstack_streams of tests/toyos-rust-tests, for netstack_streams_e1000e
07:44:00   BUILD x86_64 netstack_streams of tests/toyos-rust-tests, for netstack_streams
07:44:00   BUILD x86_64 netstack_socket_churn of tests/toyos-rust-tests, for netstack_socket_churn
07:44:00   BUILD x86_64 kernel, loader, ROOT of tests/testcases, for machine_shutdown
07:44:00   BUILD x86_64 kernel boot-actuators,test-actuators, loader, ROOT of tests/testcases, for nested_nmi_is_loud
07:44:00   BUILD x86_64 kernel, loader, ROOT of tests/testcases, for acpi_power_button
07:44:00   BUILD x86_64 https_get of tests/toyos-rust-tests, for https_fetch
07:44:00   BUILD x86_64 kernel, loader, ROOT of tests/netcase, for iommu_virtio_platform
07:44:00   BUILD x86_64 kernel, loader, ROOT of tests/testcases, for amdvi_firmware_left
07:44:05 [build-lock] waiting for the build lock (exclusive, clean crate targets against changed external deps) — an exclusive phase is queued ahead of it
07:44:05 [build-lock] waiting for the build lock (exclusive, clean crate targets against changed external deps) — held by other builds in this tree
07:44:05 [build-lock] waiting for the build lock (exclusive, clean crate targets against changed external deps) — an exclusive phase is queued ahead of it
07:44:05 [build-lock] waiting for the build lock (exclusive, clean crate targets against changed external deps) — an exclusive phase is queued ahead of it
07:44:05 [build-lock] waiting for the build lock (exclusive, clean crate targets against changed external deps) — an exclusive phase is queued ahead of it
07:44:05 [build-lock] waiting for the build lock (exclusive, clean crate targets against changed external deps) — an exclusive phase is queued ahead of it
07:44:05 [build-lock] waiting for the build lock (exclusive, clean crate targets against changed external deps) — an exclusive phase is queued ahead of it
07:44:05 [build-lock] waiting for the build lock (exclusive, clean crate targets against changed external deps) — an exclusive phase is queued ahead of it
07:44:05 [build-lock] waiting for the build lock (exclusive, clean crate targets against changed external deps) — an exclusive phase is queued ahead of it
07:44:05 [build-lock] waiting for the build lock (exclusive, clean crate targets against changed external deps) — an exclusive phase is queued ahead of it
07:44:05 [build-lock] acquired (exclusive, clean crate targets against changed external deps) after 674.8µs
07:44:05 external deps changed: cleaning /Users/<user>/Dev/jan/toyos-dirid/target/x86_64-unknown-toyos
07:44:05 [build-lock] acquired (exclusive, clean crate targets against changed external deps) after 266.2ms
07:44:05 [build-lock] waiting for the build lock (shared, test image) — an exclusive phase is queued ahead of it
07:44:05 [build-lock] acquired (exclusive, clean crate targets against changed external deps) after 266.3ms
07:44:05 [build-lock] waiting for the build lock (shared, test image) — an exclusive phase is queued ahead of it
07:44:05 [build-lock] acquired (exclusive, clean crate targets against changed external deps) after 266.4ms
07:44:05 [build-lock] waiting for the build lock (shared, test image) — an exclusive phase is queued ahead of it
07:44:05 [build-lock] acquired (exclusive, clean crate targets against changed external deps) after 266.5ms
07:44:05 [build-lock] waiting for the build lock (shared, test image) — an exclusive phase is queued ahead of it
07:44:05 [build-lock] acquired (exclusive, clean crate targets against changed external deps) after 266.5ms
07:44:05 [build-lock] waiting for the build lock (shared, test image) — an exclusive phase is queued ahead of it
07:44:05 external deps changed: cleaning /Users/<user>/Dev/jan/toyos-dirid/tests/toyos-rust-tests/target/x86_64-unknown-toyos
07:44:05 [build-lock] acquired (exclusive, clean crate targets against changed external deps) after 342.5ms
07:44:05 [build-lock] waiting for the build lock (shared, a test binary) — an exclusive phase is queued ahead of it
07:44:05 [build-lock] acquired (exclusive, clean crate targets against changed external deps) after 342.5ms
07:44:05 [build-lock] waiting for the build lock (shared, a test binary) — an exclusive phase is queued ahead of it
07:44:05 [build-lock] acquired (exclusive, clean crate targets against changed external deps) after 342.6ms
07:44:05 [build-lock] waiting for the build lock (shared, a test binary) — an exclusive phase is queued ahead of it
07:44:05 [build-lock] acquired (exclusive, clean crate targets against changed external deps) after 342.7ms
07:44:05 [build-lock] waiting for the build lock (shared, a test binary) — held by other builds in this tree
07:44:05 [build-lock] acquired (shared, test image) after 76.7ms
07:44:05 [build-lock] acquired (shared, a test binary) after 58.5µs
07:44:05 [build-lock] acquired (shared, test image) after 76.6ms
07:44:05 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 0s so far
07:44:05 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 0s so far
07:44:05 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 0s so far
07:44:05 [build-lock] acquired (shared, test image) after 76.8ms
07:44:05 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 0s so far
07:44:05 [build-lock] acquired (shared, test image) after 76.8ms
07:44:05 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 0s so far
07:44:05 [build-lock] acquired (shared, test image) after 76.8ms
07:44:05 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 0s so far
07:44:05 [build-lock] acquired (shared, a test binary) after 783.4µs
07:44:05 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 0s so far
07:44:05 [build-lock] acquired (shared, a test binary) after 731.2µs
07:44:05 [build-lock] acquired (shared, a test binary) after 680.4µs
07:44:05 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 0s so far
07:44:05 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 0s so far
07:44:05   BUILD x86_64 nodelay_accepted of tests/toyos-rust-tests, for libc_sockets
07:44:06 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 1s so far
07:44:15 [build-lock] artifact staging acquired after 9.9s
07:44:15 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 0s so far
07:44:24   BUILT x86_64 netstack_streams of tests/toyos-rust-tests, for netstack_streams  (24s)
07:44:24 [build-lock] artifact staging acquired after 18.6s
07:44:24 [build-lock] artifact staging acquired after 18.6s
07:44:24   BUILD x86_64 ROOT of tests/netcase, for netstack_streams
07:44:24 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 0s so far
07:44:24   BUILT x86_64 https_get of tests/toyos-rust-tests, for https_fetch  (24s)
07:44:24   BUILD x86_64 ring_kat of tests/toyos-rust-tests, for https_fetch
07:44:24 [build-lock] artifact staging acquired after 19.0s
07:44:24 [build-lock] artifact staging acquired after 19.0s
07:44:24 [build-lock] artifact staging acquired after 19.0s
07:44:24 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 0s so far
07:44:24 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 0s so far
07:44:25 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 1s so far
07:44:25 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 1s so far
07:44:31 [build-lock] artifact staging acquired after 26.4s
07:44:31 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 0s so far
07:44:32   BUILT x86_64 netstack_socket_churn of tests/toyos-rust-tests, for netstack_socket_churn  (32s)
07:44:32 [build-lock] artifact staging acquired after 26.7s
07:44:32   BUILD x86_64 ROOT of tests/netcase, for netstack_socket_churn
07:44:32   BUILT x86_64 acpi_mediated of tests/toyos-rust-tests, for acpi_mediated_access  (33s)
07:44:32 [build-lock] artifact staging acquired after 27.3s
07:44:32   BUILD x86_64 ROOT of tests/acpicase, for acpi_mediated_access
07:44:32   BUILD x86_64 ROOT of tests/acpicase, for acpi_lock_given_back_on_one_cpu
07:44:32   BUILT x86_64 netstack_streams of tests/toyos-rust-tests, for netstack_streams_e1000e  (33s)
07:44:32 [build-lock] artifact staging acquired after 25.9s
07:44:32   BUILD x86_64 ROOT of tests/netcase, for netstack_streams_e1000e
07:44:33   BUILT x86_64 nodelay_accepted of tests/toyos-rust-tests, for libc_sockets  (28s)
07:44:33   BUILD x86_64 stream_ends_std of tests/toyos-rust-tests, for libc_sockets
07:44:33 [build-lock] artifact staging acquired after 17.7s
07:44:34 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 1s so far
07:44:35 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 2s so far
07:44:35 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 2s so far
07:44:35 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 2s so far
07:44:35 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 2s so far
07:44:40 [build-lock] artifact staging acquired after 16.3s
07:44:40 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
07:44:40   BUILT x86_64 kernel, loader, ROOT of tests/testcases, for amdvi_firmware_left  (40s)
07:44:40 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
07:44:40 [build-lock] artifact staging acquired after 16.1s
07:44:40   BUILT x86_64 kernel, loader, ROOT of tests/testcases, for acpi_power_button  (41s)
07:44:40 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
07:44:40 [build-lock] artifact staging acquired after 16.2s
07:44:40   BUILT x86_64 kernel, loader, ROOT of tests/testcases, for machine_shutdown  (41s)
07:44:43   [amdvi] left on = false: [ 2.776 cpu0 kernel] iommu: amdvi unit0 handed over control=0x0000000000000000 status=0x00000000 efr=0x00000000000029d3; the stick bound behind the unit
07:44:45 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
07:44:45 [build-lock] artifact staging acquired after 20.1s
07:44:45 [build-lock] artifact staging acquired after 19.8s
07:44:45   BUILT x86_64 kernel, loader, ROOT of tests/netcase, for iommu_virtio_platform  (46s)
07:44:45 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 0s so far
07:44:45   BUILT x86_64 ring_kat of tests/toyos-rust-tests, for https_fetch  (21s)
07:44:45 [build-lock] artifact staging acquired after 14.0s
07:44:45   BUILD x86_64 ROOT of tests/netcase, for https_fetch
07:44:46 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
07:44:46 [build-lock] artifact staging acquired after 12.0s
07:44:46 [build-lock] artifact staging acquired after 10.6s
07:44:46 [build-lock] artifact staging acquired after 10.5s
07:44:46 [build-lock] artifact staging acquired after 10.5s
07:44:46 [build-lock] artifact staging acquired after 10.1s
07:44:46   BUILT x86_64 kernel boot-actuators,test-actuators, loader, ROOT of tests/testcases, for nested_nmi_is_loud  (46s)
07:44:46 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 0s so far
07:44:46 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 0s so far
07:44:46 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 0s so far
07:44:46 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 0s so far
07:44:46   BUILT x86_64 stream_ends_std of tests/toyos-rust-tests, for libc_sockets  (13s)
07:44:46 [build-lock] artifact staging acquired after 706.7ms
07:44:46   BUILD x86_64 ROOT of tests/netcase, for libc_sockets
07:44:46   [power] 1 table(s) loaded; [ 5.288 acpiserver] acpiserver: \_S5 handed to the kernel: SLP_TYPa=0 beside [ 5.288 cpu1 kernel] power: S5 is PM1a 0x604 with SLP_TYPa=0, as the acpi claim's holder supplied it
07:44:46   [power] the press: acpiserver: the power button was pressed, on SCI 1 of this boot; asking the supervisor to power off
07:44:46   PASS  acpi_power_button  (6s)
07:44:46   RUN   acpi_supply_outlives_holder
07:44:46   BUILD x86_64 ROOT of tests/acpicase, for acpi_supply_outlives_holder
07:44:46   [power] shutdown: QEMU stopped the guest for guest-shutdown
07:44:46   PASS  machine_shutdown  (6s)
07:44:46   RUN   acpi_press_across_a_lock_wait
07:44:46   BUILD x86_64 ROOT of tests/acpicase, for acpi_press_across_a_lock_wait
07:44:46 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
07:44:46 [build-lock] artifact staging acquired after 410.1ms
07:44:46   BUILT x86_64 ROOT of tests/netcase, for netstack_streams  (22s)
07:44:46 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
07:44:46 [build-lock] artifact staging acquired after 556.5ms
07:44:46   BUILT x86_64 ROOT of tests/acpicase, for acpi_mediated_access  (14s)
07:44:46 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
07:44:46 [build-lock] artifact staging acquired after 710.9ms
07:44:46   BUILT x86_64 ROOT of tests/acpicase, for acpi_lock_given_back_on_one_cpu  (14s)
07:44:46   [amdvi] left on = true: [ 2.463 cpu0 kernel] iommu: amdvi unit0 handed over control=0x0000000000001005 status=0x00000018 efr=0x00000000000029d3; the stick bound behind the unit
07:44:46   PASS  amdvi_firmware_left  (6s)
07:44:46   RUN   machine_shutdown_short_stop
07:44:46   BUILD x86_64 stop_short of tests/toyos-rust-tests, for machine_shutdown_short_stop
07:44:47 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
07:44:47 [build-lock] artifact staging acquired after 878.2ms
07:44:47   BUILT x86_64 ROOT of tests/netcase, for netstack_socket_churn  (15s)
07:44:47 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
07:44:47   BUILT x86_64 ROOT of tests/netcase, for netstack_streams_e1000e  (14s)
07:44:48 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
07:44:48   BUILT x86_64 ROOT of tests/netcase, for https_fetch  (2s)
07:44:48 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 0s so far
07:44:48 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 0s so far
07:44:48 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
07:44:48 [build-lock] artifact staging acquired after 139.0ms
07:44:48   BUILT x86_64 ROOT of tests/acpicase, for acpi_supply_outlives_holder  (2s)
07:44:48 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
07:44:48 [build-lock] artifact staging acquired after 253.5ms
07:44:48   BUILT x86_64 ROOT of tests/acpicase, for acpi_press_across_a_lock_wait  (2s)
07:44:48 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
07:44:48   BUILT x86_64 ROOT of tests/netcase, for libc_sockets  (2s)
07:44:49   BUILT x86_64 stop_short of tests/toyos-rust-tests, for machine_shutdown_short_stop  (2s)
07:44:49   BUILD x86_64 ROOT of tests/testcases, for machine_shutdown_short_stop
07:44:49   [nmi] nested: [nmi] NESTED NMI on cpu 0: a second NMI entered while IST2 was still in use.
07:44:49   PASS  nested_nmi_is_loud  (3s)
07:44:49   RUN   machine_shutdown_wire_held
07:44:50 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
07:44:50   BUILT x86_64 ROOT of tests/testcases, for machine_shutdown_short_stop  (2s)
07:44:51   [iommu] headless: 3 virtio function(s) negotiated, behind a unit = true; the audio function 00:04.0 among them
07:44:52   [acpi] [ 3.277 cpu0 kernel] mtrr: the boot processor's range registers: IA32_MTRR_DEF_TYPE 0xc06 and 8 variable pairs
07:44:52   [acpi] [ 5.493 test-runner pid=8] acpi: an unbound claim was refused its access, the lock and the power-off's sleep type
07:44:52   [acpi] [ 5.494 test-runner pid=8] acpi: RAM was refused both ways as UsableMemory
07:44:52   [acpi] [ 5.495 test-runner pid=8] acpi: the RSDP read through as type 9 and its write was refused TableWrite
07:44:52   [acpi] [ 5.496 test-runner pid=8] acpi: an unlisted register was read and refused its write MemoryType, an unlisted address below 1 MiB was refused UnlistedCached, and the interrupt controllers, the HPET and a function's BAR DeviceMemory
07:44:52   [acpi] [ 5.496 test-runner pid=8] acpi: the FACS read through as type 10, its write was refused FacsWrite, and the memory after it was written and put back
07:44:52   [acpi] [ 5.497 test-runner pid=8] acpi: COM1, the CMOS index, the 8259 and the configuration mechanism were refused KernelPort; the i8042's row ClaimedPort; PM1a_CNT read and refused its write ReadOnlyPort; the POST port was written
07:44:52   [acpi] [ 5.535 test-runner pid=8] acpi: ACPI_ENABLE and ACPI_DISABLE were refused SMI_CMD as KernelCommand and SCI_EN stayed set, a write wider than a byte was refused CommandSpan, every firmware call made was read back from the port and counted on the boot processor, and a storm of them was refused CommandRate
07:44:52   [acpi] [ 5.536 test-runner pid=8] acpi: the host bridge read as 0x29c08086 by its address and through ECAM, and every write to configuration space was refused ConfigWrite
07:44:52   [acpi] [ 5.536 test-runner pid=8] acpi: the lock a dead holder left taken read free; it was taken and given back, given back with GBL_RLS where the firmware had asked, and found pending while the firmware owned it
07:44:52   [acpi] [ 5.537 test-runner pid=8] acpi: a sleep type wider than three bits was refused InvalidArgument, the next holder's replaced a dead one's, and a second under one claim was refused AlreadyExists
07:44:52   [acpi] [ 5.535 test-runner pid=8] acpi: firmware calls of 0x51, 0x52, 0x53 were asked from the CPUs of x2APIC id [0, 0, 0]; this chipset's SMI_EN reads 0x00000000, APMC_EN clear, so no call interrupts its firmware
07:44:52   [acpi] [ 5.535 test-runner pid=8] acpi: 8 firmware calls were made before call 6 of the storm was refused
07:44:52   [acpi] [ 5.508 cpu0 kernel] acpi: firmware call 0x51 written to SMI_CMD 0xb2 on cpu0, asked from cpu0; the write held cpu0 16005ns, its SMI count unread before the write and unread after; the first of that byte
07:44:52   [acpi] [ 5.518 cpu0 kernel] acpi: firmware call 0x52 written to SMI_CMD 0xb2 on cpu0, asked from cpu0; the write held cpu0 1000ns, its SMI count unread before the write and unread after; the first of that byte
07:44:52   [acpi] [ 5.518 cpu0 kernel] acpi: firmware call 0x53 written to SMI_CMD 0xb2 on cpu0, asked from cpu0; the write held cpu0 1000ns, its SMI count unread before the write and unread after; the first of that byte
07:44:52   [acpi] [ 5.518 cpu0 kernel] acpi: firmware call 0x54 written to SMI_CMD 0xb2 on cpu0, asked from cpu0; the write held cpu0 1000ns, its SMI count unread before the write and unread after; the first of that byte
07:44:52   [acpi] [ 5.518 cpu0 kernel] acpi: firmware call 0x55 written to SMI_CMD 0xb2 on cpu0, asked from cpu0; the write held cpu0 1000ns, its SMI count unread before the write and unread after; the first of that byte
07:44:52   [acpi] [ 5.461 cpu0 kernel] shutdown: no ACPI server supplied S5 — refused
07:44:52   [acpi] [ 5.583 cpu0 kernel] acpi: the Global Lock given back for a holder that left it taken (the machine is stopping)
07:44:52   [acpi] QEMU stopped the guest for guest-shutdown, on the probe's sleep type and not the keeper's
07:44:52   PASS  acpi_lock_given_back_on_one_cpu  (39s)
07:44:52   RUN   machine_shutdown_wire_kept
07:44:52   [acpi] [ 3.574 cpu0 kernel] mtrr: the boot processor's range registers: IA32_MTRR_DEF_TYPE 0xc06 and 8 variable pairs
07:44:52   [acpi] [ 3.590 cpu1 kernel] mtrr: cpu1's range registers are off (IA32_MTRR_DEF_TYPE 0x0) and not the boot processor's: every read this CPU makes is uncached
07:44:52   [acpi] [ 5.702 test-runner pid=8] acpi: an unbound claim was refused its access, the lock and the power-off's sleep type
07:44:52   [acpi] [ 5.703 test-runner pid=8] acpi: RAM was refused both ways as UsableMemory
07:44:52   [acpi] [ 5.704 test-runner pid=8] acpi: the RSDP read through as type 9 and its write was refused TableWrite
07:44:52   [acpi] [ 5.705 test-runner pid=8] acpi: an unlisted register was read and refused its write MemoryType, an unlisted address below 1 MiB was refused UnlistedCached, and the interrupt controllers, the HPET and a function's BAR DeviceMemory
07:44:52   [acpi] [ 5.705 test-runner pid=8] acpi: the FACS read through as type 10, its write was refused FacsWrite, and the memory after it was written and put back
07:44:52   [acpi] [ 5.706 test-runner pid=8] acpi: COM1, the CMOS index, the 8259 and the configuration mechanism were refused KernelPort; the i8042's row ClaimedPort; PM1a_CNT read and refused its write ReadOnlyPort; the POST port was written
07:44:52   [acpi] [ 5.739 test-runner pid=8] acpi: ACPI_ENABLE and ACPI_DISABLE were refused SMI_CMD as KernelCommand and SCI_EN stayed set, a write wider than a byte was refused CommandSpan, every firmware call made was read back from the port and counted on the boot processor, and a storm of them was refused CommandRate
07:44:52   [acpi] [ 5.740 test-runner pid=8] acpi: the host bridge read as 0x29c08086 by its address and through ECAM, and every write to configuration space was refused ConfigWrite
07:44:52   [acpi] [ 5.741 test-runner pid=8] acpi: the lock a dead holder left taken read free; it was taken and given back, given back with GBL_RLS where the firmware had asked, and found pending while the firmware owned it
07:44:52   [acpi] [ 5.741 test-runner pid=8] acpi: a sleep type wider than three bits was refused InvalidArgument, the next holder's replaced a dead one's, and a second under one claim was refused AlreadyExists
07:44:52   [acpi] [ 5.739 test-runner pid=8] acpi: firmware calls of 0x51, 0x52, 0x53 were asked from the CPUs of x2APIC id [1, 1, 1]; this chipset's SMI_EN reads 0x00000000, APMC_EN clear, so no call interrupts its firmware
07:44:52   [acpi] [ 5.739 test-runner pid=8] acpi: 8 firmware calls were made before call 6 of the storm was refused
07:44:52   [acpi] [ 5.720 cpu1 kernel tid=2] acpi: firmware call 0x51 written to SMI_CMD 0xb2 on cpu0, asked from cpu1; the write held cpu0 41028ns, its SMI count unread before the write and unread after; the first of that byte
07:44:52   [acpi] [ 5.732 cpu1 kernel tid=4] acpi: firmware call 0x52 written to SMI_CMD 0xb2 on cpu0, asked from cpu1; the write held cpu0 3002ns, its SMI count unread before the write and unread after; the first of that byte
07:44:52   [acpi] [ 5.738 cpu1 kernel tid=6] acpi: firmware call 0x53 written to SMI_CMD 0xb2 on cpu0, asked from cpu1; the write held cpu0 4002ns, its SMI count unread before the write and unread after; the first of that byte
07:44:52   [acpi] [ 5.738 cpu0 kernel] acpi: firmware call 0x54 written to SMI_CMD 0xb2 on cpu0, asked from cpu0; the write held cpu0 0ns, its SMI count unread before the write and unread after; the first of that byte
07:44:52   [acpi] [ 5.738 cpu0 kernel] acpi: firmware call 0x55 written to SMI_CMD 0xb2 on cpu0, asked from cpu0; the write held cpu0 0ns, its SMI count unread before the write and unread after; the first of that byte
07:44:52   [acpi] [ 5.680 cpu1 kernel] shutdown: no ACPI server supplied S5 — refused
07:44:52   [acpi] [ 5.773 cpu1 kernel] acpi: the Global Lock given back for a holder that left it taken (the machine is stopping)
07:44:52   [acpi] QEMU stopped the guest for guest-shutdown, on the probe's sleep type and not the keeper's
07:44:52   PASS  acpi_mediated_access  (6s)
07:44:52   RUN   machine_shutdown_wire_at_the_seal
07:44:53   [acpi] [ 5.385 cpu0 kernel] Shutting down.
07:44:54   [acpi] QEMU stopped the guest for guest-shutdown, with no claim held, on the sleep type a holder that is gone supplied
07:44:54   PASS  acpi_supply_outlives_holder  (6s)
07:44:54   RUN   bar_map_again
07:44:54   BUILD x86_64 bar_map_again of tests/toyos-rust-tests, for bar_map_again
07:44:54   PASS  netstack_socket_churn  (7s)
07:44:54   RUN   console_image_boots
07:44:54   BUILD x86_64 ROOT of console, for console_image_boots
07:44:54   PASS  netstack_streams  (8s)
07:44:54   RUN   desktop_without_x2apic
07:44:54   BUILD x86_64 ROOT of tests/panelcase, for desktop_without_x2apic
07:44:54   PASS  netstack_streams_e1000e  (8s)
07:44:54   RUN   nvme_disk_keeps_log_and_home
07:44:55   [power] klogd held the wire across the stop; the record and the last word reached it
07:44:55   PASS  machine_shutdown_wire_held  (6s)
07:44:55   RUN   block_grants_reach_their_partitions
07:44:55   BUILD x86_64 partition_grant of tests/toyos-rust-tests, for block_grants_reach_their_partitions
07:44:55   PASS  https_fetch  (7s)
07:44:55   RUN   update_writes_the_idle_slot_through_the_block_service
07:44:55   BUILD x86_64 update_idle_slot of tests/toyos-rust-tests, for update_writes_the_idle_slot_through_the_block_service
07:44:55 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 0s so far
07:44:55 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 0s so far
07:44:56   BUILT x86_64 bar_map_again of tests/toyos-rust-tests, for bar_map_again  (2s)
07:44:56 [build-lock] artifact staging acquired after 164.8ms
07:44:56 [build-lock] artifact staging acquired after 157.5ms
07:44:56   BUILD x86_64 ROOT of tests/testcases, for bar_map_again
07:44:56 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 0s so far
07:44:56   PASS  libc_sockets  (13s)
07:44:56   RUN   usbd_drives_the_spare
07:44:56   BUILD x86_64 usbd_spare of tests/toyos-rust-tests, for usbd_drives_the_spare
07:44:56   [power] 2 table(s) loaded; [ 7.659 test-runner pid=9] acpiserver: \_S5 handed to the kernel: SLP_TYPa=0 beside [ 7.659 cpu1 kernel] power: S5 is PM1a 0x604 with SLP_TYPa=0, as the acpi claim's holder supplied it
07:44:56   [power] [ 7.657 test-runner pid=9] acpiserver: the tables' AML read SystemMemory 0 times, SystemIO 45 and PCI_Config 0, its memory in pages: none; took the Global Lock 1 times, 1 of them from the firmware; and ran Notify 1 times
07:44:56   [power] [ 7.663 test-runner pid=9] acpiserver: the power button was pressed, on SCI 1 of this boot; asking the supervisor to power off
07:44:56   PASS  acpi_press_across_a_lock_wait  (8s)
07:44:56   RUN   usb_keyboard_rollover
07:44:56   [iommu] headless-no-iommu: 1 virtio function(s) negotiated, behind a unit = false; the NIC's and the audio function 00:04.0's claims refused for want of a unit
07:44:56   [power] a short stop, then the power-off: stop: 17 of 19 userland thread(s) stopped across 1 cpu(s) in 0 ms of a 0 ms budget over 1 sweep(s), 0 of 0 userland block operation(s) still open; this reset lands wherever the other 2 are
07:44:56   PASS  machine_shutdown_short_stop  (6s)
07:44:56   RUN   toyfetch_reports
07:44:56 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 0s so far
07:44:57 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 1s so far
07:44:57 [build-lock] artifact staging acquired after 1.5s
07:44:57 assets: leaving out share/soundfont.sf2 — only /system/bin/doom opens it and this image builds no doom
07:44:57 assets: leaving out share/doom1.wad — only /system/bin/doom opens it and this image builds no doom
07:44:57   BUILT x86_64 ROOT of tests/panelcase, for desktop_without_x2apic  (4s)
07:44:58 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 1s so far
07:44:58   [power] the stop held the wire at the last word and across the seal; the last word reached it
07:44:58   PASS  machine_shutdown_wire_at_the_seal  (6s)
07:44:58   RUN   screen_panic_muted
07:44:58 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 1s so far
07:44:58 [build-lock] artifact staging acquired after 2.0s
07:44:58 assets: leaving out share/soundfont.sf2 — only /system/bin/doom opens it and this image builds no doom
07:44:58 assets: leaving out share/doom1.wad — only /system/bin/doom opens it and this image builds no doom
07:44:58 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
07:44:58   BUILT x86_64 ROOT of console, for console_image_boots  (5s)
07:44:59   BUILT x86_64 partition_grant of tests/toyos-rust-tests, for block_grants_reach_their_partitions  (4s)
07:44:59 [build-lock] artifact staging acquired after 2.1s
07:44:59   BUILD x86_64 ROOT of tests/blockgrantcase, for block_grants_reach_their_partitions
07:44:59   BUILT x86_64 update_idle_slot of tests/toyos-rust-tests, for update_writes_the_idle_slot_through_the_block_service  (4s)
07:44:59 [build-lock] artifact staging acquired after 1.4s
07:44:59 [build-lock] artifact staging acquired after 1.0s
07:44:59   BUILD x86_64 ROOT of tests/slotscase, for update_writes_the_idle_slot_through_the_block_service
07:44:59 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 0s so far
07:45:00   BUILT x86_64 usbd_spare of tests/toyos-rust-tests, for usbd_drives_the_spare  (4s)
07:45:00 [build-lock] artifact staging acquired after 579.8ms
07:45:00   BUILD x86_64 ROOT of tests/testcases, for usbd_drives_the_spare
07:45:00 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
07:45:00   BUILT x86_64 ROOT of tests/testcases, for bar_map_again  (4s)
07:45:01 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
07:45:01   BUILT x86_64 ROOT of tests/blockgrantcase, for block_grants_reach_their_partitions  (2s)
07:45:01   [smp] 4 CPUs online, 3 AP TSCs inside a BSP bracket at most 18500000 cycles wide
07:45:01   [xapic] 4 CPUs in xAPIC mode, and the compositor holds the panel
07:45:01   PASS  desktop_without_x2apic  (4s)
07:45:01   RUN   screen_fatal_behind_a_painter
07:45:01   PASS  screen_panic_muted  (3s)
07:45:01   RUN   screen_fatal_halt_composited
07:45:02 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 1s so far
07:45:02 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
07:45:02 [build-lock] artifact staging acquired after 30.2ms
07:45:02   BUILT x86_64 ROOT of tests/slotscase, for update_writes_the_idle_slot_through_the_block_service  (3s)
07:45:02 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
07:45:02   BUILT x86_64 ROOT of tests/testcases, for usbd_drives_the_spare  (2s)
07:45:02   [iommu] declined: [ 5.317 cpu0 kernel] VirtIO GPU: PCI 00:03.0 refused the feature set 0x100000002 the driver accepted, leaving DEVICE_STATUS=0x3 without FEATURES_OK — device refused
07:45:02   PASS  iommu_virtio_platform  (17s)
07:45:02   RUN   screen_loader_clears
07:45:02   [usbhid] [ 5.673 cpu0 kernel] xHCI: slot 1 keyboard report in rollover, its modifiers believed and its other keys held, 1 since it bound
07:45:02   PASS  usb_keyboard_rollover  (6s)
07:45:02   RUN   virt_early_panic
07:45:02   BUILD aarch64 kernel boot-actuators,test-actuators, loader, ROOT of tests/testcases, for virt_early_panic
07:45:02   [toyfetch] OS ToyOS ed538e73cd0f, CPU QEMU Virtual CPU version 2.5+ (3), Memory 320 MiB / 4038 MiB
07:45:02   PASS  toyfetch_reports  (6s)
07:45:02   RUN   virt_early_fault
07:45:02   BUILD aarch64 kernel boot-actuators,test-actuators, loader, ROOT of tests/testcases, for virt_early_fault
07:45:02   PASS  console_image_boots  (4s)
07:45:02   RUN   virt_el2_drop
07:45:02   BUILD aarch64 kernel boot-actuators,test-actuators, loader, ROOT of tests/testcases, for virt_el2_drop
07:45:03   [power] klogd held the wire across the stop and kept it; the record and the last word reached it
07:45:03   PASS  machine_shutdown_wire_kept  (11s)
07:45:03   RUN   virt_user_mode
07:45:03   BUILD aarch64 kernel, loader, ROOT of tests/testcases, for virt_user_mode
07:45:04 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 0s so far
07:45:04 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 0s so far
07:45:05 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 1s so far
07:45:05   [claims] bar_map_again: two answers held at once map apart, and the later outlives the earlier
07:45:05   [claims] bar_map_again: answered with a handle that maps
07:45:05   [claims] bar_map_again: answered after the refusal with a handle that maps
07:45:05   PASS  bar_map_again  (6s)
07:45:05   RUN   virt_timer_preempts
07:45:05   BUILD aarch64 abuse_readonly_copyout of tests/toyos-rust-tests, for virt_timer_preempts
07:45:06   [grant] partition_grant: the log's grant opened the log and was refused the boot volume NotGranted
07:45:06   [grant] partition_grant: DATA's grant opened DATA and was refused the log NotGranted
07:45:06   [grant] partition_grant: the boot volume's read-only grant read it and was refused a write ReadOnly
07:45:06   [grant] partition_grant: the port's own connector was refused a listing and an open NotGranted
07:45:06   [grant] partition_grant: the running ROOT was refused Held to the grant naming it
07:45:06   PASS  block_grants_reach_their_partitions  (5s)
07:45:06   RUN   virt_irq_storm
07:45:06   BUILD aarch64 kernel boot-actuators,test-actuators, loader, ROOT of tests/testcases, for virt_irq_storm
07:45:07   PASS  screen_loader_clears  (5s)
07:45:07   RUN   virt_timer_floor
07:45:07   BUILD aarch64 kernel boot-actuators,test-actuators, loader, ROOT of tests/testcases, for virt_timer_floor
07:45:07   [update] supervisor: the idle slot is B, granted with the slot table read through the block service
07:45:07   [update] update_idle_slot: update said: update: installed version 1099511627520 in slot B (1048576 bytes of ROOT in 22 ms, 72 ms in all); it boots at the next reboot
07:45:07   [update] the disk's slot table marks B at version 1099511627520, and B's ROOT mounts carrying the update's etc/update-test
07:45:07   [update] slot B's volume checks out, carrying the update's toyos/image.sig, toyos/kernel.elf, toyos/cmdline byte for byte
07:45:07   PASS  update_writes_the_idle_slot_through_the_block_service  (5s)
07:45:07   RUN   virt_fp_isolation
07:45:07 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 3s so far
07:45:07 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 3s so far
07:45:08 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 4s so far
qemu-system-x86_64: vtd_iova_to_sspte: detected sspte permission error (iova=0x400042000000, level=0x3, sspte=0x0, write=0, pasid=0x0)
qemu-system-x86_64: vtd_iommu_translate: detected translation failure (dev=00:02:00, iova=0x400042000000)
qemu-system-x86_64: New fault is not recorded due to compression of faults
07:45:08   [usbd] 00:02.0: two devices named twice; aimed at 0x400042000000: [ 6.413 cpu0 kernel] iommu: DMA FAULT owner=slot2 unit0 stream=00:02.0 addr=0x0000400042000000 access=read reason=0x06 domain=6 bme=cleared unitfaults=1 streamfaults=1 first=y read-permission
07:45:09   [disk] after the reboot /home/kept-2488-1791704694818216000/release is the 10 lines of /system/etc/os-release, and /log/2026-10-11-074459.log: test-runner said kept-2488-1791704694818216000
07:45:09   PASS  nvme_disk_keeps_log_and_home  (14s)
07:45:09   RUN   virt_first_entry
07:45:09   PASS  screen_fatal_behind_a_painter  (8s)
07:45:09   RUN   virt_unmap_touch
07:45:10   [panic] the fatal report is on the panel and sealed in the black box (14126 bytes)
07:45:10   PASS  screen_fatal_halt_composited  (8s)
07:45:10   RUN   virt_debug_refused
07:45:13 [build-lock] artifact staging acquired after 9.6s
07:45:13 [build-lock] artifact staging acquired after 9.2s
07:45:13 [build-lock] artifact staging acquired after 8.7s
07:45:13 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 0s so far
07:45:13 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 0s so far
07:45:13 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 0s so far
07:45:14   PASS  usbd_drives_the_spare  (12s)
07:45:14   RUN   virt_readonly_copyout
07:45:20 [build-lock] artifact staging acquired after 12.7s
07:45:20 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 0s so far
07:45:28   BUILT aarch64 abuse_readonly_copyout of tests/toyos-rust-tests, for virt_timer_preempts  (23s)
07:45:28   BUILD aarch64 ring0_timer_in_syscall of tests/toyos-rust-tests, for virt_timer_preempts
07:45:28 [build-lock] artifact staging acquired after 20.8s
07:45:28 [build-lock] artifact staging acquired after 19.8s
07:45:28 [build-lock] artifact staging acquired after 14.8s
07:45:28 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 0s so far
07:45:28 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 0s so far
07:45:31 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 3s so far
07:45:35 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
07:45:35 [build-lock] artifact staging acquired after 22.1s
07:45:35   BUILT aarch64 kernel boot-actuators,test-actuators, loader, ROOT of tests/testcases, for virt_el2_drop  (33s)
07:45:36 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
07:45:36 [build-lock] artifact staging acquired after 22.2s
07:45:36   BUILT aarch64 kernel boot-actuators,test-actuators, loader, ROOT of tests/testcases, for virt_early_fault  (33s)
07:45:36 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
07:45:36 [build-lock] artifact staging acquired after 15.9s
07:45:36   BUILT aarch64 kernel boot-actuators,test-actuators, loader, ROOT of tests/testcases, for virt_early_panic  (34s)
07:45:36 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
07:45:36 [build-lock] artifact staging acquired after 7.6s
07:45:36   BUILT aarch64 kernel, loader, ROOT of tests/testcases, for virt_user_mode  (33s)
07:45:36 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
07:45:36 [build-lock] artifact staging acquired after 7.8s
07:45:36   BUILT aarch64 kernel boot-actuators,test-actuators, loader, ROOT of tests/testcases, for virt_irq_storm  (30s)
07:45:36 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
07:45:36 [build-lock] artifact staging acquired after 5.5s
07:45:36   BUILT aarch64 kernel boot-actuators,test-actuators, loader, ROOT of tests/testcases, for virt_timer_floor  (29s)
07:45:36   BUILT aarch64 ring0_timer_in_syscall of tests/toyos-rust-tests, for virt_timer_preempts  (8s)
07:45:36   BUILD aarch64 random_draws of tests/toyos-rust-tests, for virt_timer_preempts
07:45:36   PASS  virt_early_fault  (761ms)
07:45:36   RUN   virt_ring0_timer_in_syscall
07:45:36   PASS  virt_early_panic  (731ms)
07:45:36   RUN   virt_mask_windows
07:45:37   PASS  virt_el2_drop  (1s)
07:45:37   RUN   virt_smp
07:45:38   BUILT aarch64 random_draws of tests/toyos-rust-tests, for virt_timer_preempts  (2s)
07:45:38   BUILD aarch64 wall_clock_now of tests/toyos-rust-tests, for virt_timer_preempts
07:45:38   PASS  virt_user_mode  (2s)
07:45:38   RUN   virt_el1_smp
07:45:38   [virt] [ 1.917 cpu0 kernel] timer-floor: PASS span=240 floor=240 ticks: the comparator past the counter it was set from
07:45:38   PASS  virt_timer_floor  (2s)
07:45:38   RUN   virt_failed_ap_leaves_no_hole
07:45:40   BUILT aarch64 wall_clock_now of tests/toyos-rust-tests, for virt_timer_preempts  (2s)
07:45:40   BUILD aarch64 counters_read of tests/toyos-rust-tests, for virt_el1_smp
07:45:40   BUILD aarch64 ROOT of tests/virtjobcase, for virt_timer_preempts
07:45:40   BUILD aarch64 ROOT of tests/virtjobcase, for virt_debug_refused
07:45:40   BUILD aarch64 ROOT of tests/virtjobcase, for virt_ring0_timer_in_syscall
07:45:41 [build-lock] waiting for the artifact lock (artifact staging) — held, but the holder left no readable note
07:45:41 [build-lock] waiting for the artifact lock (artifact staging) — held, but the holder left no readable note
07:45:41 [build-lock] waiting for the artifact lock (artifact staging) — held, but the holder left no readable note
07:45:41 [build-lock] artifact staging acquired after 107.1µs
07:45:41 [build-lock] artifact staging acquired after 227.7µs
07:45:41 [build-lock] artifact staging acquired after 357.4µs
07:45:41 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 0s so far
07:45:41 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 0s so far
07:45:41 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 0s so far
07:45:42   BUILT aarch64 counters_read of tests/toyos-rust-tests, for virt_el1_smp  (2s)
07:45:42   BUILD aarch64 trace_read of tests/toyos-rust-tests, for virt_el1_smp
07:45:42 [build-lock] artifact staging acquired after 302.8ms
07:45:42 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
07:45:42 [build-lock] artifact staging acquired after 742.7ms
07:45:42   BUILT aarch64 ROOT of tests/virtjobcase, for virt_timer_preempts  (3s)
07:45:42 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
07:45:42 [build-lock] artifact staging acquired after 871.4ms
07:45:42   BUILT aarch64 ROOT of tests/virtjobcase, for virt_debug_refused  (3s)
07:45:42 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
07:45:42   BUILT aarch64 ROOT of tests/virtjobcase, for virt_ring0_timer_in_syscall  (3s)
07:45:44   BUILT aarch64 trace_read of tests/toyos-rust-tests, for virt_el1_smp  (2s)
07:45:44   BUILD aarch64 ROOT of tests/virtsmpcase, for virt_el1_smp
07:45:44   BUILD aarch64 ROOT of tests/virtsmpcase, for virt_smp
07:45:44   BUILD aarch64 ROOT of tests/virtsmpcase, for virt_failed_ap_leaves_no_hole
07:45:44   BUILD aarch64 kernel mask-windows, ROOT of tests/virtsmpcase, for virt_mask_windows
07:45:44   [virt] [ 1.972 test-runner pid=4] preempt: the counting thread was preempted twice, at counts 4276648 and 8552896
07:45:44   PASS  virt_timer_preempts  (2s)
07:45:44   RUN   virt_fatal_halts_the_others_first
07:45:44   BUILD aarch64 panic_halts_first of tests/toyos-rust-tests, for virt_fatal_halts_the_others_first
07:45:45   [virt] [ 2.213 test-runner pid=16] debug_refused: SYS_DEBUG's double fault and TLB acknowledgement delay were refused
07:45:45   PASS  virt_debug_refused  (32s)
07:45:45   RUN   virt_reboot
07:45:45   BUILD aarch64 ROOT of tests/virtrebootcase, for virt_reboot
07:45:45   [virt] [ 2.220 test-runner pid=17] ring0_timer_in_syscall: the timer interrupted the syscall's body and re-armed a quantum
07:45:45   PASS  virt_ring0_timer_in_syscall  (6s)
07:45:45   RUN   virt_off_names_the_cpus_left_on
07:45:45   BUILD aarch64 ROOT of tests/virtsmpcase, for virt_off_names_the_cpus_left_on
07:45:46 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 0s so far
07:45:46 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 0s so far
07:45:46 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 0s so far
07:45:46   [virt] [ 2.119 test-runner pid=5] fp_isolation: v0-v31, FPCR and FPSR survived 3 switches to a thread that loads another state
07:45:46   PASS  virt_fp_isolation  (39s)
07:45:46   RUN   virt_reboot_refused_without_psci
07:45:46   BUILD aarch64 ROOT of tests/virtrebootcase, for virt_reboot_refused_without_psci
07:45:46 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 0s so far
07:45:46   [virt] [ 2.125 test-runner pid=6] first_entry: x1-x30 were zero at a new thread's first instruction
07:45:46   PASS  virt_first_entry  (38s)
07:45:46   RUN   virt_reboot_wire_held
07:45:46   BUILD aarch64 ROOT of tests/virtrebootcase, for virt_reboot_wire_held
07:45:47   [virt] [ 2.304 test-runner pid=7] unmap_touch: 4 reads of a page just unmapped on the unmapping thread, and 4 on another, each ended their process
07:45:47   PASS  virt_unmap_touch  (37s)
07:45:47   RUN   virt_reboot_wire_kept
07:45:47   BUILD aarch64 ROOT of tests/virtrebootcase, for virt_reboot_wire_kept
07:45:47   [virt] [ 2.347 test-runner pid=20] a syscall writes only where its caller could store
07:45:47   PASS  virt_readonly_copyout  (32s)
07:45:47   RUN   virt_jobs_at_el2
07:45:47 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 1s so far
07:45:47 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 1s so far
07:45:48 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 2s so far
07:45:48 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 2s so far
07:45:48 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 2s so far
07:45:48   [virt] [11.919 cpu0 kernel] irq-storm: PASS sgis=7863065/7863065 ticks=1000: the timer fired through the flood, and every SGI sent was taken
07:45:48   PASS  virt_irq_storm  (12s)
07:45:48   RUN   virt_random_differs
07:45:49   [virt] [ 2.558 test-runner pid=4] preempt: the counting thread was preempted twice, at counts 6322474 and 13157880
07:45:49   [virt] [ 2.660 test-runner pid=5] fp_isolation: v0-v31, FPCR and FPSR survived 3 switches to a thread that loads another state
07:45:49   [virt] [ 2.677 test-runner pid=6] first_entry: x1-x30 were zero at a new thread's first instruction
07:45:50   [virt] [ 2.943 test-runner pid=7] unmap_touch: 4 reads of a page just unmapped on the unmapping thread, and 4 on another, each ended their process
07:45:50   [virt] [ 2.961 test-runner pid=16] debug_refused: SYS_DEBUG's double fault and TLB acknowledgement delay were refused
07:45:50   [virt] [ 2.974 test-runner pid=17] ring0_timer_in_syscall: the timer interrupted the syscall's body and re-armed a quantum
07:45:50   [virt] [ 3.056 test-runner pid=18] random_draws: 8 threads drew 1000 times each and no two draws were alike; one more: a8c23b6d83699ba4c556b95aebe5be30ad0b31e602c2047a0f5557ac26e0bf92
07:45:50   [virt] [ 3.071 test-runner pid=19] wall-clock: epoch=1993799668 realtime=09:14:28
07:45:50   [virt] [ 3.114 test-runner pid=20] a syscall writes only where its caller could store
07:45:50   PASS  virt_jobs_at_el2  (3s)
07:45:50   RUN   virt_smmu
07:45:50   [virt] [ 0.416 cpu0 kernel] IOMMU: SMMUv3 at 0x9050000 armed, CR0ACK 0xd: 4 functions' streams aborting in a table of 64, every other entry invalid; a CMD_SYNC consumed; events on SPI 106
07:45:50   [virt] GBPA 0x101000: ABORT
07:45:50   [virt] [ 0.415 cpu0 kernel] smmu-selftest: 00:03.0, StreamID 0x18, is given no route, as a function never enumerated is not
07:45:50   [virt] [ 0.417 cpu0 kernel] smmu-selftest: 00:04.0's write at 0x40800000, on the entry its stream starts with, answered 0xdead0002: refused
07:45:50   [virt] [ 0.418 cpu0 kernel] smmu-selftest: 00:04.0's write at 0x400000000040, mapped to 0x40800040, answered 0x0: landed there
07:45:50   [virt] [ 0.418 cpu0 kernel] smmu-selftest: 00:03.0's write 1 at 0x40800000, under no route, answered 0xdead0002: refused
07:45:50   [virt] [ 0.419 cpu0 kernel] smmu-selftest: 00:03.0's write 2 at 0x40800000, under no route, answered 0xdead0002: refused
07:45:50   [virt] [ 0.419 cpu0 kernel] smmu-selftest: 00:03.0's write 3 at 0x40800000, under no route, answered 0xdead0002: refused
07:45:50   [virt] [ 0.421 cpu0 kernel] smmu-selftest: 00:04.0's write at 0x400000000040 again, which its domain no longer maps, answered 0xdead0002: refused
07:45:50   [virt] [ 0.419 cpu0 kernel] iommu: DMA FAULT owner=none unit0 stream=0x18 addr=0x0000000000000000 access=none reason=0x04 domain=unknown bme=unknown-function unitfaults=1 streamfaults=1 first=y C_BAD_STE
07:45:50   [virt] [ 0.420 cpu0 kernel] iommu: DMA FAULT owner=none unit0 stream=0x18 addr=0x0000000000000000 access=none reason=0x04 domain=unknown bme=unknown-function unitfaults=2 streamfaults=2 first=y C_BAD_STE
07:45:50   [virt] [ 0.421 cpu0 kernel] iommu: DMA FAULT owner=kernel unit0 stream=00:04.0 addr=0x0000400000000040 access=write reason=0x10 domain=1 bme=cleared unitfaults=4 streamfaults=1 first=n F_TRANSLATION
07:45:50   PASS  virt_smmu  (547ms)
07:45:50   RUN   virt_no_seed_refused
07:45:51   [virt] [ 2.205 test-runner pid=18] random_draws: 8 threads drew 1000 times each and no two draws were alike; one more: c49138cf14480b23c68965c13cd300bafa8b4410978f73dbbc24b91db182b3b3
07:45:53 [build-lock] artifact staging acquired after 7.1s
07:45:53 [build-lock] artifact staging acquired after 7.1s
07:45:53 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 0s so far
07:45:53 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 0s so far
07:45:53 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
07:45:53 [build-lock] artifact staging acquired after 7.2s
07:45:53   BUILT aarch64 ROOT of tests/virtsmpcase, for virt_failed_ap_leaves_no_hole  (9s)
07:45:53 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
07:45:53 [build-lock] artifact staging acquired after 6.8s
07:45:53   BUILT aarch64 ROOT of tests/virtsmpcase, for virt_smp  (9s)
07:45:53   BUILT aarch64 panic_halts_first of tests/toyos-rust-tests, for virt_fatal_halts_the_others_first  (9s)
07:45:53 [build-lock] artifact staging acquired after 6.3s
07:45:53 [build-lock] artifact staging acquired after 6.3s
07:45:53   BUILT aarch64 ROOT of tests/virtsmpcase, for virt_off_names_the_cpus_left_on  (8s)
07:45:53 [build-lock] artifact staging acquired after 5.4s
07:45:53   BUILD aarch64 ROOT of tests/virtpaniccase, for virt_fatal_halts_the_others_first
07:45:53 [build-lock] artifact staging acquired after 5.4s
07:45:53 [build-lock] artifact staging acquired after 5.3s
07:45:53 [build-lock] artifact staging acquired after 402.9ms
07:45:53 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 0s so far
07:45:53 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 0s so far
07:45:53 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 0s so far
07:45:53 [build-lock] waiting for the artifact lock (artifact staging) — held by pid 2488 (artifact staging), 0s so far
07:45:53 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
07:45:53 [build-lock] artifact staging acquired after 541.6ms
07:45:53   BUILT aarch64 kernel mask-windows, ROOT of tests/virtsmpcase, for virt_mask_windows  (10s)
07:45:54 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
07:45:54 [build-lock] artifact staging acquired after 204.5ms
07:45:54   BUILT aarch64 ROOT of tests/virtsmpcase, for virt_el1_smp  (10s)
07:45:54   [virt] [ 2.564 test-runner pid=18] random_draws: 8 threads drew 1000 times each and no two draws were alike; one more: 60192c6bb8f65b14faa5446df253c681b6e18653d3f5a10c5d2665df06d82e3a
07:45:54   [virt] two boots keyed from the loader's seed printed two draws
07:45:54   PASS  virt_random_differs  (5s)
07:45:54   RUN   consent_prompt
07:45:54   BUILD x86_64 consent of tests/toyos-rust-tests, for consent_prompt
07:45:54 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
07:45:54 [build-lock] artifact staging acquired after 343.4ms
07:45:54   BUILT aarch64 ROOT of tests/virtrebootcase, for virt_reboot_wire_kept  (7s)
07:45:54 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
07:45:54 [build-lock] artifact staging acquired after 477.3ms
07:45:54   BUILT aarch64 ROOT of tests/virtrebootcase, for virt_reboot  (9s)
07:45:54 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
07:45:54 [build-lock] artifact staging acquired after 625.4ms
07:45:54   BUILT aarch64 ROOT of tests/virtrebootcase, for virt_reboot_refused_without_psci  (8s)
07:45:54 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
07:45:54   BUILT aarch64 ROOT of tests/virtrebootcase, for virt_reboot_wire_held  (8s)
07:45:55 assets: leaving out share/wallpaper.rgb — only /system/bin/compositor opens it and this image builds no compositor
07:45:56   BUILT aarch64 ROOT of tests/virtpaniccase, for virt_fatal_halts_the_others_first  (2s)
07:45:57   [virt] reboot: this machine has no reset this kernel performs — refused, and the job ended exit 1
07:45:57   PASS  virt_reboot_refused_without_psci  (3s)
07:45:57   RUN   virt_wall_clock_utc
07:45:57   [virt] [ 3.507 test-runner pid=4] unmap_touch: 4 reads of a page just unmapped on the unmapping thread, and 4 on another, each ended their process
07:45:57   [virt] 8 CPUs entered at EL2, started through SMC, and scheduling
07:45:57   PASS  virt_no_seed_refused  (7s)
07:45:57   RUN   virt_low_ecam
07:45:57   BUILT x86_64 consent of tests/toyos-rust-tests, for consent_prompt  (4s)
07:45:57   BUILD x86_64 ROOT of tests/consentcase, for consent_prompt
07:45:57   [virt] [ 3.870 test-runner pid=13] counters_read: every cpu answered for itself, and each counter is a right's
07:45:57   [virt] [ 3.973 test-runner pid=15] trace_read: a wake precedes its pick, a cursor is its reader's own, and the diary is TRACE's
07:45:57   [virt] stop: 5 of 5 userland thread(s) stopped across 8 cpu(s) in 0 ms of a 2010 ms budget over 1 sweep(s), 0 of 0 userland block operation(s) still open; every CPU but 0x0 called CPU_OFF, then 0x0 SYSTEM_OFF
07:45:57   PASS  virt_smp  (11s)
07:45:58   [virt] [ 3.927 test-runner pid=4] unmap_touch: 4 reads of a page just unmapped on the unmapping thread, and 4 on another, each ended their process
07:45:58   [virt] [ 3.949 test-runner pid=4] unmap_touch: 4 reads of a page just unmapped on the unmapping thread, and 4 on another, each ended their process

@Japabu

Japabu commented Oct 11, 2026

Copy link
Copy Markdown
Collaborator Author

guest-suite, part 2 of 2, cargo test --test toyos-build at ed538e7, exit 0, 61 of 61

07:45:58   [virt] 8 CPUs entered at EL1, started through HVC, and scheduling
07:45:58   [virt] [ 4.193 test-runner pid=4] unmap_touch: 4 reads of a page just unmapped on the unmapping thread, and 4 on another, each ended their process
07:45:58   [virt] [ 4.122 test-runner pid=13] counters_read: every cpu answered for itself, and each counter is a right's
07:45:58   [virt] [ 4.217 test-runner pid=15] trace_read: a wake precedes its pick, a cursor is its reader's own, and the diary is TRACE's
07:45:58   [virt] stop: 5 of 5 userland thread(s) stopped across 8 cpu(s) in 0 ms of a 2010 ms budget over 1 sweep(s), 0 of 0 userland block operation(s) still open; every CPU but 0x0 called CPU_OFF, then 0x0 SYSTEM_OFF
07:45:58   PASS  virt_el1_smp  (6s)
07:45:58   [windows] cpu0 irqs_off_ns=8274000 preempt_off_ns=30229000
07:45:58   [windows] cpu1 irqs_off_ns=16379000 preempt_off_ns=15655000
07:45:58   [windows] cpu2 irqs_off_ns=12579000 preempt_off_ns=13700000
07:45:58   [windows] cpu3 irqs_off_ns=8612000 preempt_off_ns=22073000
07:45:58   [windows] cpu4 irqs_off_ns=20762000 preempt_off_ns=19150000
07:45:58   [windows] cpu5 irqs_off_ns=20759000 preempt_off_ns=33951000
07:45:58   [windows] cpu6 irqs_off_ns=50027000 preempt_off_ns=50619000
07:45:58   [windows] cpu7 irqs_off_ns=9500000 preempt_off_ns=8650000
07:45:58   PASS  virt_mask_windows  (12s)
07:45:58   [virt] Rebooting., then one SYSTEM_RESET, and QEMU stopped for guest-reset
07:45:58   PASS  virt_reboot  (4s)
07:45:59   [virt] Rebooting., then one SYSTEM_RESET, and QEMU stopped for guest-reset
07:45:59   PASS  virt_reboot_wire_held  (4s)
07:46:00   [panic] the fatal path on cpu2 left every other CPU halted with interrupts masked
07:46:00   PASS  virt_fatal_halts_the_others_first  (4s)
07:46:00   [pci] 3 functions, 2 of them with assigned windows
07:46:00   [virt] ACPI: ECAM window: segment 0 buses 0x00..=0x0f, bus 0 at 0x3f000000; 3 functions: ["00:00.0 [0600] vendor=1b36 device=0008", "00:01.0 [0c03] vendor=1033 device=0194", "00:02.0 [00ff] vendor=1af4 device=1005"]
07:46:00   PASS  virt_low_ecam  (2s)
07:46:00 assets: leaving out share/soundfont.sf2 — only /system/bin/doom opens it and this image builds no doom
07:46:00 assets: leaving out share/doom1.wad — only /system/bin/doom opens it and this image builds no doom
07:46:00   [virt] [ 2.490 test-runner pid=19] wall-clock: epoch=1993799667 realtime=09:14:27
07:46:00   [virt] wall-clock: epoch=1993799667, 2s past the staged 2033-03-07T09:14:25
07:46:00   [virt] wall-clock: std_epoch=1993799667, 2s past the staged 2033-03-07T09:14:25
07:46:00   PASS  virt_wall_clock_utc  (3s)
07:46:00   [virt] [ 7.066 test-runner pid=4] unmap_touch: 4 reads of a page just unmapped on the unmapping thread, and 4 on another, each ended their process
07:46:00   [virt] a non-last AP never started and the dense machine ran its job
07:46:00   PASS  virt_failed_ap_leaves_no_hole  (13s)
07:46:00   BUILT x86_64 ROOT of tests/consentcase, for consent_prompt  (3s)
07:46:02   [virt] Rebooting., then one SYSTEM_RESET, and QEMU stopped for guest-reset
07:46:02   PASS  virt_reboot_wire_kept  (9s)
07:46:03   [virt] [6, 7] left on and named; the rest CPU_OFF, then 0x0 SYSTEM_OFF; 4952 PSCI call(s) traced
07:46:03   PASS  virt_off_names_the_cpus_left_on  (9s)
07:46:06   PASS  consent_prompt  (6s)
07:46:06   --- 66 guests, 38 of them not the shipping kernel, 3 kernel build(s): ["", "boot-actuators,test-actuators", "mask-windows"]

07:46:06 host: fastest boot 400 ms against the reference 1424 ms — liveness ceilings paid at 1.00x
07:46:06 host: 14 core(s); a guest wider than that waits vcpus/cores longer again
07:46:06 test result: ok. 61 passed, 61 total (126.8s; workers: 883s building, 564s testing)
EXIT=0

@Japabu Japabu changed the title A kernel directory and symlink have an identity, and a listing entry answers its node A kernel directory, symlink and listing entry each have an identity: SYS_STAT by path, and readdir answers the node Oct 11, 2026
@Japabu

Japabu commented Oct 11, 2026

Copy link
Copy Markdown
Collaborator Author

T14 reading at ed538e73c, judge words stat_identity 207_libc_names readdir_bound fs_share app_view, run by the orchestrator. Three boots (testcases, testcases-readdir, proctreecase), each with rc=0 and provenance checked against its build line. Result: EXIT=0, 6 passed, 0 failed, 3 boot(s). The whole judge log, masked:

    Finished `test` profile [optimized + debuginfo] target(s) in 0.14s
     Running tests/toyos.rs (target/debug/deps/toyos_build-ebedee49bbd7b2eb)
07:54:10   BUILD x86_64 binaries of tests/toyos-rust-tests
07:54:14   BUILT x86_64 binaries of tests/toyos-rust-tests  (3s)
07:54:14 [toyos] Compiling 138 C tests, and attempting 24 declared ones...
07:54:18 [metal] 3 registration(s) and 3 shared member(s) over 3 boot(s)

07:54:18 [metal] the boots
07:54:18   proctreecase: Boot: complete 1072 ms, a log of 121774 bytes, back in 60 s, the stick enumerated 0 s after that
07:54:18     phases: preamble 0.3 s, wipe 0.4 s, flash 9.9 s (dd 9.4 s), entry 2.9 s, down 11.0 s, read_log 0.6 s, raw_log 1.4 s
07:54:18     the panel painted 10 time(s) and put 8798592 px on the glass
07:54:18   testcases: Boot: complete 1072 ms, a log of 42330 bytes, back in 58 s, the stick enumerated 0 s after that
07:54:18     phases: preamble 0.3 s, wipe 0.4 s, flash 10.0 s (dd 9.5 s), entry 2.8 s, down 8.8 s, read_log 0.5 s, raw_log 1.4 s
07:54:18     the panel painted 10 time(s) and put 8798592 px on the glass
07:54:18   testcases-readdir: Boot: complete 1072 ms, a log of 44297 bytes, back in 59 s, the stick enumerated 0 s after that
07:54:18     phases: preamble 0.4 s, wipe 0.4 s, flash 9.6 s (dd 9.1 s), entry 2.9 s, down 8.8 s, read_log 0.5 s, raw_log 1.3 s
07:54:18     the panel painted 10 time(s) and put 8797696 px on the glass

07:54:18 [metal] the tests
07:54:18   PASS readdir_bound
07:54:18   PASS fs_share
07:54:18   PASS app_view

07:54:18 [metal] testcases: 3 member(s)
07:54:18   its members took 30 ms of the 500 ms they add to the list's bound, summed over the 3 of 3 with both markers
07:54:18   its last record came 1162 ms into a list bound of 60500 ms

07:54:18 [metal] the timings
07:54:18   52 recorded number(s) this run measured nothing for: boot.acpicase.complete_ms, boot.acpicase.panel_max_us, boot.acpicase.panel_us, boot.deadlinewedge.complete_ms, boot.deadlinewedge.panel_max_us, boot.deadlinewedge.panel_us, boot.foreignrecord.complete_ms, boot.hardlockup.complete_ms, boot.hardlockup.panel_max_us, boot.hardlockup.panel_us, boot.iommu-no-remap.complete_ms, boot.iommu-no-remap.panel_max_us, boot.iommu-no-remap.panel_us, boot.isa-withheld.complete_ms, boot.isa-withheld.panel_max_us, boot.isa-withheld.panel_us, boot.latencycase.complete_ms, boot.latencycase.panel_max_us, boot.latencycase.panel_us, boot.logstallcase.complete_ms, boot.logstallcase.panel_max_us, boot.logstallcase.panel_us, boot.metalcase.complete_ms, boot.metalcase.panel_max_us, boot.metalcase.panel_us, boot.metaldevicecase.complete_ms, boot.metaldevicecase.panel_max_us, boot.metaldevicecase.panel_us, boot.shared-debug.complete_ms, boot.shared-debug.panel_max_us, boot.shared-debug.panel_us, boot.testcases-mkdir.complete_ms, boot.testcases-mkdir.panel_max_us, boot.testcases-mkdir.panel_us, boot.testcases-watchdog.complete_ms, boot.testcases-watchdog.panel_max_us, boot.testcases-watchdog.panel_us, boot.testcases-window.complete_ms, boot.testcases-window.panel_max_us, boot.testcases-window.panel_us, boot.usbbreak.complete_ms, boot.usbbreak.panel_max_us, boot.usbbreak.panel_us, boot.usbload.complete_ms, boot.usbload.panel_max_us, boot.usbload.panel_us, boot.windowscase.complete_ms, boot.windowscase.panel_max_us, boot.windowscase.panel_us, latency.p99_us, tlb.latencycase.p50_ns, tlb.latencycase.p99_ns
07:54:18   9 number(s) on <a bench>; 0 past its record, 0 whose owner failed

07:54:18 [metal] 6 passed, 0 failed, 3 boot(s)

@Japabu

Japabu commented Oct 11, 2026

Copy link
Copy Markdown
Collaborator Author

Review of #855 at ed538e7 against .claude/agents/reviewer.md, round 2.

Earlier BLOCKERs

  • CLOSED — kernel/src/vfs.rs / kernel/pure/dirnodes.rs, Vfs::dirs unbounded: Directories::of refuses past MAX_PATH (InvalidArgument) and past MAX_DIRECTORIES (ResourceExhausted), and removed starts its walk within MAX_PATH. Seven host tests are green, and each of the eight mutations goes red with exit 101 (issuecomment-6106828985). The worst case is measured at 68150016 bytes, and a 64 KiB-name removal walks in 1.39 ms (issuecomment-6106829113).
  • CLOSED — the unwrap_or(true) → false mutation: a_standing_directory_keeps_its_number reds on it with exit 1 at tree 79abe77b9 (an unlink beside a second file renumbered /tmp/stat-identity-stands). The created_dirs-blind mutation reds it too (issuecomment-6106829240). That tree differs from head only in acpiserver reads the battery and AC through AML, on the namespace-found controller, and waits out the firmware's Global Lock #838's files, which this change does not reach.
  • CLOSED — Evidence, the four unmeasured shared members: the T14 reading at ed538e7 (issuecomment-6106875692) is EXIT=0, 6 passed and 0 failed over 3 boots. Its judge words are stat_identity 207_libc_names readdir_bound fs_share app_view. readdir_bound, fs_share and app_view show PASS, and the testcases boot shows 3 of 3 members with both markers.

Earlier NOTEs: the negative control was rerun with head's stat_identity.rs blob 072c7e666 and both halves stop, exit 1. --ci host (79 steps) and the guest suite (61 of 61) ran at ed538e7. The pipes-and-consoles issue is filed, and ops.rs:654 bears it out. Node is now File(FileId) or Symlink(u64). MAX_LINKS is taken from toyos_abi. Named/NamedKind are gone, and no reference to them remains in the tree. The body no longer claims hosted_clang_hello as #830's evidence. All closed.

Net lines (git diff --shortstat origin/main...ed538e73c): 20 files, +717 / −267. Production +428 / −226 (net +202), tests +261 / −10, issues/ +28 / −31, checked against --numstat. The growth is accepted: it is the syscall, Vfs::stat, the numbering and its bound, and libc and std lose their probes.

Judged with no finding:

  • The walk in removed starts at rposition over [..=MAX_PATH]. That puts it on a / byte, so the slice is on a char boundary and no longer than the longest key the map can hold.
  • forget_ended_dirs takes the map with mem::take. Nothing reachable from is_mounted_dir reads dirs.
  • delete_file + create_file in the truncating open run under one VFS guard (ops.rs:96). If the create fails, the old number stays held for a path with no directory. A later directory there gets that number, but no live object shares it.
  • tmpfs's only entry removals are delete, replace_rename and create_symlink's displacement. A symlink keeps is_dir true.
  • SYS_STAT refuses a follow word other than 0 or 1, and copies out through copy_out.
  • NAMESPACE_VOLUME has bit 63 clear and lies above every mount index.
  • Callers of Dirent::size were searched in the tree and in ~/.cargo/git/checkouts/. Only libc and std read dirent, and userland/files takes its size from metadata().

BLOCKER
(none)

NOTE

  • issues/no-physical-memory-fairness.md — the branch adds a cross-process denial on a read path that the base did not have. Once /tmp writes fill MAX_DIRECTORIES (eight files at 64 KiB names do it), every process's stat, access, opendir and std::fs::metadata of a directory not yet numbered is refused ResourceExhausted, including a listing whose child directory is unnumbered. created_dirs refuses only a new mkdir. The roast calls this that issue's question, but the issue names its instances and this one is not among them. Name it there, beside max_windows and places_for, as a cap the accounting deletes.
  • PR body — the Gates row for the T14 still reads "2: staged, the machine untouched", and "The issue" still says "the T14 rows are staged". The orchestrator's reading at ed538e7 (6 passed) supersedes both.

LAND AFTER NAMED CHANGES

MAX_DIRECTORIES is a bound with no owner, like max_windows and
places_for, and unlike them its refusal reaches other processes' reads:
once /tmp names fill it, a stat, access, opendir or listing of a
directory not yet numbered is refused ResourceExhausted. The issue now
names it as a cap that per-process accounting deletes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017cSFvbD35xJ2kGANVdm23C
@Japabu
Japabu marked this pull request as ready for review October 11, 2026 07:58
@Japabu
Japabu enabled auto-merge October 11, 2026 07:58
@Japabu
Japabu added this pull request to the merge queue Oct 11, 2026
Merged via the queue into main with commit 271c16f Oct 11, 2026
6 checks passed
@Japabu
Japabu deleted the wt/toyos-dirid branch October 11, 2026 08:57
Japabu added a commit that referenced this pull request Oct 11, 2026
Main now carries the loader's relocation (#836), stat identity (#851), libc's realpath (#854), the kernel's directory identity (#855) and the second bench (#852). ALL_CONFIGS keeps consentcase and hostedclangcase; the host-tools issue takes main's os-release row.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017cSFvbD35xJ2kGANVdm23C
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant