Add unit test for no NetOutput

pull/1124/head
zhangxiaokun 5 years ago
parent c21ca96511
commit dd9099f661

@ -2424,8 +2424,7 @@ void DavinciModel::SetProfileTime(ModelProcStage stage, int64_t endTime) {
/// ///
Status DavinciModel::CopyOutputData(uint32_t data_id, OutputData &output_data, rtMemcpyKind_t kind) { Status DavinciModel::CopyOutputData(uint32_t data_id, OutputData &output_data, rtMemcpyKind_t kind) {
if (!has_output_node_) { if (!has_output_node_) {
Status ret = SyncVarData(); return SyncVarData();
return ret;
} }
output_data.index = data_id; output_data.index = data_id;

@ -27,6 +27,16 @@ using namespace std;
namespace ge { namespace ge {
extern OpDescPtr CreateOpDesc(string name, string type); extern OpDescPtr CreateOpDesc(string name, string type);
class DModelListener : public ModelListener {
public:
DModelListener(){};
uint32_t OnComputeDone(uint32_t model_id, uint32_t data_index, uint32_t result, vector<OutputTensorInfo> &outputs) {
return 0;
}
};
shared_ptr<ModelListener> g_local_call_back(new DModelListener());
class UtestDavinciModel : public testing::Test { class UtestDavinciModel : public testing::Test {
protected: protected:
void SetUp() {} void SetUp() {}
@ -309,7 +319,7 @@ TEST_F(UtestDavinciModel, init_unknown) {
} }
TEST_F(UtestDavinciModel, Init_variable_op) { TEST_F(UtestDavinciModel, Init_variable_op) {
DavinciModel model(0, nullptr); DavinciModel model(0, g_local_call_back);
model.ge_model_ = make_shared<GeModel>(); model.ge_model_ = make_shared<GeModel>();
model.runtime_param_.mem_base = (uint8_t *)0x08000000; model.runtime_param_.mem_base = (uint8_t *)0x08000000;
model.runtime_param_.mem_size = 5120000; model.runtime_param_.mem_size = 5120000;
@ -337,6 +347,12 @@ TEST_F(UtestDavinciModel, Init_variable_op) {
EXPECT_EQ(model.ReturnNoOutput(1), PARAM_INVALID); EXPECT_EQ(model.ReturnNoOutput(1), PARAM_INVALID);
EXPECT_EQ(model.SyncVarData(), SUCCESS); EXPECT_EQ(model.SyncVarData(), SUCCESS);
OutputData output_data;
EXPECT_FALSE(model.has_output_node_);
EXPECT_EQ(model.CopyOutputData(1, output_data, RT_MEMCPY_DEVICE_TO_HOST), SUCCESS);
EXPECT_EQ(model.ReturnResult(1, false, true, &output_data), INTERNAL_ERROR);
} }
TEST_F(UtestDavinciModel, InitRealSizeAndShapeInfo_succ1) { TEST_F(UtestDavinciModel, InitRealSizeAndShapeInfo_succ1) {

Loading…
Cancel
Save