Skip to content

Review specs, document, and update CI/tests - #25

Merged
marevol merged 6 commits into
masterfrom
claude/review-specs-update-actions-011CUvW9tGEGTGMckYvbXhj5
Nov 9, 2025
Merged

marevol merged 6 commits into
masterfrom
claude/review-specs-update-actions-011CUvW9tGEGTGMckYvbXhj5

Conversation

@marevol

@marevol marevol commented Nov 8, 2025

Copy link
Copy Markdown
Contributor

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.

claude and others added 6 commits November 8, 2025 13:38
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
marevol merged commit a967002 into master Nov 9, 2025
4 checks passed
@marevol
marevol deleted the claude/review-specs-update-actions-011CUvW9tGEGTGMckYvbXhj5 branch February 5, 2026 07:59
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.

2 participants