mirror of
https://github.com/hathach/tinyusb.git
synced 2025-02-19 15:40:41 +00:00
added some tests for fifo.c
This commit is contained in:
parent
c004cd4387
commit
8155fd38a5
@ -32,6 +32,7 @@
|
|||||||
- ../tinyusb/**
|
- ../tinyusb/**
|
||||||
- -:../demos
|
- -:../demos
|
||||||
- -:../test_old
|
- -:../test_old
|
||||||
|
- ../../CMSISv2p10_LPC13Uxx/**
|
||||||
#- ../../CMSISv2p10_LPC43xx_DriverLib/inc
|
#- ../../CMSISv2p10_LPC43xx_DriverLib/inc
|
||||||
:support:
|
:support:
|
||||||
- test/support
|
- test/support
|
||||||
@ -44,12 +45,12 @@
|
|||||||
:test:
|
:test:
|
||||||
- *common_defines
|
- *common_defines
|
||||||
- _TEST_
|
- _TEST_
|
||||||
- MCU=MCU_LPC43XX
|
- MCU=MCU_LPC13UXX
|
||||||
- CORE_M4
|
- CORE_M4
|
||||||
:test_preprocess:
|
:test_preprocess:
|
||||||
- *common_defines
|
- *common_defines
|
||||||
- _TEST_
|
- _TEST_
|
||||||
- MCU=MCU_LPC43XX
|
- MCU=MCU_LPC13UXX
|
||||||
- CORE_M4
|
- CORE_M4
|
||||||
|
|
||||||
#:flags:
|
#:flags:
|
||||||
|
@ -38,16 +38,60 @@
|
|||||||
#include "unity.h"
|
#include "unity.h"
|
||||||
#include "fifo.h"
|
#include "fifo.h"
|
||||||
|
|
||||||
|
#define FIFO_SIZE 10
|
||||||
|
static fifo_t ff;
|
||||||
|
static uint8_t buffer[FIFO_SIZE];
|
||||||
|
|
||||||
void setUp(void)
|
void setUp(void)
|
||||||
{
|
{
|
||||||
|
fifo_init(&ff, buffer, FIFO_SIZE, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void tearDown(void)
|
void tearDown(void)
|
||||||
{
|
{
|
||||||
|
memset(&ff, 0, sizeof(fifo_t));
|
||||||
}
|
}
|
||||||
|
void test_create_null(void)
|
||||||
void test_()
|
|
||||||
{
|
{
|
||||||
TEST_IGNORE();
|
memset(&ff, 0, sizeof(fifo_t)); // clear fifo to test null created
|
||||||
|
TEST_ASSERT_FALSE( fifo_init(&ff, buffer, 0, 0, 0) );
|
||||||
|
TEST_ASSERT_TRUE( fifo_init(&ff, buffer, 1, 0, 0) );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void test_normal(void)
|
||||||
|
{
|
||||||
|
uint8_t i;
|
||||||
|
|
||||||
|
for(i=0; i < FIFO_SIZE; i++)
|
||||||
|
{
|
||||||
|
fifo_write(&ff, i);
|
||||||
|
}
|
||||||
|
|
||||||
|
for(i=0; i < FIFO_SIZE; i++)
|
||||||
|
{
|
||||||
|
uint8_t c;
|
||||||
|
fifo_read(&ff, &c);
|
||||||
|
TEST_ASSERT_EQUAL(i, c);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void test_is_empty(void)
|
||||||
|
{
|
||||||
|
TEST_ASSERT_TRUE(fifo_isEmpty(&ff));
|
||||||
|
fifo_write(&ff, 1);
|
||||||
|
TEST_ASSERT_FALSE(fifo_isEmpty(&ff));
|
||||||
|
}
|
||||||
|
|
||||||
|
void test_is_full(void)
|
||||||
|
{
|
||||||
|
uint8_t i;
|
||||||
|
|
||||||
|
TEST_ASSERT_FALSE(fifo_isFull(&ff));
|
||||||
|
|
||||||
|
for(i=0; i < FIFO_SIZE; i++)
|
||||||
|
{
|
||||||
|
fifo_write(&ff, i);
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST_ASSERT_TRUE(fifo_isFull(&ff));
|
||||||
|
}
|
||||||
|
@ -66,7 +66,7 @@ typedef struct _fifo_t
|
|||||||
volatile uint16_t wr_ptr ; ///< write pointer
|
volatile uint16_t wr_ptr ; ///< write pointer
|
||||||
volatile uint16_t rd_ptr ; ///< read pointer
|
volatile uint16_t rd_ptr ; ///< read pointer
|
||||||
bool overwritable ; ///< allow overwrite data when full
|
bool overwritable ; ///< allow overwrite data when full
|
||||||
IRQn_Type irq ; ///< interrupt used to lock fifo
|
IRQn_Type irq ; ///< TODO (abstract later) interrupt used to lock fifo
|
||||||
} fifo_t;
|
} fifo_t;
|
||||||
|
|
||||||
bool fifo_init(fifo_t* f, uint8_t* buffer, uint16_t size, bool overwritable, IRQn_Type irq);
|
bool fifo_init(fifo_t* f, uint8_t* buffer, uint16_t size, bool overwritable, IRQn_Type irq);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user