Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Using util method via reflection #2711

Open
Assignees
Labels
comp-codegenIssue is related to code generator ctg-bugIssue is a bug
@Damtev

Description

Consider the following class com.google.common.primitives.Booleans$LexicographicalComparator in guava-26.0:

private static enum LexicographicalComparator implements Comparator<boolean[]> { ... }

In tests for methods of this class in some specific conditions we generate the following code:

 Class booleansLexicographicalComparatorTestClazz = Class.forName("com.google.common.primitives.Booleans_LexicographicalComparatorTest");
 Class classType = Class.forName("java.lang.Class");
 Class stringType = Class.forName("java.lang.String");
 Method getStaticFieldValueMethod = booleansLexicographicalComparatorTestClazz.getDeclaredMethod("getStaticFieldValue", classType, stringType);
 getStaticFieldValueMethod.setAccessible(true);
 java.lang.Object[] getStaticFieldValueMethodArguments = new java.lang.Object[2];
 getStaticFieldValueMethodArguments[0] = "com.google.common.primitives.Booleans$LexicographicalComparator";
 getStaticFieldValueMethodArguments[1] = "INSTANCE";
 Object lexicographicalComparator = getStaticFieldValueMethod.invoke(null, getStaticFieldValueMethodArguments);

Steps to reproduce:

  1. Checkout to usvm_competitions_2024 branch, at least one reproducable commit 5503f43
  2. Use the following settings in ContestEstimator:
     val timeLimit = 120
     methodFilter = "com.google.common.primitives.Booleans\$LexicographicalComparator.toString"
     projectFilter = listOf("guava-26.0")
  3. Add the following line com.google.common.primitives.Booleans$LexicographicalComparator to the utbot-junit-contest/src/main/resources/classes/guava-26.0/list
  4. Always use symbolicResult and ignore concreteResult in org.utbot.contest.usvm.jc.JcTestExecutor#execute

Metadata

Metadata

Assignees

Labels

comp-codegenIssue is related to code generator ctg-bugIssue is a bug

Type

No type

Projects

Status

Todo

Milestone

No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      AltStyle によって変換されたページ (->オリジナル) /