» Test Framework
This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more.

Test Framework

In order to prevent certain bugs from resurfacing again after they've been fixed, vvvv has a test framework. The framework consists of a couple of nodes and a simple template that test-patches have to follow to test for a specific known bug. If the bug persists, the patch returns an error-, otherwise a success-code.

Everytime the vvvv build-server creates a new alpha-vvvversion it also runs all available test-patches. If any of the test-patches fails, the build is not being released and the devvvvs are being informed about the problem.

Therefore the more test-patches we collect about known issues the less likely it is that our build-server lets a buggy build slip through. Here is how you can help us to improve the release-quality of vvvv by creating and sending us test-patches for issues you find:

  1. Create a test-patch by starting from "\lib\nodes\Template test.v4p" patch
  2. Make sure the test fails
  3. Upload the patch in the forum or pull-request to https://github.com/vvvv/vvvv-sdk/tree/develop/vvvv45/tests/patches

Test Patches

To be recognized as a test-patch by the build-server a patch needs to:

  • follow this naming scheme:
    • "* test.v4p", e.g: "DuplicateNodes test.v4p" or "Cons (String) test.v4p"
  • have the following in- and outlets
    • Inlets: Run (bang)
    • Outlets: Success (bool), Message (string), Running (bool)
The template for test-patches

The test-framework will open every such patch and bang its Run input. Now the creator of the patch is responsible to test for a specific case and return a Success of 1 (for true) or 0 (for false). Additionally a Message can be returned. Typically it is enough to run tests for exactly one frame only and the Run input can be directly connected to the Running output. But it is also fine to have tests running for a couple of frames by setting Running back to 0 after some frames past.

The build-logs including test-results per build-attempt can be found on the build-server:

Useful Nodes

The Test category in the nodebrowser holds a couple of nodes that can be useful for building test-patches, like:

  • Assert (Test)
  • AreEqual (Test Value)
  • AreEqual (Test String)

Consult their help-patches to learn how to use them.

Test Rig

To run test-patches locally, get TeamCityTester.v4p from here:
https://github.com/vvvv/vvvv-sdk/tree/develop/vvvv45/tests

and enter the directory that holds your test-patches into the Directory IOBox, then press Run Tests.

This is the same patch our build-server runs, so the TTY output is a bit cryptic but you should be able to identify problems there.

anonymous user login

Shoutbox

~3mth ago

joreg: END OF SHOUTBOX! As this page has is now legacy, it will no longer feature new content. For latest news, see: http://vvvv.org

~4mth ago

joreg: vvvvTv S0204 is out: Custom Widgets with Dear ImGui: https://youtube.com/live/nrXfpn5V9h0

~4mth ago

joreg: New user registration is currently disabled as we're moving to a new login provider: https://visualprogramming.net/blog/2024/reclaiming-vvvv.org/

~4mth ago

joreg: vvvvTv S02E03 is out: Logging: https://youtube.com/live/OpUrJjTXBxM

~4mth ago

~4mth ago

joreg: Follow TobyK on his Advent of Code: https://www.twitch.tv/tobyklight

~4mth ago

joreg: vvvvTv S02E02 is out: Saving & Loading UI State: https://www.youtube.com/live/GJQGVxA1pIQ

~4mth ago

joreg: We now have a presence on LinkedIn: https://www.linkedin.com/company/vvvv-group

~5mth ago

joreg: vvvvTv S02E01 is out: Buttons & Sliders with Dear ImGui: https://www.youtube.com/live/PuuTilbqd9w

~5mth ago

joreg: vvvvTv S02E00 is out: Sensors & Servos with Arduino: https://visualprogramming.net/blog/2024/vvvvtv-is-back-with-season-2/