mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-05-02 15:53:51 +00:00
docs: update documentation for PRs #59-63 refactors
- architecture.md: add chat system modules (src/ui/chat/), world map modules (src/rendering/world_map/), CatmullRomSpline (src/math/), transport decomposition, and updated namespace list - status.md: update timestamp to 2026-04-14, add recent refactors section and world map known gaps - CHANGELOG.md: add detailed entries for PRs #58-63 covering architecture, features, bug fixes, and 19 new test files - TESTING.md: expand test suite layout from 8 to 27 files organized by category (core, animation, transport, world map, chat) - CONTRIBUTING.md: update namespace table, testing section, and key files list to reflect new module directories - README.md: update status timestamp to 2026-04-14
This commit is contained in:
parent
3be40c3b69
commit
2f3a973444
6 changed files with 161 additions and 34 deletions
65
TESTING.md
65
TESTING.md
|
|
@ -83,15 +83,44 @@ pacman -S --needed mingw-w64-x86_64-clang-tools-extra
|
|||
|
||||
```
|
||||
tests/
|
||||
CMakeLists.txt — CMake test configuration
|
||||
test_packet.cpp — Network packet encode/decode
|
||||
test_srp.cpp — SRP-6a authentication math (requires OpenSSL)
|
||||
test_opcode_table.cpp — Opcode registry lookup
|
||||
test_entity.cpp — ECS entity basics
|
||||
test_dbc_loader.cpp — DBC binary file parsing
|
||||
test_m2_structs.cpp — M2 model struct layout / alignment
|
||||
test_blp_loader.cpp — BLP texture file parsing
|
||||
test_frustum.cpp — View-frustum culling math
|
||||
CMakeLists.txt — CMake test configuration
|
||||
|
||||
# Core
|
||||
test_packet.cpp — Network packet encode/decode
|
||||
test_srp.cpp — SRP-6a authentication math (requires OpenSSL)
|
||||
test_opcode_table.cpp — Opcode registry lookup
|
||||
test_entity.cpp — ECS entity basics
|
||||
test_dbc_loader.cpp — DBC binary file parsing
|
||||
test_m2_structs.cpp — M2 model struct layout / alignment
|
||||
test_blp_loader.cpp — BLP texture file parsing
|
||||
test_frustum.cpp — View-frustum culling math
|
||||
|
||||
# Animation
|
||||
test_animation_ids.cpp — Animation ID constants
|
||||
test_locomotion_fsm.cpp — Locomotion state machine transitions
|
||||
test_combat_fsm.cpp — Combat animation state machine
|
||||
test_activity_fsm.cpp — Activity state machine
|
||||
test_anim_capability.cpp — Animation capability queries
|
||||
test_indoor_shadows.cpp — Indoor shadow rendering
|
||||
|
||||
# Transport & Spline
|
||||
test_spline.cpp — CatmullRomSpline math (interpolation, binary search, looping)
|
||||
test_transport_components.cpp — Transport clock sync and animator
|
||||
test_transport_path_repo.cpp — TransportPathRepository (DBC loading, path inference)
|
||||
|
||||
# World Map
|
||||
test_world_map.cpp — World map integration tests
|
||||
test_world_map_coordinate_projection.cpp — UV projection, zone/continent spatial lookups
|
||||
test_world_map_exploration_state.cpp — Server exploration mask, local tracking
|
||||
test_world_map_map_resolver.cpp — Cross-map navigation (Outland, Northrend)
|
||||
test_world_map_view_state_machine.cpp — COSMIC→WORLD→CONTINENT→ZONE transitions
|
||||
test_world_map_zone_metadata.cpp — Zone level ranges and faction labels
|
||||
|
||||
# Chat
|
||||
test_chat_markup_parser.cpp — Item link and markup parsing
|
||||
test_chat_tab_completer.cpp — Tab-completion for names and commands
|
||||
test_gm_commands.cpp — GM command data table and dispatch
|
||||
test_macro_evaluator.cpp — Macro conditional evaluation
|
||||
```
|
||||
|
||||
The Catch2 v3 amalgamated source lives at:
|
||||
|
|
@ -116,10 +145,11 @@ Tests are _not_ built by default. Enable them with `-DWOWEE_BUILD_TESTS=ON`.
|
|||
# Configure (only needed once)
|
||||
cmake -B build -DCMAKE_BUILD_TYPE=Release -DWOWEE_BUILD_TESTS=ON
|
||||
|
||||
# Build test targets (fast — only compiles tests and Catch2)
|
||||
cmake --build build --target \
|
||||
test_packet test_srp test_opcode_table test_entity \
|
||||
test_dbc_loader test_m2_structs test_blp_loader test_frustum
|
||||
# Build all test targets
|
||||
cmake --build build --parallel $(nproc)
|
||||
|
||||
# Or build specific test targets
|
||||
cmake --build build --target test_packet test_spline test_world_map
|
||||
```
|
||||
|
||||
Or simply run a full rebuild (builds everything including the main binary):
|
||||
|
|
@ -138,9 +168,7 @@ cmake -B build_asan \
|
|||
-DWOWEE_ENABLE_ASAN=ON \
|
||||
-DWOWEE_BUILD_TESTS=ON
|
||||
|
||||
cmake --build build_asan --target \
|
||||
test_packet test_srp test_opcode_table test_entity \
|
||||
test_dbc_loader test_m2_structs test_blp_loader test_frustum
|
||||
cmake --build build_asan --parallel $(nproc)
|
||||
```
|
||||
|
||||
CMake will print: `Test targets: ASAN + UBSan ENABLED` when configured correctly.
|
||||
|
|
@ -378,10 +406,7 @@ The following commands map to typical CI jobs:
|
|||
-DWOWEE_BUILD_TESTS=ON
|
||||
|
||||
- name: Build test targets
|
||||
run: |
|
||||
cmake --build build_asan --target \
|
||||
test_packet test_srp test_opcode_table test_entity \
|
||||
test_dbc_loader test_m2_structs test_blp_loader test_frustum
|
||||
run: cmake --build build_asan --parallel $(nproc)
|
||||
|
||||
- name: Run ASAN tests
|
||||
run: ./test.sh --asan
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue