Lines Matching +full:not +full:- +full:for +full:- +full:context
1 /* ----------------------------------------------------------------------
6 * Runner implementation for runner running on device
12 * Target Processor: Cortex-M cores
13 * -------------------------------------------------------------------- */
15 * Copyright (C) 2010-2019 ARM Limited or its affiliates. All rights reserved.
17 * SPDX-License-Identifier: Apache-2.0
20 * not use this file except in compliance with the License.
23 * www.apache.org/licenses/LICENSE-2.0
28 * See the License for the specific language governing permissions and
58 this->m_runningMode = runningMode; in IORunner()
62 mgr->setDumpMode(); in IORunner()
66 mgr->setTestAndDumpMode(); in IORunner()
73 For calibration : in IORunner()
75 Calibration means, in this context, removing the overhad of calling in IORunner()
89 For calibration, we measure the time it takes to call 20 times an empty benchmark and compute in IORunner()
95 Calibration is removed from the python script when external trace is used for the cycles. in IORunner()
127 if (!m_mgr->HasMemError()) in IORunner()
129 (s->*t)(); in IORunner()
134 We measure the cycles required for a measurement, in IORunner()
136 should not be in the cache. in IORunner()
138 So, for the overhead we always have the value corresponding to in IORunner()
139 the code not in cache. in IORunner()
141 While for the code itself we have the value for the code in cache. in IORunner()
150 Currently the post-processing scripts are only supporting traces generated from in IORunner()
158 for(int i=0;i < CALIBNB;i++) in IORunner()
161 if (!m_mgr->HasMemError()) in IORunner()
163 (s->*t)(); in IORunner()
182 // (But exception is taken so assert should be at end of the test and not in the
186 this->m_runningMode = Testing::kTestOnly; in IORunner()
200 int nbTests = s->getNbTests(); in run()
209 m_io->ReadIdentification(); in run()
211 nbParams = m_io->ReadNbParameters(); in run()
214 m_io->ReadPatternList(); in run()
216 m_io->ReadOutputList(); in run()
218 m_io->ReadParameterList(nbParams); in run()
221 for(int i=1; i <= nbTests; i++) in run()
223 test t = s->getTest(i); in run()
237 m_io->ReadTestIdentification(); in run()
240 if (m_io->hasParam()) in run()
242 Testing::PatternID_t paramID=m_io->getParamID(); in run()
243 paramData = m_io->ImportParams(paramID,entries,paramKind); in run()
252 if (m_io->hasParam() && paramData) in run()
255 for(unsigned long j=0; j < nbParams ; j++) in run()
259 // Update condition for new execution in run()
265 // Prepare memory for test in run()
267 // and do specific initialization for the tests in run()
268 s->setUp(m_io->CurrentTestID(),params,m_mgr); in run()
284 if (s->isForcedInCache()) in run()
286 if (!m_mgr->HasMemError()) in run()
288 (s->*t)(); in run()
298 if (!m_mgr->HasMemError()) in run()
300 (s->*t)(); in run()
309 cycles=cycles-calibration; in run()
317 // since the reference patterns are not loaded in run()
319 if (this->m_runningMode != Testing::kDumpOnly) in run()
330 // since the reference patterns are not loaded in run()
332 if (this->m_runningMode != Testing::kDumpOnly) in run()
341 // May dump output and do specific cleaning for a test in run()
342 s->tearDown(m_io->CurrentTestID(),m_mgr); in run()
349 if (m_mgr->HasMemError()) in run()
363 m_mgr->freeAll(); in run()
366 m_io->DispStatus(result,error,line,cycles); in run()
367 m_io->DispErrorDetails(details); in run()
368 m_io->DumpParams(params); in run()
386 m_io->EndGroup(); in run()
394 int nbTests = g->getNbContainer(); in run()
399 m_io->ReadIdentification(); in run()
404 for(int i=1; i <= nbTests; i++) in run()
406 TestContainer *c = g->getContainer(i); in run()
409 // Execute runner for this group in run()
410 Testing::TestStatus result = c->accept(this); in run()
421 m_io->EndGroup(); in run()