bcube-project / BcubeTutorials.jl

Tutorials and examples for the Bcube project
MIT License
2 stars 0 forks source link

Integration tests #11

Open bmxam opened 5 months ago

bmxam commented 5 months ago

So far, the project is divided into tutorials (src/tutorials) and examples (src/examples). The tutorials all share the same Project.toml located at the root of the project whereas each example has its own Project.toml. This way,

It seems to me that the current implementation of test is not compatible is what I've described above : it requires that all the examples share the main Project.toml. For instance the naca has many dependencies that are not in the main Project.toml, so we could add it to the integration tests as is.

I see the following solutions for now:

  1. Unique Project.toml We abandon the idea of having one Project.toml per example and merge all the dependencies in the main Project.toml. For me the main issue with this solution is that we cannot use different [compat] for each example hence we have to always keep everything up to date.

  2. Use only files We could imagine some kind of "testing procedure" where all the examples are executed (with their own env) and they write their results in a specific file or folder and the testing procedure read these files and compare them to the ref ones.

  3. Use subprojects? See https://github.com/JuliaLang/Pkg.jl/issues/1233. I don't remember very well, but it seems to me that in the latest release(s) of julia their is some kind of subproject mechanism that could help us.

bmxam commented 5 months ago

Live discussion : let's choose solution 1. for now