The Igor Pro Universal Testing Framework (IUTF) is a versatile tool to write and run tests for Igor Pro code. The results of the tests is outputted in standardized formats that can be parsed by common CI frameworks. Test runs can also be fully automated as part of a CI/CD workflow. For simpler usage scenarios a summary of the test run is shown in the history after it finished.
The IUTF offers great flexibility for writing test cases. It is supported to run the same test case with multiple inputs as well as Igor Pro specific features such as independent modules or background activities.
The IUTF is applied as a reliable tool in larger Igor Pro projects such as MIES.
#pragma TextEncoding="UTF-8"
#pragma rtGlobals=3
#include "igortest"
// Simple demo example that tests the abs() function
Function TestAbsolute()
CHECK_EQUAL_VAR(abs(1.5), 1.5)
CHECK_EQUAL_VAR(abs(-1.5), 1.5)
CHECK_EQUAL_VAR(abs(NaN), NaN)
CHECK_EQUAL_VAR(abs(Inf), Inf)
CHECK_EQUAL_VAR(abs(-Inf), Inf)
End
The framework itself combines numerous features:
The documentation contains a guided tour and an introduction to the basic structure.
Igor Pro version 6.37 or newer on Windows and MacOSX
UnitTestingFramework-v1.09.zip
.alice/IgorTestingFramework
Help/Show Igor Pro User Files
from the menu in Igor Proalice/IgorTestingFramework/procedures
in the User Procedures
subfolderMost parts of IUTF are licensed under the BSD-3 clause.
We plan to adopt Semantic Versioning in the future. See issue 386 for further details. For the versions available, see the tags on this repository or our releases.