Difference between revisions of "TTCN"

From eLinux.org
Jump to: navigation, search
m (Added information about the TTCN purpose)
(Added documentation)
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
  
TTCN support for CAN, CAN_FD and ISOTP:
+
TTCN support for CAN, CAN_FD, SAE [[J1939]] and ISOTP:<br />
  
https://projects.eclipse.org/projects/tools.titan/developer
+
TTCN is well suited for testing complex CAN and ISOTP/ car diagnostics applications.
  
Forum:  
+
Resources:
 +
* [http://www.ttcn-3.org TTCN-3.org ]
 +
* [https://projects.eclipse.org/projects/tools.titan Eclipse Titan homepage ]
 +
* [https://github.com/eclipse/titan.core titan.core - TTCN-3 compiler home on Github ]
 +
* [https://projects.eclipse.org/projects/tools.titan/developer TTCN-3 compiler test ports, use: titan/titan.TestPorts.SocketCANasp - CAN bus test port ]
 +
 
 +
Documentation wroth reading:
 +
* [http://www.ttcn-3.org/files/TTCN3_P.pdf TTCN-3 Course presentation material]
 +
* [http://www.ttcn-3.org/index.php/component/taxonomy/books Book: An Introduction to TTCN-3, 2nd Edition]
 +
 
 +
 
 +
Forum (Background information is found here):  
 
https://www.eclipse.org/forums/index.php/t/1074584/
 
https://www.eclipse.org/forums/index.php/t/1074584/
  
TTCN is well suited for testing complex CAN applications.
+
Installation:
 +
* Ubuntu / Debian (installation of the dependencies, currently not the software itself):
 +
  apt install eclipse-titan
 +
 
 +
* titan.core
 +
** Installation
 +
*** git clone https://github.com/eclipse/titan.core <br/>
 +
*** cd titan.core <br/>
 +
*** Install as described in the file README.linux<br />
 +
* Titan SocketCAN test port
 +
** Installation
 +
    git clone git://git.eclipse.org/gitroot/titan/titan.TestPorts.SocketCANasp.git
 +
    cd titan.TestPorts.SocketCANasp
 +
    Documentation is found in: doc/README.md
 +
    cd demo
 +
    make
 +
 
 +
** Testing the Installation
 +
*** execute: "demo/initscript.sh"     
 +
*** run a test case:
 +
    ttcn3_start SocketCAN SocketCAN.cfg <testcasefilename.testcasename>
 +
 
 +
where <testcasefilename.testcasename> is any of the following:
 +
    SocketCAN_RAW_test.tc_can_raw_send_and_receive_frame
 +
    SocketCAN_RAW_test.tc_can_raw_setsockopt_CAN_RAW_FILTER
 +
    SocketCAN_RAW_test.tc_can_raw_setsockopt_CAN_RAW_ERR_FILTER
 +
    SocketCAN_RAW_test.tc_can_raw_setsockopt_CAN_RAW_LOOPBACK
 +
    SocketCAN_RAW_test.tc_can_raw_setsockopt_CAN_RAW_RECV_OWN_MSGS
 +
    SocketCAN_RAW_test.tc_can_raw_setsockopt_CAN_RAW_FD_FRAMES
 +
    SocketCAN_RAW_test.tc_can_raw_setsockopt_CAN_RAW_JOIN_FILTERS
 +
 
 +
Note:
 +
On some kernels e.g. Ubuntu 16.10 the following testcase seems to crash the whole kernel. This is a regression in later kernels or in later titan versions and needs to be investigated:
 +
    SocketCAN_BCM_test.tc_can_bcm_TX_SETUP_TX_DELETE
 +
 
 +
*** alternatively run a sequence of test cases:
 +
Remove the line "SocketCAN_BCM_test.tc_can_bcm_TX_SETUP_TX_DELETE" from the execution section of the file "SocketCAN.cfg" to make sure the crashing test case is not started. Then:
 +
    ttcn3_start SocketCAN SocketCAN.cfg
 +
 
 +
* Eclipse GUI Installation (optional, mid January new version is expected):
 +
** Installation instructions are found on the [https://projects.eclipse.org/projects/tools.titan/downloads Titan Download Page ] in the "Titan documentation package" in the document "Eclipse_installationguide.pdf".

Latest revision as of 11:11, 8 January 2017

TTCN support for CAN, CAN_FD, SAE J1939 and ISOTP:

TTCN is well suited for testing complex CAN and ISOTP/ car diagnostics applications.

Resources:

Documentation wroth reading:


Forum (Background information is found here): https://www.eclipse.org/forums/index.php/t/1074584/

Installation:

  • Ubuntu / Debian (installation of the dependencies, currently not the software itself):
  apt install eclipse-titan 
   git clone git://git.eclipse.org/gitroot/titan/titan.TestPorts.SocketCANasp.git 
   cd titan.TestPorts.SocketCANasp
   Documentation is found in: doc/README.md
   cd demo
   make
    • Testing the Installation
      • execute: "demo/initscript.sh"
      • run a test case:
   ttcn3_start SocketCAN SocketCAN.cfg <testcasefilename.testcasename> 

where <testcasefilename.testcasename> is any of the following:

   SocketCAN_RAW_test.tc_can_raw_send_and_receive_frame
   SocketCAN_RAW_test.tc_can_raw_setsockopt_CAN_RAW_FILTER
   SocketCAN_RAW_test.tc_can_raw_setsockopt_CAN_RAW_ERR_FILTER
   SocketCAN_RAW_test.tc_can_raw_setsockopt_CAN_RAW_LOOPBACK
   SocketCAN_RAW_test.tc_can_raw_setsockopt_CAN_RAW_RECV_OWN_MSGS
   SocketCAN_RAW_test.tc_can_raw_setsockopt_CAN_RAW_FD_FRAMES
   SocketCAN_RAW_test.tc_can_raw_setsockopt_CAN_RAW_JOIN_FILTERS

Note: On some kernels e.g. Ubuntu 16.10 the following testcase seems to crash the whole kernel. This is a regression in later kernels or in later titan versions and needs to be investigated:

   SocketCAN_BCM_test.tc_can_bcm_TX_SETUP_TX_DELETE
      • alternatively run a sequence of test cases:

Remove the line "SocketCAN_BCM_test.tc_can_bcm_TX_SETUP_TX_DELETE" from the execution section of the file "SocketCAN.cfg" to make sure the crashing test case is not started. Then:

    ttcn3_start SocketCAN SocketCAN.cfg
  • Eclipse GUI Installation (optional, mid January new version is expected):
    • Installation instructions are found on the Titan Download Page in the "Titan documentation package" in the document "Eclipse_installationguide.pdf".