wavefnd / wavefnd/Wave

Add focused tests for FreeBSD VM console parsing

Đang mở Phù hợp với người mới
#653 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
good first issue needs testing
Ngôn ngữ chính
Rust
Star
53
Fork
16
Merge trung bình
4 giờ 22 phút
Pull request đã merge (30 ngày)
46

Mô tả

## 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.

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

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.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
python
Lĩnh vực
operating-systems, testing-qa
Loại issue
Tính năng
Độ khó
2/5
Thời gian dự kiến
Nửa ngày
Mức độ hoạt động
Sôi nổi
Độ rõ ràng
Đặc tả rõ ràng
Mức phù hợp với người mới
84/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.