Comments (7)
@rolk I've created a CDash project for opm-core, see
http://opm-project.org/CDash/index.php?project=opm-core
if you don't want to use it, I will remove it again.
from opm-core.
I'm not familiar with CDash, but I assume that it can be used to automatically build and test the library. However, I could not figure out if that had been set up. It would be a good thing to have, certainly.
We do build tests internally with Jenkins, but any additional testing is good!
from opm-core.
I could need some guidance on how the tests are run; about one third of them uses Boost.Test, but many of the remaining don't even return a status value!
from opm-core.
We currently do not run any tests automatically. At best, the tests that use Boost.Test are invoked manually, e.g.,
$ ./test_wells
Running 3 test cases...
*** No errors detected
All other executables in the tests
directories aren't really tests in the language of "unit tests". They are more akin to quick (manual) checks that we get expected behaviour. For instance, the test_sf2p
executable simply computes mobilities and mobility derivatives at a number of saturation points to verify (by inspection) that a particular fluid model behaves as expected. I think many of these should simply be removed and the remaining converted into proper tests.
from opm-core.
We can of course run the tests and then grep for key items that determines if they are accurate. However, I think Boost.Test unit tests (or some other unit testing framework -- Boost.Test already being used) are the best approach, because the build system could just iterate all files and run them.
I suggest that I move everything that does not currently run automatically into a separate directory (for later cleanup, whenever that will be) and then automate the rest. I think it would make it easier to write more unit tests in the future.
from opm-core.
@rolk stated:
I suggest that I move everything that does not currently run automatically into a separate directory ... and then automate the rest
Yes, please. That would be great.
from opm-core.
This issue should be fixed as of commit ade22d2
To add a new unit test, put a file called test_XXX.cpp in the directory tests/. It will be automatically picked up by the build system. It should use Boost.Test to provide an acceptable interface to the testing framework.
from opm-core.
Related Issues (20)
- Some tests break after OPM/opm-parser#768 HOT 1
- Initialization and restart HOT 1
- Failing test_relpermdiagnostics HOT 4
- Dereferencing of end iterator happens in initStateEquil.hpp
- test_pinchprocessor is broken? HOT 3
- opm-core build fails HOT 4
- parameter's ouput does not show up in .CASE_NAME.DEBUG HOT 2
- Allow passing the size of the initial time step to adaptive time stepper HOT 1
- Runtime failure in "linsolver" test - umfpack not configured HOT 2
- Add restart test with no wells present.
- WellState::init has memory problems HOT 7
- Don't we need to keep track of (artificially) shut completions in the simulator for output? HOT 3
- Windows Installer (guide) failed HOT 3
- Compilation error due to not finding opm/output/data/Wells.hpp HOT 2
- Broken test HOT 3
- Multiple definitions of OPM_THROW HOT 1
- opm-core broken related to petsc HOT 2
- Some files missing? HOT 2
- Question: How OPM handles well sources in multi-cell wells? HOT 4
- Installing OPM in CentOS 8.1 (RPM) HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from opm-core.