Skip to content

Conversation

@google-labs-jules
Copy link
Contributor

This change introduces a comprehensive test harness for the coldvox-text-injection crate, enabling robust testing of keyboard simulation methods. It includes a new test application, refactored tests, and fixes for critical bugs found during code review.

Fixes #271


PR created automatically by Jules for task 16715640920749840072 started by @Coldaine

This commit introduces a dedicated test harness for validating keyboard simulation methods (ydotool, enigo, kdotool) in controlled environments.

Key changes:
- Re-enables and refactors the previously disabled real injection tests.
- Introduces a new C-based test application with both GTK and terminal modes for capturing injected text.
- Implements a robust test harness runner to manage the test application lifecycle and verify results.
- Adds comprehensive tests for AT-SPI, ydotool, enigo, clipboard, and kdotool backends.
- Fixes a bug in the build script that incorrectly compiled the test application as a static library.
- Fixes a double-injection bug in the enigo test.
@google-labs-jules
Copy link
Contributor Author

👋 Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!


For security, I will only act on instructions from the user who triggered this task.

New to Jules? Learn more at jules.google/docs.

@qodo-code-review
Copy link

qodo-code-review bot commented Dec 3, 2025

CI Feedback 🧐

(Feedback updated until commit 2b80ca3)

A test triggered by this PR failed. Here is an AI-generated analysis of the failure:

Action: CI Success Summary

Failed stage: Generate CI Report [❌]

Failure summary:

The action failed because the build_and_check job was cancelled and did not complete successfully.
The CI script checks if critical stages passed, and it detected that:
- build_and_check had status
"cancelled" instead of "success"
- text_injection_tests had status "cancelled" instead of "success"

The script explicitly checks if [[ "cancelled" != "success" ]] and exits with error code 1 when this
condition is true, causing the workflow to fail.

Relevant error logs:
1:  Runner name: 'laptop-extra'
2:  Runner group name: 'Default'
...

89:  [command]/usr/bin/git sparse-checkout disable
90:  [command]/usr/bin/git config --local --unset-all extensions.worktreeConfig
91:  ##[group]Checking out the ref
92:  [command]/usr/bin/git checkout --progress --force refs/remotes/pull/275/merge
93:  Previous HEAD position was 2b80ca36 feat(text-injection): create input simulation test harness
94:  HEAD is now at 0ea6ff4d Merge 2b80ca360ed94c6edfa0b4bb0d1510cec711b79f into ccd2ca519586001ee377937dedba8420549b4ae0
95:  ##[endgroup]
96:  [command]/usr/bin/git log -1 --format=%H
97:  0ea6ff4d1c2988e73f6e105b6f0fe5e46937bcf0
98:  ##[group]Run echo "## CI Report" > report.md
99:  �[36;1mecho "## CI Report" > report.md�[0m
100:  �[36;1mecho "- validate-workflows:            success" >> report.md�[0m
101:  �[36;1mecho "- setup-whisper-dependencies:    success" >> report.md�[0m
102:  �[36;1mecho "- build_and_check:               cancelled" >> report.md�[0m
103:  �[36;1mecho "- text_injection_tests:          cancelled" >> report.md�[0m
104:  �[36;1mif [[ "success" != "success" ]]; then echo "::error::Setup Whisper dependencies failed."; exit 1; fi�[0m
105:  �[36;1mif [[ "cancelled" != "success" ]]; then echo "::error::Build and check failed."; exit 1; fi�[0m
106:  �[36;1mif [[ "cancelled" != "success" ]]; then echo "::error::Text injection tests failed."; exit 1; fi�[0m
107:  �[36;1mecho "All critical stages passed successfully."�[0m
108:  shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
109:  env:
110:  RUSTFLAGS: -D warnings
111:  CARGO_TERM_COLOR: always
112:  WHISPER_MODEL_SIZE: tiny
113:  MIN_FREE_DISK_GB: 10
114:  MAX_LOAD_AVERAGE: 5
115:  ##[endgroup]
116:  ##[error]Build and check failed.
117:  ##[error]Process completed with exit code 1.
118:  Post job cleanup.

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.

Create input simulation test harness for keyboard injection methods

1 participant