Am 17.05.21 um 13:16 schrieb Will Godfrey:
However, I'd still especially like to see the testing work from Hermann, ...


Hi Yoshimi-developers,

currently I'm about to find out about ways to hook into Yoshimi for testing.
I'd appreciate any further hints, recommendations or proposals.

As we've discussed, the first thing I'd like to concentrate on is to allow
for automated acceptance tests on the engine level. As you probably know,
usually the testing effort today is organised into a "test pryramid", and
we strive to do as much tests automated on a rather low level, since testing
becomes more complicated, brittle and context dependent on higher levels of
integration.

Thus I'd prefer to run those engine level tests without any connection to
any audio or midi system. Why? because I'd like to allow running such tests
in a docker container, possibly even within some cloud service (like AWS),
because this is an convenient and cheap way to ensure a comparable and
reproducible execution environment over an extended period of time.

Of course as a standard routine, it will always be possible to run the
tests just on the local machine for development. It is important for
such tests to be very easy to start, but also flexible in the setup.


From a little bit of looking around and some experimentation I get the
impression this is not possible right now, since Yoshimi attempts to
auto-connect to ALSA. However, when I install and start yoshimi in
a docker container with debian, it picks the "no_audio" backend,
but segfaults then (don't bother, I'll find out what is going on
there soon...)

Questions:

- is there some flag or option to start yoshimi with this "no_audio" and
  "no_midi" backend right away? Maybe we'd have to create such an option?

- is it possible to launch yoshimi and immediately execute a CLI script?
  Ideally yoshimi should remain in CLI mode afterwards, unless the script
  ends with an "exit" command, in which case yoshimi should exit without
  much further ado.


Currently I'd prefer to build some dedicated test commands into the CLI.
But obviously, having a dedicated commandline argument to launch a test
would be another option. A third (less preferrable IMHO) option would be
to build a dedicated test executable, which links against yoshimi code.
Of course, tests would always start yoshimi with a state file, in order
to get a controlled environment.

As said, I am in the brainstorming phase and happy to pick up any
other proposed approach that is viable

-- Hermann




_______________________________________________
Yoshimi-devel mailing list
Yoshimi-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/yoshimi-devel

Reply via email to