Projekt

Allgemein

Profil

Unterstützung #82

Add test functions for periphery

Von Redmine Admin vor mehr als 3 Jahren hinzugefügt. Vor mehr als 2 Jahren aktualisiert.

Status:
Erledigt
Priorität:
Normal
Zugewiesen an:
Zielversion:
-
Beginn:
15.10.2021
Abgabedatum:
% erledigt:

0%

Geschätzter Aufwand:
CS Zielversion:

Beschreibung

The bringup software should be able to easily test periphery.

CANIO already has some test routines. They should be available in general.
Move them to a tests.cpp. No Arena stuff.

Having an test-class could help to make some overall information.

testSpiFlash( pPlatform->m_spi );
testSpiLoopback( pPlatform->m_spi );
testI2cEeprom( pPlatform->m_i2c, bottom=true );
testInternFlash( );
testCan( ECanSpeed, ECanTest::ExternLoopback/ECanTest::Mirror );

The test routines should not be in the biwak periphery clases. There will be some assumptions or depencies.
Just use functions or a seperate test class.

Those tests will also provide units-tests for biwak itself.

The fosh commands for i2c and sf are waste of space for regular use.

Historie

#1

Von Maximilian Seesslen vor etwa 3 Jahren aktualisiert

  • Zielversion wurde auf v2.0.1 gesetzt
#2

Von Redmine Admin vor etwa 3 Jahren aktualisiert

  • Beschreibung aktualisiert (diff)
#3

Von Redmine Admin vor etwa 3 Jahren aktualisiert

  • Beschreibung aktualisiert (diff)
  • Zielversion wurde von v2.0.1 zu v2.1.0 geändert
#4

Von Redmine Admin vor etwa 3 Jahren aktualisiert

  • Beschreibung aktualisiert (diff)
#5

Von Maximilian Seesslen vor mehr als 2 Jahren aktualisiert

  • Beschreibung aktualisiert (diff)
#6

Von Maximilian Seesslen vor mehr als 2 Jahren aktualisiert

An nice protocoll should be created without the interaction (e.g. "press button") output.
An test should have sub-tests. Having nested lists might be a problem for 16K-MCUs.

Tests can not be run automatically because there might be something to prepare (e.g. select-switch).


bringup.setTest("UART");
ltest("Receive", ch=='y', ch);

CList<CResult> m_results;

class CResult 
{
 const char *group;
 const char *testString;
 enum  EResult;
}

CBringup::setGroup(const char *groupString)
{

}

CBringup::printProtocoll
{
  const char *currentGroup;
  printf( "Test protocol:\n" 
          "==============\n\n");
  for(CResult &result: m_results)
  {
     if( currentGroup != result->group )
     {
         currentGroup = result->group;
         printf( "%s:\n", currentGroup);
         currentGroup = result->group;
     }
     printf( "%s:\n", currentGroup);
  }
}

#7

Von Maximilian Seesslen vor mehr als 2 Jahren aktualisiert

Markdown can be used for protocol;

  1. Test Protocol 'CANDis'
System information
:------ :-----------
Serial number 3
Rev. Campo 0c8659898+3
Rev. Bringup 0c865
Rev. Biwak 0c865
Rev. Lepto 0c862322
UART
:------ -----------:
data path to data files to supply the data that will be passed into templates.
engine engine to be used for processing templates. Handlebars is the default.
ext extension to be used for dest files.
Receive char <span style="color:green">OK</span>
Receive another char <span style="color:red">Failure</span>
CAN
:-- :------------------------------------------------------
Transmit message <span style="color:green">OK</span>
Receive message <span style="color:red">Failure</span>
CANPong-message-ID <span style="color:red">Failure</span>
USB
:-- --:
Receie String from virtual keyboard <span style="color:green">OK</span>
  1. Result
:-- :------------------------------------------------------
Good <span style="color:green">12</span>
Warning <span style="color:orange">12</span>
Bad <span style="color:red">12</span>
Total 12
#8

Von Maximilian Seesslen vor mehr als 2 Jahren aktualisiert

  • Projekt wurde von Biwak zu Campo geändert
  • Zielversion v2.1.0 wurde gelöscht
#9

Von Maximilian Seesslen vor mehr als 2 Jahren aktualisiert

  • Status wurde von Neu zu Erledigt geändert

Auch abrufbar als: Atom PDF