Projekt

Allgemein

Profil

Bringup » Historie » Revision 6

Revision 5 (Maximilian Seesslen, 18.08.2022 16:17) → Revision 6/7 (Maximilian Seesslen, 18.08.2022 16:39)

h1. Bringup

There has to be a bringup application which uses the bringup class from campo.
At least the bringup application is able to write the hwinfo via gdb scripts.

* The result is an protocol that should be added to the hw repository. "doc/bringup_0.1.x.txt".
The bringup class shall dump the protocoll after the interactive communication.

* Defects are created

* The readme is enhanced by possible erratas with defect id when the reason is clear. (meanwhile fixed biwak problem)

h2. Architecture

Keeping CBringup more generic and using inheritance for tests.

<pre><code class="cpp">

class CBringup
{
CList<CResult> results;
}

class CWriter
{
CList<CResult> &results;
void printSystemInfo();
void printTests();
void printSummary();
void generateProtokol();
}

int CBringup::testAssert(const char *test)
{
CResult &result=( results << CResult(test) );
result.setGroup(getGroup());
}

int CBringup::testRtc(CRtc &rtc)
{
setGroup("RTC");
testAssert("plausibility", rtc.getDate() > 2010, rtc.getDate() );
return(sta);
}

</code></pre>

h2. Alternative

Keeping CBringup more generic and using inheritance for tests.
This will create a lot of overhead for all splitted classes.

<pre><code class="cpp">
CBringup
{
CList <CTest *> tests;
}

CTest
{
const char *topic;
CList <CResult> results;
run() = 0;

}

CResult
{
const char *issue;
EResult result;
}

main()
{
CPlatform *pPlatform=new CPlatform();
CBringup bringup;
bringup.addTest( new CTestRtc() );

CWriterMd writer( bringup );
}
</code></pre>