Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
A
Actor Framework
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
cpp-libs
Actor Framework
Commits
0a7c90f8
Commit
0a7c90f8
authored
Apr 19, 2016
by
Dominik Charousset
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix message_lifetime unit test
parent
de9c9d78
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
24 additions
and
31 deletions
+24
-31
libcaf_core/test/message_lifetime.cpp
libcaf_core/test/message_lifetime.cpp
+24
-31
No files found.
libcaf_core/test/message_lifetime.cpp
View file @
0a7c90f8
...
...
@@ -42,14 +42,8 @@ public:
}
behavior
make_behavior
()
override
{
auto
f
=
[](
local_actor
*
self
,
const
type_erased_tuple
*
x
)
{
auto
ptr
=
dynamic_cast
<
const
detail
::
message_data
*>
(
x
);
CAF_REQUIRE
(
ptr
);
CAF_CHECK_EQUAL
(
ptr
->
get_reference_count
(),
2u
);
self
->
quit
();
return
message
::
from
(
x
);
};
set_unexpected_handler
(
f
);
// reflecting a message increases its reference count by one
set_unexpected_handler
(
reflect_unexpected_and_quit
);
return
{
[]
{
// nop
...
...
@@ -67,13 +61,7 @@ public:
// nop
}
behavior
make_behavior
()
override
;
private:
actor
aut_
;
message
msg_
;
};
behavior
tester
::
make_behavior
()
{
behavior
make_behavior
()
override
{
monitor
(
aut_
);
send
(
aut_
,
msg_
);
return
{
...
...
@@ -81,7 +69,7 @@ behavior tester::make_behavior() {
CAF_CHECK_EQUAL
(
a
,
1
);
CAF_CHECK_EQUAL
(
b
,
2
);
CAF_CHECK_EQUAL
(
c
,
3
);
CAF_CHECK_EQUAL
(
current_message
().
cvals
()
->
get_reference_count
(),
2
u
);
CAF_CHECK_GREATER
(
current_message
().
cvals
()
->
get_reference_count
(),
1
u
);
CAF_CHECK_EQUAL
(
current_message
().
cvals
().
get
(),
msg_
.
cvals
().
get
());
},
[
=
](
const
down_msg
&
dm
)
{
...
...
@@ -91,7 +79,12 @@ behavior tester::make_behavior() {
quit
();
}
};
}
}
private:
actor
aut_
;
message
msg_
;
};
struct
fixture
{
actor_system
system
;
...
...
@@ -118,7 +111,6 @@ CAF_TEST(message_lifetime_in_scoped_actor) {
CAF_CHECK_EQUAL
(
b
,
2
);
CAF_CHECK_EQUAL
(
c
,
3
);
CAF_CHECK_EQUAL
(
msg
.
cvals
()
->
get_reference_count
(),
2u
);
CAF_CHECK_EQUAL
(
self
->
current_message
().
cvals
()
->
get_reference_count
(),
2u
);
CAF_CHECK_EQUAL
(
self
->
current_message
().
cvals
().
get
(),
msg
.
cvals
().
get
());
}
);
...
...
@@ -128,7 +120,8 @@ CAF_TEST(message_lifetime_in_scoped_actor) {
self
->
receive
(
[
&
](
int
&
value
)
{
CAF_CHECK_EQUAL
(
msg
.
cvals
()
->
get_reference_count
(),
1u
);
CAF_CHECK_EQUAL
(
self
->
current_message
().
cvals
()
->
get_reference_count
(),
1u
);
CAF_CHECK_EQUAL
(
self
->
current_message
().
cvals
()
->
get_reference_count
(),
1u
);
CAF_CHECK_NOT_EQUAL
(
self
->
current_message
().
cvals
().
get
(),
msg
.
cvals
().
get
());
value
=
10
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment