Skip to content

Add stable ABI runtime integration tests and implementation#50

Draft
Katze719 wants to merge 8 commits into
mainfrom
prep-3.0.0
Draft

Add stable ABI runtime integration tests and implementation#50
Katze719 wants to merge 8 commits into
mainfrom
prep-3.0.0

Conversation

@Katze719

Copy link
Copy Markdown
Owner
  • Introduced a new integration test for stable ABI runtime in integration_tests/stable_abi_runtime.
  • Created producer and consumer components to test ABI registration and task execution.
  • Implemented producer functions for thread registration, unregistration, and pool management in producer/producer.cpp.
  • Developed a consumer application to validate producer registration and task execution through ABI.
  • Enhanced runtime_registry.cpp to support new ABI functions and handle registry and pool states.
  • Updated CMake configuration to include new tests and ensure proper linking with the ThreadSchedule library.
  • Added tests for ABI stability and functionality in tests/abi_test.cpp and tests/stable_abi_target_test.cpp.
  • Implemented additional tests for scheduling factories and thread configuration in tests/thread_config_test.cpp.

Katze719 added 8 commits July 11, 2026 00:08
- Introduced a new integration test for stable ABI runtime in `integration_tests/stable_abi_runtime`.
- Created `producer` and `consumer` components to test ABI registration and task execution.
- Implemented producer functions for thread registration, unregistration, and pool management in `producer/producer.cpp`.
- Developed a consumer application to validate producer registration and task execution through ABI.
- Enhanced `runtime_registry.cpp` to support new ABI functions and handle registry and pool states.
- Updated CMake configuration to include new tests and ensure proper linking with the ThreadSchedule library.
- Added tests for ABI stability and functionality in `tests/abi_test.cpp` and `tests/stable_abi_target_test.cpp`.
- Implemented additional tests for scheduling factories and thread configuration in `tests/thread_config_test.cpp`.
…string, std::error_code> and improve error reporting
- Introduced `thread_view_backend_test.cpp` to validate the functionality of the thread view backend, including thread naming, lifetime management, and CPU affinity binding.
- Removed `thread_wrapper_test.cpp` and `thread_wrapper_view_test.cpp` as they contained redundant tests that are now covered by the new thread view backend tests.
- Added `v3_api_test.cpp` to test the new V3 API features, including thread configuration, task submission, and error handling in thread pools.
- Ensured that the tests cover various scenarios such as implicit conversions, thread naming, and the behavior of advanced thread pools.
- Updated Doxyfile to include LICENSE in documentation input.
- Expanded README.md to provide more details on advanced APIs and their usage.
- Added comprehensive documentation for new optional utilities in ADVANCED.md.
- Improved API.md with clearer error handling descriptions for thread operations.
- Updated MIGRATION_V3.md to reflect changes in error handling and new advanced features.
- Introduced advanced.hpp header file to expose optional facilities beyond the core API.
- Enhanced chaos.hpp with clearer examples for chaos configuration.
- Refined core.hpp to improve thread configuration error handling.
- Updated scheduled_pool.hpp to validate periodic intervals and support delayed tasks.
- Added tests for advanced API features and error handling in v3_api_test.cpp.
- Created advanced_api_test.cpp to validate new advanced functionalities.
- Improved thread_registry.hpp to streamline thread configuration error reporting.
- Introduced `thread_identity_state` to manage thread identity and readiness.
- Added methods to set and get nice values for threads in `thread_registry`.
- Updated `native_scheduling_config` and related structures to include priority models.
- Implemented scheduling configuration that supports nice values across platforms.
- Enhanced thread pool and worker configuration to utilize new scheduling features.
- Updated tests to validate nice value behavior and ensure correct priority mapping.
- Refactored existing scheduling functions to accommodate new priority model semantics.
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