benchexec icon indicating copy to clipboard operation
benchexec copied to clipboard

Update test framework

Open PhilippWendler opened this issue 9 years ago • 8 comments

Currently the tests are executed with nose, but this framework is dead. We should switch to a new framework, for example nose2 or py.test.

It seems py.test has quite useful support for fixtures and parameterized tests, not sure whether nose2 also supports this.

PhilippWendler avatar Nov 25 '16 15:11 PhilippWendler

Furthermore, setup.py test is deprecated and will be removed in the future. We might just tell people to use the command of the test framework that we decide on, or use tox.

PhilippWendler avatar Oct 14 '20 13:10 PhilippWendler

Problems I found while investigating:

  • We have tests directly in packages (in __init__.py), but nose2 and other testing frameworks do not support this.
  • We have test modules with names that are not globally unique (e.g., test_integration), this also seems problematic for many testing frameworks.
  • We have tests below contrib/, but contrib/ is not a proper package (and shouldn't be).

PhilippWendler avatar Jul 04 '22 15:07 PhilippWendler

Hi, can you explain what we need to do to fix the issue, I am a beginner so I am having trouble understanding.

Mihan786Chistie avatar Feb 23 '23 11:02 Mihan786Chistie

As a first step, an appropriate framework needs to be chosen. This should be done systematically based on criteria like ease of use, how common the framework is, whether it is well maintained etc. Next, the framework needs to be integrated in BenchExec's project structure and the existing tests need to adjusted where necessary. This might also include restructuring the tests and in general improving their state because as mentioned above, the current test infrastructure might be problematic for some test frameworks.

PhilippWendler avatar Feb 24 '23 05:02 PhilippWendler

I have created a new discussion related to this topic as it can easy to find for everyone instead of under an issue

Naman-Priyadarshi avatar Feb 26 '23 16:02 Naman-Priyadarshi

Yes, please let's keep this issue focused on actual discussion of the migration to a new test framework. Any more general discussions, including personal introductions, GSoC projects, etc. should be done in the GitHub Discussions.

PhilippWendler avatar Feb 27 '23 10:02 PhilippWendler

Hi, Can you explain what we need to fix the issue, I am a beginner so I have some problems to understanding.

Kanchan9m avatar Mar 15 '23 21:03 Kanchan9m

There are some concrete problems listed above and there is also a discussion about this in https://github.com/sosy-lab/benchexec/discussions/903. If you have any further concrete questions, please ask them. Questions about the concrete issue should be posted here, more general questions in the discussion.

PhilippWendler avatar Mar 16 '23 09:03 PhilippWendler