Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitf77c4b5

Browse files
authored
Merge pull request#207 from jboynes/fix_canmsg_volatile
Fix: add test case for CanMsgRingBuffer.
2 parentsebe1fab +1765628 commitf77c4b5

File tree

3 files changed

+37
-2
lines changed

3 files changed

+37
-2
lines changed

‎api/CanMsgRingbuffer.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ void CanMsgRingbuffer::enqueue(CanMsg const & msg)
4040

4141
_buf[_head] = msg;
4242
_head =next(_head);
43-
_num_elems++;
43+
_num_elems = _num_elems +1;
4444
}
4545

4646
CanMsgCanMsgRingbuffer::dequeue()
@@ -50,7 +50,7 @@ CanMsg CanMsgRingbuffer::dequeue()
5050

5151
CanMsgconst msg = _buf[_tail];
5252
_tail =next(_tail);
53-
_num_elems--;
53+
_num_elems = _num_elems -1;
5454

5555
return msg;
5656
}

‎test/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ set(TEST_SRCS
3333
src/CanMsg/test_isStandardId.cpp
3434
src/CanMsg/test_operator_assignment.cpp
3535
src/CanMsg/test_printTo.cpp
36+
src/CanMsgRingbuffer/test_available.cpp
3637
src/Common/test_makeWord.cpp
3738
src/Common/test_map.cpp
3839
src/Common/test_max.cpp
@@ -104,6 +105,7 @@ set(TEST_SRCS
104105

105106
set(TEST_DUT_SRCS
106107
../api/CanMsg.cpp
108+
../api/CanMsgRingbuffer.cpp
107109
../api/Common.cpp
108110
../api/IPAddress.cpp
109111
../api/String.cpp
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
/*
2+
* Copyright (c) 2020 Arduino. All rights reserved.
3+
*/
4+
5+
/**************************************************************************************
6+
* INCLUDE
7+
**************************************************************************************/
8+
9+
#include<catch.hpp>
10+
11+
#include<CanMsgRingbuffer.h>
12+
13+
/**************************************************************************************
14+
* TEST CODE
15+
**************************************************************************************/
16+
17+
TEST_CASE ("'available' should return 0 for empty CanMsg ring buffer","[CanMsgRingbuffer-available-01]")
18+
{
19+
arduino::CanMsgRingbuffer ringbuffer;
20+
REQUIRE(ringbuffer.available() ==0);
21+
}
22+
23+
TEST_CASE ("'available' should return number of elements in CanMsg ringbuffer","[CanMsgRingbuffer-available-02]")
24+
{
25+
arduino::CanMsgRingbuffer ringbuffer;
26+
arduino::CanMsg msg;
27+
ringbuffer.enqueue(msg);
28+
REQUIRE(ringbuffer.available() ==1);
29+
ringbuffer.enqueue(msg);
30+
REQUIRE(ringbuffer.available() ==2);
31+
ringbuffer.dequeue();
32+
REQUIRE(ringbuffer.available() ==1);
33+
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp