Skip to content

Latest commit

 

History

History

java_impl_tests

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

Java implementation testing directory

This directory contains acceptance tests for Java implementation.

Current implementation supports these tests:

  • test_arrays
  • test_binary
  • test_builtin
  • test_const
  • test_enums
  • test_lists
  • test_struct

and communicate via TPC or serial port.

Prerequisites

To check that all the prerequisites are correctly installed, run mvn -v. You should get something like this:

Apache Maven 3.9.5 (***)
Maven home: c:\Program Files\Maven\apache-maven-3.9.5
Java version: 21, vendor: Oracle Corporation, runtime: c:\Program Files\Java\jdk-21
Default locale: en_US, platform encoding: UTF-8
OS name: "***", version: "***", arch: "***", family: "***"
  • If mvn -v fails, check that you have added maven to the PATH variable.
  • If you do not see the correct Java version, check that you have set the JAVA_HOME and PATH variables correctly.

Test folder structure

  • client/ - client side tests
  • server/ - server side tests
    • servers/ - TCP and UART server for testing purpose
    • services/ - server side functions implementation

Generating shim code

To generate Java shim code for tests run:

ruby ..\..\internal\scripts\generate_erpc_java.rb [erpcgen_path] [erpc_path]

Example

ruby ..\..\internal\scripts\generate_erpc_java.rb "erpcgen\VisualStudio_v14\Debug\" "C:\mcu-multicore\erpc"

Running tests

To execute Java tests from commandline use Maven test lifecycle. Selecting specific test case is done with parameter -Dtest=TestName. It is also possible to change transport configuration with parameters specified below.

TestName is derived as PascalCase from base test name specified in IDL file.

Example: test_arrays -> TestArrays

Server tests names are create by adding Server to TestName.

Example: test_arrays -> TestArraysServer

Client

To run client test, execute mvn test -Dtest=TestName

Server

To run server test, execute mvn test -Dtest=TestNameServer -Dserver

Parameters

  • -Dtest=TEST_NAME - Name of the test (Pascal case)
  • -Dclient (Default) or -Dserver
  • -Dhost=HOST_NAME (default: localhost) - Set host name
  • -Dport=PORT (default: 40) - Set port
  • -Dserial=COM_PORT (default: COM6) - Enable serial communication
  • -Dbaudrate=BAUDRATE (default: 115200) - Set serial link baudrate
mvn test -Dtest=TestArrays # Client test casemvn 
mvn test -Dtest=TestArrays -Dserial=COM6 -Dbaudrate=115200 # Specified serial transport
mvn test -Dtest=TestArraysServer -Dserver # Server test case
mvn test -Dtest=TestArraysServer -Dserver -Dport=12345 # Server test case with custom port

Test folder structure

  • client/ - Client tests
  • server/ - Server tests
    • services/ - Services for server tests
  • Connection.java - Helper class for transport creation
  • TestingClient.java - Base class for client tests
  • TestingServer.java
    • This class represent ERPC server for testing purpose. SimpleServer instance is stored as static, so it is possible to stop the server and close connection with static function stop() without access to the instance of the class. This is used in CommonService.java to stop currently running server.