VirtualBox

Changeset 98172 in vbox for trunk/src


Ignore:
Timestamp:
Jan 21, 2023 1:01:48 PM (2 years ago)
Author:
vboxsync
Message:

Devices/Network: Wrapped the cppunit tests tstDevEEPROM and tstDevPhy to IPRT testing.

Location:
trunk/src/VBox/Devices
Files:
1 added
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Makefile.kmk

    r98171 r98172  
    14831483 # EEPROM device unit test requires cppunit
    14841484 #
    1485  ifdef VBOX_WITH_CPPUNIT_TESTCASES
    1486   ifdef VBOX_WITH_E1000
    1487    PROGRAMS += tstDevEEPROM
    1488    tstDevEEPROM_TEMPLATE    = VBOXCPPUNITEXE
    1489    tstDevEEPROM_SOURCES     = \
     1485 if defined(VBOX_WITH_E1000) && defined(VBOX_WITH_TESTCASES)
     1486  PROGRAMS += tstDevEEPROM
     1487  tstDevEEPROM_TEMPLATE    = VBoxR3TstExe
     1488  tstDevEEPROM_SOURCES     = \
    14901489        Network/testcase/tstDevEEPROM.cpp \
    14911490        Network/DevEEPROM.cpp
    1492    tstDevEEPROM_LIBS        = \
    1493         $(TARGET_VBoxDD)
    1494 
    1495    PROGRAMS += tstDevPhy
    1496    tstDevPhy_TEMPLATE    = VBOXCPPUNITEXE
    1497    tstDevPhy_SOURCES     = \
     1491
     1492  PROGRAMS += tstDevPhy
     1493  tstDevPhy_TEMPLATE    = VBoxR3TstExe
     1494  tstDevPhy_DEFS        = PHY_UNIT_TEST
     1495  tstDevPhy_SOURCES     = \
    14981496        Network/testcase/tstDevPhy.cpp \
    14991497        Network/DevE1000Phy.cpp
    1500    tstDevPhy_DEFS        = PHY_UNIT_TEST
    1501   endif
    15021498 endif
    15031499
  • trunk/src/VBox/Devices/Network/DevE1000Phy.cpp

    r98171 r98172  
    5151/* Little helpers ************************************************************/
    5252#ifdef PHY_UNIT_TEST
    53 # include <stdio.h>
    54 # define PhyLog(a)               printf a
    55 #else /* PHY_UNIT_TEST */
     53# ifdef CPP_UNIT
     54#  include <stdio.h>
     55#  define PhyLog(a)               printf a
     56# else
     57#  include <iprt/test.h>
     58#  define PhyLogC99(...)         RTTestIPrintf(RTTESTLVL_ALWAYS, __VA_ARGS__)
     59#  define PhyLog(a)              PhyLogC99 a
     60# endif
     61#else  /* !PHY_UNIT_TEST */
    5662# define PhyLog(a)               Log(a)
    57 #endif /* PHY_UNIT_TEST */
     63#endif /* !PHY_UNIT_TEST */
    5864
    5965#define REG(x) pPhy->au16Regs[x##_IDX]
  • trunk/src/VBox/Devices/Network/DevEEPROM.cpp

    r98103 r98172  
    4343void EEPROM93C46::init(const uint16_t *pu16Initial)
    4444{
    45     if ( pu16Initial ) {
     45    if ( pu16Initial )
    4646        memcpy(this->m_au16Data, pu16Initial, sizeof(this->m_au16Data));
    47     } else {
     47    else
    4848        memset(this->m_au16Data, 0, sizeof(this->m_au16Data));
    49     }
    5049    m_fWriteEnabled = false;
    5150    m_u32InternalWires = 0;
  • trunk/src/VBox/Devices/Network/testcase/tstDevEEPROM.cpp

    r98171 r98172  
    2626 */
    2727
    28 #include <cppunit/ui/text/TestRunner.h>
    29 #include <cppunit/extensions/HelperMacros.h>
    30 
     28
     29/*********************************************************************************************************************************
     30*   Header Files                                                                                                                 *
     31*********************************************************************************************************************************/
     32#ifdef USE_CPPUNIT
     33# include <cppunit/ui/text/TestRunner.h>
     34# include <cppunit/extensions/HelperMacros.h>
     35#else
     36# include "CppUnitEmulation.h"
     37#endif
    3138#include <VBox/vmm/pdmdev.h>
    3239#include "../DevEEPROM.h"
    3340
    34 static const uint16_t initialContent[] = {
     41
     42/*********************************************************************************************************************************
     43*   Global Variables                                                                                                             *
     44*********************************************************************************************************************************/
     45static const uint16_t g_abInitialContent[] =
     46{
    3547    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,
    3648    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,
     
    4355};
    4456
     57
    4558/**
    4659 * Test fixture for 93C46-compatible EEPROM device emulation.
    4760 */
    48 class EEPROMTest : public CppUnit::TestFixture  {
    49     CPPUNIT_TEST_SUITE( EEPROMTest );
     61class EEPROMTest
     62#ifdef USE_CPPUNIT
     63    : public CppUnit::TestFixture
     64#endif
     65{
     66    CPPUNIT_TEST_SUITE( tstDevEEPROM );
    5067
    5168    CPPUNIT_TEST( testRead );
     
    106123    {
    107124        eeprom = new EEPROM93C46;
    108         eeprom->init(initialContent);
     125        eeprom->init(g_abInitialContent);
    109126    }
    110127
     
    116133    void testSize()
    117134    {
    118         CPPUNIT_ASSERT_EQUAL( sizeof(initialContent), (size_t)EEPROM93C46::SIZE );
     135        CPPUNIT_ASSERT_EQUAL( sizeof(g_abInitialContent), (size_t)EEPROM93C46::SIZE );
    119136    }
    120137
     
    126143            shiftOutBits(wordAddr, READ_ADDR_BITS);
    127144
    128             CPPUNIT_ASSERT_EQUAL( initialContent[wordAddr], (uint16_t)wordAddr );
    129             CPPUNIT_ASSERT_EQUAL( initialContent[wordAddr], shiftInBits(DATA_BITS) );
     145            CPPUNIT_ASSERT_EQUAL( g_abInitialContent[wordAddr], (uint16_t)wordAddr );
     146            CPPUNIT_ASSERT_EQUAL( g_abInitialContent[wordAddr], shiftInBits(DATA_BITS) );
    130147            standby();
    131148        }
     
    139156        shiftOutBits(0, READ_ADDR_BITS);
    140157        for ( int wordAddr=0; wordAddr < EEPROM93C46::SIZE; wordAddr++ ) {
    141             CPPUNIT_ASSERT_EQUAL( initialContent[wordAddr], shiftInBits(DATA_BITS) );
     158            CPPUNIT_ASSERT_EQUAL( g_abInitialContent[wordAddr], shiftInBits(DATA_BITS) );
    142159        }
    143160        stop();
     
    520537}
    521538
    522 // Create text test runner and run all tests.
    523539int main()
    524540{
     541#ifdef USE_CPPUNIT
    525542    CppUnit::TextUi::TestRunner runner;
    526543    runner.addTest( EEPROMTest::suite() );
    527544    return runner.run() ? 0 : 1;
    528 }
    529 
     545#else
     546    EEPROMTest Test;
     547    return Test.run();
     548#endif
     549}
     550
  • trunk/src/VBox/Devices/Network/testcase/tstDevPhy.cpp

    r98171 r98172  
    2626 */
    2727
    28 #include <cppunit/ui/text/TestRunner.h>
    29 #include <cppunit/extensions/HelperMacros.h>
     28
     29/*********************************************************************************************************************************
     30*   Header Files                                                                                                                 *
     31*********************************************************************************************************************************/
     32#ifdef USE_CPPUNIT
     33# include <cppunit/ui/text/TestRunner.h>
     34# include <cppunit/extensions/HelperMacros.h>
     35#else
     36# include "CppUnitEmulation.h"
     37#endif
    3038
    3139#include "../DevE1000Phy.h"
     40
    3241
    3342/**
    3443 * Test fixture for PHY MDIO/MDC interface emulation.
    3544 */
    36 class PhyTest : public CppUnit::TestFixture  {
    37     CPPUNIT_TEST_SUITE( PhyTest );
     45class PhyTest
     46#ifdef USE_CPPUNIT
     47    : public CppUnit::TestFixture
     48#endif
     49{
     50    CPPUNIT_TEST_SUITE( tstDevPhy );
    3851
    3952    CPPUNIT_TEST(testSize);
     
    168181int main()
    169182{
     183#ifdef USE_CPPUNIT
    170184    CppUnit::TextUi::TestRunner runner;
    171185    runner.addTest( PhyTest::suite() );
    172186    return runner.run() ? 0 : 1;
     187#else
     188    PhyTest Test;
     189    return Test.run();
     190#endif
    173191}
    174192
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette