Add unit tests for Windows ARM64 diagnostic probe logging
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 88/100
Research direction
Start with tools/diagnose_windows_arm64.py and inspect probe(), including its process-tree helper call, logging, output, exit-status, timeout, and launch-failure paths. Add standard-library unit tests using temporary directories and small local commands, then verify logs contain the label, command, relevant output or error text, and exit or timeout information without changing main().
Written by the indexing model from the issue text.
Description
Current evidence
tools/diagnose_windows_arm64.py uses probe() to run a command through the shared process-tree helper, capture stdout/stderr, record native exit codes in decimal and hexadecimal, handle timeouts and launch failures, write a per-probe log, print the same evidence, and return a status used by the higher-level diagnostic flow.
The probe() function itself is portable and can be tested without a Windows ARM64 machine, but its success and failure paths currently have no focused unit coverage.
Scope
- Add Python unit tests for
probe()using temporary directories and small local commands. - Cover successful output capture, a nonzero exit code, timeout handling, and an
OSError/missing-command path. - Assert that the generated log contains the label, command, relevant output/error text, and exit or timeout information.
- Keep the native ARM64 PE validation, compiler matrix, and LLDB invocation in
main()unchanged.
Completion criteria
- Focused tests run on ordinary CI/development hosts with the Python standard library only.
- Tests do not require Windows ARM64, LLVM, LLDB, or a Wave compiler build.
- Existing diagnostic log format remains useful for the native workflow.
- Dominant language
- Rust
- Stars
- 56
- Forks
- 21
- Avg merge
- 3h 20m
- Merged PRs (30d)
- 66
Getting set up
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from wavefnd/Wave
-
enhancement good first issue needs testing
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
enhancement good first issue needs testing
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
enhancement good first issue needs testing
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day
-
enhancement good first issue needs testing
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Maintainers usually reply within 1 day
-
enhancement good first issue needs testing
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Maintainers usually reply within 1 day
Similar issues
-
security-scan
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 1 day
-
content good first issue
Difficulty 2/5 Under an hour Newbie friendliness 68/100
StudentSuite/awesome-skills-plugins-for-students#293 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
gfx-rs/wgpu-native#636 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day