gem5
[DEVELOP-FOR-23.0]
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
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
l
m
n
o
p
q
r
s
t
u
v
w
x
Enumerations
_
a
b
c
d
e
f
g
h
i
k
l
m
o
p
q
r
s
t
v
x
Enumerator
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
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
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
k
l
m
n
o
p
q
r
s
t
u
v
w
y
Enumerations
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
w
Enumerator
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Related Functions
:
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
Functions
a
b
c
d
e
f
g
h
i
l
m
n
o
p
s
t
v
Variables
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
Typedefs
a
b
c
d
g
h
i
l
m
r
s
t
u
w
Enumerations
b
h
i
o
p
Enumerator
h
i
o
Macros
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Modules
Pages
base
gtest
logging.hh
Go to the documentation of this file.
1
/*
2
* Copyright 2021 Google Inc.
3
*
4
* Redistribution and use in source and binary forms, with or without
5
* modification, are permitted provided that the following conditions are
6
* met: redistributions of source code must retain the above copyright
7
* notice, this list of conditions and the following disclaimer;
8
* redistributions in binary form must reproduce the above copyright
9
* notice, this list of conditions and the following disclaimer in the
10
* documentation and/or other materials provided with the distribution;
11
* neither the name of the copyright holders nor the names of its
12
* contributors may be used to endorse or promote products derived from
13
* this software without specific prior written permission.
14
*
15
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
16
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
17
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
18
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
19
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
20
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
21
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
22
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
23
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
25
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
*/
27
28
#include <gtest/gtest.h>
29
30
#include <sstream>
31
32
namespace
gem5
33
{
34
35
// This custom exception type will help prevent fatal exceptions from being
36
// caught by other code in gem5 and let them escape to the gtest framework.
37
// Unfortunately that results in a somewhat confusing message about an unknown
38
// exception being thrown after the panic/fatal message has been printed, but
39
// there will at least be some indication what went wrong.
40
struct
GTestException
41
{};
42
43
class
GTestLogOutput
:
public
std::ostringstream
44
{
45
private
:
46
class
EventHook
:
public
::testing::EmptyTestEventListener
47
{
48
private
:
49
GTestLogOutput
&
stream
;
50
51
public
:
52
EventHook
(
GTestLogOutput
&_stream);
53
~EventHook
();
54
55
void
OnTestStart
(const ::testing::TestInfo &test_info)
override
;
56
};
57
58
EventHook
eventHook
;
59
60
public
:
61
template
<
typename
...Args>
62
GTestLogOutput
(Args &&...args) :
63
std
::ostringstream(
std
::forward<Args>(args)...),
eventHook
(*this)
64
{}
65
};
66
67
extern
thread_local GTestLogOutput
gtestLogOutput
;
68
69
}
// namespace gem5
gem5::GTestLogOutput::EventHook
Definition:
logging.hh:46
gem5::GTestLogOutput::EventHook::stream
GTestLogOutput & stream
Definition:
logging.hh:49
gem5::GTestLogOutput::EventHook::~EventHook
~EventHook()
Definition:
logging.cc:40
gem5::GTestLogOutput::EventHook::OnTestStart
void OnTestStart(const ::testing::TestInfo &test_info) override
Definition:
logging.cc:46
gem5::GTestLogOutput
Definition:
logging.hh:43
gem5::GTestLogOutput::EventHook::EventHook
EventHook(GTestLogOutput &_stream)
Definition:
logging.cc:35
gem5::GTestLogOutput::GTestLogOutput
GTestLogOutput(Args &&...args)
Definition:
logging.hh:62
std
Overload hash function for BasicBlockRange type.
Definition:
misc.hh:2909
gem5::gtestLogOutput
thread_local GTestLogOutput gtestLogOutput
Definition:
logging.cc:33
gem5::GTestException
Definition:
logging.hh:40
gem5
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
Definition:
gpu_translation_state.hh:37
gem5::GTestLogOutput::eventHook
EventHook eventHook
Definition:
logging.hh:58
Generated on Sun Jul 30 2023 01:56:51 for gem5 by
doxygen
1.8.17