Stage is a C++ helper library for creating temporary project environment to test how a library interacts in a "real" scenario.
It helps with an overview of operations:
- You give
Stage
a path to abase
(e.g.tests/testStage
)
- A
base
is a project that will be used as a template - The
base
should contain the files you want to use in all your stages - This creates a unique temporary directory as
tests/testStage/stages/xxxxxx
- You give
Stage
a set of files from thebase
(e.g.{tests/testStage/CMakeLists.txt, tests/testStage/cmake/Module.cmake}
) - You give
Stage
a set of source files with content (this will be your test) - You let
Stage
build the project and you run some arbitrary commands inside the stage - The
Stage
object goes out of scope and the temporary directory is destroyed
TODO
TODO