ChampSim
040-lru-table.cc File Reference
#include <catch.hpp>
#include "util/lru_table.h"
#include <type_traits>
Include dependency graph for 040-lru-table.cc:

Functions

 TEMPLATE_TEST_CASE ("An lru_table is copiable and moveable", "",(champsim::lru_table<::strong_type, ::strong_type_getter, ::strong_type_getter >), champsim::lru_table<::type_with_getters >)
 
 TEMPLATE_TEST_CASE ("An empty lru_table misses", "",(champsim::lru_table<::strong_type, ::strong_type_getter, ::strong_type_getter >), champsim::lru_table<::type_with_getters >)
 
 TEMPLATE_TEST_CASE ("A lru_table can hit", "",(champsim::lru_table<::strong_type, ::strong_type_getter, ::strong_type_getter >), champsim::lru_table<::type_with_getters >)
 
 TEMPLATE_TEST_CASE ("A lru_table can miss", "",(champsim::lru_table<::strong_type, ::strong_type_getter, ::strong_type_getter >), champsim::lru_table<::type_with_getters >)
 
 TEMPLATE_TEST_CASE ("A lru_table replaces LRU", "",(champsim::lru_table<::strong_type, ::strong_type_getter, ::strong_type_getter >), champsim::lru_table<::type_with_getters >)
 
 TEMPLATE_TEST_CASE ("A lru_table exhibits set-associative behavior", "",(champsim::lru_table<::strong_type, ::strong_type_getter, ::strong_type_getter >), champsim::lru_table<::type_with_getters >)
 
 TEMPLATE_TEST_CASE ("A lru_table misses after invalidation", "",(champsim::lru_table<::strong_type, ::strong_type_getter, ::strong_type_getter >), champsim::lru_table<::type_with_getters >)
 
 TEMPLATE_TEST_CASE ("A lru_table returns the evicted block on invalidation", "",(champsim::lru_table<::strong_type, ::strong_type_getter, ::strong_type_getter >), champsim::lru_table<::type_with_getters >)
 

Function Documentation

◆ TEMPLATE_TEST_CASE() [1/8]

TEMPLATE_TEST_CASE ( "A lru_table can hit"  ,
""  ,
(champsim::lru_table<::strong_type, ::strong_type_getter, ::strong_type_getter >)  ,
champsim::lru_table<::type_with_getters >   
)

◆ TEMPLATE_TEST_CASE() [2/8]

TEMPLATE_TEST_CASE ( "A lru_table can miss"  ,
""  ,
(champsim::lru_table<::strong_type, ::strong_type_getter, ::strong_type_getter >)  ,
champsim::lru_table<::type_with_getters >   
)

◆ TEMPLATE_TEST_CASE() [3/8]

TEMPLATE_TEST_CASE ( "A lru_table exhibits set-associative behavior"  ,
""  ,
(champsim::lru_table<::strong_type, ::strong_type_getter, ::strong_type_getter >)  ,
champsim::lru_table<::type_with_getters >   
)

◆ TEMPLATE_TEST_CASE() [4/8]

TEMPLATE_TEST_CASE ( "A lru_table misses after invalidation"  ,
""  ,
(champsim::lru_table<::strong_type, ::strong_type_getter, ::strong_type_getter >)  ,
champsim::lru_table<::type_with_getters >   
)

◆ TEMPLATE_TEST_CASE() [5/8]

TEMPLATE_TEST_CASE ( "A lru_table replaces LRU"  ,
""  ,
(champsim::lru_table<::strong_type, ::strong_type_getter, ::strong_type_getter >)  ,
champsim::lru_table<::type_with_getters >   
)

◆ TEMPLATE_TEST_CASE() [6/8]

TEMPLATE_TEST_CASE ( "A lru_table returns the evicted block on invalidation"  ,
""  ,
(champsim::lru_table<::strong_type, ::strong_type_getter, ::strong_type_getter >)  ,
champsim::lru_table<::type_with_getters >   
)

◆ TEMPLATE_TEST_CASE() [7/8]

TEMPLATE_TEST_CASE ( "An empty lru_table misses"  ,
""  ,
(champsim::lru_table<::strong_type, ::strong_type_getter, ::strong_type_getter >)  ,
champsim::lru_table<::type_with_getters >   
)

◆ TEMPLATE_TEST_CASE() [8/8]

TEMPLATE_TEST_CASE ( "An lru_table is copiable and moveable"  ,
""  ,
(champsim::lru_table<::strong_type, ::strong_type_getter, ::strong_type_getter >)  ,
champsim::lru_table<::type_with_getters >   
)