Data submodule instead of CMake External Data#1000
Conversation
|
🍹 Whohoo! I landed the 1000th pull request!! 🍹 |
|
Jenkins: OGS-6/Linux-PRs failed: https://svn.ufz.de:8443/job/OGS-6/job/Linux-PRs/1115/ |
|
👏 |
|
Jenkins: OGS-6/Win-PRs failed: https://svn.ufz.de:8443/job/OGS-6/job/Win-PRs/1012/ |
There was a problem hiding this comment.
If path is empty, the check will true, as far as i can see. That's good, but not obvious.
In general I'd prefer a method like join(path1, path2) to this one, because that would make sure that there are (back)slashes inserted appropriately whenever you use it.
If you don't agree, please at least document the behaviour for empty strings. In particular since that is the reason why OGS does not write to / when the new -o option is omitted. ✅
|
😂 |
|
Btw: There was that discussion about whether the CMake scripts should get the whole history of the test data repo by default. Do they, or do they restrict the history to, e.g., the most recent commit? |
562279c to
6de7a57
Compare
|
Jenkins: OGS-6/Linux-PRs failed: https://svn.ufz.de:8443/job/OGS-6/job/Linux-PRs/1125/ |
|
Jenkins: OGS-6/Mac-PRs failed: https://svn.ufz.de:8443/job/OGS-6/job/Mac-PRs/1020/ |
|
Jenkins: OGS-6/Linux-PRs failed: https://svn.ufz.de:8443/job/OGS-6/job/Linux-PRs/1126/ |
|
@chleh Unfortunately it is not possible to use shallow clones for submodules: if you just clone the most recent commit from a repos default branch and your submodule points to another commit in that repo things break... |
|
Jenkins: OGS-6/Linux-PRs failed: https://svn.ufz.de:8443/job/OGS-6/job/Linux-PRs/1130/ |
|
Jenkins: OGS-6/Linux-PRs failed: https://svn.ufz.de:8443/job/OGS-6/job/Linux-PRs/1131/ |
|
@bilke Have you considered this: http://stackoverflow.com/a/17692710 |
|
⏩ |
|
@chleh Yes I have seen this but it does not help. |
|
Jenkins: OGS-6/Linux-PRs failed: https://svn.ufz.de:8443/job/OGS-6/job/Linux-PRs/1132/ |
|
Jenkins: OGS-6/Linux-PRs failed: https://svn.ufz.de:8443/job/OGS-6/job/Linux-PRs/1133/ |
|
Jenkins: OGS-6/Linux-PRs failed: https://svn.ufz.de:8443/job/OGS-6/job/Linux-PRs/1150/ |
|
Looks good and will definitely simplify updating of the tests. Hopefully it will not stress the github traffic too much. ⏩ after the petsc neumann test is fixed by Wenqing. |
Writes output files to the specified output directory.
Test output files are written to ${CMAKE_BUILD_DIR}/Tests/Data.
As a WIP data files have to be in ${CMAKE_SOURCE_DIR}../data
|
Jenkins: OGS-6/Linux-PRs failed: https://svn.ufz.de:8443/job/OGS-6/job/Linux-PRs/1168/ |
|
@bilke I've copied the results to directory of |
|
Thanks! Please note that the correct name for reference files is |
Data submodule instead of CMake External Data
|
OpenGeoSys development has been moved to GitLab. |
This PR ditches the CMake External Data stuff due to complicated handling and instead uses a git submodule in
Tests/Datato provide test files. It will get checked out automatically whenOGS_BUILD_TESTS=ON.I also added an option (
-o [dir]) to the cli to specify an output directory, see af0f0dc. Should the output directory be stored somewhere for later use? At the moment it is simply passed tosolveProcesses().The data submodule is a normal git repository (I also tried git-lfs but is slower when downloading / uploading and it is one dependency more because it has to be installed in addition to git). We just fill it with data and see if we hit some performance problems in the future...
Also unit tests can makes use of input files now. You can use
data_pathpointing[source-dir/Tests/Data]. For writing output files you can usedata_binary_pathpointing to[build-dir]/Tests/Data(see BuildInfo.h).