Merge pull request #2488 from polgreen/common_call_graph_funcs
factor out common call graph unit test functions into header
This commit is contained in:
commit
5423ea4429
|
@ -8,40 +8,17 @@ Author:
|
|||
|
||||
#include <iostream>
|
||||
|
||||
#include <testing-utils/call_graph_test_utils.h>
|
||||
#include <testing-utils/catch.hpp>
|
||||
|
||||
#include <analyses/call_graph.h>
|
||||
#include <analyses/call_graph_helpers.h>
|
||||
|
||||
#include <util/symbol_table.h>
|
||||
#include <util/std_code.h>
|
||||
|
||||
#include <goto-programs/goto_convert_functions.h>
|
||||
|
||||
static symbolt create_void_function_symbol(
|
||||
const irep_idt &name,
|
||||
const codet &code)
|
||||
{
|
||||
const code_typet void_function_type({}, empty_typet());
|
||||
symbolt function;
|
||||
function.name=name;
|
||||
function.type=void_function_type;
|
||||
function.mode=ID_java;
|
||||
function.value=code;
|
||||
return function;
|
||||
}
|
||||
|
||||
static bool multimap_key_matches(
|
||||
const std::multimap<irep_idt, irep_idt> &map,
|
||||
const irep_idt &key,
|
||||
const std::set<irep_idt> &values)
|
||||
{
|
||||
auto matching_values=map.equal_range(key);
|
||||
std::set<irep_idt> matching_set;
|
||||
for(auto it=matching_values.first; it!=matching_values.second; ++it)
|
||||
matching_set.insert(it->second);
|
||||
return matching_set==values;
|
||||
}
|
||||
|
||||
SCENARIO("call_graph",
|
||||
"[core][util][call_graph]")
|
||||
|
|
|
@ -8,28 +8,16 @@ Author: Chris Smowton, chris.smowton@diffblue.com
|
|||
|
||||
#include <iostream>
|
||||
|
||||
#include <testing-utils/catch.hpp>
|
||||
#include <analyses/dependence_graph.h>
|
||||
#include <util/symbol_table.h>
|
||||
#include <util/std_code.h>
|
||||
#include <util/c_types.h>
|
||||
#include <util/arith_tools.h>
|
||||
#include <ansi-c/ansi_c_language.h>
|
||||
#include <goto-programs/goto_convert_functions.h>
|
||||
#include <langapi/mode.h>
|
||||
#include <ansi-c/ansi_c_language.h>
|
||||
|
||||
static symbolt create_void_function_symbol(
|
||||
const irep_idt &name,
|
||||
const codet &code)
|
||||
{
|
||||
const code_typet void_function_type({}, empty_typet());
|
||||
symbolt function;
|
||||
function.name = name;
|
||||
function.type = void_function_type;
|
||||
function.mode = ID_java;
|
||||
function.value = code;
|
||||
return function;
|
||||
}
|
||||
#include <testing-utils/call_graph_test_utils.h>
|
||||
#include <testing-utils/catch.hpp>
|
||||
#include <util/arith_tools.h>
|
||||
#include <util/c_types.h>
|
||||
#include <util/std_code.h>
|
||||
#include <util/symbol_table.h>
|
||||
|
||||
const std::set<goto_programt::const_targett>&
|
||||
dependence_graph_test_get_control_deps(const dep_graph_domaint &domain)
|
||||
|
|
|
@ -8,40 +8,15 @@ Author:
|
|||
|
||||
#include <iostream>
|
||||
|
||||
#include <testing-utils/call_graph_test_utils.h>
|
||||
#include <testing-utils/catch.hpp>
|
||||
|
||||
#include <analyses/call_graph.h>
|
||||
#include <analyses/call_graph_helpers.h>
|
||||
|
||||
#include <util/std_code.h>
|
||||
#include <util/symbol_table.h>
|
||||
|
||||
#include <goto-programs/goto_convert_functions.h>
|
||||
|
||||
static symbolt
|
||||
create_void_function_symbol(const irep_idt &name, const codet &code)
|
||||
{
|
||||
const code_typet void_function_type({}, empty_typet());
|
||||
symbolt function;
|
||||
function.name = name;
|
||||
function.type = void_function_type;
|
||||
function.mode = ID_java;
|
||||
function.value = code;
|
||||
return function;
|
||||
}
|
||||
|
||||
static bool multimap_key_matches(
|
||||
const std::multimap<irep_idt, irep_idt> &map,
|
||||
const irep_idt &key,
|
||||
const std::set<irep_idt> &values)
|
||||
{
|
||||
auto matching_values = map.equal_range(key);
|
||||
std::set<irep_idt> matching_set;
|
||||
for(auto it = matching_values.first; it != matching_values.second; ++it)
|
||||
matching_set.insert(it->second);
|
||||
return matching_set == values;
|
||||
}
|
||||
|
||||
SCENARIO("graph", "[core][util][graph]")
|
||||
{
|
||||
GIVEN("Some cyclic function calls")
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
SRC = \
|
||||
call_graph_test_utils.cpp \
|
||||
free_form_cmdline.cpp \
|
||||
message.cpp \
|
||||
require_expr.cpp \
|
||||
|
|
|
@ -0,0 +1,33 @@
|
|||
/*******************************************************************\
|
||||
|
||||
Module: Call graph test utils
|
||||
|
||||
Author: Chris Smowton, chris.smowton@diffblue.com
|
||||
|
||||
\*******************************************************************/
|
||||
|
||||
#include "call_graph_test_utils.h"
|
||||
|
||||
symbolt
|
||||
create_void_function_symbol(const irep_idt &name, const codet &code)
|
||||
{
|
||||
const code_typet void_function_type({}, empty_typet());
|
||||
symbolt function;
|
||||
function.name = name;
|
||||
function.type = void_function_type;
|
||||
function.mode = ID_java;
|
||||
function.value = code;
|
||||
return function;
|
||||
}
|
||||
|
||||
bool multimap_key_matches(
|
||||
const std::multimap<irep_idt, irep_idt> &map,
|
||||
const irep_idt &key,
|
||||
const std::set<irep_idt> &values)
|
||||
{
|
||||
auto matching_values = map.equal_range(key);
|
||||
std::set<irep_idt> matching_set;
|
||||
for(auto it = matching_values.first; it != matching_values.second; ++it)
|
||||
matching_set.insert(it->second);
|
||||
return matching_set == values;
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
/*******************************************************************\
|
||||
|
||||
Module: Call graph test utils
|
||||
|
||||
Author: Chris Smowton, chris.smowton@diffblue.com
|
||||
|
||||
\*******************************************************************/
|
||||
|
||||
#ifndef CPROVER_TESTING_UTILS_CALL_GRAPH_TEST_UTILS_H
|
||||
#define CPROVER_TESTING_UTILS_CALL_GRAPH_TEST_UTILS_H
|
||||
|
||||
#include <analyses/call_graph.h>
|
||||
|
||||
#include <util/std_code.h>
|
||||
|
||||
symbolt
|
||||
create_void_function_symbol(const irep_idt &name, const codet &code);
|
||||
|
||||
bool multimap_key_matches(
|
||||
const std::multimap<irep_idt, irep_idt> &map,
|
||||
const irep_idt &key,
|
||||
const std::set<irep_idt> &values);
|
||||
|
||||
#endif /* CPROVER_TESTING_UTILS_CALL_GRAPH_TEST_UTILS_HT */
|
|
@ -1,3 +1,4 @@
|
|||
ansi-c
|
||||
testing-utils
|
||||
util
|
||||
analyses
|
||||
|
|
Loading…
Reference in New Issue