wavefnd / wavefnd/Wave

Add focused tests for FreeBSD VM console parsing

オープン 初心者向け
#653 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
good first issue needs testing
主要言語
Rust
スター
53
フォーク
16
平均マージ
4時間 22分
マージ済み PR(30日)
46

説明

## Current evidence

`tools/check_freebsd_sys.py` contains a `Console` helper that incrementally reads the QEMU serial stream, appends bytes to a text buffer, searches regular expressions across reads, consumes matched prefixes, reports EOF, and enforces timeouts.

Those behaviors are independent of actually booting FreeBSD, but they are currently exercised only as part of the full VM workflow. Regressions in split serial output or buffer consumption therefore require an expensive QEMU run to detect.

## Scope

- Add focused Python unit tests for `Console.expect` without launching QEMU or requiring a FreeBSD image.
- Cover a match contained in one read and a match split across multiple reads.
- Verify matched text is consumed while later buffered output remains available to the next `expect` call.
- Cover EOF before a match, timeout behavior, and guest-log writes.
- Keep the production VM boot and shutdown flow unchanged.

## Completion criteria

- Tests run on a normal development/CI host with only the Python standard library.
- No QEMU, firmware, disk image, network, or compiler invocation is required by the focused tests.
- Existing FreeBSD system-test behavior remains unchanged.

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

Start with tools/check_freebsd_sys.py and trace Console.expect, including its buffering, EOF, timeout, and guest-log behavior. Add focused standard-library unit tests for single-read and split-read matches, consumption with later buffered output, EOF, timeouts, and log writes; done means they run without QEMU or FreeBSD assets while the existing VM flow remains unchanged.

索引モデルが issue の本文から書いたものです。

評価

技術スタック
python
領域
operating-systems, testing-qa
issue の種類
機能追加
難易度
2/5
見積もり時間
半日
活発さ
活発
明瞭さ
明確に書かれている
初心者へのやさしさ
84/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。