Skip to content

test: add dual DB engine test coverage with RocksDB support#10

Open
vividctrlalt wants to merge 1 commit intodevelopfrom
test/dual-db-engine-coverage
Open

test: add dual DB engine test coverage with RocksDB support#10
vividctrlalt wants to merge 1 commit intodevelopfrom
test/dual-db-engine-coverage

Conversation

@vividctrlalt
Copy link
Owner

Summary

  • Centralize test config constants in TestEnv (renamed from TestConstants) with Javadoc for each config file's purpose
  • Add testWithRocksDb Gradle task for x86 CI to run full test suite with RocksDB engine
  • ARM64 builds auto-inject RocksDB engine via system property in default test task
  • Add assumeLevelDbAvailable() helper to skip LevelDB-specific tests on ARM64
  • Add Arm64EngineOverrideTest and parameterized DbDataSourceImplTest for dual-engine coverage
  • DRY Gradle test config via shared configureTestTask closure
  • Mark BaseMethodTest lifecycle methods final to protect template method pattern
  • Add testWithRocksDb step to CI workflow for x86_64 builds
  • Replace all hardcoded config file names (23 files) with TestEnv constants

Test plan

  • All 12 CI checks pass (Analyze, Checkstyle, CodeQL, PR Lint, check-math, System Test, 6 Build jobs)
  • Local compileTestJava passes
  • Local checkstyleMain + checkstyleTest pass
  • Local test run with jacoco coverage report (67.4% instruction, 69.5% line)
  • testWithRocksDb task runs successfully on x86
  • ARM64 builds pass with auto-injected RocksDB engine

🤖 Generated with Claude Code

- Refactor config validation to support dual-engine (LevelDB/RocksDB) test override
- Add BaseMethodTest for per-method Spring context isolation
- Unify DB tests with parameterized dual-engine coverage
- Migrate 176+ BaseTest subclasses to support dual DB engine override
- Fix flaky tests (TrieTest, ConditionallyStopTest, NeedBeanCondition null safety)
- Add ARM64 RocksDB engine test support
- Add RocksDB engine test step to PR check workflow
- Centralize config file constants in TestEnv
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.

1 participant