gem5  v22.1.0.0
Classes | Namespaces | Macros | Typedefs | Functions | Variables
proxy_ptr.test.cc File Reference
#include <gtest/gtest.h>
#include <vector>
#include "sim/proxy_ptr.hh"

Go to the source code of this file.

Classes

struct  Access
 
class  BackingStore
 
class  TestProxy
 
struct  TestABI
 
struct  gem5::guest_abi::Argument< TestABI, Addr >
 

Namespaces

 gem5
 Reference material can be found at the JEDEC website: UFS standard http://www.jedec.org/standards-documents/results/jesd220 UFS HCI specification http://www.jedec.org/standards-documents/results/jesd223.
 
 gem5::guest_abi
 

Macros

#define EXPECT_ACCESSES(store, ...)
 

Typedefs

using Accesses = std::vector< Access >
 
template<typename T >
using TestPtr = ProxyPtr< T, TestProxy >
 
template<typename T >
using ConstTestPtr = ConstProxyPtr< T, TestProxy >
 

Functions

::testing::AssertionResult accessed (const char *expr1, const char *expr2, const BackingStore &store, const Accesses &expected)
 
std::ostream & operator<< (std::ostream &os, const Access &access)
 
 TEST (ProxyPtr, Clean)
 
 TEST (ProxyPtr, Dirty)
 
 TEST (ProxyPtr, LoadAndFlush)
 
 TEST (ProxyPtr, ConstOperators)
 
 TEST (ProxyPtr, NonConstOperators)
 
 gem5::GEM5_DEPRECATED_NAMESPACE (GuestABI, guest_abi)
 
void abiTestFunc (ThreadContext *tc, TestPtr< uint8_t > ptr)
 
void abiTestFuncConst (ThreadContext *tc, ConstTestPtr< uint8_t > ptr)
 
 TEST (ProxyPtrTest, GuestABI)
 

Variables

bool abiCalled = false
 
bool abiCalledConst = false
 

Macro Definition Documentation

◆ EXPECT_ACCESSES

#define EXPECT_ACCESSES (   store,
  ... 
)
Value:
do { \
Accesses expected({__VA_ARGS__}); \
EXPECT_PRED_FORMAT2(accessed, store, expected); \
store.accesses.clear(); \
} while (false)
std::vector< SwitchingFiber * > expected({ &a, &b, &a, &a, &a, &b, &c, &a, &c, &c, &c })
::testing::AssertionResult accessed(const char *expr1, const char *expr2, const BackingStore &store, const Accesses &expected)

Definition at line 147 of file proxy_ptr.test.cc.

Typedef Documentation

◆ Accesses

Definition at line 61 of file proxy_ptr.test.cc.

◆ ConstTestPtr

template<typename T >
using ConstTestPtr = ConstProxyPtr<T, TestProxy>

Definition at line 188 of file proxy_ptr.test.cc.

◆ TestPtr

template<typename T >
using TestPtr = ProxyPtr<T, TestProxy>

Definition at line 185 of file proxy_ptr.test.cc.

Function Documentation

◆ abiTestFunc()

void abiTestFunc ( ThreadContext tc,
TestPtr< uint8_t >  ptr 
)

Definition at line 498 of file proxy_ptr.test.cc.

References abiCalled, and gem5::ConstProxyPtr< T, Proxy >::addr().

Referenced by TEST().

◆ abiTestFuncConst()

void abiTestFuncConst ( ThreadContext tc,
ConstTestPtr< uint8_t >  ptr 
)

Definition at line 505 of file proxy_ptr.test.cc.

References abiCalledConst, and gem5::ConstProxyPtr< T, Proxy >::addr().

Referenced by TEST().

◆ accessed()

::testing::AssertionResult accessed ( const char *  expr1,
const char *  expr2,
const BackingStore store,
const Accesses expected 
)

Definition at line 141 of file proxy_ptr.test.cc.

References BackingStore::expect_accesses(), and expected().

◆ operator<<()

std::ostream& operator<< ( std::ostream &  os,
const Access access 
)

◆ TEST() [1/6]

TEST ( ProxyPtr  ,
Clean   
)

Definition at line 190 of file proxy_ptr.test.cc.

References gem5::ConstProxyPtr< T, Proxy >::addr(), and EXPECT_ACCESSES.

◆ TEST() [2/6]

TEST ( ProxyPtr  ,
ConstOperators   
)

◆ TEST() [3/6]

TEST ( ProxyPtr  ,
Dirty   
)

◆ TEST() [4/6]

TEST ( ProxyPtr  ,
LoadAndFlush   
)

◆ TEST() [5/6]

TEST ( ProxyPtr  ,
NonConstOperators   
)

◆ TEST() [6/6]

TEST ( ProxyPtrTest  ,
GuestABI   
)

Definition at line 511 of file proxy_ptr.test.cc.

References abiCalled, abiCalledConst, abiTestFunc(), and abiTestFuncConst().

Variable Documentation

◆ abiCalled

bool abiCalled = false

Definition at line 494 of file proxy_ptr.test.cc.

Referenced by abiTestFunc(), and TEST().

◆ abiCalledConst

bool abiCalledConst = false

Definition at line 495 of file proxy_ptr.test.cc.

Referenced by abiTestFuncConst(), and TEST().


Generated on Wed Dec 21 2022 10:22:59 for gem5 by doxygen 1.9.1