Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
y
z
Enumerations
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
z
Classes
Class List
Class Hierarchy
Class Members
All
:
[
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
[
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
y
Enumerations
a
b
c
d
e
f
h
i
k
l
m
n
o
p
r
s
t
u
v
w
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
z
Properties
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
Related Functions
:
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
z
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Enumerations
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
Macros
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
grpc
test
core
promise
loop_test.cc
Go to the documentation of this file.
1
// Copyright 2021 gRPC authors.
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
// http://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14
15
#include "
src/core/lib/promise/loop.h
"
16
17
#include "gtest/gtest.h"
18
19
#include "
src/core/lib/promise/detail/basic_seq.h
"
20
#include "
src/core/lib/promise/seq.h
"
21
22
namespace
grpc_core
{
23
24
TEST
(LoopTest, CountToFive) {
25
int
i
= 0;
26
Loop
([&
i
]() ->
LoopCtl<int>
{
27
i
++;
28
if
(
i
< 5)
return
Continue
();
29
return
i
;
30
})();
31
EXPECT_EQ
(
i
, 5);
32
}
33
34
TEST
(LoopTest, FactoryCountToFive) {
35
int
i
= 0;
36
Loop
([&
i
]() {
37
return
[&
i
]() ->
LoopCtl<int>
{
38
i
++;
39
if
(
i
< 5)
return
Continue
();
40
return
i
;
41
};
42
})();
43
EXPECT_EQ
(
i
, 5);
44
}
45
46
TEST
(LoopTest, LoopOfSeq) {
47
auto
x
=
48
Loop
(
Seq
([]() {
return
42; }, [](
int
i
) ->
LoopCtl<int>
{
return
i
; }))();
49
EXPECT_EQ
(
x
,
Poll<int>
(42));
50
}
51
52
}
// namespace grpc_core
53
54
int
main
(
int
argc,
char
** argv) {
55
::testing::InitGoogleTest
(&argc, argv);
56
return
RUN_ALL_TESTS
();
57
}
grpc_core::Continue
Definition:
loop.h:35
grpc_core
Definition:
call_metric_recorder.h:31
main
int main(int argc, char **argv)
Definition:
loop_test.cc:54
grpc_core::TEST
TEST(AvlTest, NoOp)
Definition:
avl_test.cc:21
seq.h
EXPECT_EQ
#define EXPECT_EQ(a, b)
Definition:
iomgr/time_averaged_stats_test.cc:27
x
int x
Definition:
bloaty/third_party/googletest/googlemock/test/gmock-matchers_test.cc:3610
RUN_ALL_TESTS
int RUN_ALL_TESTS() GTEST_MUST_USE_RESULT_
Definition:
bloaty/third_party/googletest/googletest/include/gtest/gtest.h:2471
grpc_core::Loop
promise_detail::Loop< F > Loop(F f)
Definition:
loop.h:130
testing::InitGoogleTest
GTEST_API_ void InitGoogleTest(int *argc, char **argv)
Definition:
bloaty/third_party/googletest/googletest/src/gtest.cc:6106
loop.h
grpc_core::Seq
promise_detail::Seq< Functors... > Seq(Functors... functors)
Definition:
seq.h:62
absl::variant
Definition:
abseil-cpp/absl/types/internal/variant.h:46
basic_seq.h
i
uint64_t i
Definition:
abseil-cpp/absl/container/btree_benchmark.cc:230
grpc
Author(s):
autogenerated on Thu Mar 13 2025 03:00:30