修复bug
This commit is contained in:
@@ -17,9 +17,15 @@ if (BUILD_TESTING)
|
||||
add_executable(Adminive_Core_Adapter_Test "${CMAKE_CURRENT_LIST_DIR}/tests/core_adapter_test.cpp")
|
||||
target_link_libraries(Adminive_Core_Adapter_Test PRIVATE Adminive::Core)
|
||||
adminive_register_test(Adminive_Core_Adapter_Test "unit;core;adapter")
|
||||
if (MSVC)
|
||||
set(adminive_core_public_headers adapter.hpp adminive.hpp amis.hpp collection.hpp composition.hpp concepts.hpp descriptor.hpp http.hpp json.hpp lock.hpp managed.hpp presentation.hpp status.hpp value.hpp view.hpp view_json.hpp)
|
||||
foreach(header IN LISTS adminive_core_public_headers)
|
||||
string(REPLACE ".hpp" "" header_name "${header}")
|
||||
string(REPLACE "_" "-" header_name "${header_name}")
|
||||
adminive_register_header_test("Adminive_Core_Header_${header_name}_Test" "adminive/${header}" Adminive::Core)
|
||||
endforeach()
|
||||
if(MSVC)
|
||||
target_compile_options(Adminive_Core_Adapter_Test PRIVATE /permissive-)
|
||||
endif ()
|
||||
endif()
|
||||
endif ()
|
||||
install(TARGETS Adminive EXPORT AdminiveCoreTargets)
|
||||
install(DIRECTORY "${adminive_library_include_dir}/" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
|
||||
|
||||
@@ -1007,17 +1007,20 @@ Service 单元测试不能替代 transport 黑盒测试。Httplib adapter test
|
||||
```text
|
||||
Debug full build + CTest
|
||||
Release full build + CTest
|
||||
ASan + UBSan
|
||||
TSan concurrency tests
|
||||
all public headers standalone include compilation
|
||||
package ZIP structure verification
|
||||
Core + Default/Httplib install consumers
|
||||
ASan + UBSan on Clang/GNU
|
||||
TSan concurrency tests on Clang/GNU
|
||||
ASan on MSVC
|
||||
frontend unit tests
|
||||
frontend production build
|
||||
Playwright Chromium E2E
|
||||
Playwright Edge E2E on Windows
|
||||
install consumer
|
||||
real HTTP integration
|
||||
```
|
||||
|
||||
CTest label 用于按 `unit/protocol/http/install/package/concurrency/frontend/e2e` 分层定位失败。ASan+UBSan 对 Core Adapter、Advanced Adapter、Safety、Managed、View Schema、Drogon 与真实 Httplib 运行 sanitizer 矩阵,TSan 单独覆盖并发 Managed 路径;Sanitizer 是测试配置,不改变 Core API。frontend E2E 验证同一 Manifest 五种布局、Form modes、Collection CRUD/query/reorder/status、422 nested validation、Sensitive 输出过滤、Object Adapter transaction counter、transaction rollback、状态序列、协议错误和缓存策略。Gate 使用确定的目录和端口,不依赖随机构建路径。
|
||||
CTest label 用于按 `unit/protocol/http/install/package/header/concurrency/frontend/e2e` 分层定位失败。Clang/GNU 的 ASan+UBSan 对 Core Adapter、Advanced Adapter、Safety、Managed、View Schema、Drogon 与真实 Httplib 运行 sanitizer 矩阵,TSan 单独覆盖并发 Managed 路径;MSVC 只运行真实 ASan,配置不支持的 UBSan/TSan 必须直接失败而不能假通过。公共头必须逐个独立 include 编译,安装 consumer 同时验证 Core 与 Default/Httplib,源码 ZIP 必须实际生成并检查精确根文件、旧实现残留和嵌套工程。Sanitizer 是测试配置,不改变 Core API。frontend E2E 验证同一 Manifest 五种布局、Form modes、Collection CRUD/query/reorder/status、422 nested validation、Sensitive 输出过滤、Object Adapter transaction counter、transaction rollback、状态序列、协议错误和缓存策略。Gate 使用确定的目录和端口,不依赖随机构建路径。
|
||||
|
||||
## 24. 设计判断清单
|
||||
|
||||
|
||||
Reference in New Issue
Block a user