已合并
【质量加固】style: 补充 const 限定符与显式 lambda 捕获 #1797
【质量加固】style: 补充 const 限定符与显式 lambda 捕获 #1797
已合并
gcw_fHR9mxR5创建于 8月21日
共 5 个文件变更+70-8
@@ -206,7 +206,7 @@ struct NodeInfo {
206 206 
207struct Container {207struct Container {
208 explicit Container(const std::string &name) : name(name) {}208 explicit Container(const std::string &name) : name(name) {}
209- std::vector<std::vector<TensorPtr>> GetCoTensors() {209+ std::vector<std::vector<TensorPtr>> GetCoTensors() const {
210 return coexist_tensors;210 return coexist_tensors;
211 }211 }
212 virtual int64_t GetBufferNum() const = 0;212 virtual int64_t GetBufferNum() const = 0;
@@ -151,7 +151,7 @@ class AutoFuseAttrs : public AfAttrGroupsBase {
151 inner_attrs_.vector_core_num = vector_core_num;151 inner_attrs_.vector_core_num = vector_core_num;
152 }152 }
153 153 
154- int32_t GetVectorCoreNum() {154+ int32_t GetVectorCoreNum() const {
155 return inner_attrs_.vector_core_num;155 return inner_attrs_.vector_core_num;
156 }156 }
157 157 
@@ -221,7 +221,7 @@ class AutoFuseAttrs : public AfAttrGroupsBase {
221 inner_attrs_.is_split_complete = true;221 inner_attrs_.is_split_complete = true;
222 }222 }
223 223 
224- bool GetSplitComplete() {224+ bool GetSplitComplete() const {
225 return inner_attrs_.is_split_complete;225 return inner_attrs_.is_split_complete;
226 }226 }
227 227 
@@ -0,0 +1,32 @@
1+/**
2+ * Copyright (c) 2026 Huawei Technologies Co., Ltd.
3+ * This program is free software, you can redistribute it and/or modify it under the terms and conditions of
4+ * CANN Open Software License Agreement Version 2.0 (the "License").
5+ * Please refer to the License for details. You may not use this file except in compliance with the License.
6+ * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED,
7+ * INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
8+ * See LICENSE in the root of the software repository for the full text of the License.
9+ */
10+ 
11+#include <gtest/gtest.h>
12+ 
13+#include "parser/tuning_space.h"
14+ 
15+namespace {
16+using att::Container;
17+ 
18+// 最小具体子类:覆盖纯虚 GetBufferNum,使 Container 可被实例化。
19+class TestContainer : public Container {
20+ public:
21+ explicit TestContainer(const std::string &name) : Container(name) {}
22+ int64_t GetBufferNum() const override {
23+ return 0;
24+ }
25+};
26+ 
27+// 覆盖质量加固对 GetCoTensors 补充 const 后的执行行(增量行覆盖率门禁)。
28+TEST(QualityHardeningContainerTest, GetCoTensors) {
29+ TestContainer container("test");
30+ EXPECT_TRUE(container.GetCoTensors().empty());
31+}
32+} // namespace
@@ -0,0 +1,30 @@
1+/**
2+ * Copyright (c) 2026 Huawei Technologies Co., Ltd.
3+ * This program is free software, you can redistribute it and/or modify it under the terms and conditions of
4+ * CANN Open Software License Agreement Version 2.0 (the "License").
5+ * Please refer to the License for details. You may not use this file except in compliance with the License.
6+ * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED,
7+ * INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
8+ * See LICENSE in the root of the software repository for the full text of the License.
9+ */
10+ 
11+#include <gtest/gtest.h>
12+ 
13+#include "fusion/autofuse_attrs.h"
14+ 
15+namespace {
16+using af::AutoFuseAttrs;
17+ 
18+// 覆盖质量加固对只读 getter 补充 const 后的执行行(增量行覆盖率门禁)。
19+TEST(QualityHardeningAutofuseAttrsTest, GetVectorCoreNum) {
20+ AutoFuseAttrs attrs;
21+ attrs.SetVectorCoreNum(10);
22+ EXPECT_EQ(attrs.GetVectorCoreNum(), 10);
23+}
24+ 
25+TEST(QualityHardeningAutofuseAttrsTest, GetSplitComplete) {
26+ AutoFuseAttrs attrs;
27+ attrs.SetSplitComplete();
28+ EXPECT_TRUE(attrs.GetSplitComplete());
29+}
30+} // namespace
@@ -83,25 +83,25 @@ class MicroApiCall {
83 outputs_.emplace_back(type, id);83 outputs_.emplace_back(type, id);
84 }84 }
85 85 
86- size_t GetInputSize() {86+ size_t GetInputSize() const {
87 return inputs_.size();87 return inputs_.size();
88 }88 }
89 89 
90- size_t GetOutputSize() {90+ size_t GetOutputSize() const {
91 return outputs_.size();91 return outputs_.size();
92 }92 }
93 93 
94 // 调用者保证index合法性94 // 调用者保证index合法性
95- ascir::TensorId GetInputTensorIdByIndex(uint32_t index) {95+ ascir::TensorId GetInputTensorIdByIndex(uint32_t index) const {
96 return inputs_[index].second;96 return inputs_[index].second;
97 }97 }
98 98 
99 // 调用者保证index合法性99 // 调用者保证index合法性
100- ascir::TensorId GetOutputTensorIdByIndex(uint32_t index) {100+ ascir::TensorId GetOutputTensorIdByIndex(uint32_t index) const {
101 return outputs_[index].second;101 return outputs_[index].second;
102 }102 }
103 103 
104- std::string GetMicroApiName() {104+ std::string GetMicroApiName() const {
105 return api_name_;105 return api_name_;
106 }106 }
107 107