Product: CODESYS Test Manager

Key Issue Type Summary Resolution Release Note
TM-1295 Improvement

TestManger should be UI-testable with .net 4.8

TM-1249 Bug

IEC Unit test in library: InvalidOperationException, silently skipping test cases

TM-1230 Improvement

Update build library target to SP16 Patch 3

Fixed [[GENERAL]]
Updated compiler version of the library "TestManagerIecUnitTest.library" from to
TM-1223 Bug

Fix example projects

TM-1215 Bug

IecUnitTest: the state variables are evaluated in the wrong order

TM-1209 Improvement

[Implementation] Add API documentation to assert functions

TM-1182 Epic

IEC Unit Test: Assert functionality

Fixed [[GENERAL]]
There is now the possibility to use assertion functions within IecUnitTests. By using these functions, the author of the unit tests doesn't have to set the outputs of the underlying behavior model anymore.
Predefined assertions are available for every standard datatype, one dimensional arrays of every standard datatype except date and time types and various compare operations (e.g. Equal, NotEqual, Greater, Contains, ...).
TM-1172 Improvement

Remove TestRepositoryServer and TestRepositoryHTTP from sources

TM-1160 Bug

Reporting: Writing xml report crashes if additional result information contains an empty tag

TM-1153 Bug

TestManager TestTables: Custom conditions not compilable with CODESYS V3.5.17.0 and newer

TM-1137 Bug

TestTable: Created code leads to errors when testee contains IN_OUT variables

VAR_IN_OUT are not supported yet.
If a testee with VAR_IN_OUT is used there will be an error while editing Testee field of TestTable. No further error will appear on execution only compile errors.
VAR_IN_OUT will be introduced by TM-1210
TM-1130 Bug

Not possible to use variables after reading value to it

Integer and floating point numbers that are retrieved by monitoring actions are converted to Int64/Doubles to match the datatype of TestManager variables.
This may affect type specific cast in scripting actions, but should not affect any expressions in the test script itself (e.g. Chooses, Assignments, ...).
TM-1127 Bug

System.Data.Sqlite: Broken function if assembly is present in Windows Global Assembly Cache

Fixed [[GENERAL]]
Update SQLite to
TM-1121 Bug

Testdriver Devices: Set communication path with restricted device id fails for ids containing letters

TM-1119 Bug

TestScript: Removing an empty and unnamed subcategory removes multiple items

TM-1112 Bug

TestScript: Call to root level test script not possible from elsewhere but root

TM-1110 Bug

Possible script injection through tester field

TM-1102 Bug

List of TestRepositories can overriden by editing existing Testrepository list

TM-1100 Improvement

[Implementation] Single Cycle Testcase: Add support execution of a simple "single cycle test case"

Won't Fix [[GENERAL]]
Won't fix: This functionality is no longer needed because of the planned test explorer.
TM-1077 Bug

TM: TM-Variable support of CompareVariables should be consistent to CompareVariableList

TM-1074 Bug

Edit referenced Testscript does not resolve correct

TM-1059 Epic

Migrate to Generic Package Build

The AddOn package "CODESYS Test Manager for Automation Platform" is no longer a full-fledged variant of the AddOn package "CODESYS TestManager" with additional test drivers. Instead it now is an AddOn for the "CODESYS Test Manager" V5.0.0.0 (see CODESYS store), that enables additional test drivers contained in that package. Therefore, beginning with package versions V5.0.0.0 any user, that previously only installed the AddOn package "CODESYS Test Manager for Automation Platform" now needs to install the AddOn package "CODESYS Test Manager" in addition to the AddOn package "CODESYS Test Manager for Automation Plaftorm" in order to access the same functionality as with previous versions
of the package.
TM-1036 Bug

Iec Unit Test library is has compile issues on multicore ARM devices

TM-1035 Improvement

Update System.Data.SQLite.Core to most recent version containing sqlite 3.35.5

Won't Fix [[GENERAL]]
Due to architecture of System.Data.SQLite only a single version can be used in an application. Due to incompatible changes between 1.0.113 and an update will cause problems in other plugins using SQLite.

Therefore, an update to will currently not be implemented.
TM-1030 Improvement

TestDrv, Monitoring: CompareVariableList should support placeholders

TM-1025 Bug

IecUnitTest: a testlib with specific version is not found if * is used

TM-1024 Bug

TestTable: UINT as input for testtable cannot be compiled

TM-1011 Bug

Example tests: IEC Unit Test implementation for TM.TestCase and TM.Multitest missing

TM-1007 Bug

ProvideLoginPassword (TestManager.Devices) does not work with parameters

TM-994 Improvement

IecUnitTest, TestTable: Complement filter for "test functions" to consider a multitest's/testtables wsTestCaseName output as well

The value of the variable "wsTestCaseName" can only be used for "Excluded functions". For "Selected functions" only the name of test POUs and the value of the attribute "test_case_name" can be used.

Both the 'testcasename' and the 'testcategories' attributes are now evaluated case-insensitively. Tests that rely on case-senitive selections/exclusions should be revisited.
TM-982 Bug

Execute script: Calibration run does not work anymore

TM-977 Bug

[TestManagerDriver] ExecuteCommand - cleanactiveapp does not clean the active app

Won't Fix [[GENERAL]]
ExecuteCommand with "project" and "cleanactiveapp" needs a right configured message handler initialized before the command execution.
TM-974 Bug

SetCommunicationPath: communication setting with target name and instance no longer working

TM-973 Bug

[TestManager] TestManager-View opened is not stored in OPT-Files after executing command ExecuteScript

Won't Fix [[GENERAL]]
Won't Fix: This problem describes an internal test obstacle, that has been resovled otherwise.
TM-971 Bug

TestTable: Steps succeed that actually should fail depending on the sequence

User input validation in the TestTable editor does not check to match the expected type and IEC Syntax (this will be addressed by TM-989).
Most of such misconfiguration will now be reported as compile error. however, if a TestCase inside a TestTable contains only one TestStep and the values have an incorrect IEC Syntax at the end, the build and test will still succeed (this will be addressed by CDS-72422).
TM-970 Bug

TestTable: Error message in test report is cut off if test case is aborted

TM-964 Bug

TestController: Incomplete information for uiautomation

TM-958 Improvement

TestManager, Package: Remove demo project dependencies

Fixed [[GENERAL]]
Package only contains TestManagerIecUnitTest.compiled-library.
All other libraries and device description are removed from Package.
This leads toreduced package size of TM and less installation time.
TM-957 Improvement

[TestManager] There should be a global variable for current RepoName and RepoLocation

Fixed [[GENERAL]]
Introducing two new global variables inside a Testscript:
$REPO.NAME contains the Name of the current testrepository
$REPO.LOCATION contains the filepath of the current testrepository
The current testrepository is always the one which a script is executed from.
TM-956 Bug

Test Manager doesn't save the settings "Auto collapse" / "Auto scroll"

TM-955 Bug

Update System.Data.SQLite to most recent version 1.0.x.y containing sqlite 3.x.y

TM-918 Improvement

IecUnitTest: Complement filter for "test functions" to be a filter for "test case name" as well

Fixed [[GENERAL]]
The IEC Unit Test element now respects the following new input formats for selected/excluded test functions/categories:
- Test functions may now also be specified by their 'testcasename' attribute
- Test functions and categories now also can be specified by wildcard patterns ('*' for any number of characters and '?' for a single character). Pattern matching is case-insensitive.

Test POUs with the {attribute 'test' := 'multitest'} provide the current test case's name with the output 'wsTestCaseName'. This is not considered yet, but subject to TM-994.
TM-916 Bug

save the log file on reindex fails if no .idx File exists

TM-886 Improvement

Support Multiline comment/uncomment in TestManager scripts

TM-844 Bug

Export Test Report fail if AddEngineeringToolInformation is used with Include plugins

Cannot Reproduce
TM-806 Improvement

Add screenshot to report if a remote call is cancelled

TM-805 Bug

start script with command line --save-html abort the script if the directory doesn't exist

Fixed [[GENERAL]]
Test Manager now tries to create the directories specified by the file paths "--save-xml" and "--save-html", if they're not existing.
TM-762 Bug

Set communication should be not case sensitv for Target name

TM-445 Bug

TestDrv: Object AddNewObject doesn't allow add LibMan in POU

TM-349 Bug

TestManager: Test progress window does not show "choose" elements

Cannot Reproduce
TM-284 Improvement

Wizard for IEC Unit Test POUs

Duplicate [[GENERAL]]
Duplicates TM-867, TM-1039
TM-274 Improvement

Fix operator precedence in the test manager expression calculator

TM-59 Epic

Improve IEC Unit Test: Assisted test implementation (stage 1)

Fixed [[GENERAL]]
There are now two new wizards for IecUnitTests:
1. A wizard for test POUs that provides templates for a function block for single testcases and one for multiple testcases
2. A wizard for assertions that provides templates for a function for single values and one for arrays

TM.Testcase_Base should no longer be used as base class for IecUnitTests and therefore, it was marked as obsolete.
It is recommended to use TM.Testcase as base class. There is now a library parameter 'WSTRING_LENGTH' that can be used to adapt the maximum length of 'sInfo' (default is 255).