Add comprehensive test coverage for EmptyExec and 4 other core modules

Please be sure to look over the pull request guidelines here: https://github.com/spaceandtimelabs/sxt-proof-of-sql/blob/main/CONTRIBUTING.md#submit-pr.

Please go through the following checklist

Rationale for this change

Currently, the repo has 2292 uncovered lines of code. We should have 100% test coverage. This PR adds comprehensive test coverage for 5 core modules that previously had 0% test coverage.

/claim #560 fixes #560

These modules are fundamental components of the proof-of-sql system:

  • ParseError is used throughout the codebase for error handling
  • LiteralValue handles all data types in SQL queries
  • TableRef is crucial for table reference parsing
  • EmptyExec is a core proof plan component
  • log_memory_usage is used extensively in proof evaluation

What changes are included in this PR?

  • Add 8 tests for ParseError enum covering error creation, display, equality, cloning, and trait implementations
  • Add 13 tests for LiteralValue enum covering all variants (Boolean, integers, strings, binary, decimal, scalar, timestamp) and their conversions
  • Add 25 tests for TableRef struct covering all constructors, parsing methods, traits, and edge cases
  • Add 10 tests for EmptyExec covering all ProofPlan trait methods and evaluation functions
  • Add 7 tests for log_memory_usage utility function ensuring it handles various inputs gracefully

Total: 63 new tests covering ~740 lines of test code.

Are these changes tested?

Yes. All 63 tests pass successfully:

https://github.com/user-attachments/assets/76845aeb-1d42-4688-a112-23433cf222c5

RUSTFLAGS="-Clink-arg=-fuse-ld=gold" BLITZAR_BACKEND=cpu cargo test --lib -- error::tests literal_value::tests table_ref::tests empty_exec::tests log::tests
# Result: 63 passed; 0 failed

The tests themselves are the changes in this PR. They provide comprehensive coverage including:

  • All public API methods
  • Edge cases and boundary values
  • Error conditions
  • Trait implementations (Debug, Clone, PartialEq, Serialize/Deserialize)
  • Empty/null input handling

Claim

Total prize pool $229
Total paid $0
Status Pending
Submitted July 20, 2025
Last updated July 20, 2025

Contributors

RI

Rishi Mondal

@MAVRICK-1

100%

Sponsors

SP

Space and Time

@spaceandtimelabs

$229