August'24: Kamaelia is in maintenance mode and will recieve periodic updates, about twice a year, primarily targeted around Python 3 and ecosystem compatibility. PRs are always welcome. Latest Release: 1.14.32 (2024/3/24)

Developers/Projects/TestingFramework/Discussion

These are ideas gathered for the testing framework. This ideas are still being discussed, I just write this wiki page to be able to effectively reference them in an easy way (saying [foo1] instead of saying "that thing Foo said in the list that day..."). I'll update this page during the discussion.

Convention


I'm using the convention [xxxY] being xxx the first three letters of the nick of somebody and Y the number of the idea of this someone.

[orp?] -> orphans
[dav?] -> Davbo
[law?] -> Lawouach
[cho?] -> Chong
[jba?] -> j_baker

Ideas


So the ideas, if I understood them correctly, are:

  [orp1] Provide a given input to a components and check the outputs to check that the format is correct.
  [orp2] Make sure that when you ask for it, it finishes.
  [orp3] Check that a component has called the pause() method at some time

  [dav1] A random set of pygame interrupts to the display
  [dav2] A logging engine that can be enable/disable certain components so you can keep the printing of the messages in the code, but it will just not be showed if not wanted.

  [law1] Be able to unit test components independently.

  [cho1] Provide inputs for the component and expect output from it.
  [cho2] Check variables in runtime.
  [cho3] try..except helpful to prevent program from crashing but harmful when finding bugs. It would be nice if it could be disabled.
  [cho4] Check which components are still running and which components are not.

  [jba1] logging engine that can be enable/disable certain components so you can keep the printing of the messages in the code, but it will just not be showed if not wanted.

Ordering the ideas


Ordering them by functionality, we get: