Seastar
High performance C++ framework for concurrent servers
Toggle main menu visibility
Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
a
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
v
w
y
Functions
a
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
v
w
y
Variables
Typedefs
Enumerations
Classes
Class List
Class Index
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
y
~
Functions
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
y
~
Variables
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
Typedefs
Enumerations
Related Functions
Files
File List
Examples
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Modules
Pages
seastar
testing
test_case.hh
1
/*
2
* This file is open source software, licensed to you under the terms
3
* of the Apache License, Version 2.0 (the "License"). See the NOTICE file
4
* distributed with this work for additional information regarding copyright
5
* ownership. You may not use this file except in compliance with the License.
6
*
7
* You may obtain a copy of the License at
8
*
9
* http://www.apache.org/licenses/LICENSE-2.0
10
*
11
* Unless required by applicable law or agreed to in writing,
12
* software distributed under the License is distributed on an
13
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
* KIND, either express or implied. See the License for the
15
* specific language governing permissions and limitations
16
* under the License.
17
*/
18
19
/*
20
* Copyright (C) 2018 ScyllaDB Ltd.
21
*/
22
23
#pragma once
24
25
#include <boost/preprocessor/control/iif.hpp>
26
#include <boost/preprocessor/comparison/equal.hpp>
27
#include <boost/preprocessor/variadic/size.hpp>
28
29
#include <seastar/core/future.hh>
// IWYU pragma: keep
30
31
#include <seastar/testing/seastar_test.hh>
32
33
#define SEASTAR_TEST_CASE_WITH_DECO(name, decorators) \
34
struct name : public seastar::testing::seastar_test { \
35
using seastar::testing::seastar_test::seastar_test; \
36
seastar::future<> run_test_case() const override; \
37
}; \
38
static const name name ## _instance( \
39
#name, \
40
__FILE__, \
41
__LINE__, \
42
decorators);
/* NOLINT(cert-err58-cpp) */
\
43
seastar::future<> name::run_test_case() const
44
45
#define SEASTAR_TEST_CASE_WITHOUT_DECO(name) \
46
SEASTAR_TEST_CASE_WITH_DECO( \
47
name, \
48
boost::unit_test::decorator::collector_t::instance())
49
50
#define SEASTAR_TEST_CASE(...) \
51
SEASTAR_TEST_INVOKE( \
52
BOOST_PP_IIF( \
53
BOOST_PP_EQUAL(BOOST_PP_VARIADIC_SIZE(__VA_ARGS__), 1), \
54
SEASTAR_TEST_CASE_WITHOUT_DECO, \
55
SEASTAR_TEST_CASE_WITH_DECO), \
56
__VA_ARGS__)
Generated by
1.9.4