wavefnd / wavefnd/Wave

Move Python tooling tests into a dedicated test package

Open
#641 0 comments 0 reactions 0 assignees View on GitHub
enhancement good first issue help wanted
Dominant language
Rust
Stars
53
Forks
16
Avg merge
4h 22m
Merged PRs (30d)
46

Description

## Problem

The top-level `tools/` directory mixes executable maintenance scripts with Python unit-test modules. As more tooling is added, it becomes harder to distinguish runnable tools from test-only files, and CI/documentation must keep referring to test modules from the same namespace as production helpers.

## Scope

Move the Python tooling unit tests into a dedicated package such as `tools/tests/` while keeping production tool paths unchanged.

Update imports, `python -m unittest` module paths, syntax-check commands, and contributor documentation as needed. Do not redesign the test runner or change tool behavior as part of this move.

## Completion criteria

- [ ] Production scripts keep their current paths under `tools/`.
- [ ] Python unit-test modules live under the dedicated test package.
- [ ] Existing tooling tests still run from the repository root.
- [ ] CI and documented local test commands use the new module paths.
- [ ] No existing test coverage is dropped during the move.

Related: #578

Contributor guide

Open the contributing guide

Research direction

Start by inventorying Python unit-test modules under tools/ and locating their imports, python -m unittest paths, syntax-check commands, CI configuration, and contributor documentation. Move only the test modules into tools/tests/ while keeping production scripts in tools/. Run the existing tooling tests from the repository root and verify CI and documented commands use the new paths without losing coverage.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
ci-cd, documentation, testing, tooling
Issue type
Refactor
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
72/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.