TcUnit Versions Save

An unit testing framework for Beckhoff's TwinCAT 3

1.3.0.0

5 months ago

New features:

  • Measure overall, testsuite and test duration, see #159
  • TcUnit.org website from source code, see #213

Fixed issues/improvements:

  • ARMv7 compatibility and weird issues, see #148
  • Missing test results, see #160
  • Removed duplicate code and some perfomance optimizations, see #166
  • The method AssertEquals_WORD of FB_TestSuite sets the wrong type Type_UINT, see #184
  • Use of wrong Type_UINT in AssertEquals_WORD, see #185
  • Variable NumberOfTestsToAnalyse is limited to the wrong boundaries, see #187
  • RUN_IN_SEQUENCE doesn't work for multiple TestSuites, see #189
  • AddAssertResult not checking limits of AssertResults array, see #190
  • Variable NumberOfTestsToAnalyse is limited to the wrong boundaries, see #194
  • Duration is not calculated when running tests in sequence, see #210
  • Duration doesn't seem to be correctly calculated, see #211
  • TEST_FINISHED_NAMED no longer works, see #212
  • Update the toolchain for maintaining TcUnit, see #214
  • Adding empty string as actual-string to assert_string doesn't show the actual string, see #224
  • Test registering with TEST(...) space character issue, see #225
  • Wrong duration time (sometimes) calculated, see #226 & #227

Contributors:

❤️ @stefanbesler ❤️ @bernienor ❤️ @oswin02 ❤️ @JoergWitt ❤️ @doerk77 ❤️ @ZLLentz ❤️ @sagatowski

1.2.0.0

3 years ago

New functionality:

  • Added support to run tests in sequence. See issue #95 and the FAQ.
  • Added support to write custom ADS-messages that go into the TcUnit ADS-queue. See #141 and the FAQ.

Issues solved:

  • Create Error Message for Test > MaxNumberOfTestsForEachTestSuite, see #128.
  • Incorrect number of failed tests and successful tests if too many tests in a test suite, see #132.
  • TcUnit-Verifier: Duplicate log4net package in packages.config, see #143.
  • Improve documentation/API of LogExtendedResults, see #145.
  • Include .library in release, see #152

Website (https://www.tcunit.org) including the documentation is updated for the new version.

1.1.0.0

3 years ago

New functionality:

  • Added support for reporting of full test results for every test, in order for TcUnit-Runner to be able to create xUnit/JUnit XML reports. Together with the release of TcUnit-Runner, this solves the issues #7, #11 and #67. For TcUnit-Runner, see https://github.com/tcunit/TcUnit-Runner.
  • Moved TcUnit-Verifier repository to the TcUnit repository, see #60.
  • Added test results in one single place, see #68.
  • Added optional parameters for the test results, see #70.
  • Added parameter for the size of the ringbuffer for the ADS-logger, see #88.
  • Added WSTRING-support, see #106.

Issues solved:

  • Sometimes the DTE doesn't show all errors, see #71.
  • Discrepancy between 4022 and 4024 in TIME_TO_STRING makes tests fail, see #80.
  • Multiple Suites fail to complete, see #99.
  • Printing of results takes much longer compared to version 1.0, see #103.
  • AssertEquals(ANY) for STRING and WSTRING should look at LEN/WLEN, see #108.
  • Page Fault when starting TcUnit.RUN() without any TestSuites installed, see #120.

Misc issues/PRs included:

  • FB_Stringbuffer; add a .Clear() method, see #49.
  • FB_Stringbuffer; add .prepend() method, see #50.
  • Some method headers are missing documentation, see #58.
  • The call_after_init attribute is unnecessary in test suites, see #59.
  • FB_ADSTestResultFormatter does not need to be timed, see #65.
  • Create documentation for contribution, see #72.
  • Add tester for free function F_AnyToUnionValue(), see #73.
  • Additional tests for 2D/3D REAL/LREAL arrays, see #75.
  • Create tests for IS_TEST_FINISHED, see #76.
  • Test class instantiation is redundantly verbose, see #77.
  • There's no need to add any attributes to test suites, see #79.
  • Add tests for WRITE_PROTECTED_ functions, see #83.
  • LineIDs necessary?, see #85.
  • Assert results provide only failed assert statistics, see #86.
  • Clarification of contrib guidelines, see #111.

Website (https://www.tcunit.org) including the documentation is updated for the new version.

Compiled using TwinCAT 3.1.4022.32.

1.0.0.0

4 years ago

Added assertion methods for 2D/3D REAL/LREAL arrays, see #31 and #36. Added TEST_FINISHED_NAMED method, see #37, #38, #42, #47, #48 and #51. Added WRITE_PROTECTED functions, see #45 and #46. Added XmlControl/FileControl for future XML-write of test results, see #40 and #41. Replaced GVL_Constants_TcUnit with GVL_Param_TcUnit, see #33 and #34.

Also solved multiple issues: Issue #30 - "An empty test suite causes the test report to never show" Issue #35 - "Too many ADSLOGSTR() causes some to become lost" Issue #39 - "Change methods GetAmount... to GetNumber..." Issue #44 - "Unifying visual studio versions across projects"

Compiled using TwinCAT 3.1.4022.30.

0.9.0.0

4 years ago

Better/more easy to use API for TcUnit according to PR #29 "Reduce boilerplate code required for writing tests" and issue #26 "Boilerplate reduction and using a TEST_FINISHED method".

Also solved multiple issues:

  • Issue #27 "Multiple assert instances in one test suite causes issues"
  • Issue #25 "implicit typecasting throws errors + solution"
  • Issue #23 "Usage of FB_ADSAssertMessageFormatter.LogAssertFailure should warn"
  • Issue #21 "Remove unused code"
  • Issue #19 "Rename GVL_Constants"

Website (https://www.tcunit.org), documentation plus all examples updated for the new API.

Compiled using TwinCAT 3.1.4022.29.

0.4.1.0

5 years ago

Solved tons of issues:

  • Issue #8 "Ignore assert-prints if test is a duplicate"
  • Issue #12 "A test running over >= 2 cycles considered double"
  • Issue #14 "Different prints depending on if using AssertEquals(ANY) or AssertEquals_DataType"
  • Issue #15 "Doing assert two times or more in different cycles for arrays"
  • Issue #16 "Investigate if MEMCPY should be used in F_AnyToUnionValue"
  • Issue #17 "ReportResult in FB_AssertResultStatic should take expected/actual value into consideration"

Fixed a bug in FB_Assert.AssertEquals() in where the output-data from FB_AnyComparator was not used correctly and thus could make certain tests succeed even though they should fail.

Compiled using TwinCAT 3.1.4022.27.

0.4.0.0

5 years ago

Added assertion of arrays. Compiled using TwinCAT 3.1.4022.25.

0.3.0.0

5 years ago

First release of TcUnit.

Compiled using TwinCAT 3.1.4022.25.