Bringup » Historie » Revision 5
Revision 4 (Maximilian Seesslen, 18.08.2022 15:16) → Revision 5/7 (Maximilian Seesslen, 18.08.2022 16:17)
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
<pre><code class="cpp">
CBringup
{
CList <CTest *> tests;
}
CTest
{
const char *topic;
CList <CResult> results;
}
CResult
{
const char *issue;
EResult result;
}
main()
{
CPlatform *pPlatform=new CPlatform();
CBringup bringup;
bringup.addTest( new CTestRtc() );
CWriterMd writer( bringup );
}
</code></pre>
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
<pre><code class="cpp">
CBringup
{
CList <CTest *> tests;
}
CTest
{
const char *topic;
CList <CResult> results;
}
CResult
{
const char *issue;
EResult result;
}
main()
{
CPlatform *pPlatform=new CPlatform();
CBringup bringup;
bringup.addTest( new CTestRtc() );
CWriterMd writer( bringup );
}
</code></pre>