已合并
[Bug]: 恢复UT执行 #967
KaiMa创建于 4月25日
[Bug]: 恢复UT执行 #967
已合并
共 2 个文件变更+61-44
| @@ -1179,9 +1179,7 @@ SequenceGroupMetaDatas Scheduler::GenerateSequenceGroupMetadata(const SchedulerO | |||
| 1179 | seqGroup->sampling->maxOutputLen = seqGroup->maxOutputLen_ - seq->data_.outputTokenIds.size(); | 1179 | seqGroup->sampling->maxOutputLen = seqGroup->maxOutputLen_ - seq->data_.outputTokenIds.size(); |
| 1180 | } | 1180 | } |
| 1181 | if (seqGroup->maxOutputLen_ < seq->data_.outputTokenIds.size()) { | 1181 | if (seqGroup->maxOutputLen_ < seq->data_.outputTokenIds.size()) { |
| 1182 | - MINDIE_LLM_ERROR("[Recompute] seqId:" | 1182 | + MINDIE_LLM_LOG_ERROR("Recompute causes maxOutputLen to be less than 0"); |
| 1183 | - << seq->seqId_ << " generated_tokens:" << seq->data_.outputTokenIds.size() | ||
| 1184 | - << " exceeds original_max_output_len:" << seqGroup->maxOutputLen_); | ||
| 1185 | } | 1183 | } |
| 1186 | } | 1184 | } |
| 1187 | } | 1185 | } |
| @@ -62,72 +62,91 @@ endfunction() | |||
| 62 | # 添加明确的分隔符(如空格) | 62 | # 添加明确的分隔符(如空格) |
| 63 | function(build_test module type list_libraries list_includes) | 63 | function(build_test module type list_libraries list_includes) |
| 64 | set(TEST_BINARY ${CMAKE_PROJECT_NAME}_${module}_${type}) | 64 | set(TEST_BINARY ${CMAKE_PROJECT_NAME}_${module}_${type}) |
| 65 | - | ||
| 66 | file(GLOB_RECURSE TEST_SOURCES | 65 | file(GLOB_RECURSE TEST_SOURCES |
| 67 | ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp | 66 | ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp |
| 68 | ${CMAKE_CURRENT_SOURCE_DIR}/*.cc | 67 | ${CMAKE_CURRENT_SOURCE_DIR}/*.cc |
| 69 | ${CMAKE_CURRENT_SOURCE_DIR}/*.h | 68 | ${CMAKE_CURRENT_SOURCE_DIR}/*.h |
| 70 | ) | 69 | ) |
| 71 | - | ||
| 72 | add_executable(${TEST_BINARY} ${TEST_SOURCES}) | 70 | add_executable(${TEST_BINARY} ${TEST_SOURCES}) |
| 73 | - | 71 | + # 控制权限放开,private函数可测试 |
| 74 | target_compile_options(${TEST_BINARY} PRIVATE -fno-access-control) | 72 | target_compile_options(${TEST_BINARY} PRIVATE -fno-access-control) |
| 73 | + set_target_properties(${TEST_BINARY} PROPERTIES LINK_FLAGS "-Wl,--as-needed") | ||
| 74 | + target_link_options(${TEST_BINARY} PRIVATE -rdynamic) | ||
| 75 | 75 | ||
| 76 | - target_link_options(${TEST_BINARY} PRIVATE | 76 | + set(INCLUDES "") |
| 77 | - -rdynamic | 77 | + foreach(include_folder ${list_includes}) |
| 78 | - -Wl,--no-as-needed | 78 | + list(APPEND INCLUDES ${include_folder}) |
| 79 | - -Wl,-rpath-link,${THIRD_PARTY_OUTPUT_DIR}/abseil-cpp/lib | 79 | + endforeach() |
| 80 | - -Wl,-rpath-link,${THIRD_PARTY_OUTPUT_DIR}/grpc/lib | 80 | + message("INCLUDES: ${INCLUDES}") |
| 81 | - -Wl,-rpath-link,${THIRD_PARTY_OUTPUT_DIR}/protobuf/lib | ||
| 82 | - -Wl,-rpath-link,${THIRD_PARTY_OUTPUT_DIR}/cares/lib | ||
| 83 | - -Wl,-rpath-link,${THIRD_PARTY_OUTPUT_DIR}/re2/lib | ||
| 84 | - -Wl,-rpath-link,${THIRD_PARTY_OUTPUT_DIR}/zlib/lib | ||
| 85 | - ) | ||
| 86 | 81 | ||
| 87 | target_include_directories(${TEST_BINARY} PRIVATE | 82 | target_include_directories(${TEST_BINARY} PRIVATE |
| 88 | ${THIRD_PARTY_OUTPUT_DIR}/googletest/include | 83 | ${THIRD_PARTY_OUTPUT_DIR}/googletest/include |
| 89 | ${THIRD_PARTY_OUTPUT_DIR}/mockcpp/include | 84 | ${THIRD_PARTY_OUTPUT_DIR}/mockcpp/include |
| 90 | - ${list_includes} | 85 | + ${INCLUDES} |
| 91 | ) | 86 | ) |
| 92 | 87 | ||
| 88 | + set(LIBRARIES "") | ||
| 89 | + foreach(lib ${list_libraries}) | ||
| 90 | + list(APPEND LIBRARIES ${lib}) | ||
| 91 | + endforeach() | ||
| 92 | + message("LIBRARIES: ${LIBRARIES}") | ||
| 93 | + | ||
| 93 | target_link_directories(${TEST_BINARY} PRIVATE | 94 | target_link_directories(${TEST_BINARY} PRIVATE |
| 94 | ${THIRD_PARTY_OUTPUT_DIR}/gtest/lib | 95 | ${THIRD_PARTY_OUTPUT_DIR}/gtest/lib |
| 95 | ${THIRD_PARTY_OUTPUT_DIR}/mockcpp/lib | 96 | ${THIRD_PARTY_OUTPUT_DIR}/mockcpp/lib |
| 96 | ) | 97 | ) |
| 97 | - | 98 | + file(GLOB ABSL_LIBS |
| 98 | - target_link_libraries(${TEST_BINARY} PRIVATE | 99 | + ${THIRD_PARTY_OUTPUT_DIR}/abseil-cpp/lib/libabsl_*.so |
| 100 | + ) | ||
| 101 | + file(GLOB CARES_LIBS | ||
| 102 | + ${THIRD_PARTY_OUTPUT_DIR}/cares/lib/libcares.so* | ||
| 103 | + ${THIRD_PARTY_OUTPUT_DIR}/cares/lib/libcares.a | ||
| 104 | + ) | ||
| 105 | + target_link_libraries(${TEST_BINARY} PRIVATE ${ABSL_LIBS} ${CARES_LIBS}) | ||
| 106 | + target_link_libraries(${TEST_BINARY} PUBLIC | ||
| 99 | gtest | 107 | gtest |
| 100 | gtest_main | 108 | gtest_main |
| 101 | pthread | 109 | pthread |
| 102 | mockcpp | 110 | mockcpp |
| 103 | - ${list_libraries} | 111 | + ${LIBRARIES} |
| 104 | ) | 112 | ) |
| 105 | 113 | ||
| 106 | - add_test(NAME ${module}_${type} | 114 | + add_test(NAME ${module}_${type} COMMAND ${TEST_BINARY} --gtest_color=yes --gtest_brief=0 --gtest_output=xml:${CMAKE_BINARY_DIR}/dlt_info/${module}_${type}_detail.xml --gtest_break_on_failure) |
| 107 | - COMMAND ${TEST_BINARY} | ||
| 108 | - --gtest_color=yes | ||
| 109 | - --gtest_brief=0 | ||
| 110 | - --gtest_output=xml:${CMAKE_BINARY_DIR}/dlt_info/${module}_${type}_detail.xml | ||
| 111 | - --gtest_break_on_failure | ||
| 112 | - ) | ||
| 113 | 115 | ||
| 114 | - set(_LD_PATH | 116 | + string(JOIN ":" LD_LIBRARY_PATH_STR |
| 115 | - "${THIRD_PARTY_OUTPUT_DIR}/grpc/lib" | 117 | + ${THIRD_PARTY_OUTPUT_DIR}/prometheus-cpp/lib |
| 116 | - "${THIRD_PARTY_OUTPUT_DIR}/re2/lib" | 118 | + ${THIRD_PARTY_OUTPUT_DIR}/libboundscheck/lib |
| 117 | - "${THIRD_PARTY_OUTPUT_DIR}/zlib/lib" | 119 | + ${THIRD_PARTY_OUTPUT_DIR}/grpc/lib |
| 118 | - "${THIRD_PARTY_OUTPUT_DIR}/protobuf/lib" | 120 | + ${THIRD_PARTY_OUTPUT_DIR}/re2/lib |
| 119 | - "${THIRD_PARTY_OUTPUT_DIR}/abseil-cpp/lib" | 121 | + ${THIRD_PARTY_OUTPUT_DIR}/zlib/lib |
| 120 | - "${THIRD_PARTY_OUTPUT_DIR}/cares/lib" | 122 | + ${THIRD_PARTY_OUTPUT_DIR}/protobuf/lib |
| 121 | - "${THIRD_PARTY_OUTPUT_DIR}/openssl/lib" | 123 | + ${THIRD_PARTY_OUTPUT_DIR}/abseil-cpp/lib |
| 122 | - "${THIRD_PARTY_OUTPUT_DIR}/boost/lib" | 124 | + ${THIRD_PARTY_OUTPUT_DIR}/cares/lib |
| 123 | - "${CMAKE_BINARY_DIR}" | 125 | + ${THIRD_PARTY_OUTPUT_DIR}/openssl/lib |
| 124 | - "${CMAKE_BINARY_DIR}/src" | 126 | + ${THIRD_PARTY_OUTPUT_DIR}/boost/lib |
| 125 | - "${CMAKE_BINARY_DIR}/src/utils" | 127 | + ${CMAKE_SOURCE_DIR}/src/utils/lib |
| 126 | - "${CMAKE_BINARY_DIR}/lib" | 128 | + ${CMAKE_SOURCE_DIR}/src/utils/log/lib |
| 129 | + ${CMAKE_BINARY_DIR}/src/utils/system_log/ | ||
| 130 | + ${CMAKE_BINARY_DIR}/src/server/tokenizer | ||
| 131 | + ${CMAKE_BINARY_DIR}/src/server/endpoint | ||
| 132 | + ${CMAKE_BINARY_DIR}/src/server/infer_instances | ||
| 133 | + ${CMAKE_BINARY_DIR}/src/config_manager | ||
| 134 | + ${CMAKE_BINARY_DIR}/src/engine | ||
| 135 | + ${CMAKE_BINARY_DIR}/src/executor | ||
| 136 | + ${CMAKE_BINARY_DIR}/src/block_manager | ||
| 137 | + ${CMAKE_BINARY_DIR}/src/scheduler | ||
| 138 | + ${CMAKE_BINARY_DIR}/src/sequence | ||
| 139 | + ${CMAKE_BINARY_DIR}/src/load_balance | ||
| 140 | + ${CMAKE_BINARY_DIR}/src/llm_manager_v2 | ||
| 141 | + ${CMAKE_BINARY_DIR}/src/llm_manager | ||
| 142 | + ${CMAKE_BINARY_DIR}/src/llm_manager/python_api | ||
| 143 | + ${PYTORCH_INSTALL_PATH}/lib | ||
| 144 | + ${PYTORCH_EXTRA_LIB_SO} | ||
| 127 | ) | 145 | ) |
| 128 | - | 146 | + add_custom_target(${module}_${type} ALL |
| 129 | - string(JOIN ":" LD_PATH_STR ${_LD_PATH}) | 147 | + COMMAND env LD_LIBRARY_PATH=${LD_LIBRARY_PATH_STR} |
| 130 | - set_tests_properties(${module}_${type} PROPERTIES | 148 | + bash -c "ctest --verbose" || exit -1 |
| 131 | - ENVIRONMENT "LD_LIBRARY_PATH=${LD_PATH_STR}" | 149 | + COMMENT "Run testing: ${TEST_BINARY}" |
| 132 | ) | 150 | ) |
| 151 | + add_dependencies(${module}_${type} ${TEST_BINARY}) | ||
| 133 | endfunction() | 152 | endfunction() |