From eda4d203fb73821ce052c389b8fc164171994f2f Mon Sep 17 00:00:00 2001 From: Dmitri Smirnov Date: Tue, 3 Mar 2026 11:34:20 -0800 Subject: [PATCH 1/3] Account for NO_RTTI builds --- onnxruntime/test/lora/lora_test.cc | 33 ++++-------------------------- 1 file changed, 4 insertions(+), 29 deletions(-) diff --git a/onnxruntime/test/lora/lora_test.cc b/onnxruntime/test/lora/lora_test.cc index 7455484be28ec..fa6379224416c 100644 --- a/onnxruntime/test/lora/lora_test.cc +++ b/onnxruntime/test/lora/lora_test.cc @@ -252,6 +252,8 @@ TEST(LoraAdapterTest, CreateOrtValueOverLoraParameter_ValidParam) { } } +#ifndef ORT_NO_EXCEPTIONS + TEST(LoraAdapterTest, CreateOrtValueOverLoraParameter_RawDataSizeMismatch) { // Craft a flatbuffer Parameter where raw_data has fewer bytes than // shape (8 x 4) * sizeof(float) = 128 bytes. @@ -326,35 +328,6 @@ TEST(LoraAdapterTest, CreateOrtValueOverLoraParameter_ExcessRawData) { ASSERT_THROW(adapters::utils::CreateOrtValueOverLoraParameter(*param), OnnxRuntimeException); } -TEST(LoraAdapterTest, Load_RawDataSizeMismatch) { - // End-to-end: loading an adapter whose parameter has mismatched raw data - // should fail during LoraAdapter::Load. - flatbuffers::FlatBufferBuilder fbb; - - auto name_offset = fbb.CreateString("bad_param"); - std::vector dims = {8, 4}; - auto dims_offset = fbb.CreateVector(dims); - - // Provide 64 bytes instead of the expected 128 for float [8, 4]. - std::vector short_data(64, 0); - fbb.ForceVectorAlignment(short_data.size(), sizeof(uint8_t), 8); - auto data_offset = fbb.CreateVector(short_data); - - auto param_offset = adapters::CreateParameter( - fbb, name_offset, dims_offset, adapters::TensorDataType::FLOAT, data_offset); - - auto params_offset = fbb.CreateVector(¶m_offset, 1); - auto adapter_offset = adapters::CreateAdapter( - fbb, adapters::kAdapterFormatVersion, kAdapterVersion, kModelVersion, params_offset); - adapters::FinishAdapterBuffer(fbb, adapter_offset); - - std::vector buffer(fbb.GetBufferPointer(), - fbb.GetBufferPointer() + fbb.GetSize()); - - lora::LoraAdapter adapter; - ASSERT_THROW(adapter.Load(std::move(buffer)), OnnxRuntimeException); -} - TEST(LoraAdapterTest, CreateOrtValueOverLoraParameter_MissingName) { // Parameter with null name should throw gracefully. flatbuffers::FlatBufferBuilder fbb; @@ -442,6 +415,8 @@ TEST(LoraAdapterTest, CreateOrtValueOverLoraParameter_UndefinedDataType) { ASSERT_THROW(adapters::utils::CreateOrtValueOverLoraParameter(*param), OnnxRuntimeException); } +#endif // + #ifdef USE_CUDA TEST(LoraAdapterTest, VerifyDeviceCopy) { auto cpu_ep = DefaultCpuExecutionProvider(); From c8b0a1b2e4810c083162b2437e41fd786a030088 Mon Sep 17 00:00:00 2001 From: Dmitri Smirnov Date: Tue, 3 Mar 2026 11:50:49 -0800 Subject: [PATCH 2/3] Adjust #endif --- onnxruntime/test/lora/lora_test.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/onnxruntime/test/lora/lora_test.cc b/onnxruntime/test/lora/lora_test.cc index fa6379224416c..0f089ce3cdc2a 100644 --- a/onnxruntime/test/lora/lora_test.cc +++ b/onnxruntime/test/lora/lora_test.cc @@ -415,7 +415,7 @@ TEST(LoraAdapterTest, CreateOrtValueOverLoraParameter_UndefinedDataType) { ASSERT_THROW(adapters::utils::CreateOrtValueOverLoraParameter(*param), OnnxRuntimeException); } -#endif // +#endif // ORT_NO_EXCEPTIONS #ifdef USE_CUDA TEST(LoraAdapterTest, VerifyDeviceCopy) { From 08894e63757369d39c1d0ba6c9098b4f80bd7b0a Mon Sep 17 00:00:00 2001 From: Dmitri Smirnov Date: Tue, 3 Mar 2026 13:23:38 -0800 Subject: [PATCH 3/3] Move unused function under #ifdef --- onnxruntime/test/lora/lora_test.cc | 31 +++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/onnxruntime/test/lora/lora_test.cc b/onnxruntime/test/lora/lora_test.cc index 0f089ce3cdc2a..791250a6e1364 100644 --- a/onnxruntime/test/lora/lora_test.cc +++ b/onnxruntime/test/lora/lora_test.cc @@ -173,21 +173,6 @@ struct TestDataType { verify_load(lora_adapter); } }; - -// Helper that wraps a single Parameter offset into a finished Adapter flatbuffer -// and returns a pointer to the deserialized Parameter. -// The FlatBufferBuilder must outlive the returned pointer. -const adapters::Parameter* BuildAdapterAndGetParam(flatbuffers::FlatBufferBuilder& fbb, - flatbuffers::Offset param_offset) { - auto params_offset = fbb.CreateVector(¶m_offset, 1); - auto adapter_offset = adapters::CreateAdapter( - fbb, adapters::kAdapterFormatVersion, kAdapterVersion, kModelVersion, params_offset); - adapters::FinishAdapterBuffer(fbb, adapter_offset); - - const auto* adapter = adapters::GetAdapter(fbb.GetBufferPointer()); - return adapter->parameters()->Get(0); -} - } // namespace TEST(LoraAdapterTest, Load) { @@ -254,6 +239,22 @@ TEST(LoraAdapterTest, CreateOrtValueOverLoraParameter_ValidParam) { #ifndef ORT_NO_EXCEPTIONS +namespace { +// Helper that wraps a single Parameter offset into a finished Adapter flatbuffer +// and returns a pointer to the deserialized Parameter. +// The FlatBufferBuilder must outlive the returned pointer. +const adapters::Parameter* BuildAdapterAndGetParam(flatbuffers::FlatBufferBuilder& fbb, + flatbuffers::Offset param_offset) { + auto params_offset = fbb.CreateVector(¶m_offset, 1); + auto adapter_offset = adapters::CreateAdapter( + fbb, adapters::kAdapterFormatVersion, kAdapterVersion, kModelVersion, params_offset); + adapters::FinishAdapterBuffer(fbb, adapter_offset); + + const auto* adapter = adapters::GetAdapter(fbb.GetBufferPointer()); + return adapter->parameters()->Get(0); +} +} // namespace + TEST(LoraAdapterTest, CreateOrtValueOverLoraParameter_RawDataSizeMismatch) { // Craft a flatbuffer Parameter where raw_data has fewer bytes than // shape (8 x 4) * sizeof(float) = 128 bytes.