Skip to content

Commit dfa3fbc

Browse files
yuslepukhintianleiwu
authored andcommitted
Account for ORT_NO_EXCEPTIONS builds in Lora test (#27537)
### Description <!-- Describe your changes. --> Non required builds fail because Lora Tests use `ASSERT_THROW` while RTTI is disabled. Followup: #27518
1 parent 557217f commit dfa3fbc

1 file changed

Lines changed: 20 additions & 44 deletions

File tree

onnxruntime/test/lora/lora_test.cc

Lines changed: 20 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -173,21 +173,6 @@ struct TestDataType {
173173
verify_load(lora_adapter);
174174
}
175175
};
176-
177-
// Helper that wraps a single Parameter offset into a finished Adapter flatbuffer
178-
// and returns a pointer to the deserialized Parameter.
179-
// The FlatBufferBuilder must outlive the returned pointer.
180-
const adapters::Parameter* BuildAdapterAndGetParam(flatbuffers::FlatBufferBuilder& fbb,
181-
flatbuffers::Offset<adapters::Parameter> param_offset) {
182-
auto params_offset = fbb.CreateVector(&param_offset, 1);
183-
auto adapter_offset = adapters::CreateAdapter(
184-
fbb, adapters::kAdapterFormatVersion, kAdapterVersion, kModelVersion, params_offset);
185-
adapters::FinishAdapterBuffer(fbb, adapter_offset);
186-
187-
const auto* adapter = adapters::GetAdapter(fbb.GetBufferPointer());
188-
return adapter->parameters()->Get(0);
189-
}
190-
191176
} // namespace
192177

193178
TEST(LoraAdapterTest, Load) {
@@ -252,6 +237,24 @@ TEST(LoraAdapterTest, CreateOrtValueOverLoraParameter_ValidParam) {
252237
}
253238
}
254239

240+
#ifndef ORT_NO_EXCEPTIONS
241+
242+
namespace {
243+
// Helper that wraps a single Parameter offset into a finished Adapter flatbuffer
244+
// and returns a pointer to the deserialized Parameter.
245+
// The FlatBufferBuilder must outlive the returned pointer.
246+
const adapters::Parameter* BuildAdapterAndGetParam(flatbuffers::FlatBufferBuilder& fbb,
247+
flatbuffers::Offset<adapters::Parameter> param_offset) {
248+
auto params_offset = fbb.CreateVector(&param_offset, 1);
249+
auto adapter_offset = adapters::CreateAdapter(
250+
fbb, adapters::kAdapterFormatVersion, kAdapterVersion, kModelVersion, params_offset);
251+
adapters::FinishAdapterBuffer(fbb, adapter_offset);
252+
253+
const auto* adapter = adapters::GetAdapter(fbb.GetBufferPointer());
254+
return adapter->parameters()->Get(0);
255+
}
256+
} // namespace
257+
255258
TEST(LoraAdapterTest, CreateOrtValueOverLoraParameter_RawDataSizeMismatch) {
256259
// Craft a flatbuffer Parameter where raw_data has fewer bytes than
257260
// shape (8 x 4) * sizeof(float) = 128 bytes.
@@ -326,35 +329,6 @@ TEST(LoraAdapterTest, CreateOrtValueOverLoraParameter_ExcessRawData) {
326329
ASSERT_THROW(adapters::utils::CreateOrtValueOverLoraParameter(*param), OnnxRuntimeException);
327330
}
328331

329-
TEST(LoraAdapterTest, Load_RawDataSizeMismatch) {
330-
// End-to-end: loading an adapter whose parameter has mismatched raw data
331-
// should fail during LoraAdapter::Load.
332-
flatbuffers::FlatBufferBuilder fbb;
333-
334-
auto name_offset = fbb.CreateString("bad_param");
335-
std::vector<int64_t> dims = {8, 4};
336-
auto dims_offset = fbb.CreateVector(dims);
337-
338-
// Provide 64 bytes instead of the expected 128 for float [8, 4].
339-
std::vector<uint8_t> short_data(64, 0);
340-
fbb.ForceVectorAlignment(short_data.size(), sizeof(uint8_t), 8);
341-
auto data_offset = fbb.CreateVector(short_data);
342-
343-
auto param_offset = adapters::CreateParameter(
344-
fbb, name_offset, dims_offset, adapters::TensorDataType::FLOAT, data_offset);
345-
346-
auto params_offset = fbb.CreateVector(&param_offset, 1);
347-
auto adapter_offset = adapters::CreateAdapter(
348-
fbb, adapters::kAdapterFormatVersion, kAdapterVersion, kModelVersion, params_offset);
349-
adapters::FinishAdapterBuffer(fbb, adapter_offset);
350-
351-
std::vector<uint8_t> buffer(fbb.GetBufferPointer(),
352-
fbb.GetBufferPointer() + fbb.GetSize());
353-
354-
lora::LoraAdapter adapter;
355-
ASSERT_THROW(adapter.Load(std::move(buffer)), OnnxRuntimeException);
356-
}
357-
358332
TEST(LoraAdapterTest, CreateOrtValueOverLoraParameter_MissingName) {
359333
// Parameter with null name should throw gracefully.
360334
flatbuffers::FlatBufferBuilder fbb;
@@ -442,6 +416,8 @@ TEST(LoraAdapterTest, CreateOrtValueOverLoraParameter_UndefinedDataType) {
442416
ASSERT_THROW(adapters::utils::CreateOrtValueOverLoraParameter(*param), OnnxRuntimeException);
443417
}
444418

419+
#endif // ORT_NO_EXCEPTIONS
420+
445421
#ifdef USE_CUDA
446422
TEST(LoraAdapterTest, VerifyDeviceCopy) {
447423
auto cpu_ep = DefaultCpuExecutionProvider();

0 commit comments

Comments
 (0)