@@ -83,7 +83,9 @@ TfLiteStatus CheckOutput(const TfLiteTensor& output,
8383template <size_t kNumInputs , size_t kNumOutputs >
8484TfLiteStatus ExecuteDecodeTest (
8585 TfLiteTensor* tensors, const TFLMRegistration& registration,
86- const std::initializer_list<const void *>& expected) {
86+ const std::initializer_list<const void *>& expected,
87+ const std::initializer_list<MicroContext::AlternateMemoryRegion>* amr =
88+ nullptr ) {
8789 int kInputArrayData [kNumInputs + 1 ] = {kNumInputs };
8890 for (size_t i = 0 ; i < kNumInputs ; i++) {
8991 kInputArrayData [i + 1 ] = i;
@@ -99,6 +101,10 @@ TfLiteStatus ExecuteDecodeTest(
99101 micro::KernelRunner runner (registration, tensors, kNumInputs + kNumOutputs ,
100102 inputs_array, outputs_array, nullptr );
101103
104+ if (amr != nullptr ) {
105+ runner.GetFakeMicroContext ()->SetDecompressionMemory (*amr);
106+ }
107+
102108 if (runner.InitAndPrepare () != kTfLiteOk || runner.Invoke () != kTfLiteOk ) {
103109 return kTfLiteError ;
104110 }
@@ -135,12 +141,15 @@ TfLiteStatus ExecuteDecodeTest(
135141}
136142
137143template <size_t kNumInputs , size_t kNumOutputs >
138- void TestDecode (const std::initializer_list<const TensorInDatum*>& encodes,
139- const std::initializer_list<const TensorInDatum*>& ancillaries,
140- const std::initializer_list<const TensorOutDatum*>& outputs,
141- const std::initializer_list<const void *>& expected,
142- const TFLMRegistration& registration,
143- const TfLiteStatus expected_status = kTfLiteOk ) {
144+ void TestDecode (
145+ const std::initializer_list<const TensorInDatum*>& encodes,
146+ const std::initializer_list<const TensorInDatum*>& ancillaries,
147+ const std::initializer_list<const TensorOutDatum*>& outputs,
148+ const std::initializer_list<const void *>& expected,
149+ const TFLMRegistration& registration,
150+ const std::initializer_list<MicroContext::AlternateMemoryRegion>* amr =
151+ nullptr ,
152+ const TfLiteStatus expected_status = kTfLiteOk ) {
144153 TfLiteTensor tensors[kNumInputs + kNumOutputs ] = {};
145154
146155 for (size_t i = 0 ; i < kNumInputs ; i += 2 ) {
@@ -173,7 +182,7 @@ void TestDecode(const std::initializer_list<const TensorInDatum*>& encodes,
173182 }
174183
175184 TfLiteStatus s = ExecuteDecodeTest<kNumInputs , kNumOutputs >(
176- tensors, registration, expected);
185+ tensors, registration, expected, amr );
177186 TF_LITE_MICRO_EXPECT_EQ (s, expected_status);
178187}
179188
0 commit comments