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
1ae0863d
Commit
1ae0863d
authored
Aug 01, 2020
by
Dominik Charousset
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix and re-enable serial_reply unit test suite
parent
82a9823c
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
39 additions
and
29 deletions
+39
-29
libcaf_core/CMakeLists.txt
libcaf_core/CMakeLists.txt
+1
-0
libcaf_core/test/core-test.hpp
libcaf_core/test/core-test.hpp
+7
-0
libcaf_core/test/serial_reply.cpp
libcaf_core/test/serial_reply.cpp
+31
-29
No files found.
libcaf_core/CMakeLists.txt
View file @
1ae0863d
...
...
@@ -301,6 +301,7 @@ caf_add_test_suites(caf-core-test
request_timeout
result
selective_streaming
serial_reply
serialization
settings
simple_timeout
...
...
libcaf_core/test/core-test.hpp
View file @
1ae0863d
...
...
@@ -274,6 +274,13 @@ CAF_BEGIN_TYPE_ID_BLOCK(core_test, caf::first_custom_type_id)
ADD_ATOM
(
abc_atom
)
ADD_ATOM
(
get_state_atom
)
ADD_ATOM
(
name_atom
)
ADD_ATOM
(
sub0_atom
)
ADD_ATOM
(
sub1_atom
)
ADD_ATOM
(
sub2_atom
)
ADD_ATOM
(
sub3_atom
)
ADD_ATOM
(
sub4_atom
)
ADD_ATOM
(
hi_atom
)
ADD_ATOM
(
ho_atom
)
CAF_END_TYPE_ID_BLOCK
(
core_test
)
...
...
libcaf_core/test/serial_reply.cpp
View file @
1ae0863d
...
...
@@ -29,11 +29,13 @@ CAF_TEST(test_serial_reply) {
actor_system
system
{
cfg
};
auto
mirror_behavior
=
[
=
](
event_based_actor
*
self
)
->
behavior
{
self
->
set_default_handler
(
reflect
);
return
{[]
{
// nop
}};
return
{
[]
{
// nop
},
};
};
auto
master
=
system
.
spawn
([
=
](
event_based_actor
*
self
)
{
auto
master
=
system
.
spawn
([
=
](
event_based_actor
*
self
)
->
behavior
{
CAF_MESSAGE
(
"ID of master: "
<<
self
->
id
());
// spawn 5 mirror actors
auto
c0
=
self
->
spawn
<
linked
>
(
mirror_behavior
);
...
...
@@ -41,36 +43,36 @@ CAF_TEST(test_serial_reply) {
auto
c2
=
self
->
spawn
<
linked
>
(
mirror_behavior
);
auto
c3
=
self
->
spawn
<
linked
>
(
mirror_behavior
);
auto
c4
=
self
->
spawn
<
linked
>
(
mirror_behavior
);
self
->
become
([
=
](
int
)
mutable
{
auto
rp
=
self
->
make_response_promise
();
CAF_MESSAGE
(
"received 'hi there'"
);
self
->
request
(
c0
,
infinite
,
sub0_atom
::
value
)
.
then
([
=
](
sub0_atom
)
mutable
{
return
{
[
=
](
hi_atom
)
mutable
{
auto
rp
=
self
->
make_response_promise
(
);
CAF_MESSAGE
(
"received 'hi there'"
);
self
->
request
(
c0
,
infinite
,
sub0_atom_v
)
.
then
([
=
](
sub0_atom
)
mutable
{
CAF_MESSAGE
(
"received 'sub0'"
);
self
->
request
(
c1
,
infinite
,
sub1_atom
::
value
)
.
then
([
=
](
sub1_atom
)
mutable
{
CAF_MESSAGE
(
"received 'sub1'"
);
self
->
request
(
c2
,
infinite
,
sub2_atom
::
value
)
.
then
([
=
](
sub2_atom
)
mutable
{
CAF_MESSAGE
(
"received 'sub2'"
);
self
->
request
(
c3
,
infinite
,
sub3_atom
::
value
)
.
then
([
=
](
sub3_atom
)
mutable
{
CAF_MESSAGE
(
"received 'sub3'"
);
self
->
request
(
c4
,
infinite
,
sub4_atom
::
value
)
.
then
([
=
](
sub4_atom
)
mutable
{
CAF_MESSAGE
(
"received 'sub4'"
);
rp
.
deliver
(
ho_atom
::
value
);
});
});
});
});
self
->
request
(
c1
,
infinite
,
sub1_atom_v
).
then
([
=
](
sub1_atom
)
mutable
{
CAF_MESSAGE
(
"received 'sub1'"
);
self
->
request
(
c2
,
infinite
,
sub2_atom_v
)
.
then
([
=
](
sub2_atom
)
mutable
{
CAF_MESSAGE
(
"received 'sub2'"
);
self
->
request
(
c3
,
infinite
,
sub3_atom_v
)
.
then
([
=
](
sub3_atom
)
mutable
{
CAF_MESSAGE
(
"received 'sub3'"
);
self
->
request
(
c4
,
infinite
,
sub4_atom_v
)
.
then
([
=
](
sub4_atom
)
mutable
{
CAF_MESSAGE
(
"received 'sub4'"
);
rp
.
deliver
(
ho_atom_v
);
});
});
});
});
});
});
},
};
});
scoped_actor
self
{
system
};
CAF_MESSAGE
(
"ID of main: "
<<
self
->
id
());
self
->
request
(
master
,
infinite
,
hi_atom
::
value
)
self
->
request
(
master
,
infinite
,
hi_atom
_v
)
.
receive
([](
ho_atom
)
{
CAF_MESSAGE
(
"received 'ho'"
);
},
[
&
](
const
error
&
err
)
{
CAF_ERROR
(
"Error: "
<<
to_string
(
err
)
);
});
[
&
](
const
error
&
err
)
{
CAF_ERROR
(
"Error: "
<<
err
);
});
CAF_REQUIRE
(
self
->
mailbox
().
empty
());
}
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