修复bug

This commit is contained in:
2026-08-08 20:32:33 +08:00
parent ae5dc3eb46
commit 8becd0bf94
20 changed files with 174 additions and 60 deletions
+8 -2
View File
@@ -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}")
+7 -4
View File
@@ -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. 设计判断清单