CLI tests: add an opt in Linux Wayland clipboard smoke test

Open
#322 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
55/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
linux, rust
Domain
ci-cd, cli, testing

Research direction

Start by reading the existing CLI clipboard tests and Linux CI setup, then trace the existing clipboard helper and its expiry behavior. Add an explicitly opt-in native Wayland smoke-test path with isolated cleanup, and verify the READY signal, sentinel text, expiry, replacement behavior, and documented runner requirements without changing the normal headless suite.

Written by the indexing model from the issue text.

Description

enhancement good first issue help wanted test-coverage

The problem

PR #313 enables arboard's native Wayland data control backend, but the automated tests still use a fake clipboard. A Wayland session or backend change could break get --copy or the helper lifecycle without being detected.

The test must run against a native Wayland compositor and must not silently fall back to X11. It must use an isolated session so contributor clipboard contents are never touched.

Proposed approach

Add an opt in Linux Wayland smoke test for the existing clipboard helper. Run it with a disposable compositor and a shortened, injectable expiry so the test is fast and repeatable.

Acceptance criteria

  • The test is skipped unless an explicit smoke test flag or environment variable is set.
  • The runner starts a native Wayland session with the data control protocol enabled and no X11 fallback.
  • The test confirms the parent receives READY promptly and the clipboard contains the exact sentinel text.
  • Unchanged text is cleared after the shortened expiry, while replacement text is preserved.
  • The test cleans up the compositor and helper process after success or failure.
  • The opt in command and required runner packages are documented, while the normal headless suite remains unchanged.

Where this lives

CLI clipboard tests and Linux CI setup.

Dominant language
Rust
Stars
31
Forks
42
Avg merge
3d 21m
Merged PRs (30d)
147

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from getsotto/sotto

All issues in getsotto/sotto

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.