Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1,317 changes: 1,317 additions & 0 deletions testcases/new/CSM_Unittest_README/CSM_Unittest_README(en-us).html

Large diffs are not rendered by default.

1,168 changes: 1,168 additions & 0 deletions testcases/new/CSM_Unittest_README/CSM_Unittest_README(en-us).md

Large diffs are not rendered by default.

1,319 changes: 1,319 additions & 0 deletions testcases/new/CSM_Unittest_README/CSM_Unittest_README(zh-cn).html

Large diffs are not rendered by default.

1,180 changes: 1,180 additions & 0 deletions testcases/new/CSM_Unittest_README/CSM_Unittest_README(zh-cn).md

Large diffs are not rendered by default.

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
<table>
<tr align="left">
<td> Test Case No. </td>
<td> Test Case Description </td>
<td> Test Case VI </td>
<td> Normal Mode </td>
<td> Submodule Mode </td>
<td> System-Level Mode </td>
<td> Worker Mode </td>
<td> Chain Mode </td>
<td> lvlibp </td>
</tr>
<tr align="left">
<td>1</td>
<td>After module instantiation, this interface can be used to read module information. Test whether all different Modes can be read and whether the number of nodes is correct. The number of items in the message queue does not need to be tested.</td>
<td>test1-TestModuleStatusVI.vi</td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
</tr>
<tr align="left">
<td>2</td>
<td>Create a complex message list and test that the filter function only filters the corresponding messages. Test the filter function of each VI in the polymorphic VI. Actual sending is not required.</td>
<td>test2-TestFilterJKISMStringQueueVI.vi</td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
</tr>
</table>
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
<table>
<tr align="left">
<td> 测试项序号 </td>
<td> 测试项内容 </td>
<td> 对应测试项VI </td>
<td> 普通模式 </td>
<td> 子模块模式 </td>
<td> 系统级模式 </td>
<td> 协作者模式 </td>
<td> 责任链模式 </td>
<td> 打包项目库模式 </td>
</tr>
<tr align="left">
<td>1</td>
<td>模块实例化后,通过此接口可以读取模块的信息,测试所有不同的Mode是否能够读出,并且node个数是否正确,消息队列的数据个数可以不测</td>
<td>test1-TestModuleStatusVI.vi</td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
</tr>
<tr align="left">
<td>2</td>
<td>创造一个复杂的消息列表,测试过滤功能只会过滤到对应的消息,测试多态VI里的每一个VI对应的过滤功能,不需要实际发送</td>
<td>test2-TestFilterJKISMStringQueueVI.vi</td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
</tr>
</table>
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
<table>
<tr align="left">
<td> Test Case No. </td>
<td> Test Case Description </td>
<td> Test Case VI </td>
<td> Normal Mode </td>
<td> Submodule Mode </td>
<td> System-Level Mode </td>
<td> Worker Mode </td>
<td> Chain Mode </td>
<td> lvlibp </td>
</tr>
<tr align="left">
<td>1</td>
<td>Module exit can trigger the Exit Module event. In Worker and Chain modes, this event is triggered only when all modules have exited.</td>
<td>test1-testModuleExitEventAPI.vi</td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
</tr>
<tr align="left">
<td>2</td>
<td>Module exit can trigger this status change. In Worker and Chain modes, this event is triggered only when all modules have exited.</td>
<td>test2-testModuleTurnsInvalidAPI.vi</td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
</tr>
</table>
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
<table>
<tr align="left">
<td> 测试项序号 </td>
<td> 测试项内容 </td>
<td> 对应测试项VI </td>
<td> 普通模式 </td>
<td> 子模块模式 </td>
<td> 系统级模式 </td>
<td> 协作者模式 </td>
<td> 责任链模式 </td>
<td> 打包项目库模式 </td>
</tr>
<tr align="left">
<td>1</td>
<td>模块的退出能够触发Exit模块事件,协作者和责任链模式,在全部模块退出时才会触发此事件</td>
<td>test1-testModuleExitEventAPI.vi</td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
</tr>
<tr align="left">
<td>2</td>
<td>模块的退出能够触发此状态修改,协作者和责任链模式,在全部模块退出时才会触发此事件</td>
<td>test2-testModuleTurnsInvalidAPI.vi</td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
</tr>
</table>
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
<table>
<tr align="left">
<td> Test Case No. </td>
<td> Test Case Description </td>
<td> Test Case VI </td>
<td> Normal Mode </td>
<td> Submodule Mode </td>
<td> System-Level Mode </td>
<td> lvlibp </td>
</tr>
<tr align="left">
<td>1</td>
<td>While running in Loop mode: 1. Can receive and process synchronous messages sent from outside; 2. Can also send synchronous messages to other modules.</td>
<td>test1-ProcessSyncMessageInCSMLoop(SendAndReceive).vi</td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
</tr>
<tr align="left">
<td>2</td>
<td>While running in Loop mode: 1. Can receive and process asynchronous messages with reply sent from outside; 2. Can also send asynchronous messages with reply to other modules.</td>
<td>test2-ProcessAsyncMessageWithReplyInCSMLoop(SendAndReceive).vi
</td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
</tr>
<tr align="left">
<td>3</td>
<td>While running in Loop mode: 1. Can receive and process asynchronous messages without reply sent from outside; 2. Can also send asynchronous messages without reply to other modules.</td>
<td>test3-ProcessAsyncMessageWithoutReplyInCSMLoop(SendAndReceive).vi
</td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
</tr>
<tr>
<td colspan="7">
Note: The CSM (=worker and chain modes are special module patterns composed of multiple running nodes. Messages sent in these modes cannot reliably target a specific node to execute. When a node operates in worker or chain modes, it cannot be clearly instructed by messages to stop a loop. Therefore, it is not recommended to use the CSM Loop Support addon in worker and chain modes. Therefore, this testclass does not cover worker and chain modes.
</td>
</tr>
</table>
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
<table>
<tr align="left">
<td> 测试项序号 </td>
<td> 测试项内容 </td>
<td> 对应测试项VI </td>
<td> 普通模式 </td>
<td> 子模块模式 </td>
<td> 系统级模式 </td>
<td> 打包项目库模式 </td>
</tr>
<tr align="left">
<td>1</td>
<td>Loop 模式运行中,1. 可以接收外部发送的同步消息并相应处理;2.也可以发送同步消息到其他模块;</td>
<td>test1-ProcessSyncMessageInCSMLoop(SendAndReceive).vi</td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
</tr>
<tr align="left">
<td>2</td>
<td>Loop 模式运行中,1. 可以接收外部发送的异步有返回消息并相应处理;2.也可以发送异步有返回消息到其他模块; </td>
<td>test2-ProcessAsyncMessageWithReplyInCSMLoop(SendAndReceive).vi
</td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
</tr>
<tr align="left">
<td>3</td>
<td>Loop 模式运行中,1. 可以接收外部发送的异步无返回消息并相应处理;2.也可以发送异步无返回消息到其他模块; </td>
<td>test3-ProcessAsyncMessageWithoutReplyInCSMLoop(SendAndReceive).vi
</td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
</tr>
<tr>
<td colspan="7">
备注:CSM 的协作者模式(worker) 和 责任链(chain)模式,是由多个运行的节点组成特殊的模块,发送的消息,并不能明确的让某个节点执行。当某节点使用此模式时,就不能明确的使用消息通知它停止循环,因此,不建议在协作者模式(worker) 和 责任链(chain)模式中使用CSM LOOP Support,固该类单元测试不包含协作者模式和责任链模式的测试。
</td>
</tr>
</table>
106 changes: 106 additions & 0 deletions testcases/new/CSM_Unittest_README/Tables/table1_Message(en-us).md
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
<table>
<tr align="left">
<td> Test Case No. </td>
<td> Test Case Description </td>
<td> Test Case VI </td>
<td> Normal Mode </td>
<td> Submodule Mode </td>
<td> System-Level Mode </td>
<td> Worker Mode </td>
<td> Chain Mode </td>
<td> lvlibp </td>
</tr>
<tr align="left">
<td>1</td>
<td>CSM1 sends a synchronous message to CSM2, CSM2 returns the correct reply, CSM1 enters Response Case to process the reply info</td>
<td>test1-SyncMessage.vi</td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
</tr>
<tr align="left">
<td>2</td>
<td>CSM1 sends a synchronous message to CSM2, CSM2 encounters an error, CSM1 enters Response Case carrying the Response and error information</td>
<td>test2-SycnMessageWithError.vi</td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
</tr>
<tr align="left">
<td>3</td>
<td>CSM1 uses API to send a synchronous message to CSM2, CSM2 returns the correct Response, CSM1 obtains the return via API</td>
<td>test3-SyncMessage_API.vi</td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
</tr>
<tr align="left">
<td>4</td>
<td>CSM1 uses API to send a synchronous message to CSM2, CSM2 encounters an error, CSM1 obtains the Response and error information via API</td>
<td>test4-SyncMessageWithError_API.vi</td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
</tr>
<tr align="left">
<td>5</td>
<td>CSM1 sends an asynchronous message with reply to CSM2, CSM2 returns the correct Response, CSM1 enters Async Response to process the reply</td>
<td>test5-AsyncMessageWithReply.vi</td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
</tr>
<tr align="left">
<td>6</td>
<td>CSM1 sends an asynchronous message with reply to CSM2, CSM2 encounters an error, CSM1 enters Async Response carrying the Response and error information</td>
<td>test6-AsyncMessageWithReplyWithError.vi</td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
</tr>
<tr align="left">
<td>7</td>
<td>CSM1 sends an asynchronous message without reply to CSM2, verifies that CSM2 executes, CSM1 does not process the reply</td>
<td>test7-AsyncMessageWithoutReply.vi</td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
</tr>
<tr align="left">
<td>8</td>
<td>CSM1 uses API to send an asynchronous message without reply to CSM, verifies that the caller executes asynchronously, does not process the reply</td>
<td>test8-AsyncMessageWithoutReply_API.vi</td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
<td><span style="color: lightgreen;">✔</span></td>
</tr>
<tr>
<td colspan="9">
Note: CSM modes include Normal Mode, Submodule Mode, System-Level Mode, Worker Mode, Chain Mode, and lvlibp. All possible CSM mode relationships between CSM1 and CSM2 are covered.
</td>
</tr>
</table>
Loading
Loading