Skip to content

Commit 0e3b3fa

Browse files
equeue tests update
- test periodic user allocated events - test user allocated events re-posting - test unnecessary cancels of user allocated events
1 parent dfe6cf3 commit 0e3b3fa

File tree

2 files changed

+30
-22
lines changed

2 files changed

+30
-22
lines changed

TESTS/events/equeue/main.cpp

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1003,21 +1003,22 @@ static void test_equeue_user_allocated_event_post()
10031003

10041004
uint8_t touched = 0;
10051005
user_allocated_event e1 = { { 0, 0, 0, NULL, NULL, NULL, 0, -1, NULL, NULL }, 0 };
1006-
user_allocated_event e2 = { { 0, 0, 0, NULL, NULL, NULL, 1, -1, NULL, NULL }, 0 };
1007-
user_allocated_event e3 = { { 0, 0, 0, NULL, NULL, NULL, 1, -1, NULL, NULL }, 0 };
1008-
user_allocated_event e4 = { { 0, 0, 0, NULL, NULL, NULL, 1, -1, NULL, NULL }, 0 };
1006+
user_allocated_event e2 = { { 0, 0, 0, NULL, NULL, NULL, 1, 1, NULL, NULL }, 0 };
1007+
user_allocated_event e3 = { { 0, 0, 0, NULL, NULL, NULL, 1, 1, NULL, NULL }, 0 };
1008+
user_allocated_event e4 = { { 0, 0, 0, NULL, NULL, NULL, 1, 1, NULL, NULL }, 0 };
10091009
user_allocated_event e5 = { { 0, 0, 0, NULL, NULL, NULL, 0, -1, NULL, NULL }, 0 };
10101010

1011-
TEST_ASSERT_NOT_EQUAL(0, equeue_call(&q, simple_func, &touched));
1012-
TEST_ASSERT_EQUAL_INT(0, equeue_call(&q, simple_func, &touched));
1013-
TEST_ASSERT_EQUAL_INT(0, equeue_call(&q, simple_func, &touched));
1011+
TEST_ASSERT_NOT_EQUAL(0, equeue_call_every(&q, 1, simple_func, &touched));
1012+
TEST_ASSERT_EQUAL_INT(0, equeue_call_every(&q, 1, simple_func, &touched));
1013+
TEST_ASSERT_EQUAL_INT(0, equeue_call_every(&q, 1, simple_func, &touched));
10141014

10151015
equeue_post_user_allocated(&q, simple_func, &e1.e);
10161016
equeue_post_user_allocated(&q, simple_func, &e2.e);
10171017
equeue_post_user_allocated(&q, simple_func, &e3.e);
10181018
equeue_post_user_allocated(&q, simple_func, &e4.e);
10191019
equeue_post_user_allocated(&q, simple_func, &e5.e);
10201020
equeue_cancel_user_allocated(&q, &e3.e);
1021+
equeue_cancel_user_allocated(&q, &e3.e);
10211022

10221023
equeue_dispatch(&q, 1);
10231024

@@ -1028,13 +1029,16 @@ static void test_equeue_user_allocated_event_post()
10281029
TEST_ASSERT_EQUAL_UINT8(1, e4.touched);
10291030
TEST_ASSERT_EQUAL_UINT8(1, e5.touched);
10301031

1032+
e3.e.target = 1; // set target as it's modified by equeue_call
1033+
e3.e.period = 1; // set period as it's reset by equeue_cancel
1034+
equeue_post_user_allocated(&q, simple_func, &e3.e);
10311035
equeue_dispatch(&q, 10);
10321036

1033-
TEST_ASSERT_EQUAL_UINT8(1, touched);
1037+
TEST_ASSERT_EQUAL_UINT8(11, touched);
10341038
TEST_ASSERT_EQUAL_UINT8(1, e1.touched);
1035-
TEST_ASSERT_EQUAL_UINT8(1, e2.touched);
1036-
TEST_ASSERT_EQUAL_UINT8(0, e3.touched);
1037-
TEST_ASSERT_EQUAL_UINT8(1, e4.touched);
1039+
TEST_ASSERT_EQUAL_UINT8(11, e2.touched);
1040+
TEST_ASSERT_EQUAL_UINT8(10, e3.touched);
1041+
TEST_ASSERT_EQUAL_UINT8(11, e4.touched);
10381042
TEST_ASSERT_EQUAL_UINT8(1, e5.touched);
10391043

10401044
equeue_destroy(&q);

UNITTESTS/events/equeue/test_equeue.cpp

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1072,21 +1072,22 @@ TEST_F(TestEqueue, test_equeue_user_allocated_event_post)
10721072

10731073
uint8_t touched = 0;
10741074
user_allocated_event e1 = { { 0, 0, 0, NULL, NULL, NULL, 0, -1, NULL, NULL }, 0 };
1075-
user_allocated_event e2 = { { 0, 0, 0, NULL, NULL, NULL, 1, -1, NULL, NULL }, 0 };
1076-
user_allocated_event e3 = { { 0, 0, 0, NULL, NULL, NULL, 1, -1, NULL, NULL }, 0 };
1077-
user_allocated_event e4 = { { 0, 0, 0, NULL, NULL, NULL, 1, -1, NULL, NULL }, 0 };
1075+
user_allocated_event e2 = { { 0, 0, 0, NULL, NULL, NULL, 1, 1, NULL, NULL }, 0 };
1076+
user_allocated_event e3 = { { 0, 0, 0, NULL, NULL, NULL, 1, 1, NULL, NULL }, 0 };
1077+
user_allocated_event e4 = { { 0, 0, 0, NULL, NULL, NULL, 1, 1, NULL, NULL }, 0 };
10781078
user_allocated_event e5 = { { 0, 0, 0, NULL, NULL, NULL, 0, -1, NULL, NULL }, 0 };
10791079

1080-
EXPECT_NE(0, equeue_call(&q, simple_func, &touched));
1081-
EXPECT_EQ(0, equeue_call(&q, simple_func, &touched));
1082-
EXPECT_EQ(0, equeue_call(&q, simple_func, &touched));
1080+
EXPECT_NE(0, equeue_call_every(&q, 1, simple_func, &touched));
1081+
EXPECT_EQ(0, equeue_call_every(&q, 1, simple_func, &touched));
1082+
EXPECT_EQ(0, equeue_call_every(&q, 1, simple_func, &touched));
10831083

10841084
equeue_post_user_allocated(&q, simple_func, &e1.e);
10851085
equeue_post_user_allocated(&q, simple_func, &e2.e);
10861086
equeue_post_user_allocated(&q, simple_func, &e3.e);
10871087
equeue_post_user_allocated(&q, simple_func, &e4.e);
10881088
equeue_post_user_allocated(&q, simple_func, &e5.e);
10891089
equeue_cancel_user_allocated(&q, &e3.e);
1090+
equeue_cancel_user_allocated(&q, &e3.e);
10901091

10911092
equeue_dispatch(&q, 1);
10921093

@@ -1097,14 +1098,17 @@ TEST_F(TestEqueue, test_equeue_user_allocated_event_post)
10971098
EXPECT_EQ(1, e4.touched);
10981099
EXPECT_EQ(1, e5.touched);
10991100

1101+
e3.e.target = 1; // set target as it's modified by equeue_call
1102+
e3.e.period = 1; // set period as it's reset by equeue_cancel
1103+
equeue_post_user_allocated(&q, simple_func, &e3.e);
11001104
equeue_dispatch(&q, 10);
11011105

1102-
EXPECT_EQ(1, touched);
1103-
EXPECT_EQ(1, e1.touched);
1104-
EXPECT_EQ(1, e2.touched);
1105-
EXPECT_EQ(0, e3.touched);
1106-
EXPECT_EQ(1, e4.touched);
1107-
EXPECT_EQ(1, e5.touched);
1106+
EXPECT_EQ(11, touched);
1107+
EXPECT_EQ(1 , e1.touched);
1108+
EXPECT_EQ(11, e2.touched);
1109+
EXPECT_EQ(10 , e3.touched);
1110+
EXPECT_EQ(11, e4.touched);
1111+
EXPECT_EQ(1 , e5.touched);
11081112

11091113
equeue_destroy(&q);
11101114
}

0 commit comments

Comments
 (0)