Closed gyscos closed 4 years ago
The tests were always a bit shaky on their concept, we wanted to be able to view the test cases we created while simultaneously hiding them from someone who just might want to have a look at common use cases in the /examples
to use as a starting point for their application, that was the original reason why we chose /src/bin
with tmux
as terminal emulation in the actual tests.
I agree with you that moving the puppet-backend-tests
branch on master would probably be the best course of action. This way we can simplify the testing process quite a bit (not requiring npm e.g. :sweat_smile:). The only real 'loss' we would have in this case is the viewability of tests, but the gains of only having cursive_core
as required dependency and simplification of testing outweigh this factor imo. (@fin-ger)
If everyone is onboard for the proposed changes I would like to add them with the release process for the next minor 0.5
.
Finally managed to put everything together, the puppet-backend-tests
branch could be brought quickly up to date with the current version and it worked rather well :grin:.
The old tests are now all translated to puppet tests and located directly in tests
, this also makes testing a bit easier as no prerequirements except rust is required.
I am trying to update
cursive-tabs
to depend oncursive_core
rather thancursive
(cursive_core
is basicallycursive
without backends, so should be enough for libraries and have fewer breaking changes). Dependencies would still pull the fullcursive
crate.Currently end2end test binaries are in
src/bin/
. This means that they use the same dependencies as the library itself; but (like other tests) they require the fullcursive
crate and not justcursive_core
.(There is a RFC for per-bin dependencies, but it's not looking good yet, and probably not really the right thing™ anyway.)
Moving it to
tests
orexamples
would make them usedev-dependencies
.Another (probably better) solution is the
puppet-backend-tests
branch, which replaces these with direct individual tests.