From bb35db2c73b921482a2dfa7f6d6ce2c4812fb639 Mon Sep 17 00:00:00 2001 From: Jakob Sagatowski Date: Fri, 17 Nov 2023 19:13:25 +0100 Subject: [PATCH] Ran a markdown LINTer over the documentation. --- docs/faq.md | 62 ++++++++++----- docs/img/TcUnit16Of17Failed_2.png | Bin 0 -> 5151 bytes docs/img/TcUnitManyFails.png | Bin 0 -> 56663 bytes docs/index.md | 8 +- docs/introduction-user-guide.md | 22 ++++-- docs/programming-example.md | 120 +++++++++++++++++++----------- docs/unit-testing-concepts.md | 11 ++- 7 files changed, 152 insertions(+), 71 deletions(-) create mode 100644 docs/img/TcUnit16Of17Failed_2.png create mode 100644 docs/img/TcUnitManyFails.png diff --git a/docs/faq.md b/docs/faq.md index 97abeef..6899a54 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -4,6 +4,7 @@ title: F.A.Q. --- ## Frequently asked questions + Here you’ll find the most commonly asked questions and their answers. If you don’t find what you are looking for here, you can look through the: @@ -27,8 +28,8 @@ If you don’t find what you are looking for here, you can look through the: --- - ### 1. How can I run a test across multiple PLC cycles? + This can be accomplished by keeping the function block under test as an instance variable of the test suite rather than the test method. You can download an [example here](https://tcunit.org/temp/TimedTest_1x.zip). In this example, the `FB_ToBeTested` is instantiated under the test suite (`FB_ToBeTested_Test`), and can thus be controlled over multiple cycles. @@ -37,9 +38,10 @@ Then all that’s necessary to do is to set the condition for when the assertion **Required TcUnit version:** 1.0 or later ### 2. How can I disable/ignore a test? + Add `DISABLED_` in front of the test name, for example: -``` +```StructuredText TEST('DISABLED_ThisTestWillBeIgnored'); AssertEquals(Expected := a, @@ -48,9 +50,11 @@ AssertEquals(Expected := a, TEST_FINISHED(); ``` + **Required TcUnit version:** 1.0 or later -### 3. Is there a way to test %I* or %Q* variables? +### 3. Is there a way to test `%I*` or `%Q*` variables? + In a number of scenarios, TwinCAT won't let you write directly to certain variables: - Due to access restrictions (e.g. a variable in a FB's VAR) @@ -59,29 +63,38 @@ In a number of scenarios, TwinCAT won't let you write directly to certain variab Writing to these variables wouldn’t make sense and should be prevented in the normal PLC code, so having special privileges during testing is a must. To support these cases, TcUnit provides helper functions like `WRITE_PROTECTED_BOOL()`, `WRITE_PROTECTED_INT()` (and so forth) for setting these type of variables. For an example of how to use these, let's assume you have a test: -``` + +```StructuredText METHOD PRIVATE TestCommsOkChannelsLow VAR EL1008 : FB_Beckhoff_EL1008; END_VAR ``` + Where the `FB_Beckhoff_EL1008` holds a variable: -``` + +```StructuredText iChannelInput AT %I* : ARRAY[1..8] OF BOOL; ``` + Now you might want to write a value to the first channel of the iChannelInput like: -``` + +```StructuredText TcUnit.WRITE_PROTECTED_BOOL(Ptr := ADR(EL1008.iChannelInput[1]), Value := FALSE); ``` + Whereas afterwards you can make an assertion as usual: -``` + +```StructuredText AssertFalse(Condition := EL1008.ChannelInput[1], Message := 'Channel is not false'); ``` + **Required TcUnit version:** 1.0 or later ### 4. Is there a way to hide TcUnit in my libraries? + You can accomplish this by the [Hide reference](https://infosys.beckhoff.com/english.php?content=../content/1033/tc3_plc_intro/18014402725266443.html&id=) option for referenced libraries. This option lets you hide TcUnit from your other projects. Let’s assume you’ve developed a library `MyLibrary`, which has tests written in TcUnit. @@ -92,17 +105,17 @@ You can find it in the Properties tab: ![Hide reference](img/hide-reference.png) - **Required TcUnit version:** 1.0 or later ### 5. How do I do assertions on the BIT datatype? + I want to do an assertion on two variables both declared with the `BIT`-datatype, but I have noticed that a `AssertEquals_BIT()` does not exist. What do I do? The reason a `AssertEquals_BIT()` does not exist is that TwinCAT does not allow a BIT-datatype as a variable input. If you have data declared with the BIT-type, the easiest way to do an assertion on these is to do a `BIT_TO_BOOL()` conversion and use the `AssertEquals_BOOL()`. -``` +```StructuredText TEST('Testing_of_BIT_Type'); AssertEquals_BOOL(Expected := BIT_TO_BOO(VariableDeclaredAsBit_A), @@ -115,6 +128,7 @@ TEST_FINISHED(); **Required TcUnit version:** 1.0 or later ### 6. When I run more than 100 tests in a single test-suite I get the wrong results, why? + When TcUnit is running it allocates memory in the PLC to store the test results. The maximum number of tests for every test suite has been set to 100, which however is a configuration parameter for TcUnit and can be changed. Parameters for TcUnit (and in fact any library references) are stored in your project, which means that this change will be persistent for your project/library. @@ -124,8 +138,8 @@ To change this max amount, to say for instance 200 tests per test suite, go to t **Required TcUnit version:** 1.0 or later - ### 7. Is it possible to run test suites and/or tests in a sequence? + Yes. By default TcUnit runs all the test suites and tests in parallel, in other words all test suites and tests are run at the same time. Sometimes it is however desirable to run either the test suites or tests (or both) in a sequence, for example if you get exceed overruns while running tests. @@ -134,7 +148,8 @@ Since TcUnit 1.2 it's possible to run test suites in sequence (one after another To execute test suites in a sequence, simply replace `TcUnit.RUN()` with `TcUnit.RUN_IN_SEQUENCE()` in your main body of the test program. This will execute the test suites in the order that they were declared. So for example if we have defined the following test suites and test program: -``` + +```StructuredText PROGRAM PRG_TEST VAR fbDiagnosticMessageDiagnosticCodeParser_Test : FB_DiagnosticMessageDiagnosticCodeParser_Test; @@ -143,14 +158,16 @@ VAR END_VAR ------------------------- TcUnit.RUN_IN_SEQUENCE(); + ``` + This will first execute all tests defined in `fbDiagnosticMessageDiagnosticCodeParser_Test`, once all tests are finished in that function block, TcUnit will execute all tests in `fbDiagnosticMessageFlagsParser_Test`, and when that is done it will execute all tests in `fbDiagnosticMessageParser_Test`. It's also possible to execute individual tests in order by simply replacing `TEST('TestName')` with `TEST_ORDERED('TestName')`. This will execute the tests in the order that the `TEST_ORDERED()` is called for the various tests. `TEST_ORDERED()` returns a boolean to indicate whether the TcUnit framework will run the test, so in order to only execute the code when it's time for that particular test, it makes sense to check if `TEST_ORDERED()` returns true, and only then do the execution of the function blocks and assertions, for example like this: -``` +```StructuredText METHOD PRIVATE TestWithTimestampZeroTimeExpectCurrentTime VAR ... (variable declaration used for the test) @@ -166,6 +183,7 @@ IF TEST_ORDERED('TestWithTimestampZeroTimeExpectCurrentTime') THEN TEST_FINISHED(); END_IF ``` + As usual, the `TEST_FINISHED()` will indicate that this test is finished, and the framework will go to the next test. Note that you don't need to create any state machine for calling the different `TEST_ORDERED()` tests. You can (and must!) call all `TEST_ORDERED()` at the same time. @@ -173,7 +191,6 @@ The framework will make sure to only care about the assertions of the test that This means the following combinations can be used: - - `RUN()` with all tests as `TEST()` – means all tests suites and tests will run in parallel, this is the default behaviour. ![TcUnit run option 1](img/tcunit_run_option1.png) - `RUN_IN_SEQUENCE()` with all tests as `TEST()` – means all test suites will run in sequence, but the tests in every test suite will run in parallel. @@ -197,6 +214,7 @@ For a couple of TwinCAT projects that shows how to run both test suites in a seq **Required TcUnit version:** 1.2 or later ### 8. Why is it taking so long to get the results from TcUnit? + If you have many test suites and/or tests, it can take some time for TcUnit to print all those results. Since version 1.1 of TcUnit, much more data is printed to the ADS-logger as this data is used for the communication with TcUnit-Runner. If you know that you will only run your tests locally and without integration to a CI/CD tool using TcUnit-Runner, you can set the parameter `LogExtendedResults` to `FALSE` (it is default `TRUE`). @@ -207,6 +225,7 @@ To change this parameter, go to the library references and select TcUnit, then g **Required TcUnit version:** 1.1 or later ### 9. Is it possible to have a time delay between the execution of the test suites? + Yes. You can set the parameter `TimeBetweenTestSuitesExecution` to whatever delay you want to have. To change this parameter, go to the library references and select TcUnit, then go to `GVLs` → `GVL_Param_TcUnit` → `TimeBetweenTestSuitesExecution`. @@ -218,9 +237,11 @@ For example, in the below screenshot this is changed to 5 seconds. **Required TcUnit version:** 1.2 or later ### 10. If I call ADSLOGSTR(), my messages don't show up in the correct sequence. Why? + If I call `Tc2_System.ADSLOGSTR()` during execution of a test, my messages don't arrive in the expected order. Let's for example assume this very simple (always failing) test: -``` + +```StructuredText TEST('Test1'); FOR nCounter := 1 TO 5 BY 1 DO Tc2_System.ADSLOGSTR(msgCtrlMask := ADSLOG_MSGTYPE_HINT, @@ -255,9 +276,11 @@ So if we replaced the call to `Tc2_System.ADSLOGSTR()` to `TCUNIT_ADSLOGSTR()` i **Required TcUnit version:** 1.2 or later ### 11. How do I test functions? + It's done almost identical as in the introduction user guide, but simply replace the instance of the function block that you want to test with the call to the function instead. Assume we have a function: -``` + +```StructuredText FUNCTION F_Sum VAR_INPUT one : UINT; @@ -266,8 +289,10 @@ END_VAR F_Sum := one + two; ``` + Then the test would look like following: -``` + +```StructuredText METHOD TwoPlusTwoEqualsFour VAR Result : UINT; @@ -283,11 +308,14 @@ AssertEquals(Expected := ExpectedSum, Message := 'The calculation is not correct'); TEST_FINISHED(); + ``` + **Required TcUnit version:** 1.0 or later ### 12. I have problems running TcUnit on a ARMv7 controller, why? + When running TcUnit with a controller using ARMv7 you can run into issues, such as breakpoints not working. This seems to be an issue with the limited memory of the controllers using an ARMv7 such as the CX8190 and CX9020. Please adjust the [parameters related to memory allocation](#6-when-i-run-more-than-100-tests-in-a-single-test-suite-i-get-the-wrong-results-why). -For more information on a set of working parameters, see [this issue on GitHub](https://github.com/tcunit/TcUnit/issues/148). \ No newline at end of file +For more information on a set of working parameters, see [this issue on GitHub](https://github.com/tcunit/TcUnit/issues/148). diff --git a/docs/img/TcUnit16Of17Failed_2.png b/docs/img/TcUnit16Of17Failed_2.png new file mode 100644 index 0000000000000000000000000000000000000000..c93cdaf0829798e0947cc10d6ccf643626f4c4e1 GIT binary patch literal 5151 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 Hm+$@s^5Xvs literal 0 HcmV?d00001 diff --git a/docs/img/TcUnitManyFails.png b/docs/img/TcUnitManyFails.png new file mode 100644 index 0000000000000000000000000000000000000000..32e423a8f29f401f8fe6fcff9e8e4f31792f7097 GIT binary patch literal 56663 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