Review specs, document, and update CI/tests - #25
Merged
marevol merged 6 commits intoNov 9, 2025
Merged
Conversation
This commit includes the following improvements: 1. **New SPECIFICATIONS.md documentation** - Comprehensive Japanese/English specification document - Details project architecture, API usage, and build systems - Covers all supported entities, file formats, and character encodings 2. **Updated GitHub Actions workflows** - Updated actions/checkout from v2 to v4 (latest) - Added support for 'claude/**' branches - Added matrix build for Ubuntu and macOS - Added dependency installation steps - Improved test output with --output-on-failure flag - Added integration test runner support 3. **New test suite** - Created tests/test_basic.cpp with DRW_Interface implementation - Tests DXF read/write functionality (ASCII and binary formats) - Validates entity creation and parsing - Integrated with both CMake and Autotools build systems 4. **Build system updates** - Updated CMakeLists.txt: added testing support with CTest - Created tests/Makefile.am for Autotools - Updated configure.ac and Makefile.am to include tests directory All tests pass successfully on the current system.
- Removed Japanese text and translations - Converted all content to English for better international accessibility - Maintained all technical details and specifications - Improved document consistency and readability
This commit adds extensive test coverage for the libdxfrw library: **New Test Files:** - test_entities.cpp: Tests for various entity types (arcs, ellipses, rays, xlines, traces, solids, 3D faces) - test_polylines.cpp: Tests for polylines and splines (LWPolyline, 3D Polyline, splines with control points and knots, bulge segments) - test_text.cpp: Tests for text entities (single-line text, multi-line text, rotated text, varying heights) - test_tables.cpp: Tests for table objects (layers, line types, layer/linetype integration) - test_blocks.cpp: Tests for block definitions and inserts (basic blocks, multiple inserts, rotated/scaled blocks) - test_versions.cpp: Tests for different DXF versions (R12, R2000, R2004, R2007, R2010, binary DXF write) - test_errors.cpp: Tests for error handling and edge cases (non-existent files, invalid files, empty files, boundary values) **Enhanced Test Infrastructure:** - Updated test_interface.h with comprehensive entity counters for all entity types - Added counters for: ellipse, lwPolyline, polyline, spline, text, mtext, insert, ray, xline, trace, solid, face3d, hatch, layer, ltype - Added reset() method to clear all counters **Build System Updates:** - Updated CMakeLists.txt to include all 8 test executables - Updated tests/Makefile.am for Autotools build system - All tests integrated with CTest **Test Coverage:** - 8 test suites with 35+ individual test cases - 100% pass rate (8/8 tests passing) - Tests cover: basic entities, complex shapes, text, layers, blocks, multiple DXF versions, error conditions All tests verified to compile and pass successfully.
- Add FindIconv support for Unix-like systems (Linux, macOS) - Link iconv library to main dxfrw library and all test executables - Detect built-in iconv in C library on systems where available - Fix linker errors on macOS arm64 architecture This ensures tests build and run successfully across platforms.
marevol
deleted the
claude/review-specs-update-actions-011CUvW9tGEGTGMckYvbXhj5
branch
February 5, 2026 07:59
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This commit includes the following improvements:
New SPECIFICATIONS.md documentation
Updated GitHub Actions workflows
New test suite
Build system updates
All tests pass successfully on the current system.