Skip to content

Commit c227ab5

Browse files
Unit test for is_clinit_function
Shows that is_clinit_function returns true iff input has method signature with a suffix that matches that of clinit
1 parent 47a8f4e commit c227ab5

File tree

3 files changed

+29
-0
lines changed

3 files changed

+29
-0
lines changed

jbmc/unit/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ SRC += java_bytecode/ci_lazy_methods/lazy_load_lambdas.cpp \
4747
java_bytecode/java_object_factory/gen_nondet_string_init.cpp \
4848
java_bytecode/java_object_factory/struct_tag_types.cpp \
4949
java_bytecode/java_replace_nondet/replace_nondet.cpp \
50+
java_bytecode/java_static_initializers/java_static_initializers.cpp \
5051
java_bytecode/java_string_library_preprocess/convert_exprt_to_string_exprt.cpp \
5152
java_bytecode/java_types/erase_type_arguments.cpp \
5253
java_bytecode/java_types/generic_type_index.cpp \
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
/*******************************************************************\
2+
3+
Module: Unit tests for java_types
4+
5+
Author: Diffblue Ltd.
6+
7+
\*******************************************************************/
8+
9+
#include <java_bytecode/java_static_initializers.h>
10+
#include <testing-utils/use_catch.h>
11+
12+
SCENARIO("is_clinit_function", "[core][java_static_initializers]")
13+
{
14+
GIVEN("A function id that represents a clinit")
15+
THEN("is_clinit_function should return true.")
16+
{
17+
const std::string input = "com.something.package.TestClass.<clinit>:()V";
18+
REQUIRE(is_clinit_function(input));
19+
}
20+
GIVEN("A function id that does not represent a clinit")
21+
THEN("is_clinit_function should return false.")
22+
{
23+
const std::string input = "com.something.package.TestClass.<notclinit>:()V";
24+
REQUIRE_FALSE(is_clinit_function(input));
25+
}
26+
}
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
java_bytecode
2+
testing-utils

0 commit comments

Comments
 (0)