Skip to content

Migrate inline Rust tests to dedicated test directories #53

@dicethedev

Description

@dicethedev

Problem

Tests in leanSig are currently written as inline #[cfg(test)] modules at the bottom of each source file. As the codebase grows, this makes test files harder to navigate, bloats source files, and makes it difficult to get a clear picture of test coverage at a glance.

Proposal

Migrate tests out of inline modules and into a dedicated tests/ directory structure that mirrors src/. For example:

src/
├── symmetric/
│ └── message_hash/
│ └── poseidon.rs
└── inc_encoding/
└── target_sum.rs

tests/
├── symmetric/
│ └── message_hash/
│ └── poseidon.rs
└── inc_encoding/
└── target_sum.rs

Each test file maps 1:1 to its corresponding source file, keeping test logic
isolated and easy to locate.

Benefits

  • Source files stay focused on implementation only
  • Test coverage gaps are immediately visible from the directory tree
  • Easier for new contributors to find and add tests
  • Aligns with how larger Rust projects structure integration-level tests

Notes

Unit tests that need access to private internals can stay inline where necessary. The goal is to move tests for public interfaces and behaviour into the tests/ tree by default.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions