javapathfinder / jpf-core

JPF is an extensible software analysis framework for Java bytecode. jpf-core is the basis for all JPF projects; you always need to install it. It contains the basic VM and model checking infrastructure, and can be used to check for concurrency defects like deadlocks, and unhandled exceptions like NullPointerExceptions and AssertionErrors.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Unit test for Package java.util.function

gaurangkudale opened this issue · comments

Unit test for java.util.function is missing src/tests/java8/

Hi @cyrille-artho
I've created this issue and I'll be starting working on this issue

Thanks, it is great that you found an issue to work on by yourself.
As a first step, a simple test that touches on a couple of classes is probably going to suffice for java.util.function.
The reason is that JPF does not have so-called "model classes" for java.util.function in src/classes. (There is no directory called src/classes/java/util/function.
So any code that is in the existing Java library (of the host JVM) will get executed, and it will work on JPF unless there are native methods; in that case, we would require model classes for the classes that contain these methods, and perhaps even native peers.
A unit test that uses a couple of the classes in package java.util.function will show us if that is the case or not.

Hi @cyrille-artho,
What I've understood is we require the src/classes/java/util/function directory in that we should have classes that contain these methods (In-short Package java.util.function is missing) after that unit test will work is that a case?
If it's not the case can you please tell me step by step what should I do?

What I meant was: First, we need a unit tests (or a few) that cover a couple of typical use cases of classes in java.util.function. The unit tests will then either pass (in which case we are done unless someone else finds a failing test in the future) or fail. If the tests fail, then we either need to fix jpf-core itself, or write model classes in src/classes/java/util/function.
For now, there is no need to modify src/classes.

Hi @cyrille-artho,
I've sent the pull request please checkout!